유니티에서 스크립트 실행순서 변경하기(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..
터레인 제작 프로그램 - TerreSculptor무료 라이센스 터레인 제작툴http://www.demenzunmedia.com/home/terresculptor/http://www.demenzunmedia.com/home/blog/ https://www.youtube.com/channel/UC_8MqFatjX_L7QqfuZpyHJg/featured
유니티 c# 스크립트 - 문자열 분할하기(String.Split)1)유니티에서 임포트한 텍스트 형식의 파일은 텍스트 에셋(Text Asset)으로 변환된다. 아래 예에서 텍스트 형식의 파일인 .txt를 임포트하였다. 2)파일의 텍스트를 이루는 문자열을 분할하기위한 구분 기호로 >를 사용하였다.동해물과 백두산이 마르고 닳도록>하느님이 보우하사 우리나라만세>무궁화 삼천리화려강산>대한사람 대한으로 길이 보전하세아래 스크립트에서 String.Split 함수를 사용하여 구분기호 >에 의해 분할된 문자열을 배열에 저장한다. 3)아래 예에서 하나 이상의 구분 기호를 사용하였다.동해물과 백두산이 마르고 닳도록>하느님이 보우하사 우리나라만세>하느님이 보우하사 우리나라만세...무궁화 삼천리화려강산^^대한사람 대한으로 길이..
유니티(UNITY)에서 UI 카메라 설정하기(screen sapce - camera)1)아래 예에서 단순한 씬을 구성하였다. 2)메인 카메라(main camera)의 culling mask에서 UI를 체크해제하고 depth 속성의 값을 0으로 설정하였다. 3)씬에 새로운 카메라를 추가한다. 카메라의 clear flags에서 depth only를 선택하고 culling mask에서 UI 레이어를 제외하고 체크해제한다. 4)씬에 캔버스를 생성하였다. 5)캔버스와 하위 ui 요소의 레이어를 설정한다(UI)render mode에서 screen space- camera를 선택하고 render camera에 씬에 추가한 카메라를 참조시킨다. 6)메인 카메라에서 씬의 게임 오브젝트와 스카이박스를 표시하고 두번째 카메..
유니티(UNITY)에서 3D 아이콘 크기 변경하기씬에서 표시되는 3D 아이콘의 크기를 변경하는 방법 씬 윈도우의 상단에 gizmos를 클릭하고 3D Icones의 크기를 조절한다.
유니티(unity)에서 카메라 거리 레이어 컬링 사용하기(layerCullDistances)1)아래 예에서 단순한 씬을 구성하였다. 2)camera의 far clipping planes 값을 50으로 설정하였다. 일반적으로 씬에서 카메라로부터의 거리가 50m 보다 먼곳에 있는 오브젝트들은 렌더링하지않는다. 4)만약 특정한 오브젝트들에 대해서 50보다 작은 값의 far clipping planes를 설정하려면 layerCullDistances를 사용한다.https://docs.unity3d.com/ScriptReference/Camera-layerCullDistances.html아래 스크립트에서 32개의 레이어(builtin layer)중 10번 레이어의 값을 설정하고 카메라의 layerCullDistan..