목록Study/유니티 (19)
개발일기

1. Material 생성 Material을 생성하고 BaseMap, NormalMap, HeightMap, MetalicMap을 적용시킵니다. Texture 파일이 적용된 Material을 FBX 파일에 적용시키면 됩니다. 2. Animation Clip 생성 Animation Clip을 분할해서 보내는 것이 안되서 모든 애니메이션 클립을 하나의 애니메이션으로 합쳐서 받았습니다. 다음과 같이 시작점과 끝점을 입력하여 여러개의 애니메이션 클립으로 분할할 수 있습니다.
1) Branch 여러 개발자들이 동시에 개발할 수 있도록 하는 독립적인 영역입니다. 2) Checkout 현재 작업중인 워킹 트리의 일부 혹은 전체를 업데이트 하는 것입니다. 3) Merge 현재 작업 중인 브랜치에 합칠 커밋을 지정해서 병합하는 것입니다. 4) Commit 깃에 데이터가 저장되어 온 히스토리의 한 지점을 말합니다. 5) Push Commit한 파일을 원격 저장소에 올리는 것입니다. 6) Fetch 로컬에는 없지만 원격 저장소에 올라가 있는 데이터를 모두 가져오는 것입니다. 7) Pull 브랜치의 내용을 Fetch 후, Merge하는 것을 의미합니다. 8) Local Repository 내 PC에서 관리하는 git 저장소입니다. 9) Remote Repository 로컬 저장소를 업로드..
1) 프로퍼티란? 속성 값을 반환하거나 새 값을 할당하는 것입니다. 2) 제니릭이란? 클래스 내부의 멤버 변수의 데이터 타입을 일반화한 클래스입니다. 3) 람다식은? 접근자, 함수 이름, return문이 없는 익명함수입니다. (=>를 사용) 4) 코루틴은? 실행을 일시정지하고 제어권을 Unity에 넘겼다가 다음 프레임에 정지했던 지점부터 코드를 실행 할 수 있는 메서드입니다. 5) 델리게이트란? 메서드에 대한 참조를 가지는 형식입니다. 6) 이벤트란? 특정 상황이 발생할 때 개체 또는 클래스에서 알림을 제공 할 수 있는 멤버입니다. 7) 객체 지향의 4가지 특성은? 추상화, 다형성, 상속성, 캡슐화 8) 상속이란? 객체가 다른 객체를 상속받은 객체의 요소를 사용하는 것을 의미합니다. 상위 개념의 특징을 ..

3D 모델의 애니메이션을 다운 받고 이를 확인하기 위해 누르면 Inspector 창이 다음과 같이 바뀝니다. 모델을 드래그하지 않는다면 유니티에서 제공하는 휴머노이드가 해당 애니메이션을 보여줍니다. 휴머노이드가 아닌, 모델의 애니메이션을 보고 싶다면 모델을 드래그해서 애니메이션을 보여주는 창에 넣어준다면 모델의 애니메이션을 볼 수 있게 됩니다. 모델이 조건에 따라 애니메이션을 다르게 실행하길 원한다면 Animatior Controller를 만들고, 원하는 애니메이션을 Animator창에 드래그&드롭을 하면 해당 애니메이션 박스가 생성이 됩니다. 애니메이션 박스 간의 연결선을 생성하고Parameter로 조건을 넣어준다면 모델의 애니메이션이 조건에 따라 실행이 됩니다. 애니메이션을 실행하는 도중에 모델에 내..
ArrayList는 용량을 미리 지정할 필요가 없으며, 필요에 따라 늘리거나 줄일 수 있습니다. Add, RemoveAt, Insert를 사용합니다. (Add는 맨 뒤, Insert는 원하는 위치에 삽입) 그리고 Object 형식으로 저장합니다. Queue는 FIFO 구조로 한쪽에서는 입력, 다른 한쪽에서는 출력을 하며 Enqueue, Dequeue를 사용합니다. Stack은 LIFO 구조로 한쪽에서만 입력, 출력을 합니다. Push, Pop을 사용합니다. HashTable은 key와 value로 이루어졌으며, 탐색 속도는 빠르고 편합니다. C++의 Map과 유사합니다.
인터페이스는 메소드, 이벤트, 인덱서, 프로퍼티만 가질 수 있습니다. 접근제한자는 선언이 불가능하고, 자동으로 public으로 취급됩니다. 그리고 인스턴스도 만들 수 없지만, 상속받은 클래스의 인스턴스는 만들 수 있습니다. 추상클래스는 인터페이스와 달리 구현을 가질 수 있지만 인스턴스를 가질 순 없습니다. 추상 메소드는 구현을 가지진 못하지만, 파생 클래스에 해당 메소드를 반드시 구현시키는 점에서 인터페이스의 역할도 수행 할 수 있습니다. (다만, 이는 약속이기에 private는 불가능합니다.)
클래스는 데이터와 메소드를 묶는 복합 데이터, 참조 형식입니다. 클래스 안의 변수는 필드라 하고, 필드와 메소드 .. 등 클래스 내부에 선언된 것을 멤버라고 합니다. Cat Kitty; // Kitty 자체는 메모리에 할당되는 것이 아니라 참조로써 객체가 있는 곳을 가리킵니다. 현재는 Null Cat Kitty = new Cat(); // new 연산자와 생성자를 사용하면 힙에 객체를 생성하고, Kitty는 생성자가 힙에 생성한 객체를 가리키게 됩니다. * 모든 데이터 형식은 New 연산자를 사용 가능합니다. 생성자는 클래스의 객체를 생성하는 것을 임무로 받은 것으로 클래스와 이름이 같고 반환 형식이 없습니다. class Car{ int speed; public Car(int speed){ this.sp..
매개변수를 참조에 의한 전달을 사용할 수 있습니다. C언어의 포인터와 같습니다. int x=3; int y=4; void Swap(ref int a, ref int b){ int temp=0; temp=a; a=b; b=temp; } 참조값을 반환할 땐, 반환형과 반환값에 ref를 붙여야합니다. 그리고 지역변수에 해당 반환값을 담는다면 지역변수에도 ref를 붙여서 사용해야 합니다. int x=3; int y=4; ref int Plus(int a,int b){ return ref a+b; } int ref result = Plus(x,y); ref처럼 사용되는 것에는 out이 있습니다. out은 ref와 달리 오류를 감지해주기에 out이 ref보단 안정적입니다. // out을 사용하는 방식 1. int ..