유니티에서 자식(child) 오브젝트에 접근하기(GetChild , Find) 자식(child) 오브젝트의 트랜스폼(transform)을 반환하는 함수(Transform.GetChild, Transform.Find) 1)예에서 씬에 empty gameobject를 생성하고 4개의 자식(child) 오브젝트를 추가하였다. 2)Transform.GetChild GetChild 함수는 해당 인덱스의 자식 오브젝트 transform을 반환한다. 예에서 0, 1, 2번 인덱스의 자식 오브젝트 이름을 출력한다. 3)Transform.Find Find 함수는 해당 이름의 자식 오브젝트를 검색하고 트랜스폼을 반환한다. 예에서 이름이 Capsule인 자식오브젝트를 검색하고 비활성화한다.
유니티에서 프로젝트의 그래픽 quality 설정하기 1)프로젝트의 각 플랫폼에 대한 그래픽 품질 수준을 설정하려면 project settings의 quality로 이동한다. quality에서 각 플랫폼에 대하여 사전 설정된 세개의 품질 수준을 기본적으로 제공한다(low, medium, high) 2)단계를 선택하면 해당 레벨에서 사용하는 사전설정된 렌더링 속성들을 확인할수있다. 3)모바일 또는 저성능 하드웨어의 경우 상대적으로 낮은 레벨을 선택한다(low) 레벨이 높으면(high) 그래픽 품질이 높아지지만 프레임속도를 희생한다. 예를들어 high 레벨과 다르게 low 레벨은 기본적으로 vsync를 사용하지않음으로 설정되어있다(vsync count- dont sync) 4)URP의 경우 각 레벨에 대한 렌..
c# Enum.Parse함수로 문자열을 열거형 개체로 변환 1)아래 예에서 열거형을 선언하고(animalTYPE) 해당 열거형 변수를 선언하였다(myanimalTYPE) 2)Enum.Parse 함수의 매개변수로 열거형 형식(typeof(animalTYPE))과 문자열을("rabbit")을 지정한다. 3)Enum.Parse 함수에서 문자열에 해당하는 열거형 개체를 반환한다.
유니티에서 reset함수 사용하기 reset함수는 사용자가 게임 오브젝트에 스크립트를 추가할때 또는 해당 컴포넌트를 초기화(reset)할때 호출된다. 편집기 모드(editor mode)에서 사용할수있으며 값을 초기화하는데 사용한다. 1)예에서 새로운 스크립트를 생성하고 reset함수를 선언하였다. 2)게임오브젝트에 해당 스크립트를 추가하면 reset함수가 호출되어 변수의 값을 설정한것을 확인할수있다. 3)인스펙터에서 변수에 새로운 값을 입력하였다. 4)해당 컴포넌트의 컨텍스트 메뉴에서 reset을 선택한다. 5)기본값으로 재설정한것을 확인할수있다.
유니티 점진적 가비지 수집(incremental garbage collection) 유니티의 가비지콜렉터는 Boehm–Demers–Weiser garbage collector를 사용한다. https://www.hboehm.info/gc/ 가비지콜렉터가 가비지 수집을 수행할때 프로그램 코드 실행 및 CPU 메인스레드를 중지하며 전체 힙을 검사한다(stop-the world garbage collection) 힙의 모든 오브젝트를 처리한 이후에 어플리케이션 실행을 재개함으로 성능에 영향을 미치는 gc 스파이크(중단으로 인해 프로파일러 윈도우의 그래프에서 나타나는 큰 스파이크)가 발생한다. incremental mode는 가비지콜렉터가 힙의 모든 오브젝트들을 처리하기 위해 긴 중단을 한번만 수행하는 대신에 작..
유니티(unity)에서 라이트의 그림자 설정(cast shadow, receive shadow) 1)예에서 씬에 sphere, cube 오브젝트를 생성하였다. cube 오브젝트는 바닥에 그림자를 드리우고(cast shadow) sphere 오브젝트의 그림자를 받는것을 확인할수있다. 2)빛에 의한 그림자를 생성하려면 라이트 오브젝트의 shadow type을 설정한다(hard shadows, soft shadows) 3)cube 오브젝트의 mesh renderer에서 cast shadows를 활성화하면(on) cube오브젝트에 의한 그림자를 생성한다. receive shadows에 체크하면 cube 오브젝트의 표면에 다른 오브젝트에 의한 그림자를 생성한다. cube 오브젝트의 receive shadows 비..
유니티 URP에서 알파 클리핑 사용하기(alpha clipping) 알파 클리핑(alpha clipping)은 투명한 영역과 불투명한 영역의 경계가 존재하는 투명 효과를 표현할때 사용할수있다. 예를 들어 동물의 날개, 나뭇잎등에 알파 클리핑을 사용하면 비교적 저해상도 모델에서 세부적인 표현이 가능하다. 1)알파클리핑을 사용하려면 텍스처에 알파 채널을 추가하여 투명한 영역과 불투명한 영역을 설정한다. 2)유니티에서 불러오기한 해당 텍스처의 알파 채널을 확인할수있다(import settings) 3)모델의 재질에서 알파 클리핑을 지원하는 URP의 빌트인 셰이더를 선택한다(lit, simple lit, unlit, baked lit, complxe lit) 4)재질의 속성에서 알파 클리핑(alpha clipp..
게임엔진 유니티를 공부할수있는 웹사이트 목록 유니티 공식 웹사이트(unity learn) https://learn.unity.com/ 유니티 공식 유튜브 채널 https://www.youtube.com/c/unity/featured 유니티 코리아 공식 유튜브 채널 https://www.youtube.com/c/UnityKoreaHi/videos Unity Korea 유니티 테크놀로지스 코리아 (Unity Technologies Korea)공식 유튜브 채널입니다. 유니티 개발과 최신 유니티 기술 소개 및 유니티로 만들어진 다양한 콘텐츠를 만나보실 수 있습니다. www.youtube.com 유니티 코리아 공식 네이버 카페 https://cafe.naver.com/unityhub 유니티 허브 (Unity Hu..
유니티 안드로이드 빌드4 - 삼성 갤럭시에 apk 파일 설치하기 1)유니티 에디터에서 빌드를 완료하면 생성한 apk파일을 확인할수있다. 2)컴퓨터에 모바일 장치를 연결하고 폴더로 이동한다. 예에서는 삼성 갤럭시를 이용하였다. 3)phone 폴더에 새로운 폴더를 생성한다. 4)예에서 새로 생성한 폴더의 이름을 apkinstall로 설정하였다. 5)apk파일을 해당 폴더에 복사한다. 6)갤럭시 홈 화면에서 내 파일 앱으로 이동한다. 7)내장 메모리로 이동한다. 8)새로 생성한 폴더(apkinstall)로 이동한다. 9)해당 폴더에서 복사한 apk파일을 선택한다. 10)애플리케이션 설치를 진행한다. 11)play 프로텍트에 의해 차단됨 대화상자에서 무시하고 설치를 진행한다. 12)앱이 설치되면 완료한다. 13..
유니티 안드로이드 빌드2 - sdk, ndk, jdk 설치(NVIDIA CodeWorks for Android) 엔비디아의 CodeWorks 툴을 사용하여 유니티에 SDK, NDK, JDK를 설치하는 방법 1)아래 엔비디아 웹사이트로 이동하여 NVIDIA CodeWorks for Android를 다운로드한다. 2)다운로드 버전을 선택한다. 예에서 윈도우 버전을 선택하고 다운로드하였다. 3)NVIDIA CodeWorks for Android 설치를 진행한다. 해당 설치 프로그램은 안드로이드 개발에 필요한 몇가지 소프트웨어 패키지를 설치하고 개발 시스템을 구성한다. 4)설치경로를 기본으로 설정하고 다음으로 이동한다. 5)설치 예정인 패키지 목록을 표시한다. 목록에서 안드로이드 sdk, ndk, jdk와 설치..
유니티 안드로이드 빌드2 - android SDK, NDK, oepnJDK 설치하기 (유니티 허브에서 모듈을 추가하여 설치하는 방법) 안드로이드 빌드를 진행하고 앱을 실행하려면 android SDK, NDK, JDK를 설치해야한다. 유니티 에디터의 버전에 따라서 요구하는 SDK, NDK, JDK버전이 다르기때문에 유니티 허브에서 모듈을 추가하는 방법으로 설치하는것을 권장한다. 1)유니티 허브에서 설치 메뉴로 이동하고 모듈을 추가하려는 버전의 에디터를 선택한다. 2)모듈 추가를 선택한다. 3)android SDK, NDK Tools와 openJDK에 체크하고 다음으로 이동한다. 4)사용 약관에 동의하고 완료하면 모듈 설치를 진행한다. 5)설치가 완료되면 아래 위치에 Android SDK, NDK, Open..
유니티 안드로이드 빌드1 - 프로젝트를 안드로이드 플랫폼으로 전환하기 1)build settings으로 이동하고 플랫폼 목록에서 안드로이드(android)를 선택한다. 에디터에 대한 android build support 모듈이 설치되어있지않으면 하단의 switch platform버튼이 비활성화된다. 2)이 경우 install with unity hub에서 모듈 설치를 진행할수있다. 3)android build support를 선택하고 확인하면 해당 버전의 에디터에 대한 android build support 모듈 설치를 진행한다. 4)모듈이 정상적으로 설치되면 안드로이드의 추가 빌드옵션이 표시되고 switch platform 버튼이 활성화된다. switch platform을 클릭하면 프로젝트를 안드로이..