티스토리 뷰
9. 플랫폼 대응하기 ( Application.platform 또는 #if UNITY_ANDROID )
Nerd_Lee 2019. 4. 16. 16:00
안녕하세요. Base Of Coding입니다.
이번에 배워볼 건, 각각 플랫폼에 대응하는 방법인데요.
지금까지 Base Of Unity3D 폴더에 있는 글들입니다.
2018/10/29 - [BaseOfCoding/Base Of Unity3D] - [ Base Of Unity3D ] 1. 유니티3D 설치법
2018/10/29 - [BaseOfCoding/Base Of Unity3D] - [ Base Of Unity3D ] 2. 유니티3D 회원가입
2018/10/31 - [BaseOfCoding/Base Of Unity3D] - [ Base Of Unity3D ] 3. 유니티 열어보기
2018/11/02 - [BaseOfCoding/Base Of Unity3D] - [ Base Of Unity3D ] 4. 유니티3D Scene View 알아보기
2018/11/02 - [BaseOfCoding/Base Of Unity3D] - [ Base Of Unity3D ] 5. 유니티3D Game View 알아보기
2018/11/04 - [BaseOfCoding/Base Of Unity3D] - [ Base Of Unity3D ] 6. 유니티 3D 큐브를 생성하고 이동 및 회전해보기
2018/11/05 - [BaseOfCoding/Base Of Unity3D] - [ Base Of Unity3D ] 7. Material 생성 및 색 변경,이동 수정
2018/11/09 - [BaseOfCoding/Base Of Unity3D] - [ Base Of Unity3D ] 8. 간단하게 씬 이동하기
그럼 시작해볼까요?
모바일 버전으로 만들다보면, Android와, iOS 이 두 분류로 나뉩니다.
각각 플랫폼에 대응하는 방법은 크게 2가지가 있습니다.
한가지는, if문을 이용하는 것과, 또 한가지는 #if를 이용하는 방법이 있습니다.
1 ) if문을 이용하는 방법
- if문을 이용하는 방법은 아래와 같습니다.
private void Awake()
{
if(Application.platform == RuntimePlatform.Android)
{
Debug.Log("안드로이드 폰 입니다.");
}
else if(Application.platform == RuntimePlatform.IPhonePlayer)
{
Debug.Log("아이폰 입니다.");
}
else
{
Debug.Log("안드로이드도 아이폰도 아닙니다.");
}
}
2 ) #if를 이용하는 방법
- #if를 이용하는 방법은 아래와 같습니다.
private void Awake()
{
#if UNITY_ANDROID
Debug.Log("안드로이드 입니다.");
#elif UNITY_IOS
Debug.Log("아이폰 입니다.");
#else
Debug.Log("안드로이드도 아이폰도 아닙니다.");
#endif
}
3 ) if문과 #if의 차이점.
- 무슨 차이점이 있나 싶으시겠지만, 차이점이 존재합니다.
if문으로 사용했을 경우에는, 해당 실행 플랫폼이 어떤 플랫폼인 지를 확인하여 사용합니다.
하지만, #if문은, 에디터에서 사용해도 Build Setting에서, Android로 변경했을 경우, #if UNITY_ANDROID 문 안에 실행하게 됩니다.
이 점을 주의해서 사용하시길 바랍니다.
그렇기 때문에, 만약 각각 플랫폼으로 플러그인을 사용할 경우, 저는 #if문보다는 Application.platform을 비교하는 if문을 사용하기를 권장해드립니다.
이 것 또한 개발자분들의 자유입니다. 전 저 두 가지를 번갈아 사용합니다. 플러그인은, if문을, 에디터에서도 플랫폼 마다 대응을 해줘야되는 경우라면, #if를 사용합니다.
지금까지 Unity3D에서 각각 플랫폼에 대응하는 방법을 알아봤습니다.
저 두 가지에 대해 자세히 나와있는 페이지를 링크해 드리겠습니다. 잘 공부하시고 사용하시길 바랍니다.^^
Unity - 스크립팅 API: RuntimePlatform
Note: RuntimePlatform 과 Platform dependent Compilation의 차이점은 RuntimePlatform은 런타임시에 플랫폼이 추정되고, 반면에 Platform dependent Compilation은 컴파일 타임에 플랫폼이 추정됩니다. Platform dependent Compilation을 사용할 수 있는 경우에, 사용을 망설이지 말고 사용하는 것이 좋습니다. 대부분의 경우에, 두 가지의 경우 모두 같은 기능을 얻을 수
docs.unity3d.com
유니티 - 매뉴얼: 플랫폼 의존 컴파일
자동 메모리 관리를 이해하기 플랫폼 의존 컴파일 Unity는 “플랫폼 의존 컴파일”이라는 기능이 있습니다. 여기에는 몇 가지 전 처리기 지시문이 포함되어, 스크립트를 ’파티션화’하여 코드의 일부 섹션을 지원하는 하나의 플랫폼 독점적으로 실행할 수 있게 됩니다. 또한 코드를 에디터 내에서 실행할 수 있기 때문에, 코드를 모바일/콘솔에 대해 컴파일 한 후 에디터에서 테스트할 수 있습니다. 플랫폼 매크로 정의 Unity 스크립트에서 지원하는 플랫폼 매크로 정의
docs.unity3d.com
지금까지 Base Of Coding이였습니다.
도움이 되셨다면, 댓글 또는 공감 버튼 부탁드립니다.^^
'게임 프로그래밍 ( 이제 안함 ) > Base Of Unity3D' 카테고리의 다른 글
11. Hierarchy View에 대해서 알아보자. (0) | 2020.01.03 |
---|---|
10. 지정 시간만큼 업데이트하는 코루틴 만들기 (0) | 2019.04.17 |
8. 간단하게 씬 이동하기 (0) | 2018.11.09 |
7. Material 생성 및 색 변경,이동 수정 (0) | 2018.11.05 |
6. 유니티 3D 큐브를 생성하고 이동 및 회전해보기 (0) | 2018.11.04 |
- Total
- Today
- Yesterday
- Servlet
- CSS
- spring boot
- Git
- Spring
- baseofcoding
- GitHub
- 프리젠테이션 로직
- 비지니스 로직
- 스프링
- 유니티
- MVC
- HTML
- Java
- Unity
- VR
- JSP
- 안드로이드
- Next.js
- 프로그래밍
- 서블릿
- c#
- 유니티로 배우는 C#
- Base Of Coding
- 뷰포리아
- 유니티3D
- Controller
- unity3d
- 게임프로그래밍
- Vuforia
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |