• 小功能⭐️Unity快捷键、路径及常用特性


    在这里插入图片描述


    🟥 Unity快捷键

    1、旋转时,按住Ctrl键,可以吸附旋转。



    🟧 Unity路径

    路径:文章链接



    🟨 Unity常用特性

    1️⃣ 编辑器模式下运行

    [ExecuteInEditMode]

    注意,这个特性是加在类上面,而不是方法上面。



    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;
            }
    
    • 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
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    链接



    3️⃣ 自定义宏定义,允许我们的代码仅在我们自定义的平台运行

    在这里插入图片描述

    #if Skode_VR
            Debug.Log("在自定义的模式下运行");
    #endif
    
    • 1
    • 2
    • 3



    4️⃣ 变量显示小贴士

    在这里插入图片描述

        [Tooltip("在x秒后,关闭Option")]
        public float closeOptionTime = 3;
    
    • 1
    • 2



    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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20



    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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14



    7️⃣ 序列化下拉框选项

    在这里插入图片描述

    using UnityEngine;
     
    [System.Serializable]
    public enum DirectAction
    {
        dasda,
        dsadas
    }
     
    public class Skode_Examine : MonoBehaviour {
     
        public DirectAction dsds;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13



    8️⃣ 增加面板string行数

        [Multiline(5)]
        public string Instructions= @"功能:
     每隔0.5s检测Objs里是否有的物体显示在面板上、是否识别到物体
     若有显示的、或有识别到的,则关掉自身Image。不显示,则打开。
     注意:识别到的物体要在识别到之后添加进去,识别丢失移除";
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述



    9️⃣ 在监视板上给变量与变量间加空行

    [Space(20)]
    
    • 1



    🔟 给检视面板显示的文字增加滚动条

        //默认显示3行,超出自动显示滚动条
        [TextArea]
        public string Instructions00= @"功能:
     每隔0.5s检测Objs里是否有的物体显示在面板上、是否识别到物体
     若有显示的、或有识别到的,则关掉自身Image。不显示,则打开。
     注意:识别到的物体要在识别到之后添加进去,识别丢失移除";
     
        //最少显示5行,最多显示10行。当大于10行时,会自动显示滚动条
        [TextArea(5,10)]
        public string Instructions01 = @"功能:
     每隔0.5s检测Objs里是否有的物体显示在面板上、是否识别到物体
     若有显示的、或有识别到的,则关掉自身Image。不显示,则打开。
     注意:识别到的物体要在识别到之后添加进去,识别丢失移除";
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述



    1️⃣1️⃣ 编辑器拓展 [ContextMenu(“Skode”)]

    在脚本的方法上面加上这行代码,点击编辑器脚本小齿轮下方,会出现名为Skode的一行,点击即可执行它修饰的这个方法。

    public class ContextTest : MonoBehaviour
    {
        [ContextMenu("Skode")]
        void DoSomething()
        {
            Debug.Log("Hi");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述



    1️⃣2️⃣ HideInInspector

    隐藏面板属性。

    注意:

    不加 HideInInspector 时,,下方代码Start时打印出来不为null,长度为0

    public UIToggle[] mytoggles
    
    • 1

    但加了 HideInInspector 后,该代码打印出来就为null了。



    1️⃣3️⃣ VS实现Unity消息

    Ctrl+Shift+M

    在这里插入图片描述





    大家还有什么问题,欢迎在下方留言!


    在这里插入图片描述
    如果你有 技术的问题 项目开发

    都可以加下方联系方式

    和我聊一聊你的故事🧡

  • 相关阅读:
    操作系统FIFO算法(先进先出算法)
    国产etl 与 ODI
    小白也有大厂梦,如何从零开始掌握高薪 Java 工程师必备技能?
    wpa_cli的使用 (连接wifi)
    瞪羚企业申报程序和要求 ?
    python 爬虫的开发环境配置
    SVM之SVR参数详解以及调参
    R语言条件判断语句编程:使用if else语句实现条件逻辑判断(if else condition)
    分布式事务基础理论
    HTML5 新元素之 canvas
  • 原文地址:https://blog.csdn.net/weixin_38239050/article/details/126683034