유니티 게임 그래픽 최적화 주제 모음 프러스텀컬링 오쿨루젼컬링 정적 배칭 유니티에서 정적배칭(static batching) 사용하기 동적 배칭 유니티에서 동적배칭 사용하기(dynamic batching) GPU인스턴싱 유니티 GPU 인스턴싱(instancing) vsync CombineMeshes함수 유니티에서 CombineMeshes 함수를 이용하여 배칭하기 LOD(level of detail) 유니티에서 LOD 그룹 설정하기 라이팅기법 라이트맵 gpu스키닝 라이트프로브 리플렉션 프로브 텍스처 압축 파티클최적화 렌더링파이프라인(빌트인, URP, HDRP) 유니티의 렌더링 파이프라인(built-in, SRP, URP, HDRP) 포워드렌더링, 디퍼드렌더링 안티 엘리어싱 유니티 안타 엘리어싱(anti-al..
유니티에서 제공하는 VFX 이미지 시퀀스(VFX image sequences, flipbooks) 프로젝트에서 사용할수있는 연기, 화염, 폭발등의 이미지시퀀스를 제공한다. 파일형식은 이미지 시퀀스(exr, tga)의 압축파일 flipbooks(exr, tga) 이미지 파일이다. blogs.unity3d.com/2016/11/28/free-vfx-image-sequences-flipbooks/ Free VFX Image Sequences & Flipbooks - Unity Technologies Blog It is not so common to have either resources or budget to author smoke, fire and explosion flipbooks in video game..
유니티에서 오브젝트의 바운딩 박스 그리기(renderer.bounds)렌더러 컴포넌트를 가지는 오브젝트의 바운딩 박스를 그리는 방법이다.renderer.bounds는 오브젝트 렌더러의 바운딩 볼륨으로 오브젝트를 완전히 둘러싸는 경계 박스이다. 이러한 바운딩 박스를 표시하기위해 bound의 center(중심), size(크기) 값을 사용하여 와이어 큐브 기즈모를 그릴수있다. Gizmos.DrawWireCube1)아래 스크립트를 추가한 오브젝트를 씬에서 선택할때 와이어 큐브 형태의 기즈모를 그린다.Gizmos.DrawWireSphere2)아래에서 오브젝트 렌더러의 bounds.center, bounds.extents 값을 사용하여 구의 중심과 반경을 정의하고 와이어 스피어 형태의 기즈모를 그린다.
유니티에서 프리팹 및 씬 내보내기(export to package)1)프리팹을 파일로 내보내기하려면 프로젝트에서 프리팹을 선택, 마우스 우클릭한후 export package를 선택한다. 2)내보내기 옵션에서 include dependencies에 체크하면 프리팹에서 참조하는 모든 리소스를 포함한다. export를 클릭하면 설정한 경로에 .unitypackage 형식의 파일을 생성한다. 3)씬에 두개의 프리팹을 생성하고 아래와 같이 구성하였다. 4)프로젝트 폴더에서 씬을 선택하고 마우스 우클릭한후 export package를 선택한다. 5)씬 파일을 포함해서 씬에 존재하는 프리팹, 스크립트, 리소스를 내보내기한다.
mapbox - Maps SDK for Unityhttps://www.mapbox.com/unity/ Maps SDK for Unity는 실제지도 데이터에서 유니티 어플리케이션을 빌드하기위하여 Unity에 최적화 된 지도, 위치 데이터 및 강력한 개발자 도구모음을 제공한다. Unity 개발자는 Mapbox 웹 서비스 API와 상호 작용하고 C# 기반의 API 그리고 그래픽 사용자 인터페이스를 통해 Unity 프로젝트에 3D 월드를 생성하고 맵핑(mapping) 및 탐색(navigation) 환경을 구축 할 수 있다. 설치 및 사용법https://docs.mapbox.com/unity/maps/guides/ https://docs.mapbox.com/unity/maps/examples/
유니티에서 스크립트 실행순서 변경하기(script execution order)1)씬에 3개의 게임오브젝트를 생성하였다. 2)아래 3개의 스크립트는 모두 start 함수에 의해 콘솔에 게임 오브젝트의 이름을 기록한다. 이 3개의 스크립트를 3개의 게임오브젝트에 각각 추가하였다. 3)게임을 시작하면 3개의 오브젝트 이름이 기록된다. 게임을 시작하기전에 외부적으로 어떤 스크립트의 start 함수(이벤트 함수)가 먼저 호출될지 알수없다(내부적으로 씬에서 최근에 추가한 오브젝트의 스크립트를 우선적으로 실행) 4)이러한 경우 스크립트의 실행 순서를 설정하면(custom order) 이벤트 함수의 호출 순서를 제어할수있다.project settings의 script execution order로 이동한다. 5)+버..
유니티에서 월드 공간(world space) UI 만들기 1)씬에 canvas 오브젝트를 생성한다. 2)캔버스의 render mode를 world space로 변경한다. 3)캔버스의 해상도를 설정하고(rect transform width, height) 오브젝트의 위치와 크기를 설정한다(pos, scale) 4)스크린 공간의 캔버스와 마찬가지로 캔버스에 UI 요소를 추가한다. 5)캔버스의 하위 오브젝트에 회전값 180을 입력한다. 6)캔버스에 빌보드 스크립트를 추가한다. docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/HOWTO-UIWorldSpace.html
유니티 webGL에서 비디오 플레이어 구현하기1)씬에 비디오가 재생될 게임 오브젝트를 생성한다. 2)video player 게임 오브젝트를 생성하고 video clip에 재생할 동영상을 참조시킨다.render mode로 material override를 선택하고 renderer에 위에서 생성한 plane 오브젝트를 참조시킨다. 3)게임을 시작하면 plane 오브젝트에서 동영상이 렌더링된다. 4)씬을 추가하고 webGL 플랫폼을 선택한후 빌드한다(build and run) 5)브라우저에서 실행한 게임에서 비디오가 정상적으로 재생되지않는것을 확인할수있다. 6)프로젝트에 새로운 폴더 StreamingAssets을 추가하고 비디오를 위치시킨다. 7)비디오를 에디터에서 직접 참조시키는 방법이 아닌 URL에 위치한..
유니티에서 빌드한 webGL 프로젝트 깃허브(github)에 업로드하기깃허브에서는 개인의 웹사이트를 발행할수있는 깃허브 페이지(github pages) 서비스를 제공한다.깃허브 페이지를 사용하여 유니티의 webGL 프로젝트를 빌드할수있다. 1)깃허브에 업로드할 유니티의 webGL 프로젝트를 준비한다.유니티에서 webGL 프로젝트 빌드하기 2)깃허브에서 새로운 리포지토리를 생성한다. 리포지토리의 이름을 설정하고 공개여부는 public을 선택한후에 create repository를 클릭한다.(깃허브 무료 계정에서 사용할수있는 페이지의 리포지토리는 public으로 설정해야하며 private로 사용하려면 유료 계정으로 업그레이드해야한다) 3)리포지토리에 유니티 프로젝트를 업로드한다. 4)프로젝트 폴더의 root..
유니티에서 webGL 프로젝트 빌드하기1)프로젝트 빌드 세팅에서 webGL을 선택한다. 현재 유니티에 webGL 모듈이 설치되어있지않다면 open download page를 클릭하고 webGL 모듈을 다운로드 및 설치한다. 2)프로젝트에서 Linear color space를 사용한다면 하단의 auto graphics API를 체크해제하고 webGL2.0을 선택한다. 3)switch platform을 클릭하고 플래폼 변경이 완료되면 build를 클릭한다. 4)빌드가 완료되면 프로젝트 폴더에서 확인할수있다(index.html, build, templateData)
유니티 터레인 에셋 - real world terrainhttps://assetstore.unity.com/packages/tools/terrain/real-world-terrain-8752
유니티(unity3D)에서 터레인 height map 임포트하기 유니티에서 지원하는 터레인의 height map은 정해진 형식이 있다. RAW 이미지 파일, 16비트, grayscale, non interlaced, IBM PC, 해상도 - 2의 n승(power of 2) +1 square size 지형의 height map 이미지를 포토샵 또는 이미지 편집 프로그램에서 지원 형식으로 수정 및 저장해야한다. 터레인 모델링에 사용할 맵(height map, 위성사진)을 검색하고 다운로드하기글로버맵퍼에서 데이터 리샘플링하고 맵 추출하기 1)이미지의 사이즈를 변경한다. 2)상단 image 메뉴의 mode에서 이미지가 그레이스케일(grayscale), 16 bits/channel인지 확인한다. 3)이미지를 RA..