강의를 들으며 하는 것이라 세세하진 않지만, 적어두는 내용입니다
○ 레벨 디자인
카메라 :
- clear Flags 아무 것도 없는 영역
+ skybox : 하늘로 채워줌
+ solid Color : 단색으로 채워줌
- Trigger : 물리적인 충돌은 없지만, 충돌했다고 감지
○ 충돌 처리
OnTriggerEnter(Collider other) : 트리거인 콜라이더와 충돌 할 때 자동으로 실행
OnCllistionEnter(Collision other): 일반 콜라이더와 충돌했을 때 자동으로 실행 -> 좀 더 자세한 정보도 포함됨(물리값,,)
○ 생명주기
- Reset :
+ 오브젝트를 생성 후 인스펙터 뷰에서 리셋을 눌러줄 때 실행,
+ 객체의 속성을 초기 값으로 설정해 줄 때 사용
- Awake
+ 스크립트가 실행될 때 한번만 호출
+ 모든 오브젝트가 초기화 된 후 호출되기 때문에 GameObject.Find같은 명령문을 안전하게 사용할 수 있음
+ Awake 함수는 언제나 Start함수 전에 호출되므로 초기화 순서를 정할 수 있게 함 (Coroutine사용 불가)
- OnEnable
+ 인스펙터뷰에서 체크를 통해서 게임 오브젝트를 활성화 할 때 사용
+ 활성화 할 때마다 호출
- Start
+ Update함수가 호출 되기 전에 한번만 호출
+ 다른 스크립트의 모든 Awake가 모두 실행된 이후 실행
+ 스크립트가 활성화 되어 있어야 함
- FixedUpdate
+ 주로 물리 엔진을 사용하는 경우 일정 시간 간격으로 힘을 가할 때 사용하는 함수
+ 발생 주기가 일정 (Default: 0.02초)
- OnTriggerXXX
- OnCollisionXXX
- Update
+ 프레임마다 호출되는 함수로 게임의 핵심 로직에 사용 됨
+ 스크립트가 활성화 되있어야 사용가능
+ 주기가 일정하지 않음
- LateUpdate
+ 모든 Update함수가 실행되고 나서 호출
+ 주로 카메라 이동 로직에 사용
- OnDisable
+ 게임 오브젝트 또는 스크립트가 비 활성화 되었을 때 호출(Coroutine사용 불가)
- OnDestroy
+ 오브젝트 생존 기간의 마지막 프레임이 업데이트 된 후 실행
+ (Object.Destroy또는 씬 종료 시)
- OnApplicationQuit
+ 응용프로그램 종료 전에 모든 오브젝트에서 호출,
+ 에디터에서는 플레이 모드를 중지하면 나타남
유니티 내의 Edit-Project Setting - Input 에 InputManager에서 Input 관련된 코드가 있음.
AudioSource 내에서 Play On Awake를 빼야 시작할 때 실행 안함
FindObjectOfType<특성>() 가 특성에해당 하는 스크립트?를 갖고있는 스크립트를 모두 가져와줌
ex)
Player.cs가 존재하고,
Player player = FindeObjectOfType<Player>();
'IT > 공부 정리' 카테고리의 다른 글
[UNITY] C# list 사용법 (2) | 2023.02.24 |
---|---|
[UNITY] C# 중급 프로그래밍 (0) | 2023.02.18 |
[UNITY] C# 기본 프로그래밍 (0) | 2023.02.11 |
[UNITY] 게임 엔진의 원리 (0) | 2023.02.11 |
[Unreal / 공부정리] 활용 최신 트렌드 (0) | 2022.06.16 |