IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【编辑器开发基础介绍】 -> 正文阅读

[开发工具]【编辑器开发基础介绍】


学习目标

  1. 了解Unity编辑器的开发思路
  2. 检视器属性控制
  3. 监视器扩展显示开发
  4. 顶部菜单栏开发
  5. 学习弹窗开发
  6. 学习场景编辑器开发

一、什么是编辑器开发?

编辑器开发:对Unity编辑器实现功能的扩展,一般会使用它开发项目工具或者实现Unity插件。

C#特性:[System.Serializable]用于在C#运行时,传递程序中的各种元素(类,结构体,变量,方法,枚举,组件)的行为信息的声明标签,一个声明标签是通过放置在它所在的应用元素的前面的方括号[]中来描述的。


二、编辑器基础知识及检视器属性

编辑器中的特殊目录:
1、Plugins:需要跨语言调用的代码逻辑代码存储目录,手机SDK接入;
2、Resources:存储跟随游戏包的资源目录;
3、StreamingAssets:只读,存储跟随游戏包的资源目录;
4、编辑器目录:Editor存放编辑器相关的逻辑和资源; 在打包生成时不会生成到项目中,玩家不会用到编辑器中的内容,Editor目录下的脚本,无法挂载到场景对象下。
5、Unity代码的逻辑命名空间:UnityEngine,Unity编辑器命名空间:UnityEditor,此命名空间不要出现在代码中,否则会导致打包失败。
检视器面板简单扩展:
检视器属性控制:
[HideInInspector] 特性:隐藏公共的成员变量,防止Inspector的值影响到它,同时保证脚本中变量的可访问度。
[SerializeField] 特性:私有变量,检视面板可见,Unity会将对象序列化存储,所有即使是私有的,那么标记为可序列化之后,就会显示,共有的默认是可序列化的;
[Serializable] 特性:对象如果不标记为可序列化的,则Unity在存储的时候,会认为他不可以被序列化,那么也就无法显示,Unity中的内置Json工具运行原理与之类似
[Space(int)]:当前成员变量上方留多少像素空白区域
[Header(string)]:当前成员变量上方加入一个标题文字
[Tooltip(string)] 特性:添加变量悬浮提示文字,一个成员变量可以添加多个特性
[Range(n,m)] 特性:给数值设定范围(最小n,最大m)
在这里插入图片描述
[Multiline(int)] 特性:指定输入框,拥有多少行
[TextArea(min,max)] 特性:默认显示min行,最多显示max行,再多就会有个滑动条.
[ContextMenu(string)] :给小齿轮添加一个回调函数
[ContextMenuIteam(string,function)] : 给成员变量添加右键菜单,第一个参数是菜单的名称,第二个参数是右键点击的回调函数
在这里插入图片描述

检视器高级显示控制:
[RequireComponent(typeof(BoxCollider))] 特性:当前组件依赖于盒子碰撞体,当前组件挂载在对象上时,盒子碰撞体会一起被添加上去,当Player组件没有被移除时,盒子碰撞体不能被移除。

[ExecuteInEditMode] 特性:使生命周期函数,在编辑器状态下可以执行,游戏中也可以正常使用,Update()在场景中对象发生改变或者项目组织发生变化时会在编辑器下执行。

[AddComponentMenu(“自定义控制器/玩家控制器”,1)] 特性:将脚本组件添加在AddComponent上,第一个参数:“分类名/组件名”;第二个参数:在列表中的显示顺序。
在这里插入图片描述
单选,多选按钮:多选使用二进制理解,即不同的位代表不同的选项,使用或运算可以使用多选

public enum PlayerLikeColor{
Green = 1,
Red =2,
Pink =4,
} 

检视器高级修改(外挂式编程)
项目中建立Editor目录
Editor目录下建立外挂式脚本,外挂脚本因为存储在Editor目录下,所以不会被打入最终的游戏包。

[MenuItem("增强版功能/创建窗口")]:顶部菜单类,在顶部显示“工具菜单”

请添加图片描述
MenuItem声明周期函数:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public class PopWindow:EditorWindow
{

    [MenuItem("增强版功能/创建窗口")]
    static void OpenWindow()
    {
        //三个参数:
        //第一个:是否是工具窗口
       PopWindow window =  GetWindow<PopWindow>(false, "弹窗标题",true);
        window.minSize = new Vector2(400, 300);
        window.maxSize = new Vector2(800, 600);
    }

    //开窗口调用
    private void OnEnable()
    {
        Debug.Log("开窗口调用");
    }
    //关闭窗口时调用
    private void OnDisable()
    {
        Debug.Log("关窗口调用");
    }
    //每帧执行
    private void Update()
    {
        Debug.Log("update");
    }
    //
    private void OnGUI()
    {
        Debug.Log("OnGUI");
    }
    //场景结构发生变化的时候,执行的回调函数
    private void OnHierarchyChange()
    {
        Debug.Log("场景发生变化");
    }
    //项目结构发生变化的时候,执行的回调函数
    private void OnProjectChange()
    {
        Debug.Log("项目结构发生变化的时候,执行的回调函数");
    }
    //物体变化的时候,执行的回调函数
    private void OnSelectionChange()
    {
        Debug.Log("物体变化的时候,执行的回调函数");
    }
}

三、编辑器小Demo,实现在平台上生产点击物体

一、效果演示

在这里插入图片描述

二、实现步骤

1、实现右侧小窗

在这里插入图片描述


三、AB包,热更新

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-07-05 23:39:36  更:2022-07-05 23:40:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 9:52:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计