본문 바로가기

전체 글

(195)
[Error]java.io.IOException: Can't process class [class path] (Unsupported version number [55.0] (maximum 54.0, Java 10)) 해당 창이 나오며 빌드를 실패하였다 . https://forum.unity.com/threads/android-build-only-fails-when-signed-for-release.1324758/
[ 유니티 쉐이더 스타트업 ] 09 . Lambert / Blinn Phong [ 유니티 내장 라이팅 구조 ] [ Standard Shader ] 유니티 5부터 기본으로 적용된 쉐이더인 Standard Stader의 라이팅은 좋은 라이팅 구조이지만 물리기반 쉐이더 라이트이기에 모바일과 같은 저사양 기기에서 구동하기는 무겁다 . 그렇기에 유니티 내부에는 4버전 이전부터 사용하던 라이트 구조가 남아있다 . 물리 기반 쉐이더보다 품질은 떨어지지만 상대적으로 가볍기에 물리기반 쉐이더를 사용 할 필요 없이 가볍게 처리해야 하는 모바일 프로젝트에 적합한 쉐이더 구조이다 . [ Standard Shader의 구조체 ] 다음은 물리기반쉐이더의 구조체이다 . struct SurfaceOutputStandard { fixed3 Albedo; (물체의 기본 색상) fixed3 Normal; (Norm..
[ 유니티 쉐이더 스타트업 ] 08 . SurfaceOutputStandard 사용하기 [ Standard Shader (스탠다드 쉐이더) ] [ 물리 기반 쉐이더 ] 유니티 5.0이 되면서 , 유니티도 물리 기반 쉐이더 시스템을 도입하였다 . 물리 기반 쉐이더란 ? =>주변 환경에 따른 재질 변화를 물리 법칙에 기반하여 실시간으로 재질을 구현해주는 사실적인 쉐이더 표현 기법이다 . [ Standard Shader ] 유니티의 기본 쉐이더 Standard Shader는 대표적인 물리 기반 쉐이더이다 . 지금까지 사용했던 o.Albedo / o.Emission등이 모두 물리 기반 쉐이더의 요소이다 . SurfaceOutputStandard 구조체의 요소는 다음과 같다 . struct SurfaceOutputStandard { fixed3 Albedo; fixed3 Normal; fixed3 ..
[ 유니티 쉐이더 스타트업 ] 07 . 버텍스 컬러 이용하기 [ 버텍스 컬러 적용하기 ] [ Vertex Color ] UV와 같이 버텍스 내부에 내장된 값은 Input구조체에 정해진 약속을 통해 받아왔다 . UV외에도 위치 (Position),컬러(Color),노멀(Normal),탄젠트(Tangent) 등이 있다 . 이중 버텍스 컬러를 사용해보자 . [ Vertex Color의 적용 ] 아무것도 하지 않은 버텍스의 컬러는 White : float4 (1,1,1,1) 이다 . 버텍스 컬러의 적용법은 두가지이다 . 3dsMax등의 3D DCC를 통해 그리기 엔진의 자체 기능 이용하기 유니티에서는 PolyBrush를 통해 칠할 수 있다 . https://unity.com/kr/features/polybrush Polybrush Polybrush의 다양한 기능에 대해 ..
[ 유니티 쉐이더 스타트업 ] 06 . UV를 이용하는 법 배우기 [ UV의 기본개념 ] [ UV ] x , y, z의 3차원의 좌표를 u,v 라는 2차원의 좌표로 나타낸 것 (x,y,z 바로 앞의 알파벳 u,v,w중 높이인 w를 뺀 것) UV는 float2로 이루어진 숫자이다 . 2차원 좌표이므로 float2 이고 , 0~1까지로 표현 가능하다 . 유니티와 언리얼은 UV의 배치가 다르다 . [ UV를 시각적으로 확인해보기 ] [ UV ] 텍스쳐 한 장 받는 쉐이더로부터 시작하자 . uv는 두자리 숫자이기에 float2 이다 . 또한 버텍스에 이미 들어가 있는 데이터이기에 유니티로 부터 받아야 한다 . 이와 같이 유니티 내부로 부터 받는 데이터는 Input 구조체 안에 선언해야 한다 . 그러므로 uv_MainTex가 _MainTex의 uv이다 . 또한 해당 uv는 su..
[ 유니티 쉐이더 스타트업 ] 05 - 2 . Surface Shader를 활용한 텍스쳐 제어 [ 텍스쳐 한장만 출력하는 쉐이더 만들기] [ 불필요한 코드 지우기 ] 새로운 Surface Shader를 생성한다 . _Color / _Methalic / _Glossiness와 기타 주석 , 전처리기등을 지운 텍스쳐만을 출력하는 코드이다 . 위 코드는 앞으로 하게될 작업의 기본적인 코드가 될 것이다 . [ 텍스쳐 출력 살펴보기 ] 1 . Properties _MainText ("Alvedo (RGB)",2D)="White"{} 텍스쳐를 입력받는 인터페이스를 만드는 곳이다 . 각 부분을 자세히 뜯어보자면 _MainTex : 텍스쳐를 입력받는 변수 "Albedo (RGB)" : 이 부분은 Albedo 텍스쳐를 넣는 곳이고 , 알파를 제외한 RGB 채널만 사용한다는 의미이다 . 2D : 해당 인터페이스가 ..
[ 유니티 쉐이더 스타트업 ] 05 - 1 . 기초적인 Surface Shader [ 오브젝트에 마테리얼 적용해보기 ] [ Surface 쉐이더를 Material에 적용하기 ] Assets에서 Create - Shader - Standard Surface Shader로 새로운 Surface 쉐이더를 생성해준다 . Assets에서 Create - Material을 통해 새로운 마테리얼을 생성해준다 . 1 - 2 순으로 드레그 앤 드롭하여 쉐이더를 마테리얼에 -> 마테리얼을 오브젝트에 적용해준다 . [ 쉐이더 코드를 열어 이름을 바꾸기 ] [ Surface 쉐이더 열어보기 ] 생성했던 Surface 쉐이더를 더블클릭하면 위와 같이 비주얼 스튜디오를 통해 열 수 있을 것이다 . 그 전에 배운 구조를 볼 수 있고 , 일반적으로 {} 를 통해 구분하고 있다 . [ 쉐이더 이름 바꾸기 ] 상단의..
[ Unity ] Notification 01 . Unity Notificatioin에 관하여 [ Unity Notification ] [ 소개 ] Unity Mobile Notificatioin 패키지는 Android 및 iOS에서 로컬 일회성 또는 반복 가능한 알림을 예약할 수 있다 . [ 지원기능 ] 런타임 Notification API는 Android 및 iOS 플랫폼에 따라 나뉘어진다 이러한 API는 아래와 같이 알림을 예약하고 관리하는 데 사용할 수 있다. 공통 사항 로컬상의 일회성 또는 반복 가능한 알림을 예약한다. 이미 표시된 알림과 예정된(예약된) 알림을 취소합니다. Android Android 8.0(Oreo) 이상에서 알림 채널(카테고리)을 만들고 수정한다. 기기가 다시 시작될 때 알림을 유지한다. 사용자 지정 알림 아이콘을 설정한다. IOS APN(Apple 푸시 알림 서비스..