컴파일러 고급 언어로 작성된 프로그램이 컴퓨터에서 실행되기 위해 컴퓨터가 이해 할 수 있는 저급 언어로 바꿔주는 역할을 한다. 변수 지역변수 지역변수는 메소드 안에서 선언된 변수로 메소드 안에서만 사용이 가능하다 멤버변수 멤버변수는 클래스 안에서 선언된 변
Compare Compare은 두 문장을 비교하는 식이다. 두 문장이 같으면 0, 다르면 -1이나 1 출력 > > Name1 = aaa, Name2 = bbb, result = -1 Substring Substring은 문자열을 자를때 사용한다, 첫번째 들어온 숫
C#에서 문자를 출력하는 방법에는 총 3가지가 있다. 출력 방법 1 > > aaa / bbb 출력 방법 2 > > aaa / bbb 출력 방법 3 > > aaa / bbb if, else if, else if 뒤에는 bool형이 오고 True일때 실행한다. el
GetKeyDown GetKeyDown은 키를 누를때 발생한다. > > 스페이스 키 눌림 GetKey GetKey는 키를 누르는 동안 발생한다. > > 스페이스 키 누르고 있음 GetKeyUp GetKeyUp은 키를 땔때 발생한다. > > 스페이스 키 땜 Tran
논리 연산자는 &&, !, ||가 있고 if에 자주 사용된다. &&는 앞에 식과 뒤에 식이 모두 True일때 만족한다. ||는 하나의 식이라도 True일때 참이다. !는 부정을 의미하고 식이 True이면 False로 False이면 True로 바꿔준다.Number > 0
if 뒤에는 bool형이 오고 True일때 실행한다. else if는 if와 마찬가지로 bool형이 오고 if에서 False이고 else if에서 True이면 실행한다. if도 False이고 else if에서도 False일때 else가 실행된다.Number != 10S
While은 반복문으로 뒤에 오는 값이 True일때 실행된다. While 뒤에 True가 오면 무한반복이 실행된다.i = 1i = 2i = 3i = 4i = 5i = 6i = 7i = 8i = 9i = 10i = 0이 무한 출력do while은 식을 돌고 난뒤 조건문을
배열(Array) 배열은 여러개의 변수를 사용할때 사용하고 int[] 형태로 동적 할당(Heap) 을 해준다. > Length 배열의 길이를 구할때 사용한다. > > arr의 길이 : 5 함수 해당 함수를 호출하면 호출한 함수가 실행된다. > return 함수를
Prefabs 게임 오브젝트를 파일로 저장
enum enum은 열거형으로 지정된 상수 집합을 나타내는 것이다. > 오버로딩 오버로딩은 같은 이름의 함수가 있어도 대입되는 값에 따라 맞는 함수를 찾아가는것을 말한다. > out 함수에 값을 대입할때 변수 앞에 out을 사용하면 함수가 끝난뒤 out의 변수는 함
함수에 값을 대입할 때 변수 앞에 out을 사용하면 함수가 끝난 뒤 out의 변수는 함수에서 실행된 값 그대로 유지된다.out : 10 + 20 = 30함수에 값을 대입할 때 변수 앞에 ref를 사용하면 대입한 원래 값과 대입 받는 값이 같은 주소를 사용하여 함수에서
스택은 쌓다는 의미로 데이터를 쌓아 올린 형태의 자료구조이다. LIFO로 나중에 넣은 값을 먼저 내보내는 구조이다.큐는 자료구조의 종류 중 하나인 FIFO 구조로 먼저 넣은 것이 먼저 나오는 구조이다.스택 영역에 차례대로 저장되는 함수의 호출 정보를 말한다. 함수가 종
System.IO에서 IO는 input과 output을 줄인 말로 유니티에서 파일을 입출력하려고 하는 것이다. 제일 위에 해당 코드를 입력하지 않으면 파일을 호출할 때 System.IO를 사용해 주어야 한다. Stream은 흐름이라는 뜻으로 파일을 생성할 때는 File
구조체는 Struct로 사용자 정의 데이터형이다. 구조체는 한 개 이상의 변수를 가지고 있는 자료형으로 변수뿐만 아니라 함수도 만들 수도 있다. 예를 들어 사람의 키와 몸무게, 이름을 작성하려 할 때 변수를 이용하면 많은 변수를 사용하지만 구조체를 사용하면 한 사람의
클래스 클래스는 변수와 함수를 사용할수 있는 구조로 개체에 특성과 기능을 구현한다. 클래스의 특성 정보은닉성(private, public) : 외부에 공개할것은 public을 사용하여 공개하고, 공개하지 않을것은 private를 사용하여 비공개한다. 캡슐화 : 클래
오버플로우 힙과 스택이 만나 저장 공간이 가득 찼지만 데이터를 더 저장하려할때 발생 언더플로우 저장 공간이 비었지만 더 지우려고 할때 발생 Static static은 데이터 부분에 생성되고 여러개의 클래스를 생성해도 값을 공유한다. static 변수를 초기화 할때
상속 상속은 부모 클래스를 자식이 받아 사용하는것이다. 단 부모클래스에서 private로 정의한 변수나 함수는 사용이 불가능하다. 부모 클래스에서 기본 생성자가 아닌 변수를 받는 생성자만을 생성할시 자식 클래스에서 부모클래스에 변수값을 넣어주는 생성자를 만들어야한다.
UpCasting 업캐스팅은 자식에서 부모로 형 변환해주는 것으로 암시적 캐스팅이다. 업캐스팅을 할때 자식 클래스의 변수나 함수에 접근은 불가능하다. > DownCasting 다운캐스팅은 부모를 자식으로 형 변환해주는것으로 명시적 캐스팅이다. 업캐스팅을 하고 다운캐스
어떤한 자료형이든 상관없이 변수를 받을 수 있는 것으로. Generic을 사용한 함수나 클래스를 호출할 때 원하는 자료형을 준다. val1 = 20, val2 = 10 val3 = defg, val4 = abc
virtual과 override를 사용하여 부모 클래스에 있는 함수와 같은 형태의 함수를 자식 클래스에서 재정의 하는 것을 말한다. 부모 클래스의 재정의는 가상화, 자식 클래스의 재정의는 오버라이딩이라고 한다. 만약 자식 클래스에서 부모 클래스의 함수를 부르고 싶으면
본 스켈레톤 휴머노이드(아바타) keyflameanimation 프레임에 따라 움직이는 변화량 CBD 컴포넌트 기능을 제공 트랜지션 트리거
Particle 파티클은 파티클 시스템에 의해 큰 숫자로 표시되고 이동되는 작고 단순한 이미지나 메시를 말한다. 직렬화 Ram에 있는 객체를 바이트형 열로 바꿔주고 이를 데이터 스트림을 통해 SSD로 보내준다. SerializeField SerializeField는
MonoBehavior Life Cycle은 스크립트의 라이프 사이클을 말한다. Awake는 Start 함수보다 먼저 호출되며 프리팹이 인스턴스화된 직후 바로 호출된다. Start는 인스턴트가 활성화 될때 호출되고 첫 번째 프레임 업데이트 전에 호출된다. Update는
Destroy는 파괴를 뜻하며 해당 함수를 사용하면 사라지는 것처럼 보이 지면 실제로 오브젝트는 파괴되지 않고 호출하는 스크립트 컴포넌트만 파괴한다.정적 로딩은 해당 데이터를 필요하지 않아도 미리 로드를 해주는 것이다.동적 로딩은 해당 데이터를 필요할 때 로드를 해주는
GetComponentsInChildren 하위에 있는 모든 컴포넌트들을 호출 new 제네릭 안에서 옵션을 주어 사용 albedo 해당 색깔에 텍스트를 곱해준다. 색*색을 하면 어려워짐 색+색은 밝아짐 시드번호가 일치하면 같은 값이 랜덤으로 나온다.
해당 색깔에 텍스트를 곱해준다. 색과 색을 곱하면 어두워지고 색과 색을 더하면 밝아진다.애니메이션 이벤트는 원하는 위치에 해당 모델에게 이벤트를 발생시켜 해당 함수에 실행하고자 하는 코드를 작성할 수 있다. 만약 모델이 손을 위로 올릴 때 빛이 나는 이펙트를 넣고 싶다
Rigidbody Mass = 질량, Is Kinematic = 움직임 계산 X, Rigidbody는 충돌을 받는 쪽 한쪽에만 준다. Collider Collider의 종류에는 Box Collider, Sphere Collider, Capsule Collider, M
p1+p2는 위치벡터이고 p1-p2 는 p2가 p1을 바라보는 방향벡터이다. 방향벡터의 길이는 거리이고 방향벡터는 정규화하여 사용한다. 정규화는 자기 자신으로 자기 자신을 나눠 크기가 1이 된다.앞뒤는 구분 가능하지만 좌우는 구분 불가능하다. 나를 기준으로 왼쪽 오른쪽
Constraint Constraint에서 원하는 x,y,z 좌표값을 키면 해당 position은 고정이 된다. Collision Collision은 해당 물체와 부딪치면 물체를 뚫지 못한다. collision과 Rigidbody를 같이 사용하면 해당 물체를 밀면 물
A의 함수에서 B의 함수를 호출하고 B 함수에서 A의 함수가 호출되는 것으로 결합도가 높다. A가 B를 가지고 가지고 있으면 커플링이 일어나기 쉽다.Delegate는 위임해 주는 것으로 Delegate는 여러 함수가 실행하는 권한을 위임시켜 주는 것을 말한다. 예를 들
AddForce는 해당 물체 스스로 힘을 받는 것이다. AddForceAtPosition은 한 지점에서 힘이 오는 것을 말한다. AddExplosionForce는 사방으로 퍼지는 힘을 말한다.Acceleration은 힘을 주다가 다른 힘이 들어오면 해당 힘을 더하여 가
FSM 상태를 정의하고 코드에 의해 전이를 시킨다 오토마타 본인의 상태를 감지하여 전이시킨다. Animation Tweening A에서 B로 전환할때 A에서 끊기고 바로 B로 전환하는것이 아닌 A에서 애니메이션이 B로 전환될때 정해진 시간동안 A는 서서히 줄고 B는
인터페이스 인터페이스는 추상을 극대화 시킨것이다. 인터페이스는 상수, 추상 프로퍼티(public abstract string name => ), 추상 메소드만 가질수 있다. 인터페이스를 사용하는 이유는 구현할것이라는 가능성을 주기 위하거나, 다중 상속이 사용 가능하기
IA -> VS -> RS -> PS -> OM
Relative Rotation은 상대 회전을 말하고 부모가 있을 때 자식이 부모를 상대적으로 회전하는 것을 말한다.해당 지점을 중심으로 도는 함수이다.y값은 빼고 움직이는 코드이다.해당 대상의 방향으로 바라보는 것을 말한다.
Slerp 현재 방향에서 해당 방향까지 회전한 각도를 구하는 것이다. > 공간 변환 회전 행렬(공간)에 방향 벡터를 곱하면 공간만큼 회전된 벡터가 나온다. 유니티는 열 우선이라 우결합을 사용한다. Rotate Towards 변화량을 넣어 해당 값만큼 Rotation
Cross Target Moving에서 target을 변경할때 플레이어의 포지션에서 target의 포지션을 빼서 방향벡터를 구하고 플레이어의 정면과 방향벡터를 Cross하여 다음 target을 구할 수 있다. > Enable 첫번째 Attack 모션을 실행할 떄 정해
싱글톤 객체가 하나만 존재한다. > 스레드
인터럽트는 Thread안에서 일어나게 해야한다. 주로 큰 파일을 읽을때 읽으며 다른 행동을 하고 싶을때 사용한다. Race Condition 해결방법은 두가지가 있는데 첫번째는 Mutex(상호배제)라고 한다. 스레드가 변수의 영역에 들어가 락을 걸면 락을 건 영역을
Sound Save/Open Text File CSV
FileStream BinaryReader/Writer CustomEditior SerializeObject EditorGUILayout IDisposable Dispose Pattern 종료자 GC.SuppressFinalize() 종료자 호출을 막는다
SerializedObject object를 직렬화해서 다루기 위해 사용 Serialization XML Binary Selection.activeObject Prototype Flyweight Selection.activeGameObject 리플렉션 파
namespace는 클래스들을 묶어 분류를 해주는것이다.CreateAssetMenu는 menu를 통해 Asset을 생성해주는것이다. 해당 코드는 Create에서 Playbles를 선택하면 첫번째에 Enemy Spawn Point를 생성해주고 Enemy Spawn Poi
Pooling은 주로 자주 삭제하거나 생성하는 데이터를 만들 때 사용하는 것으로 해당 데이터가 필요할 때마다 삽입, 삭제를 하는 것이 아닌 처음에 데이터를 생성해 주고 비활성화 시켜준 뒤 필요할 때 마자 활성화시켜 사용하는 것을 말한다.값 형식을 참조 형식으로 바꿔주는
Nullable
GetUnderLyingType은 지정된 nullable 형식의 내부 형식을 리턴해주는 것이다. try는 오류가 발생하는 구문을 호출시켜 catch에서 해당 오류를 받아줄 수 있게 한다.catch는 오류가 발생하면 실행되는 구문으로 원하는 오류 메시지를 호출시켜준다.f
Select + Where
ForEach (List)
리스트형을 정렬하기 위해서 list.Sort()를 사용하면 소트 할 수 있다.IComparer은 클래스에서 상속받아 사용하는 형식으로 특정 클래스에 대한 비교 연산 행위자를 구현할 때 사용한다.IComparable은 인터페이스를 상속받은 클래스가 비교 연산을 할 수 있