位置: 编程技术 - 正文

Unity3D之Editor扩展学习——四大名捕闹京东(unity 扩展编辑器)

编辑:rootadmin

推荐整理分享Unity3D之Editor扩展学习——四大名捕闹京东(unity 扩展编辑器),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity3dextractor,unity 编辑器拓展,unity3d editor,unity editor,unity3d editor,unity3d editor,unity editor update check,unity editor update check,内容如对您有帮助,希望把文章链接给更多的朋友!

Unity3D提供了强大的编辑器扩展机制,在项目开发中,如果可以将一些繁琐的工作放在编辑器扩展中进行,则会大大提高效率。本文对编辑器扩展进行了一些总结,希望对有兴趣编写编辑器扩展的开发人员有所帮助。当我们编写一个编辑器扩展时,一般可以从以下四个类继承:

ScriptableObject

最常见的小功能扩展,一般不用窗口的编辑扩展,可以从这个类中继承,如以下代码所示:

这个扩展脚本从菜单的“GameObject->Add Child”启动,功能是给Hierarchy窗口中选中的对GameObject添加一个名字为“_Child”的子GameObject,这样可以免去从Hierarchy窗口的根节点拖拽新创建的GameObject到当前选中节点的麻烦,因为在Unity3D编辑器中,创建一个EmptyObject会在Hierarchy窗口的根节点出现,无论当前选中的节点对象是哪个。

ScriptableWizard

需要对扩展的参数进行设置,然后再进行功能触发的,可以从这个类进行派生。它已经定制好了四个消息响应函数,开发者对其进行填充即可。

(1) OnWizardUpdate

当扩展窗口打开时或用户对窗口的内容进行改动时,会调用此函数。一般会在这里面显示帮助文字和进行内容有效性验证;

(2)OnWizardCreate

这是用户点击窗口的Create按钮时进行的操作,从ScriptableWizard的名字可以看出,这是一种类&#;向导的窗口,只不过Unity3D中的ScriptableWizard窗口只能进行小于或等于两个按钮的定制,一个就是所谓的Create按钮,另外一个则&#;统称之为Other按钮。ScriptableWizard.DisplayWizard这个静态函数用于对ScriptableWizard窗口标题和按钮名字的定制;

(3) OnDrawGizmos

Unity3D之Editor扩展学习——四大名捕闹京东(unity 扩展编辑器)

在窗口可见时,每一帧都会调用这个函数。在其中进行Gizmos的绘制,也就是辅助编辑的线框体。Unity的Gizmos类提供了DrawRayDrawLine ,DrawWireSphere ,DrawSphere ,DrawWireCube ,DrawCubeDrawIcon ,DrawGUITexture 功能。这个功能在Unity3D 的3.4版本中测试了一下,发现没有任何Gizmos绘制出来

(4) OnWizardOtherButton

本文在(2) 中已经提及,ScriptableWizard窗口最多可以定制两个按钮,一个是Create,另外一个称之为Other,这个函数会在other按钮被点击时调用。下面是一个使用ScriptableWizard进行编辑扩展的例子:

EditorWindow

较复杂的功能,需要多个灵活的控件,实现自由浮动和加入其他窗口的tab,可以从这个类派生,这种窗口的窗体功能和Scene,Hierarchy等窗口完全一致。下面这个例子实现了GameObject的空间对齐和拷贝(也就是将GameObject A作为基准,选中其他的GameObject进行对准或空间位置拷贝),对齐和拷贝提高了了开发者摆放物件的效率;另外还有随机和噪声,后两者用于摆放大量同类物件的时候可以使用,比如一大堆散落的瓶子。

Editor

对某自定义组件进行观察的Inspector窗口,可以从它派生。如下代码所示:

代码片段1定义了一个名为Star的组件:

代码片段2定义了对Star组件进行观测的Inspector窗口:

说到这里,大家对ScriptableObject, ScriptableWizard, EditorWindow和Editor应该都有应有了一定了解。其中EditorWindow和Editor都继承了ScriptableObject,而ScritableWizard则继承了EditorWindow派。在实际开发应用中,应该根据需求的特点,灵活使用这四个类进行编辑器扩展。

参考资料:

1.

