유니티에서 원형 이미지 슬라이더 만들기 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..
유니티에서 스프라이트 시트(sprite sheet)를 사용한 2D 애니메이션 스프라이트 시트(sprite sheet)는 여러개의 작은 그래픽을 그리드(grid)에 정렬하여 구성한 비트맵 이미지 파일이다 게임 개발에서 캐릭터의 연속적인 키 포즈를 한장의 이미지에 구성하여 2D 애니메이션 제작에 사용된다. 1)유니티에서 스프라이트 시트 이미지를 가져오기한다(import) 2)import settings에서 텍스처 유형(texture type)을 sprite(2D and UI), 스프라이트 모드(sprite mode)를 multiple로 설정하고 apply를 클릭한다. 3)패키지 매니저에서 2D Sprite 패키지를 설치한다(install) 4)import settings에서 스프라이트 편집기(sprite e..
유니티 그래픽 api - OpenGL ES OpenGL ES는 콘솔, 핸드폰, 자동차등의 모바일 및 임베디드 시스템에서 2D, 3D 컴퓨터 그래픽을 렌더링하기 위한 그래픽 API이다. OpenGL ES는 크로스 플랫폼 그래픽 API인 OpenGL의 하위 집합(subset)이며 현재 여러 버전이 존재한다(OpenGL ES1.X, OpenGL ES2.0, OpenGL ES3.0, OpenGL ES3.1) https://www.khronos.org/opengles/ https://en.wikipedia.org/wiki/OpenGL_ES 안드로이드는 API레벨에 따라서 여러 버전의 Open GLES를 지원한다(OpenGL ES1.0및 1.1, OpenGL ES2.0, OpenGL ES3.0, OpenGL ES3..
유니티 에셋 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 ..
유니티에서 모든 텍스처의 해상도 줄이기(texture quality) 유니티가 렌더링하는 텍스처의 품질을 설정하여(texture quality) 모든 텍스처의 해상도를 줄이는 방법 1)project settings의 quality에서 그래픽 품질 수준에 대한 텍스처 품질을 설정할수있다(texture quality) 아래 예에서 PC Standalone와 안드로이드의 중간 품질(medium quality) 수준에 texture quality가 full res로 설정되어있는것을 확인할수있다. 해당 플랫폼의 수준에서 텍스처를 전체 해상도로 렌더링하는것을 의미한다. 2)texture quality는 유니티가 텍스처를 렌더링할때 사용하는 네개의 선택 옵션 Full Res, Half Res, Quarter Res,..
유니티에서 텍스처의 해상도 낮추기(texture import settings, max size) 1)프로젝트의 에셋 폴더에서 텍스처를 선택하면 inspector 윈도우에서 texture import settings를 표시한다. Texture Import Settings는 유니티가 이미지를 가져오는(import) 방법을 정의한다. 2)플랫폼 특정 오버라이드(platform-specific overrides)의 기본 옵션(default)에서 텍스처의 최대 해상도(max size)가 2048로 설정되어있는것을 확인할수있다. 하단의 미리보기에서 텍스처의 해상도와 크기를 확인할수있다(2048x2048, 2.7mb) 3)최대 해상도를 낮추기 위해 max size를 변경하고(1024) apply를 클릭한다. 4)텍스..