유니티(unity)에서 정적 오브젝트 설정(static gameobjects)런타임에 움직이지않는 오브젝트를 정적 오브젝트라고한다. 유니티의 몇가지 시스템은 정적 오브젝트에 대해서 미리 연산을 수행할수있다(precompute information) 미리 연산된 결과는 런타임시 유효하며 이것은 런타임 연산을 절약하고 잠재적으로 퍼포먼스를 향상시킬수있다는것을 의미한다. 1)정적 오브젝트 설정은 인스펙터 최상단 우측에 있으며 static에 체크하면 활성화된다. 2)드롭다운 목록에서 해당 오브젝트를 사전 연산하고자하는 시스템들을 확인할수있다. 예를들어 라이팅 데이터(lightng data, baking light)를 생성할때 이 오브젝트를 미리연산(precompute)에 포함시키려면 contribute GI에 ..
유니티(unity)에서 파티클 스케일 변형하기(scaling mode) 1)아래 파티클 시스템에서 사용자가 설정한 shape의 영역에서 파티클을 생성하고있다. 2)일반적으로 씬에서 파티클 시스템의 스케일 수치를 변경하면(transform scale) 단위 파티클이 아닌 shape의 크기가 변형되는것을 확인할수있다. 3)만약 파티클 시스템 전체의 스케일을 변경하려면 scaling mode에서 hierarchy를 선택한다. 4)스케일을 변경하면 파티클 시스템 전체의 크기가 변형되는것을 확인할수있다.
유니티(unity)에서 빌드한 게임에서 콜라이더 감지 안하는 경우에디터에서 게임을 플레이하면 정상적으로 동작하는데 빌드한 후 게임을 실행하면 콜라이더를 감지하지않는 문제가있다. 에디터에서 태그를 수정 및 제거하고 콜라이더 오브젝트의 태그를 변경하는 과정에서 이러한 문제가 생겼다. 유니티를 재실행하고 태그의 리스트가 업데이트된것을 확인하고 게임을 빌드하였더니 문제가 해결되었다.
유니티(unity)에서 터레인에 브러쉬가 표시되지않는 문제1)터레인에서 지형을 제작하거나 텍스쳐 및 나무를 생성할때 브러쉬가 표시되어야한다. 2)만약 브러쉬가 표시되지않는 경우 터레인 게임 오브젝트를 선택하고 인스펙터에서 콜라이더 컴포넌트를 확인한다(terrain collider) 3)터레인 콜라이더가 활성화되어있는지 확인한다. 이것은 터레인 시스템에서 사용자 브러쉬의 포지션을 계산하는데 터레인 콜라이더를 사용하기때문이다.
유니티(unity)에서 어셋과 관련된 리소스 검색하기프로젝트에서 선택한 에셋이 사용중인 리소스를 검색하는 방법(select dependencies) 1)예를들어 프로젝트 에셋인 프리팹을 선택하고 마우스 우클릭한후 select dependencies 를 선택하면 2)프리팹을 구성하는 스크립트, 재질, 텍스쳐등을 검색 및 표시한다. 3)씬의 dependencies를 선택하면 4)씬에서 사용중인 프리팹을 표시하고 같은 방법으로 프리팹의 리소스를 검색할수있다.
유니티(unity) - 씬에서 참조되고있는 에셋 확인하기씬에서 프로젝트의 어셋이 어디에서 어떻게 참조되고 사용중인지 확인하는 방법 1)유니티 asset store에서 구매한 어셋으로 씬을 구성하였다. 2)아래는 씬을 구성하는데 사용한 에셋으로 유니티 에셋 스토어에서 구매한것이다. 예를들어 water 재질이 씬에서 사용중인지 확인하려면 해당 어셋을 마우스 우클릭하고 find references in scene을 선택한다.(단 find references in scene 는 현재 작업중인 씬에서만 사용가능하다) 3)씬의 hierarchy에서 해당 어셋이 참조되고있는 게임 오브젝트를 표시할것이다. 4)게임 오브젝트에서 해당 재질을 사용중인것을 확인할수있다. 5)같은 방법으로 스크립트에서 참조하는 프리팹을 확인..
스피드 트리(speedtree)에서 나무의 잎이(leaves) 카메라를 향하면서 회전하는 문제(leaves facing camera) 이 문제는 종종 유니티 및 언리얼 VR 개발에서 문제를 일으킬수있다. 아래는 스피드트리에서 빌보드 타입의 leaf를 비활성화하는 방법이다.카메라를 향하면서 회전하는 나뭇잎 1)스피드 트리에서 모델의 문제를 일으키는 leaf 노드를 선택하고 2)meshes탭의 meshes에서 orientation 속성을 facing camera에서 default로 변경한다.(meshes의 속성들을 조절하면 나뭇가지(level1, level2)에서 생성된 leaves(나뭇잎)를 정렬 및 회전시킬수있다) 3)아래 동영상에서 위 문제가 해결된것을 확인할수있다. 4)이와 같이 나뭇잎(leaves)..
스피드트리(speedtree)의 leaf collision 활용하기 1)generation 윈도우에서 tree 노드를 선택하고 leaf collision으로 이동한다. 2)leaf collision의 enabled에 체크하면 모델에서 서로 중첩하는 leaf(나뭇잎)는 생성하지않는다. 3)때문에 leaves 노드의 generaton에서 frequency의 수치를 높여도(leaves의 수를 높게 설정) 모델의 형태는 큰 변화가 없는것을 확인할수있다. 4)이 속성을 체크해제하면 leaf 콜리젼을 비활성화해서 충분히 많은 개수의 leaves를 생성한다(단 tri의 개수는 높아진다)
스피드트리(speedtree)에서 나무 오브젝트 export하기(fbx, obj)(아래 예에서 SpeedTree modeler 8.4.2를 사용하였다) 1)뷰포트 상단에 위치한 항목중 post의 export를 클릭한다. 2)fbx, obj등 몇가지 파일 형식을 지원한다. 3)예에서는 fbx를 선택하였다. 저장 경로를 설정하고 확인한다. 4)export 옵셥을 설정하고 확인하면 해당 경로에 3D 오브젝트와 기타 맵파일이 저장된다.
스피드트리(speedtree) 나무의 콜라이더(collision object) 제거하기(유니티 버전 - unity 2019.2.20f1, 스피드트리 버전 - SpeedTree For Unity Subscription 7.1.7) 1)유니티에서 임포트한 스피드 트리 모델의 콜리젼 오브젝트는 프리팹을 unpack하고 제거할수있지만 여전히 임포트된 에셋으로써의 모델에는 데이터가 남아있는것을 확인할수있다. 스피드 트리의 데이터는 스피드트리에서 수정할수있다. 2)스피드트리에서 해당 모델의 파일을 열기하고 scene의 collision을 클릭한다. 3)toggle visibility를 선택하면 뷰에서 현재 모델에 존재하는 콜라이더를 확인할수있다. 4)콜리젼 오브젝트를 선택하고 delete 키로 제거할수있다. 5)나..
스피드트리(speedtree)에서 나무 모델의 빌보드(billboard) 제거하기(유니티 버전 - unity 2019.2.20f1, 스피드트리 버전 - SpeedTree For Unity Subscription 7.1.7) 1)유니티에서 임포트한 스피드 트리어셋을 씬에 추가하고 unpack 프리팹하면 빌보드 오브젝트를 제거할수있지만 2)임포트한 모델로써의 어셋에는 여전히 데이터가 남아있다. 3)빌보드를 포함하지않는 트리 에셋을 만들려면 먼저 스피드트리에서 tree properties로 이동한다. 4)LOD하단의 compile에서 make billboards를 체크 해제한후 파일을 저장한다. 5)이 에셋은 빌보드에 대한 정보를 포함하지않으며 이것을 유니티에서 확인할수있다.
유니티(unity)에서 임포트한 모델의 재질 수정하기(extract materials)1)유니티에서 에셋을(fbx, map) 드래그 하여 임포트한다. 2)씬에 추가하여 모델의 재질 및 텍스쳐를 확인할수있다. 3)현재 이 모델의 재질이 비활성화 되어있는것을 확인할수있다. 4)import settings의 materials에서 extract materials를 클릭하고 재질을 추출할 폴더 위치를 설정한후 확인한다. 5)임포트한 모델의 재질을 추출하였고 수정 가능하다.