유니티(unity) 가상현실 프로젝트 반응 레이어 설정(XR interaction toolkit) (유니티 버전 2021.3.6f1) 1)씬에 XR Origin 게임 오브젝트와 왼손 및 오른손 컨트롤러에 반응할 게임 오브젝트(Bow, Quiver)를 준비합니다 2)프로젝트의 에셋(Assets)에서 XRI의 InteractionLayerSettings을 선택합니다. 3)왼손 및 오른손 컨트롤러에 사용할 반응 레이어 이름을 입력합니다(left, right) 4)왼손 및 오른손 컨트롤러의 Interaction Lyaer Mask를 설정합니다. XR Origin의 하위에서 LeftHand Controller(Right Controller) 게임오브젝트를 선택하고 XRDirectInteractor 컴포넌트의 In..
유니티 빌드 오류 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)에서 씬(Scene)과 게임오브젝트(GameObject) 이해유니티에서 게임의 월드는 씬의 형태로 표시됩니다. 씬은 xyz축으로 이루어진 데카르트 3D 좌표계에 위치한 게임 오브젝트들의 집합입니다. 게임오브젝트는 씬에서 인스턴스화됩니다. 인스턴스화된 게임 오브젝트들은 컴포넌트 또는 스크립트에서 정의된대로 행동하고 상호작용합니다.게임 오브젝트는 씬에 존재하는 모든것으로 컴포넌트로 구성되어있습니다(콜라이더, 메시, 사운드, 스프라이트, 사용자정의클래스, 기타) 씬의 게임 오브젝트는 좌표계 어딘가에 존재해야하기때문에 적어도 1개의 트랜스폼(Transform) 컴포넌트 를 가집니다(씬에서 create empty를 사용하여 생성한 게임 오브젝트는 Transform 컴포넌트를 가집니다) Tran..
유니티 허브(Unity Hub)에서 에디터 설치하고 프로젝트 생성 및 시작하기유니티 허브는 새로운 버전의 유니티 에디터를 설치하거나 사용자 프로젝트를 생성하고 시작할수있는 일종의 허브 역할을 하는 유니티 툴로 프로젝트 관리, 버전 관리(에디터 설치), 설정 관리(라이센스, 기타), 학습 리소스등을 제공합니다. 1)새로운 유니티 프로젝트를 시작하기위해 유니티 허브를 실행하고 유니티 계정으로 로그인합니다. 유니티 계정 라이센스 추가(add licenses)2)유니티 사용 라이센스를 추가하기위해 preferences로 이동합니다. 3)licenses에서 add를 클릭합니다. 4)라이센스 유형을 선택합니다. 비상업적인 용도의 개인 사용자는 무료 개인 라이센스를 이용할수있습니다(get a free personal..
유니티 증강현실(AR) 프로젝트 api 문서모음(ARFoundation, ARCore)AR Foundation 시작하기 https://developers.google.com/ar/develop/unity-arf/getting-started-ar-foundation?hl=ko ARCore 시작하기 https://developers.google.com/ar/develop/getting-started?hl=ko ARCore SDK 다운로드 https://developers.google.com/ar/develop/downloads?hl=ko 유니티 ARCore 프로젝트 세팅https://docs.unity3d.com/Packages/com.unity.xr.arcore@5.0/manual/project-conf..
유니티(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)를 가진 게임오브젝트의 이름을 출력합니다(해당 컴포넌트를 가지는 자식 오브젝트가 두개이상이면..
유니티 에셋 Ultimate VFX - 비주얼 이펙트 파티클 시스템 모음Ultimate VFX는 다양한 게임 장르와 시나리오에 적용할 수 있는 비주얼 이펙트 모음입니다. 높은 그래픽 품질의 불, 연기, 번개, 폭풍, 충격파, 폭발, 불꽃, 물결 등 300개 이상의 시각효과 파티클 시스템 프리팹을 포함하고있습니다. 또한 200개 이상의 텍스처(스프라이트, 스프라이트 시트)가 제공됩니다. 이펙트는 Shuriken 파티클시스템을 기반으로 하며 속성을 설정하고 사용자정의할수있습니다.https://youtu.be/dUDhgOnjlvc 유니티 에셋스토어 https://assetstore.unity.com/packages/vfx/particles/ultimate-vfx-26701 Ultimate VFX | 시각 효..