전처리기 / Define
유니티 Define 기능은 각 플랫폼 또는 특정 버전에 코드를 처리할때 유용한 방법이다.
전처리기
멀티플랫폼이 가능한 유니티다 이 말은 하나의 프로젝트로 여러가지 플랫폼으로 빌드가 가능하다는 말이다. 멀티플랫폼이라서 그렇게 간단하게 각기 다른 플래폼 적용이 쉬운것은 아니다.
안드로이드,IOS,윈도우 각각 플랫폼마다 적용해야 하는 코드가 다를 수 있다. 그러면 플랫폼이 바뀔때마다 스크립트를 각각 별도로 만들어야하고 동적으로 플랫폼을 확인한 후에 컴포넌트를 추가해야 한다.
프로젝트가 커질 수록 작업양은 점점 많아 질 것이다.
이럴 때 사용하는 것이 전처리기이다.
구문
#if UNITY_EDITOR
Debug.Log("Unity Editor");
#endif
유니티 에디터에서 각각 다른 플랫폼에서 다른 로그가 나오도록 설정할 수 있는 것이다.
<유니티에서 지정해놓은 전처리기>
1.UnityEditor에서 사용자 디파인 셋팅
edit -> Player Settings -> Other Setting -> Scripting Define Symbols
정의하고 싶은 특정 플랫폼의 기호 이름을 입력한다.
Player Settings에는 SHOW_DEBUG_MESSAGES 설정을 했으니
"디파인 테스트2"만 출력된다.
2. using UnityEditor; 필요
학습참고
1) https://docs.unity3d.com/kr/530/Manual/PlatformDependentCompilation.html
2) http://blog.naver.com/PostView.nhn?blogId=hope0510&logNo=220079637714
3) https://bluemeta.tistory.com/12
'유니티 > 레퍼런스' 카테고리의 다른 글
Unity) 유니티 이벤트함수 실행순서 / 라이프사이클,플로우차트(Script Lifecycle Flowchart) #1 (0) | 2019.08.22 |
---|---|
유니티) Destroy와 DestroyImmediate (0) | 2019.06.05 |
유니티) 라이트효과 PostProcessing (0) | 2019.03.02 |
유니티,C#) 코루틴Coroutine 작동원리 (0) | 2019.02.23 |
유니티) ScriptableObject (0) | 2019.02.14 |