유니티 VR게임 개발 - 장치 가져오기, 장치의 입력 기능에 접근하기(XR.InputDevices) XR.InputDevices 클래스를 사용하여 XR 시스템에 사용중인 장치 및 입력기능에 접근하기 1)XR.InputDevices 클래스를 사용하여 현재 XR 시스템에 연결된 입력 장치에 접근할수있습니다. InputDevice는 컨트롤러, 헤드셋등의 물리적 장치를 의미합니다. 2)InputDevices.GetDevices를 사용하여 연결된 모든 장치를 가져오기할수있습니다. 또 InputDevices.GetDevicesWithCharacteristics를 사용하여 특정한 기능 또는 용도의 장치를 가져오기합니다. 예에서 right, controller 특성을 가진 장치를 필터랑하여 가져옵니다. 3)InputD..
유니티에서 안드로이드 abb파일로 빌드하기(App Bundle) 구글플레이에 앱 및 게임을 업로드할때 android app bundle 지원 형식인 abb파일을 사용해야합니다. https://developer.android.com/guide/app-bundle?hl=ko https://support.google.com/googleplay/android-developer/answer/9844279?hl=ko&visit_id=638076320547613073-2068111088&rd=1 1)유니티 안드로이드 플랫폼에서 기본 옵션으로 빌드하면 apk파일을 생성합니다. 2)상단의 file 메뉴에서 build settings로 이동합니다. 3)현재 플랫폼이 안드로이드인지 확인합니다. 기본 옵션으로 build ap..
유니티와 언리얼 엔진 비교영상(Quixel, Megascans) 메가스캔(Megascans)으로 구축한 환경 비교영상 https://youtu.be/BoREaOiEh9c
유니티 에디터 버전과 URP 패키지 호환성 확인 1)현재 프로젝트의 URP 패키지 버전을 확인할수있습니다(package manager) 2)아래 웹사이트에서 유니티 버전과 URP 패키지 버전의 호환성을 확인할수있습니다. https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.1/manual/requirements.html 3)아래 웹사이트에서 해당 패키지의 버전 변경로그를 확인할수있습니다. https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.1/changelog/CHANGELOG.html
유니티 URP 프로젝트에서 데칼 프로젝터(Decal projector) 사용하기 렌더러에 데칼 렌더러 기능을 추가하여 특정 재질을 다른 오브젝트에 투영할수있습니다. 1)URP 렌더러에서 Decal renderer feature를 추가합니다. 유니티 URP 프로젝트에서 렌더러에 renderer feature 추가하기 2)씬에 새로운 게임오브젝트를 생성하고 URP Decal Projector 컴포넌트를 추가합니다. URP Decal Projector 오브젝트를 선택하면 프로젝션의 범위와 투영 방향을 표시합니다. 3)새로운 재질을 생성합니다. 4)재질의 쉐이더를 Decal로 설정합니다(Shader Grpahs/Decal) 5)재질의 Base Map에서 Decal에 사용할 텍스처를 설정합니다. 6)URP Dec..
유니티 URP 프로젝트에서 렌더러에 renderer feature 추가하기 1)상단의 edit 메뉴에서 project settings로 이동합니다. 2)graphics에서 현재 URP를 사용중인것을 확인할수있습니다. URP 에셋을 선택합니다. URP -HighFidelity(Universal Render Pipeline Asset) 3) URP 에셋에서현재 사용중인 렌더러 목록을 확인할수있습니다. renderer feature를 추가할 렌더러를 선택합니다. URP -HighFidelity - Renderer(Universal Render Data) 4)렌더러 데이터 하단에서 add renderer feature를 클릭합니다. 현재 렌더러에 추가할수있는 renderer feature를 확인할수있습니다.
유니티에서 TextMeshPro에서 한글 글꼴 텍스트 사용하기TextMeshPro의 한글 글꼴이 정상적으로 표시되지 않는경우1)TextMeshPro 게임 오브젝트에서 텍스트에 한글을 작성합니다. 2)한글 텍스트가 정상적으로 표시되지않는것을 확인할수있습니다. 3)해당 TextMeshPro 글꼴 에셋을 선택하고 generation settings에서 atlas population mode가 static로 설정되어있는것을 확인할수있습니다. 4)dynamic으로 변경하고 sampling point size를 입력합니다. 아틀라스 해상도(Atlas Width, Height)를 설정합니다.4)한글 텍스트가 정상적으로 표시되는것을 확인할수있습니다. 5)확대했을때 텍스트의 해상도가 낮은것을 확인할수있습니다. 6)sa..
유니티에서 TextMeshPro 사용하기(font asset creator) 1)package manager에서 TextMeshPro가 설치되어있는지 확인합니다. 2)씬에 UI의 Text - TextMeshPro를 생성합니다. 3)TMP Importer에서 import TMP Essentials를 클릭합니다. 4)TextMeshPro 컴포넌트에서 UI 텍스트의 속성을 설정합니다. 5)상단의 window 메뉴에서 TextMeshPro의 font asset creator를 선택합니다. 6)font asset creator는 유니티로 가져오기한 글꼴 에셋을 TextMeshPro 글꼴 에셋으로 변환합니다. 7)프로젝트에 TextMeshPro에 사용할 글꼴을 가져오기합니다. 8)source font file에 글..
유니티 TextMeshPro 두가지(UI, 3D Text) 유니티의 TextMeshPro는 두가지가 있습니다. 1)UI의 TextMeshPro를 생성합니다. 2)UI의 TextMeshPro는 canvas renderer와 TextMeshPro - Text(UI) 컴포넌트를 가지고있습니다. 3)캔버스의 자식 오브젝트로써 위치, 회전, 스케일을 설정합니다. 4)3D Object의 TextMeshPro를 생성합니다. 5)3D Object의 TextMeshPro는 mesh renderer와 TextMeshPro - Text 컴포넌트를 가지고있습니다. 6)3D 오브젝트로써 월드공간에서 위치, 회전, 스케일을 설정합니다.
유니티에서 VR게임 개발(오큘러스 퀘스트2) - 캔버스의 UI와 상호작용 설정하기 1)씬에 캔버스를 생성합니다. 2)render mode에서 world space를 선택하고 카메라를 참조합니다. 3)캔버스 하위에 image 게임 오브젝트를 추가합니다. 4)캔버스 하위에 button 게임오브젝트를 추가합니다. 5)게임을 플레이하고 캔버스의 UI 게임 오브젝트와 상호작용하지않고 컨트롤러로 버튼을 클릭해도 반응하지않는것을 확인할수있습니다. 6)캔버스에 Tracked Device Graphic Raycaster 컴포넌트를 추가합니다. 7)좌우 컨트롤러의 XR Ray interactor에서 raycast configuration의 max raycast distance 수치를 설정합니다. XR Ray interac..
유니티에서 VR게임 개발(오큘러스 퀘스트2) - 디바이스(헤드셋, 컨트롤러) 입력 디버깅하기 오큘러스 퀘스트2를 PC에 연결하고 헤드셋과 컨트롤러를 활성화해야합니다. 1)상단의 window 메뉴에서 analysis의 XR interaction debugger로 이동합니다. 2)input devices를 활성화합니다. 3)입력 장치 목록을 표시합니다. 오큘러스 퀘스트 헤드셋과 좌우 컨트롤러의 장치가 정상적으로 표시되는것을 확인할수있습니다. 4)사용자 입력에 따라서 장치의 속성 값(value)이 변하는것을 확인할수있습니다.
유니티에서 VR게임 개발(오큘러스 퀘스트2) - XR Origin 생성하고 헤드셋 및 컨트롤러 입력 확인 1)씬에 Device-based의 XR Origin(VR) 게임오브젝트를 생성합니다. 2)XR Origin(VR)는 XR Origin 컴포넌트를 가지며 카메라, 카메라 오프셋을 참조합니다. 3)XR Origin 하위에는 카메라 오프셋과 메인 카메라, 좌우컨트롤러를 포함합니다. 4)카메라는 Tracked Pose Driver 컴포넌트를 가지고있습니다. 5)좌우 컨트롤러는 XR Controller(Device-based), XR Ray Interactor, Line Renderer, XR Interactor Line Visual, Sorting Group 컴포넌트를 가지고있습니다. XR Controlle..