목록전체 글 (52)
게임 프로그래밍
1. 벡터 벡터는 '방향'과 크기를 나타냅니다. 그래서 주로 화살표 모양으로 나타냅니다. 화살표 방향은 '방향'을 의미합니다. 화살표 길이는 '크기'를 의미합니다. 벡터의 크기는 대부분 1을 사용합니다. 1을 사용하는 이유은 계산의 편의성 때문입니다. 그리고 이렇게 1로 되어 있는 벡터를 "단위 벡터(Unit Vector)"라고 합니다. 2. 벡터의 특성 2-1. 벡터의 위치는 의미가 없다. 벡터는 평행이동이 가능합니다. 어느 위치에 있는지는 의미가 없습니다. 같은 각도와 같은 크기를 가진다면 그 벡터는 같은 벡터입니다. 2-2. 벡터의 표현 '벡터의 위치는 의미가 없다' 이 말은 벡터의 위치를 원하는 대로 옮겨도 같은 벡터라는 뜻 입니다. 그러므로 벡터는 간단히 float2(0.5,0.5) 이렇게 표현..
대부분의 3D 프로그램이나 엔진은 3가지 종류의 라이트를 기본적으로 지원합니다. 1. 디렉셔널 라이트(Directonal light) 디렉셔널 라이트는 직진성을 가진 조명입니다. 이 라이트가 가지고 있는 정보는 라이트의 강도, 컬르등의 정보를 제외하면 "방향"밖에 없습니다. 시작점도 없고 끝점도 없으며 라이트를 조사하는 넓이의 개념조차 없기 때문에 가장 가벼운 라이트로 통합니다. 상대적으로 제일 가볍고 직진성의 특징 때문에 주로 태양을 시뮬레이트 하거나 그림자를 만들어 낼 때 사용합니다. 2. 포인트 라이트(Point light) 포인트 라이트는 점 모양의 광원이며, 사방으로 뻗어 나가는 특성이 있기 때문에 둥근 모양의 라이트 혹은 일정 범위의 국지적 분위기를 표현하기 위한 목적으로 많이 사용됩니다. 디..
hierarchy에서 특정한 Script를 컴퍼넌트로 갖는 오브젝트를 검색하고 싶은 경우가 있습니다. 그럴때는 ref:script경로 로 검색하시면 됩니다.
(2019.3.7f1 버전으로 하였습니다.) unity ads는 유니티에서 지원하는 보상형 광고 시스템 입니다. 아마 2018버전부터 별다른 작업없이 쉽게 넣을 수 있도록 된걸로 알고 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Advertisements; public class UnityAds : MonoBehaviour { void Awake() { Advertisement.Initiali..
Array를 list로 변환하는 방법에는 몇가지가 있습니다. 1. List list = ints.OfType().ToList(); 2. List list = new List(new int[] { 1, 2, 3, 4, 5}); 3. list.AddRange(new int[] { 1,2,3,4,5 } );
유니티에서 c# 스크립트를 만들면 기본적인 틀이 있습니다. 우선 using UnityEngine이 추가 되어있을거고 Start 함수와 Update함수도 있을것 입니다. 이러한 틀(Templates)은 유니티에서 미리 정해진 것이고, 상황에 맞게 커스텀도 가능합니다. 우선 ScriptTemplates가 저장된 경로를 살펴봅시다. 기본 경로 : C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates 유니티 허브 : C:\Program Files\Unity\Hub\Editor\2018.3.13f1\Editor\Data\Resources\ScriptTemplates Mac : Macintosh HD ▸ 응용 프로그램 ▸ Unity ▸ Hub ..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public override void OnInspectorGUI() { base.OnInspectorGUI(); grid = (Grid)target; EditorGUILayout.BeginHorizontal(); string[] ObjectOptions = new string[grid.prefabsList.Length]; string[] selectOptions = { "그리기", "지우기" }; for (int i = 0; i
유니티에서는 기본적으로 타일맵 기능을 제공하고 있습니다. 그러나 현재 만드는 게임에서 기본적으로 제공되는 타일맵으로 맵툴을 만들기에는 제한적인 기능이 많아 따로 커스텀 에디터를 만들어서 제작하고 있습니다. 그러므로 이 기능을 간단하게 정리해볼려고 합니다. Scene View에 Grid를 그리는 방법은 간단합니다. OnDrawGizmos 함수를 사용하면 Gizmos를 그릴수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 using System.Collections; using System.Collections.Generic; using UnityEngine; public ..