유니티(unity)에서 환경 조명 설정하기(조명세기, 스카이박스, 그라디언트, 단일색상) (유니티 버전 2020.3.0f1, built-in render pipeline) 1)씬에 스피어 게임오브젝트를 생성합니다. 2)스피어 오브젝트의 표면에 환경 조명에 의한 색상과 음영이 표현되고있는것을 확인할수있습니다. 3)라이팅 윈도우의 environment에서 environment lighting(환경 조명)의 source가 skybox(스카이박스)로 설정되어있는것을 확인할수있습니다. 4)스카이박스 재질(skybox material)은 기본 default-skybox 재질로 설정되어있는것을 확인할수있습니다. 5)스피어 오브젝트 표면의 색상과 음영이 기본 default-skybox 재질의 스카이박스 환경 조명에 의..
유니티(unity)에서 모델의 메시 정보 확인하기 정점 개수(vertices), 삼각형 개수(triangles), UV 레이아웃(UV Layout) 버텍스 색상(Vertex Color), 노말(Normals), 기타(UV Checker, Tangents, Blendshapes) 1)프로젝트에서 모델을 선택합니다. 2)model import settings에서 모델의 미리보기를 제공하지만 메시 정보를 확인할수없습니다. 3)모델의 하위에 존재하는 메시를 선택합니다. 4)inspector에서 모델의 메시 정보를 확인할수있습니다. 5)미리보기 하단에서 메시를 구성하는 정점 및 삼각형의 개수가 표시되는것을 확인할수있습니다. 6)미리보기에서 메시를 표시하는 방법을 선택합니다(Shaded, UV Checker, UV..
유니티 에셋 추천 Edy's Vehicle Physics - 자동차 물리 엔진 도구(차량운전, 충돌, 피해효과, 지면재질, 오디오효과, 기타) Edy's Vehicle Physics는 간편한 설정으로 사용자 차량을 리깅 및 구성하여 차량을 운전 및 제어할수있는 기능을 제공합니다. 그밖에 차량 충돌, 피해, 지면재질(지면흔적, 스키드마크, 연기등), 오디오(엔진, 변속, 충격, 기타)등의 효과를 사용할수있습니다. Edy's Vehicle Physics 유니티 에셋 스토어(asset store) https://assetstore.unity.com/packages/tools/physics/edy-s-vehicle-physics-403 Edy's Vehicle Physics 사용법 동영상 (Edy's Vehic..
유니티에서 시간의 주기를 가지고 행위를 일으키기(Update함수) 예에서 업데이트 함수 내에 작성한 조건문(if-else)은 시간의 주기를 가지고 특정 행위를 일으킨다. 시간이 되면(if(updateTime>coolDown)) 행위를 일으키고 updateTime를 초기화한다. updateTime의 업데이트는 시간의 흐름을 의미한다 (updateTime += Time.deltaTime;) 콘솔에서 coolDown 시간에 도달할때 호출함수명과 시간이 출력되는것을 확인할수있다.
유니티에서 원형 이미지 슬라이더 만들기 unity에서 원형(radial360) 이미지 슬라이더를 구현하는 방법(Image.fillAmount, Mathf.Lerp) 1)씬에 이미지(image) 오브젝트를 생성한다. 2)이미지의 소스 이미지(source image)에 원형 이미지를 설정한다. image type으로 filled를 선택하고 fill method으로 radial 360를 선택한다. fill origin, fill amount, clockwise 속성에 아래와 같이 설정한다. 3)fill amount는 0부터 1까지의 값으로 이미지를 채운 정도를 설정한다. 이미지의 fill amount 수치를 조절하면 원형 이미지가 채워지는것을 확인할수있다. 4)스크립트에서 UnityEngine.UI 네임스페이..
유니티에서 카메라 뷰에 스카이박스 배경 설정하기(skybox) 카메라에 스카이박스(skybox) 컴포넌트를 추가하여 카메라 뷰 배경을 설정하는 방법 1)유니티에서 스카이박스의 배경으로 설정한 텍스처를 가져오기한다(import) 2)texture shape에서 cube를 선택한다. 3)apply를 클릭하면 하단 미리보기에서 텍스처 맵핑 결과를 확인할수있다. 4)새로운 재질을 생성한다. 재질의 쉐이더로 skybox의 cubemap를 선택한다. 5)cubemap에 배경으로 사용할 텍스처를 설정한다. 6)스카이박스 배경을 설정할 카메라를 선택한다. 7)카메라의 clear flags가 스카이박스(skybox)로 설정되어있는지 확인한다. 8)카메라 오브젝트에 skybox 컴포넌트를 추가한다. 9)추가된 스카이박스의..
유니티에서 그리드 프로젝터(grid projector)사용하기 게임 물리엔진에서 씬에 존재하는 오브젝트들의 현실적인 스케일은 매우 중요하다. 그리드 프로젝터(grid projector)는 오브젝트에 그리드(grid)를 투사하여 캐릭터, 사물, 지형등의 스케일을 가늠하기위해 사용할수있다. 1)에셋 스토어에서 유니티에서 제공하는 기본에셋인 standard assets를 다운로드한다. 2)projectors 하위의 에셋을 가져오기한다(import) 3)projectors의 prefabs폴더에 GridProjector 프리팹이 존재하는것을 확인할수있다. 4)씬에 GridProjector를 추가한다. 5)프로젝터의 프리스텀과 교차하는 오브젝트는 흰색 그리드 텍스쳐가 투사되는것을 확인할수있다. 6)프로젝터(proj..
유니티에서 Rotate함수를 사용하여 오브젝트 회전시키기 1)씬에 스피어 오브젝트를 생성하였다. 2)새로운 스크립트를 생성한다. 3)Transform.Rotate 함수는 축을 중심으로 오브젝트를 회전시킨다. 예에서 y축을 중심으로 초당 degreePerSecond 도씩 오브젝트를 회전시킨다. 4)스피어 오브젝트에 스크립트를 추가하고 degreePerSecond 수치를 입력한후 게임을 플레이하면 오브젝트가 회전하는것을 확인할수있다.
유니티에서 임의의 수를 반환하는 함수(Random.Range) 무작위로 정수 및 실수를 반환하는 Random.Range 함수 사용법. Random.Range 함수는 사용자가 설정한 두 인수 범위내에서 무작위로 도출한 수를 리턴한다. public static float Range(float min, float max); 1)예에서 정수 1과 4 사이 임의의 정수를 반환한다. 2)예에서 max 인수인 최대값 5는 반환에서 제외되는것을 확인할수있다. 3)예에서 1.0와 5.0 사이 임의의 실수를 반환한다.
유니티에서 자식(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인 자식오브젝트를 검색하고 비활성화한다.
유니티에서 월드 포지션(world position)과 로컬 포지션(local position) Transform.Position은 월드에서 오브젝트의 절대 좌표값을 나타낸다(원점 0,0,0로부터의 위치) Transform.LocalPosition은 부모 오브젝트에 대한 자식 오브젝트의 상대적 위치를 나타낸다. 1)원점(0,0,0)에 empty gameobject를 생성하고 2개의 자식 오브젝트(sphere cube)를 추가하였다. 2)자식 오브젝트의 위치를 이동시킨다. 2)sphere의 transform에서 position 값을 확인한다. 3)cube의 transform에서 position 값을 확인한다. 4)부모 오브젝트를 x축으로 이동시켰다. 5)자식 오브젝트(Sphere, cube)의 transfo..
유니티 에셋 curvy에서 generator의 volume caps사용하기 generator로 생성한 볼륨(volume)에 평평한 캡(cap)을 생성하는 방법 1)씬에 curvy spline을 생성한다. 2)새로운 curvy generator를 생성한다. 3)생성한 generator의 그래프 편집(edit graph)으로 이동한다. 4)새로운 shape extrusion 템플릿을 생성한다. 5)생성한 샘플 템플릿은 5가지 모듈을 사용하여 메시를 생성한다. 6)input spline path의 spline을 제거하고 씬에 생성한 사용자 스플라인을 설정한다 7)사용자 스플라인으로 생성한 shape extrusion 메시를 확인할수있다. 8)메시의 시작과 끝에 hole을 확인할수있다. 9)새로운 volume ..