Unity 小科普
老规矩,先介绍一下 Unity 的科普小知识:
- Unity是 实时3D互动内容创作和运营平台 。
- 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。
- Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
- 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
Unity小知识点学习
平台#define指令
Unity支持的平台#define指令如下:
属性: | 功能: |
---|---|
UNITY_EDITOR | 从游戏代码调用Unity编辑器脚本的#define指令。 |
UNITY_EDITOR_WIN | Windows上编辑器代码的#define指令。 |
UNITY_EDITOR_OSX | Mac OS X上编辑器代码的#define指令 |
UNITY_STANDALONE_OSX | #define伪指令,专门用于编译/执行Mac OS X(包括Universal,PPC和Intel体系结构)的代码。 |
UNITY_STANDALONE_WIN | #define指令,用于编译/执行专门针对Windows独立应用程序的代码。 |
UNITY_STANDALONE_LINUX | #define指令,用于编译/执行专门针对Linux独立应用程序的代码。 |
UNITY_STANDALONE | #define伪指令,用于编译/执行任何独立平台(Mac OS X,Windows或Linux)的代码。 |
UNITY_WII | 编译/执行Wii控制台代码的#define指令。 |
UNITY_IOS | 编译/执行iOS平台代码的#define指令。 |
UNITY_IPHONE | 已过时。改用UNITY_IOS。 |
UNITY_ANDROID | Android平台的#define指令。 |
UNITY_PS4 | 运行PlayStation 4代码的#define指令。 |
UNITY_SAMSUNGTV | 执行三星电视代码的#define指令。 |
UNITY_XBOXONE | 执行Xbox One代码的#define指令。 |
UNITY_TIZEN | Tizen平台的#define指令。 |
UNITY_TVOS | Apple TV平台的#define指令。 |
UNITY_WSA | 通用Windows平台的#define指令。此外,NETFX_CORE是在针对.NET Core编译C#文件并使用.NET脚本后端时定义的。 |
UNITY_WSA_10_0 | 通用Windows平台的#define指令。另外,WINDOWS_UWP是在针对.NET Core编译C#文件时定义的。 |
UNITY_WINRT | 与UNITY_WSA相同。 |
UNITY_WINRT_10_0 | 相当于UNITY_WSA_10_0 |
UNITY_WEBGL | WebGL的#define指令。 |
UNITY_FACEBOOK | Facebook平台的#define指令(WebGL或Windows独立版)。 |
UNITY_ADS | 从游戏代码调用Unity Ads方法的#define指令。版本5.2及以上。 |
UNITY_ANALYTICS | 从游戏代码调用Unity Analytics方法的#define指令。版本5.2及以上。 |
UNITY_ASSERTIONS | 断言控制过程的#define指令。 |
使用宏定义和Application.platform判断运行平台
宏定义判断平台:
代码语言:javascript复制 //Android平台
#if UNITY_ANDROID
debug.log("Android");
#endif
//苹果平台
#if UNITY_IPHONE
debug.log("IOS");
#endif
//Windows平台
#if UNITY_STANDALONE_WIN
Debug.Log("Windows");
#endif
Application.platform判断平台:
代码语言:javascript复制if (Application.platform == RuntimePlatform.Android)
{
Debug.Log("Android");
}else if(Application.platform == RuntimePlatform.IPhonePlayer)
{
Debug.Log("IOS");
}
else if (Application.platform == RuntimePlatform.WindowsEditor)
{
Debug.Log("Window");
}
两种使用代码判断使用平台的操作 这样我们就可以根据不同的平台执行不同的方法了!