유니티(unity)에서 Time 클래스 사용하기 Time 클래스는 유니티에서 가져올수있는 시간 정보에 대한 다양한 속성을 제공합니다. https://docs.unity3d.com/ScriptReference/Time.html Time.deltaTime 마지막 프레임에서 현재 프레임까지의 간격(초)을 의미합니다. 아래 예에서 매 프레임마다 프레임 간격 시간을 출력하는것을 확인할수있습니다. Time.unscaledDeltaTime 타임 스케일(timeScale)에 독립적인 deltaTime을 의미합니다. Time.time 현재 프레임의 시작 시간을 의미합니다. 동시에 게임을 시작하고 경과한 시간을 의미한다. Time.realtimeSinceStartup 게임의 일시 중지 영향을 받지않는 현재 프레임의 시작 ..
유니티에서 콜라이더 충돌 레이어 관리하기(collision matrix) 레이어 기반의 충돌 감지 시스템 작동 방식을 설정할수있습니다. https://docs.unity3d.com/Manual/class-PhysicsManager.html 1)충돌에 사용할 두개의 오브젝트를 생성합니다. 2)두 오브젝트에 콜라이더를 추가하고 적어도 한개의 오브젝트에 리지드 바디를 추가하고 콜라이더를 트리거로 설정합니다(is trigger) 3)OnTriggerEnter함수를 작성하고 클래스를 추가합니다. 4)런타임에서 두 오브젝트의 콜라이더를 충돌시킵니다. 5)충돌에의해 함수가 호출된것을 확인할수있습니다. 6)인스펙터에서 새로운 레이어를 추가합니다. 7)새로운 사용자 레이어를 추가합니다. 8)project settings..
유니티에서 리지드바디(Rigidbody)의 Sleep, WakeUp, Sleep Threshold리지드바디(Rigidbody)의 Sleep 및 Wake Uphttps://docs.unity3d.com/Manual/RigidbodiesOverview.html 기본적으로 리지드바디(Rigidbody)의 Sleep 및 WakeUp는 자동적으로 발생합니다. 리지드바디가 Sleep Threshold 속성에 설정한 값보다 느린 속도로 움직이는 경우 유니티는 해당 리지드바디를 Sleep 상태로 설정합니다. 물리 시스템에서 Sleep 상태인 리지드바디는 물리 계산에서 제외되며 프레임에서 업데이트되지않아 덜 자원 소모적이게됩니다(Rigidbody optimization) Sleep 상태인 리지드바디가 충돌이나 힘을 받으..
유니티 프로젝트 폴더에서 에셋 검색 필터링 사용하기 1)project 패널에서 아래 표시한 곳을 클릭합니다. 2)프로젝트(project), 씬(hierarchy), 메뉴(menus)에 대하여 키워드를 검색할수있습니다. 3)project 패널에서search by type을 클릭하고 에셋 유형을 선택합니다. 4)선택한 에셋 유형 목록을 표시합니다.
유니티에서 3D모델의 버텍스 컬러 확인하기(vertex color) 1)3D맥스에서 모델의 버텍스 컬러를 설정하고 fbx파일로 내보내기합니다(export) 2)유니티에서 fbx파일을 가져오기하고(import) 씬에 추가합니다. 3)유니티의 standard 또는 모바일 쉐이더들은 버텍스 컬러를 지원하지않습니다. 모델의 버텍스 컬러를 렌더링하려면 커스텀 쉐이더를 작성하거나 기본으로 제공하는 particles의 standard surface 또는 standard unlit 쉐이더를 사용합니다. 새로운 재질을 생성하고 쉐이더로 standard surface 또는 standard unlit를 선택합니다. 4)모델에 재질을 적용합니다. 오브젝트의 버텍스 컬러가 렌더링되는것을 확인할수있습니다. 5)렌더링에서 버텍스 ..
유니티 허브에서 안드로이드 SDK, NDK, OpenJDK 설치하기 1)build settings에서 안드로이드 플랫폼을 선택하고 install with unity hub를 클릭합니다. 2)유니티 허브에서 해당 프로젝트의 유니티 에디터에 대해 모듈을 추가합니다. android build support(android SDK & NDK Tools, OpenJDK)에 체크하고 continue를 클릭합니다. 3)체크하고 install을 클릭하면 해당 모듈 설치를 진행합니다. 4)안드로이드 플랫폼을 선택하고 switch platform을 클릭합니다. 5)preferences의 external tools에서 안드로이드 SDK, NDK JDK가 정상적으로 설치되었으며 경로가 설정되어있는것을 확인할수있습니다.
유니티에서 webGL 프로젝트 로컬 호스트로 실행하기(localhost) 1)build settings에서 build and run을 선택합니다. 2)프로젝트 빌드를 생성하고 웹브라우저에서 로컬 호스트로 게임을 실행합니다(localhost)
유니티에서 webGL 빌드하고 브라우저 실행오류(unable to parse project.framework.js.br!) 1)유니티에서 webGL 플랫폼으로 빌드하고 브라우저에서 실행했을때 다음과 같은 문구를 표시합니다. 2)project settings의 player에서 publishing settings의 compression format을 확인합니다. 3)disable으로 변경하고 다시 빌드한후 실행합니다.
유니티에서 안드로이드 키스토어 생성하기(keystore) 유니티에서 구글 플레이 업로드를 위한 앱 서명 https://developer.android.com/studio/publish/app-signing?hl=ko#app-signing-google-play 1)빌드 설정(build settings)에서 현재 플랫폼이 안드로이드인지 확인하고 player settings로 이동합니다. 2)player에서 publishing settings의 keystore manager로 이동합니다. 3)좌측 상단 keystore를 클릭합니다 4)create new의 anywhere를 선택합니다. 키스토어 위치 설정에 대한 내용은 아래 웹사이트에서 확인합니다(Choose the keystore location) https..
유니티에서 안드로이드 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..
유니티 에디터 버전과 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..