유니티에서 비주얼스튜디오 사용할때 참고(비주얼스튜디오최적화, 문제해결) 유니티에서 코딩할때 비주얼 스튜디오 최적화(optimize your visual studio tools when coding unity) https://unity.com/kr/how-to/tips-optimize-your-visual-studio-tools-when-coding-unity Unity에서 코딩 시 Visual Studio 툴 최적화를 위한 팁 MS Visual Studio는 Unity용 기본 텍스트 에디터입니다. C#으로 코딩할 때 사용할 수 있는 무료 확장 프로그램입니다. Visual Studio를 더 쉽게 사용할 수 있는 몇 가지 팁이 있습니다. 이에 대해 자세히 알 unity.com 유니티에서 비주얼 스튜디오 사용..
유니티 스크립팅 - UnityEngine.Random, System.Random 사이에 모호한 참조입니다 오류 1)스크립트에서 using 지시문을 사용하여 System 네임스페이스를 참조하였습니다. (using System;) 2)스크립트의 Random.Rnage함수에서 Random은 UnityEngine.Random 및 System.Random 사이에 모호한 참조입니다오류를 표시합니다. 3)using Random = UnityEngine.Random;을 기입합니다. 4)오류가 개선된것을 확인할수있습니다.
유니티에서 시간의 주기를 가지고 행위를 일으키기(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..
유니티에서 스프라이트 시트(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..