🟥 Unity快捷键
1、旋转时,按住Ctrl键,可以吸附旋转。
🟧 Unity路径
路径:文章链接
🟨 Unity常用特性
1️⃣ 编辑器模式下运行
注意,这个特性是加在类上面,而不是方法上面。
2️⃣ 运行平台判断
#if UNITY_ANDROID Debug.Log("这里安卓设备"); #endif #if UNITY_IPHONE Debug.Log("这里苹果设备"); #endif #if UNITY_STANDALONE_WIN Debug.Log("电脑上运行o"); #endif #if UNITY_EDITOR //只在编辑器运行 #endif #if UNITY_IOS || UNITY_ANDROID //这里的代码在IOS和Android平台都会编译 #endif #if UNITY_ANDROID && UNITY_EDITOR //这里的代码只有在发布设置设置的是Android,且在编辑器里运行时才会编译 #endif switch (Application.platform) { case RuntimePlatform.WindowsEditor: print("Windows"); break; case RuntimePlatform.Android: print("Android"); break; case RuntimePlatform.IPhonePlayer: print("Iphone"); break; }
3️⃣ 自定义宏定义,允许我们的代码仅在我们自定义的平台运行
#if Skode_VR Debug.Log("在自定义的模式下运行"); #endif
4️⃣ 变量显示小贴士
[Tooltip("在x秒后,关闭Option")] public float closeOptionTime = 3;
5️⃣ 显示/隐藏序列化的类
2019.09.19补充
注意: 写在外面的类,如果不序列化,在MonoBehaviour引用时要初始化!
因为外面的类,序列化,相当于自动初始化了。
可没有序列化,就相当于没有初始化。因此引用会报空!
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; [System.Serializable] public class LeftButton { [Tooltip("Unity")] public Button Unity; [System.NonSerialized] public Button Hide; } public class ProjectGameManager : MonoBehaviour { [Tooltip("左侧按钮")] public LeftButton leftButton; }
6️⃣ 序列化类中的内容
using UnityEngine; [System.Serializable] public class Initialization_Examine { public Test Tittle; public Test hi; } public class Skode_Examine : MonoBehaviour { [Header("程序初始化设置")] public Initialization_Examine[] examine; }
7️⃣ 序列化下拉框选项
using UnityEngine; [System.Serializable] public enum DirectAction { dasda, dsadas } public class Skode_Examine : MonoBehaviour { public DirectAction dsds; }
8️⃣ 增加面板string行数
[Multiline(5)] public string Instructions= @"功能: 每隔0.5s检测Objs里是否有的物体显示在面板上、是否识别到物体 若有显示的、或有识别到的,则关掉自身Image。不显示,则打开。 注意:识别到的物体要在识别到之后添加进去,识别丢失移除";
9️⃣ 在监视板上给变量与变量间加空行
[Space(20)]
🔟 给检视面板显示的文字增加滚动条
//默认显示3行,超出自动显示滚动条 [TextArea] public string Instructions00= @"功能: 每隔0.5s检测Objs里是否有的物体显示在面板上、是否识别到物体 若有显示的、或有识别到的,则关掉自身Image。不显示,则打开。 注意:识别到的物体要在识别到之后添加进去,识别丢失移除"; //最少显示5行,最多显示10行。当大于10行时,会自动显示滚动条 [TextArea(5,10)] public string Instructions01 = @"功能: 每隔0.5s检测Objs里是否有的物体显示在面板上、是否识别到物体 若有显示的、或有识别到的,则关掉自身Image。不显示,则打开。 注意:识别到的物体要在识别到之后添加进去,识别丢失移除";
1️⃣1️⃣ 编辑器拓展 [ContextMenu(“Skode”)]
在脚本的方法上面加上这行代码,点击编辑器脚本小齿轮下方,会出现名为Skode的一行,点击即可执行它修饰的这个方法。
public class ContextTest : MonoBehaviour { [ContextMenu("Skode")] void DoSomething() { Debug.Log("Hi"); } }
1️⃣2️⃣ HideInInspector
隐藏面板属性。
注意:
不加 HideInInspector 时,,下方代码Start时打印出来不为null,长度为0
public UIToggle[] mytoggles
但加了 HideInInspector 后,该代码打印出来就为null了。
1️⃣3️⃣ VS实现Unity消息
Ctrl+Shift+M