일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Unity
- 알고리즘
- 알고리즘수업-너비우선탐색2
- 백준
- 크래프톤 정글 4기
- 4기
- anonymous page
- 전쟁-전투
- 이벤트 함수 실행 순서
- pintos
- 파이썬
- c#
- 다익스트라
- 크래프톤 정글
- 핀토스
- project3
- 연결리스트
- User Stack
- BFS
- 티스토리챌린지
- 크래프톤정글4기
- KRAFTON JUNGLE
- TiL
- 크래프톤정글
- kraftonjungle
- 추상클래스와인터페이스
- 오블완
- C
- 네트워크
- 유니티
Archives
- Today
- Total
말감로그
24.07.11 코드 트리 반복문 학습 & 유니티 이벤트 함수의 실행 순서 본문
728x90
오늘은 04 반복분 ~ 05 단순 반복문 while문까지 학습하였다. 기초를 탄탄히 잡기 위해 가자고 했지만 생각보다 단순 기초 문제들이 많아서 시간이 좀 걸리고 지루해진다.. 쩝.. 그래도 끝까지 해내기..!!
삼항연산자
a = v1 if 조건 else v2
난 아직도 삼항연산자로 표현하는 법이 익숙치 않다...
pass 특정 조건시 아무일도 일어나지 않는다는 의미
a = int(input())
if a > 15:
print("A")
elif a >= 10:
pass
else:
print("B")
print("Done")
유니티 이벤트 함수의 실행 순서
Awake
- 모든 이벤트 함수를 통틀어 가장 처음에 호출되는 함수이다.
- 씬의 모든 게임 오브젝트가 초기화된 후 스크립트 컴포넌트의 인스턴스가 생성(인스턴스화)되면 Awake 함수가 호출된다.
- 컴포넌트가 비활성화 상태이어도 호출된다.
OnEnable
- 씬이 로드된 후 게임 오브젝트 + 스크립트 컴포넌트가 활성화 될 때마다 호출되는 함수이다.
Start
- 오브젝트 + 스크립트 인스턴스가 활성화된 경우에만 첫 번째 프레임 업데이트 전에 딱 한 번 호출된다.
Awake와 Start의 차이
- Awake : 오브젝트가 생성될 때 가장 먼저 호출된다. ( 인스턴스화된 직후, Start - 첫 번째 프레임 업데이트 전), 오브젝트가 비활성화된 상태에서도 호출된다.
- Start : 모든 Awake 함수가 완료된 후, 오브젝트 + 스크립트가 활성화된 상태에서만 호출된다.
FixedUpdate
- 매번 일정한 주기로 똑같은 연산을 처리해야 하는 물리 계산 및 업데이트, 또는 Ray 처리에 주로 사용되는 함수이다. Rigidbody 컴포넌트를 활용하는 코드의 실행도 FixedUpdate에서 이루어지는 것이 더 정확한 물리 계산이 가능하다.
- 물리 계산에 유리하다는 특성은 FixedUpdate의 호출 간격이 일정하다는 것, 이는 Update가 매 프레임 실행되던 것에 비해 FixedUpdate는 프레임 속도(FPS)에 관계없이 Fixed Timestep이라는 정해진 시간 간격에 따라 호출되기 때문이다.
- FPS가 낮은 경우 프레임 당 여러 번 호출될 수 있으며, FPS가 높은 경우 프레임 사이에 호출되지 않을 수도 있다.
OnTriggerXXX
- OnTriggerEnter, Stay, Exit 함수가 FixedUpdate 이후에 실행된다.
OnCollisionXXX
- OnCollisionEnter, Stay, Exit 함수가 FixedUpdate 이후에 실행된다.
yieldWaitForFixedUpdate
- 일반적으로 코루틴은 Update 함수 반환 후에 실행되지만, yieldWairForFixedUpdate 함수는 FixedUpate 이후 Update 호출 전에 호출된다.
- 코루틴을 FixedUpdate 루프가 완료될 때까지 일시정지시키는 명령어로, 물리 연산 후에 실행되어야 하는 작업을 처리할 때 유용하다.
Update
- 매 프레임 호출되는 기본적인 Update 함수로, 프레임마다 전체 시스템에서 수행되는 작업의 양이 매번 다르므로 Update가 호출되는 주기가 일정하지 않다.
- Time.deltatTime : 직전 프레임이 완료되는데까지 걸린 시간
코루틴 yield 함수들
- Update 함수 반환 후에 실행
LateUpdate
- Update가 끝난 후 프레임 당 한 번 호출되는 함수로, Update에서 수행된 계산은 LateUpdate가 시작할 때 완료된다.
- 기본적으로 3인칭 카메라에 사용, 플레이어를 움직이고 LateUpdate에서 카메라 움직임을 계산할 때 주로 사용된다.
렌더링 관련 함수들
LateUpdate 이후에 렌더링된다.
yieldWairForEndOfFrame
모든 업데이트 관련 함수들이 끝난 뒤 호출된다.
현재 프레임의 렌더링 작업이 모두 완료된 후에 코루틴을 재개시켜야 할 때 사용된다. 이를 통해 프레임의 마지막 시점에 작업을 수행하거나, 렌더링 완료 후의 특정 작업을 처리할 수 있다.
OnApplicationPause
모든 프레임 계산이 끝난 뒤에 프로그램이 일시정지된다. 재실행하면 FixedUpdate부터 실행된다.
OnDisable
오브젝트가 비활성화될 때 호출된다.
OnApplicationQuit
프로그램이 종료될 때 호출된다.
OnDestroy
오브젝트가 파괴될 때 실행된다. Awake와 마찬가지로 스크립트가 비활성화되어 있어도 호출된다.
728x90
'TIL' 카테고리의 다른 글
24.08.05 운영체제 - 프로세스와 스레드 , 리틀/빅 앤디언 (0) | 2024.08.05 |
---|---|
24.07.31 알고리즘 풀이(BFS) (0) | 2024.07.31 |
24.07.30 알고리즘 복습 - BFS/DFS & 기술 면접 준비 (0) | 2024.07.30 |
24.07.12 코드트리 반복문 학습 중, 싱글톤 패턴 (0) | 2024.07.12 |
24.07.10 코드 트리 알고리즘 공부 시작 (0) | 2024.07.10 |