유니티 빌드 오류 BuildFailedException: Burst compiler failed running(버스트 컴파일 미사용 경우) (유니티 버전 2021.3.6f1) 버스트 컴파일을 사용하지않는 프로젝트에 burst 패키지가 설치되어있는 경우 빌드 오류가 발생합니다. 1)프로젝트 빌드시에 콘솔에서 다음과 같은 오류를 확인할수있습니다. BuildFailedException: Burst compiler(1.6.6) failed running 2)상단의 window 메뉴에서 패키지 관리자(package manager)로 이동합니다. 3)Burst 패키지가 설치되어있는것을 확인할수있습니다. 4)프로젝트 설정의 Burst AOT Settings로 이동합니다. 5)Enable Burst Compilatio..
유니티(Unity)의 텍스트 메시 프로(TextMeshPro) 텍스트 메시 프로(TextMeshPro)는 기존의 UI 텍스트와 레거시 텍스트 메시(Text Mesh)를 대체하는 새로운 텍스트 솔루션입니다. 고급 텍스트 렌더링 기술(SDF 텍스트 렌더링)을 사용하여 높은 성능으로 시각적 품질이 우수한 텍스트를 렌더링합니다. 또한 커스텀 쉐이더 세트, 향상된 텍스트 제어 기능(텍스트 스타일 지정 및 텍스처링)등을 제공합니다. TextMeshPro 소개 영상(TextMesh Pro - Product Highlight) https://youtu.be/MX_pM8QKTAc 레거시 텍스트 메시와 텍스트 메시 프로 비교(TextMesh vs. TextMesh Pro) https://youtu.be/rdc8UkxuSZ..
유니티(Unity) 조이스틱 버튼 입력 사용하기(InputManager) 1)프로젝트 설정(project settings)에서 InputManager를 확인합니다.입력 관리자(InputManager)에서 사전설정된 몇가지 유형의 컨트롤(키, 버튼, 가상축 )을 확인할수있습니다. https://docs.unity3d.com/2021.3/Documentation/Manual/class-InputManager.html 2)Fire1(Fire2)에서 Positive Button에 joystick button 0(joystick button 1)으로 사전설정된 컨트롤을 확인합니다. 3)씬에 게임오브젝트를 생성하고 새로운 스크립트를 추가합니다. Input.GetKeyUp함수 또는 Input.GetButtonUp함수..
유니티(unity)에서 UI 마우스 클릭 이벤트 사용하기(IPointerClickHandler, OnPointerClick) IPointerClickHandler, OnPointerClick를 사용한 마우스 클릭 이벤트 감지 1)씬에 UI 게임오브젝트를 추가하고 구성합니다(Canvas, Panel) UI 마우스 클릭 이벤트 감지를 사용하려면 씬에 이벤트 시스템이 존재해야합니다(EventSystem) 2)캔버스(Canvas) 오브젝트에 Graphic Raycaster 컴포넌트가 존재하는지 확인합니다. 그래픽 레이캐스터에서 후면 그래픽 레이캐스트를 사용할지 설정하고(Ignore Reversed Graphics) 레이캐스트 차단 마스크를 설정합니다(Blocking Mask) 3)클릭 이벤트를 사용할 UI 게임..
유니티(Unity) 자식 오브젝트 컴포넌트 가져오기(GetComponentInChildren함수) 다수의 자식 오브젝트가 존재하는 경우 특정한 타입의 컴포넌트를 가지는 게임 오브젝트의 컴포넌트를 가져오기 1)다수의 자식 오브젝트(child)를 가지는 부모 오브젝트(parent)를 준비합니다. 한 개의 자식 오브젝트에 컴포넌트를 추가합니다. 2)새로운 스크립트에서 GetComponentInChildren함수를 사용하여 자식 오브젝트의 컴포넌트를 가져오고 게임오브젝트의 이름을 출력합니다. 3)스크립트를 부모 오브젝트에 추가합니다. 4)게임을 시작하면 다수의 자식 오브젝트중에서 특정한 타입의 컴포넌트(Rigidbody)를 가진 게임오브젝트의 이름을 출력합니다(해당 컴포넌트를 가지는 자식 오브젝트가 두개이상이면..
유니티 빌드 오류 currently selected scripting backend(IL2CPP) is not installed 1)프로젝트를 빌드할때 콘솔 윈도우에서 아래 오류 문구를 표시합니다. currently selected scripting backend(IL2CPP) is not installed 2)또는 build settings의 현재 선택한 플랫폼에 대해 동일한 오류 문구를 표시합니다. 3)유니티 허브의 설치(installs) 메뉴에서 현재 프로젝트의 유니티 에디터 버전의 설정 버튼을 클릭합니다. 4)add modules를 선택합니다. 5)플랫폼에 대한 build support(IL2CPP)를 선택하고 install을 클릭하면 해당 모듈을 설치합니다. 6)설치가 완료되면(installed..
유니티 조이스틱 및 게임 컨트롤러 입력 자료모음 Input.GetAxis 조이스틱 입력 장치에 대해서 가상 축의 값을 반환하는 함수, 조이스틱의 스틱 위치에 따라서 -1에서 1사이의 실수값을 반환합니다. 조이스틱의 중간 위치에있으면 0값을 반환합니다. https://docs.unity3d.com/ScriptReference/Input.GetAxis.html xbox 컨트롤러 사용자 입력 설정 https://learn.unity.com/tutorial/configuring-an-xbox-controller-for-user-input-2019-3#
유니티에서 재질의 render queue 유니티에서 Render Queue(렌더 큐)는 재질이 렌더링되는 순서를 결정하는 데 사용합니다. 렌더링이 진행되는 동안 유니티는 Render Queue의 값이 작은 것부터 렌더링합니다(Render Queue의 값이 같으면 무작위 순서로 렌더링합니다) Render Queue는 0에서 5000까지 범위의 값 중에서 설정합니다(쉐이더의 렌더큐를 사용하려면 -1로 설정합니다) 일반적으로 불투명은 2000, 스카이박스는 2500, 투명은 3000을 사용합니다. 일반적으로 재질은 해당 재질의 쉐이더 render queue를 사용하지만 재질의 렌더 큐 변수(Material.renderQueue)를 사용하여 렌더링 대기열을 오버라이드할수있습니다. RenderQueue(enume..
유니티에서 가져오기(import)한 3D 모델의 축 변환(axis conversion) (유니티 버전 2021.3.6f1) 1)3D 맥스에서 모델을 준비합니다. 2)FBX export 옵션의 advanced options에서 axis conversion의 Up Axis를 Z-up으로 변경하고 내보내기합니다(export) 3)내보내기한 3D 모델을 유니티에서 가져오기합니다. 모델의 축이 정상적으로 설정되어있지않은것을 확인할수있습니다. 4)모델의 가져오기 설정(import settings)에서 bake axis conversion에 체크하고 적용합니다(apply) 5)씬에 모델을 추가하고 확인합니다. 오브젝트의 트랜스폼 회전(rotation)값이 초기화(0, 0, 0)되어 있고 축이 정상적으로 설정되어있는것..
유니티 라이팅 기법 - realtime, Baked GI(라이트맵), Precomputed Realtime GI 게임에서 전역 조명(GI)을 정확하게 시뮬레이션하는것은 어렵고 연산 비용이 많이 듭니다. 그래서 게임 플레이 중에 계산하는 대신 미리 이러한 계산을 처리하기 위한 다양한 방법을 사용합니다. 전역 조명(GI, Global illumination)은 빛이 세계에서 상호 작용하고 반사되는 과정을 복잡하게 시뮬레이션하기 위해 사용되는 다양한 기법과 수학적 모델을 설명하는 용어입니다. 일반적으로 유니티의 조명 기법은 실시간(realtime) 또는 사전 계산된(precomputed)으로 간주할 수 있으며 두가지 기법을 조합하여 몰입감 있는 장면 조명을 만들수있습니다. 실시간 라이팅(Realtime Lig..
유니티 가상현실(VR) 프로젝트 기술문서 모음 유니티, 오큘러스 VR 코스 https://blogs.unity3d.com/kr/2019/11/13/level-up-your-vr-skills-with-a-free-new-course-from-unity-and-oculus/ 유니티 VR UI 튜토리얼 https://learn.unity.com/tutorial/unit-6-best-ui-practices-for-vr 유니티 가상현실 UI 시스템 https://developer.oculus.com/blog/unitys-ui-system-in-vr/ 유니티 모바일 VR 최적화 https://unity3d.com/kr/how-to/optimize-mobile-VR-games
유니티 모바일 게임 프로젝트 최적화 기술문서 모음 모바일 애플리케이션용 3D 아트 최적화(unity learn) https://learn.unity.com/course/arm-unity-mobail-aepeulrikeisyeonyong-3d-ateu-coejeoghwa Arm & Unity: 모바일 애플리케이션용 3D 아트 최적화 - Unity Learn 이 중급 과정에서는 모바일 애플리케이션에 활용할 수 있도록 성능이 최적화된 3D 에셋과 씬을 제작하는 방법을 학습하며, 지오메트리, 텍스처, 머티리얼, 셰이더, 조명을 최적화하는 팁을 주제 learn.unity.com 모바일 게임 성능 최적화, 프로파일링, 메모리, 코드 아키텍처 관련 팁(unity blog) https://blog.unity.com/k..