유니티에서 제공하는 Update 함수로 Update, FixedUpdate, LateUpdate 3가지가 존재한다.

 

Update

- 프레임당 1회씩 호출되며 해당 프레임이 나타나는 시간은 불규칙적이다.(불규칙적으로 실행됨)

 

FixedUpdate

- 고정적인 시간으로 반복적으로 실행되는 함수

 

- Update 함수와는 달리 프레임에 기반하지 않고 동일한 시간으로 동작해서 유니티 내의 물리 계산이 실행됨.

 

- 물리 효과가 적용된(Rigidbody) 오브젝트를 사용할 때 적합.

 

- FixedUpdate의 시간 간격은 프로젝트 설정에서 직접 변경가능하다.

https://docs.unity3d.com/kr/2018.4/Manual/class-TimeManager.html

 

시간 - Unity 매뉴얼

Time 설정(메뉴: Edit > Project Settings 로 이동한 다음 Time_ 카테고리 선택)을 통해 게임 내에서 타이밍을 조절하는 프로퍼티 수를 설정할 수 있습니다.

docs.unity3d.com

 

LateUpdate

- 모든 Update 함수가 호출된 후, 마지막으로 호출됨.

 

- 주로 오브젝트를 따라가게하는 카메라를 사용할 때 사용

 

Monobehaviour.Awake()

- Awake는 게임이 시작되기 전에 변수나 게임 상태를 초기화 할 때 사용.

 

- Awake는 객체가 인스턴스화 되었을 때 최초에 한 번만 호출(생성자와 비슷)

 

- 객체가 비활성화 상태일 경우 호출되지 않음.(스크립트의 활성여부와는 상관 x)

 

- 코루틴으로 사용이 불가

예)

IEnumerator Awake() x

 

Monobehaviour.Start()

- 게임이 시작되고 인스턴스화 된 객체들의 Awake함수가 호출이 된 이후에 한 번만 호출

 

- 스크립트가 활성화가 되어있어야 호출.

 

- 게임 도중에 생성된 객체들의 경우에는, 새로 생성된 해당 객체들의 Awake() 함수는

씬 내부에 있는 기존 객체들의 Start 함수 호출이 완료된 이후에 호출됨. 

 

- 코루틴으로 사용이 가능

예)

IEnumerator Start() o

 

 

 

안드로이드 APK 빌드를 진행하다가 위처럼 에러가 발생하는 경우가 있다.

 

앞에 에러가 발생했을경우 다음과 같이 행동해보자.

 

1. Unity Hub를 키고 해당 버전의 속성을 누르고 모듈 추가를 눌러준다.

그리고 안드로이드 플랫폼에 SDK, OpenJDK 등이 다운 받아져 있는지 확인.


2. C:\Users\사용자이름\.gradle\caches 내에 있는 파일을 전부 지우고 다시 빌드

 

3. 빌드하는 프로젝트의 경로가 C드라이브나 D드라이브에 있는지 확인.

 

보통의 경우 위의 방법대로 진행을 하면 빌드가 정상적으로 될 것이다.

 

 

+ Recent posts