프로그래밍/Unity
if 전처리기를 통한 플랫폼 대응 유니티 프로그래밍
gameObject
2023. 10. 5. 23:49
728x90
전처리기의 역할
- 전처리기는 소스코드가 컴파일 될 때, 소스코드를 정리를 해주는데 사용됩니다.
- 다양한 플랫폼에 대응하여 코드를 작성 시 유용합니다.
전처리기 설정
Project Settings - Player - OtherSettings - Script Compilation 에서 Define Symbols을 정의하여
실제 빌드시 실행시킬 코드를 지정을 해 줄 수 있다.
* 여기서 전처리기의 역할 중 하나인 다양한 플랫폼 대응을 떠올릴 수 있다.
-> 안드로이드 빌드때는 안드로이드 심볼을, IOS 빌드시에는 IOS심볼을 정의해 주면 된다.
정의를 한 뒤에는 아래와 같이 코드를 작성해주면 된다.
if문과 굉장히 비슷하다
#iF
#elif
#endif
실제로 이번에 VR을 사용해보는 수업을 들으며 사용한 코드이다.
#if 에서는 PC플랫폼일 경우 아래 값 실행을 뜻하고
#elif 에서는 OCULUS를 사용할 경우 실행,
#else 에서는 그 이외의 상황
#end if 에서는 if문을 종료시킨다.
색이 활성화된 코드와 비활성화되어 회색빛을 가진 코드를 볼 수가 있는데
그 차이가 아까 위에서 Define Symbol에 넣어주었는가 넣지 않았는가의 차이이다.
이외에도 디버그 모드를 위해 사용을 하게되면 유용할것으로 생각된다.
유니티에서 지원하는 플랫폼별 Define Symbol
https://docs.unity3d.com/kr/2018.4/Manual/PlatformDependentCompilation.html
728x90