유니티 빌드 오류 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) 기본 어셈블리(Assembly-CSharp) 확인하기 1)프로젝트의 에셋 폴더(Assets)에서 새로운 스크립트를 생성합니다. 2)스크립트를 선택하고 import settings에서 어셈블리 정보(Assembly Information)을 확인합니다. 일반적으로 유니티는 거의 모든 게임 스크립트를 미리 정의된 어셈블리인 Assembly-CSharp.dll로 컴파일합니다. 3)비주얼스튜디오의 솔루션 탐색기를 확인합니다. 4)어셈블리(Assembly-CSharp)와 동일한 이름의 프로젝트를 확인할수있으며 유니티 프로젝트 폴더에 해당 프로젝트 파일이 존재하는것을 확인할수있습니다. 5)프로젝트의 참조를 확인합니다. 6)어셈블리(Assembly-CSharp)의 참조 어셈블리를 확인할수있습니다. ..
유니티의 두가지 파티클 시스템(Shuriken Particle System, VFXgraph) Shuriken Particle System 유니티에 기본적으로 내장된(빌트인 렌더 파이프라인) 모듈 기반의 파티클 시스템으로 일반적인 시각적 효과를 제작하는데 사용할수있습니다. 비교적 고수준의 파티클 시스템으로 CPU 파티클 시뮬레이션을 사용하여 주요 물리 시스템에 접근할 수 있으며 각 개별 파티클의 위치, 색상 및 기타 파티클 속성을 확인하고 제어할수있습니다. https://learn.unity.com/tutorial/introduction-to-particle-systems# VFXgraph 유니티 URP 및 HDRP에서 사용할수있는 노드 그래프 기반의 파티클 시스템으로 일반적인 시각적 효과 뿐만아니라 복..
유니티(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..
유니티 에디터 키보드 단축키 설정(shortcuts) 1)상단 edit 메뉴의 shortcuts로 이동합니다. 2)카테고리에서 명령(command)을 선택하고 키보드 단축키를 설정합니다.
유니티 조이스틱 및 게임 컨트롤러 입력 자료모음 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)되어 있고 축이 정상적으로 설정되어있는것..