Unity中的内置宏

作者:追风剑情 发布于:2022-6-6 11:34 分类:Unity3d

Unity官方文档
ConditionalAttribute

C#内置宏定义

C#内置宏定义
内置宏 描述
UNITY_EDITOR 脚本在编辑器中执行
UNITY_EDITOR_WIN 脚本在编辑器中执行 (Windows)
UNITY_EDITOR_OSX 脚本在编辑器中执行 (Mac OS X)
UNITY_EDITOR_LINUX 脚本在编辑器中执行 (Linux)
UNITY_STANDALONE_WIN 脚本在运行时中执行 (Windows)
UNITY_STANDALONE_OSX 脚本在运行时中执行 (Mac OS X)
UNITY_STANDALONE_LINUX 脚本在运行时中执行 (Linux)
UNITY_STANDALONE 脚本在运行时中执行 (Windows or Linux or Mac OS X)
UNITY_WII 脚本在运行时中执行 (Wii console)
UNITY_IOS 脚本在运行时中执行 (iOS)
UNITY_IPHONE 已弃用。改用 UNITY_IOS
UNITY_ANDROID 脚本在运行时中执行 (Android)
UNITY_LUMIN 脚本在运行时中执行 (Magic Leap OS),也可以使用 PLATFORM_LUMIN
UNITY_TIZEN 脚本在运行时中执行 (Tizen)
UNITY_TVOS 脚本在运行时中执行 (Apple TV)
UNITY_WSA 脚本在运行时中执行 (Universal Windows Platform),NETFX_CORE 用来判断是否在.NET Core中执行。
NETFX_CORE 脚本在运行时中执行 (.NET Core)
UNITY_WSA_10_0 脚本在运行时中执行 (Universal Windows Platform),WINDOWS_UWP 用来判断是否在.NET Core中执行。
UNITY_WEBGL 脚本在运行时中执行 (WebGL)
UNITY_FACEBOOK 脚本在运行时中执行 ( Facebook platform (WebGL或Windows standalone) )
UNITY_ANALYTICS 调用Unity分析方法(calling Unity Analytics methods),Unity 5.2及以上版本支持。
UNITY_ASSERTIONS 断言控制进程 (assertions control process)
UNITY_64 判断是否为64位系统
UNITY_2019 判断Unity版本号 (Unity 2019)
UNITY_2019_4 判断Unity版本号 (Unity 2019.4)
UNITY_2019_4_14 判断Unity版本号 (Unity 2019.4.14)。
Unity版本号宏的定义格式为: UNITY_X,UNITY_X_Y,UNITY_X_Y_Z,UNITY_X_Y_OR_NEWER
CSHARP_7_3_OR_NEWER 在构建支持 C# 7.3 或更高版本的脚本时定义。
ENABLE_MONO 基于 Mono 编译
ENABLE_IL2CPP 基于 IL2CPP 编译
NET_2_0 基于 .NET 2.0 API 构建
NET_2_0_SUBSET 基于 .NET 2.0 Subset API 构建
NET_LEGACY 基于 .NET 2.0 API 或 .NET 2.0 Subset API 构建
NET_4_6 基于 .NET 4.x API 构建
NET_STANDARD_2_0 基于 .NET Standard 2.0 API 构建
ENABLE_WINMD_SUPPORT 在 IL2CPP 上启用 Windows 运行时支持时定义
ENABLE_INPUT_SYSTEM 在 Player Settings 中启用 Input System 包时定义
ENABLE_LEGACY_INPUT_MANAGER 在 Player Settings 中启用旧版 Input Manager 时定义
UNITY_SERVER 在 Build Settings 中启用 Server Build setting 时定义
DEVELOPMENT_BUILD 构建时启用了 Development Build 选择时定义

在代码中使用宏判断

#if UNITY_EDITOR
    Debug.Log("Unity Editor");
#elif UNITY_IOS
    Debug.Log("Unity iOS");
#else
    Debug.Log("Any other platform");
#endif  

Shader内置宏定义

Shader内置宏定义
内置宏 描述
UNITY_PI 圆周率 (3.14159265359f)
UNITY_TWO_PI 2倍圆周率 (6.28318530718f)
UNITY_FOUR_PI 4倍圆周率 (12.56637061436f)
UNITY_INV_PI 圆周率倒数 (0.31830988618f)
UNITY_INV_TWO_PI 2倍圆周率倒数 (0.15915494309f)
UNITY_INV_FOUR_PI 4倍圆周率倒数 (0.07957747155f)
UNITY_HALF_PI 半圆周率 (1.57079632679f)
UNITY_INV_HALF_PI 半圆周率倒数 (0.636619772367f)
UNITY_COLORSPACE_GAMMA 伽马颜色空间
UNITY_INITIALIZE_OUTPUT 用来在顶点函数中初始化输出数据结构。
v2f vert(appdata v) {
  v2f o;
  UNITY_INITIALIZE_OUTPUT(v2f, o);
}  
如果省略UNITY_INITIALIZE_OUTPUT语句,Unity会报警告: Output value 'vert' is not completely initialized

标签: Unity3d

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号