UGUI问题总结 Image组件:动态改变SourceImage.1.gameObject.GetComponent().image.sprite=YourSprite;(YourSPrite的获取方法有我是在前面定义Spites数组,拉图片入去的.有更好的方法请告诉我

Unity中用触摸控制物体旋转和放大 usingUnityEngine;usingSystem.Collections;usingSystem.IO;publicclassScaleAndRotate:MonoBehaviour{privateToucholdTouch1;//上次触摸点1(手指1)privateToucholdTouch2;//上次触摸点2(手指2)voidSt

添加随机的游戏元素 文档路径:UnityManual/UnityOverview/CreatingGameplay/AddingRandomGameplayElements添加随机的游戏元素在许多游戏里,随机地选择物品或者数是很重要的。本节展示了你

标签: unity 扩展编辑器

本文链接地址:https://www.jiuchutong.com/biancheng/372796.html 转载请保留说明!

上一篇:每天30分钟看Shader--(1)HLSL固有函数 【Intrinsic Functions (DirectX HLSL)】(每天看30分钟手机可以吗)

下一篇:UGUI问题总结(ug语法错误)

  • 财务刷卡手续费怎么处理
  • 小企业准则适用于什么企业
  • 帮别人买交强险,受益人是我,有影响吗
  • 资产损失原因
  • 自用电管理
  • 结转损益类收入科目的余额其中主营业务收入
  • 代开的专用发票如何开具红字发票
  • 收到退款如何做账
  • 公关费用明细表
  • 房地产经纪公司经营范围
  • 库存现金存入银行怎么记账
  • 出口公司要交哪些税费
  • 案例讲解:当年度未及时取得有效凭证的相关成本、费用涉税处理
  • 跨区域预缴企业所得税
  • 投资决策中常用的指标有
  • 对方开具红字发票过来怎么做进项税转出
  • 折旧率通俗理解
  • 本月负数发票大于正数发票 留抵的增值税怎么做账
  • 以前年度损益调整编码
  • 劳务费发票证明怎么写
  • 退休人员返聘工资怎么发放
  • 旅游公司开具的考察费怎么入账
  • 一般纳税人和小规模纳税人的区别
  • 一个集团的分公司干过活再去另一个分公司会被发现吗
  • 几个项目可以合到一起招标吗
  • PHP:pg_send_query()的用法_PostgreSQL函数
  • mac如何打开蓝牙
  • vue项目上线教程
  • 城市:天际线
  • 一年一度的施瓦本哈尔圣诞市集,德国巴登-符腾堡州 (© sack/Getty Images Plus)
  • php如何实现
  • 使用vscode开发vue例子
  • 对于异步电动机国家标准规定3kw
  • 捐款怎么处理
  • r在数据分析中表示什么意思
  • while循环语法结构
  • 金税三期可以申报个税吗
  • 社保主要有以下哪些方面
  • 马踏棋盘游戏规则
  • 经营性现金流量为什么要加上折旧
  • 综合保税区可以随便进出吗
  • 增值税纳税申报实训报告
  • 缴纳残保金工资是实发工资还是应发工资
  • 进项有效期
  • 报废产品账务的处理方法
  • 职工教育经费能开专票吗
  • 股权转让如何进行资产评估的
  • 房地产企业扣除土地价款如何申报
  • 收到代理服务费怎么做分录呢
  • 下乡扶贫可以报什么岗位
  • 房屋租赁合同印花税的税率
  • 汇算清缴后收到退回的所得税
  • 无形资产摊销的会计科目怎么录
  • 周转金怎么计算
  • 什么是权责发生会计处理基础
  • 私企需要计提盈余公积吗
  • 直接计算法是依据零件图样上给定的尺寸
  • 安装nfs命令
  • wp8.1怎么升级wp10
  • 一劳永逸的方法是什么
  • win10预览版和正式版
  • ubuntu设置登录用户
  • windows更新过程中
  • Win7计算机管理里面没有本地用户和组
  • rpm格式如何安装
  • win7电脑浏览器怎么设置默认浏览器
  • win8电脑设置
  • unix怎么操作
  • unity lightmap uv
  • android开发中遇到的问题
  • js实现物体移动
  • javascript的用法
  • 深圳天然气收费价格表
  • 怎么代理保险业务
  • 粮食储备库储备管理自评报告
  • 中华人民共和国刑法
  • 河北公示信息网
  • 为什么我电脑登微信显示二维码失效
  • 代扣代缴企业所得税手续费
  • 2021年十大慈善企业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设