Mysql 했었다..
Unity
-
Unity Editor
- Toolbar / Hierarchy / Window / Game View / Scene View / Overlays / Inspector Window / Project Window / Status Bar
- 이 외의 UI는 Winodw 메뉴에서 열 수 있다.
-
Sc
-
Scene & GameObject
- Scene : 씬(Scene)은 컨텐츠를 사용하여 작업하는 공간으로, 게임이나 애플리케이션의 전체 또는 일부를 포함하는 에셋(Asset)이다. 스크립트에서는 [SceneManager]를 이용해 씬을 로드할 수 있다.
- GameObject :
- Unity에서 존재하는 모든 오브젝트를 말한다.
- 게임 GameObject는 그 자체로 많은 것을 하기보다는 기능을 구현하는 컴포넌트(Component)의 컨테이너 역할을 한다.
- GameObject는 계층적으로 다른 GameObject를 가질 수 있다.
- 모든 GameObject는 Transform을 가진다.
- Transform은 좌표계에서 위치, 회전, 스케일을 표현한다.
- Trnasform은 월드 혹은 부모 GameObject로 부터의 상대적인 좌표를 나타낸다.
- 월드인 경우 : World 좌표계
- GameObject 인 경우 : Local 좌표계
- GameObject의 좌표는 Transform 컴포넌트로 표현된다.
- GameObject는 부모 혹은 자식 GameObject를 가질 수 있다.
- 움직임이 없는 GameObject는 Static으로 설정
- 프로토타입을 만들 때 사용하는 Primitive GameObject가 있다.
- Cube / Sphere / Capsule / Plane / Quad / Cylinder
-
Component
- Component : GameObject의 기능적인 단위. 즉, 하나의 기능을 담당하는 스크립트.
- 시각적인 기능 / 물리적인 기능 / 행위의 기능
- Unity의 경우 : 다양한 Component를 내재하고 있다.
- 우리만의 Component를 작성하기 위해선 C# 문법을 알고 있어야 한다.
- public field인 경우 Unity Editor 상에서 인터페이스로 나타난다.
- 혹은 SerializeField 의 특성을 사용
- 모든 Component는 MonoBehaviour를 상속 받는다.
- MonoBehaviour에는 여러 이벤트 메시지가 정의되어 있다.
- Awake( ) → OnEnable( ) → Start( ) → FixedUpdate( ) → Update( ) → LateUpdate( ) → OnDisable( ) → OnDestroy( )
- 각 이벤트 메시지가 언제 호출되는지 정확히 알아야 정확한 구현이 가능하다.
-
Input
- Input Manager : Unity에 내장
- Input System : 추가 패키지
-
Interaction (Collision)
- Layer : GameObject가 어떤 다른 것과 상호작용할 수 있는지를 정의
- Layer Matrix 설정 방법을 알아야 함.
- Layer 체크는 비트를 사용.
- 0번부터 31번까지 사용할 수 있음.
- Character Control : 아래의 두 방법은 게임 플레이 설계에 따라 다르게 적용한다.
- Rigidbody
- Character Controller
- Rigidbody : 물리 기능을 제공하는 Component
- 힘과 관련된 기능을 제공한다.
- Collider와 함께 사용해서 충돌 처리에 사용
- Kinematic Rigidbody : 물리 엔진 대신 스크립트에 의해서 동작하는 Rigidbody
- Rigidbody는 최상위 GameObject에 단 하나만 부착해야 한다.
- Collider
- 물리적인 표면을 제공하는 Component
- Box / Sphere / Capsule
- 하나의 GameObject에 여러 개의 Collider를 부착할 수 있다.
- Rigidbody 없이도 Collider를 부착할 수 있으며, 이를 Static Collider 라고 한다.
- 다른Collider의 진입을 허용하려면 Trigger로 만들어주면 된다.
- Event
- Collider에 의해 충돌이 발생할 때 호출되는 이벤트 메시지가 존재한다.
- OnCollisionEnter / OnCollisionStay / OncollisionExit
- OnTriggerEnter / OnTriggerStay / OnTriggerExit
- 스크립트를 이용해서 상호작용
-
Coroutine
- 시간에 기반한 동작을 편하게 구현할 수 있는 서브루틴
- StartCoroutine( )으로 코루틴을 시작할 수 있고, StopCoroutine( )으로 코루틴을 중지할 수 있다.
- 코루틴은 반드시 GameObject가 Active여야 한다.
- Update( ) 이후에 실행된다.
-
Animation
- 유한 상태 기계로 애니메이션을 구성할 수 있다.
- 각 상태에 따른 동작을 StateMachineBehaviour로 표현할 수 있다.
- Animation Event를 통해 애니메이션 실행 중 특정 시간에 메소드를 호출할 수 있다.
-
Audio
- Audio Source : 소리를 내는 컴포넌트
- Audio Listener : 소리를 듣는 컴포넌트
-
UGUI
- Canvas
- UI를 배치하는 컴포넌트
- 모든 UI Object는 Canvas의 자식으로 존재해야 한다.
- Render Mode에 대한 이해가 필요하다.
- Screen Space - Overlay : 스크린 공간에 덧씌어지는 UI로 Main UI를 표현하는데 사용.
- Screen Space - Camera : 특정 카메라로부터 일정 거리에 배치된 UI
- World Space - 가상 세계에 배치되는 UI
- RectTransform
- Canvas 상에서의 위치, 너비, 높이, 앵커, 피벗, 스케일, 회전 등을 표현하는 컴포넌트
- Layout
- Layout Group : Layout Element를 관리하며 Layout를 구성하는 컴포넌트
- Layout Element : 구성 요소
- Visual Component
- Interactive Component
-
Prefab
-
Resource Management
-
Scriptable Object
-
Tip