位置: 编程技术 - 正文

Unity3D游戏开发之编辑器扩展程序开发实例(Unity3D游戏开发培训课程大纲)

编辑:rootadmin

推荐整理分享Unity3D游戏开发之编辑器扩展程序开发实例(Unity3D游戏开发培训课程大纲),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Unity3D游戏开发基础,Unity3D游戏开发引擎,Unity3D游戏开发(第2版)pdf,Unity3D游戏开发引擎,Unity3D游戏开发pdf,Unity3D游戏开发标准教程,unity3D游戏开发,unity3D游戏开发,内容如对您有帮助,希望把文章链接给更多的朋友!

各位朋友大家好,欢迎关注我的博客,我的博客地址是 快速修改贴图类型

Unity3D4.6版本的一个重要更新就是UGUI和Unity2D的支持,因为有了对Unity2D的支持,所以Unity3D的贴图类型就增加了一个Sprite的类型。如果导入到Unity3D中的贴图是那种打好的小图的图集,那么Unity3D能够自动识别为Sprite类型。可是对于那种单张的贴图,Unity3D默认还是按照默认的设置来处理,因此如果每次需要用到这些图片,就必须手动地将其TextureType设为sprite,如果贴图数量比较少,那么手动修改也没有什么了。可是如果项目中的贴图数量较多的话,这样一张一张地去调整TextureType可能会浪费大量的时间啊!怎么办呢?简单!写代码!

我们将这个脚本放到Editor文件夹中,如果不出现什么意外的话,Unity3D的菜单栏中会增加一个Tools的菜单项,该菜单项目前只有一个子菜单项ConvertToSprite。好了,现在我们要做的事情就是在项目资源文件夹中选中要转换成sprite类型的贴图,然后单击Tools->ConvertToSprite。很快(具体有多快可以自己在编辑器窗口中去尝试,总之就是很快就对了,哈哈)所有的贴图的都如我们所愿地被转换成了sprite类型,此时此刻你有没有懊悔当年手动创建的个空物体,反正博主是后悔当初做塔防游戏的时候手动创建了个空物体,如果那个时候我知道Unity3D可以做这些事情,我打死都不会手动去创建个空物体的,现在想想都佩服当时自己的勇气啊。好了,作为第一个编辑器扩展程序,我们稍微总结下主要的内容: 1、在Unity3D中我们可以通过TextureImporter、ModelImporter、AudioImporter、MovieImporter等来分别向Unity3D中导入贴图、模型、音频、视频等等,经过设置后最终通过AssetDatabase.ImportAsset()来将其添加到项目中热完全,最后需要使用AssetDatabase.Refresh()方法来刷新本地资源,使导入的资源生效。 2、Selection.objects取得的物体无法区分是从场景中选取的还是从项目资源文件夹中选取的,如果需要从场景中来选取,建议使用Selection.transforms来代替。

案例2 动态生成Prefab

首先让我们来回顾一下大家平时制作Prefab的流程: 1、在项目资源文件夹中选取素材拖放到场景中 2、在场景中调整名称、位置、缩放、组件等等 3、将物体拖放到Prefabs文件夹下生成Prefab 尽管这是Unity3D官方推荐的一种做法,可是如果我们现在有大量的Prefab要制作怎么办呢?一个最直观的例子就是游戏里的敌人。在一个中等规模的游戏中,敌人的种类通常很多,而且每一个敌人的行为可能都不相同。然后从宏观的角度来看,敌人的大部分特征都是相同的,因此我们这里考虑使用程序动态生成Prefab,这里假定Prefab不需要附加脚本,因为如何给Prefab附加脚本博主还没有研究出来。好了,下面我们来看代码:

首先我们让这个脚本继承自EditorWindow,这样它将在Unity3D中显示一个窗口。在OnGUI()方法中我们定义了窗口需要绘制的内容为一个文本框、两个选择框和一个按钮,当单击按钮后会执行CreatePrefab()方法。当界面发生变化的时候,需要对窗口进行重绘。最终的程序演示效果如下:

Unity3D游戏开发之编辑器扩展程序开发实例(Unity3D游戏开发培训课程大纲)

当我们在场景中选择好物体后,只要填好预设物体的名称、tag、Layer就可以直接生成Prefab了,不过这里有个问题,因为生成Prefab必须要传入一个GameObject,因此如果直接选择项目资源文件夹里的内容可能会报错,因为你选择的不是一个GameObject。博主做这样一个功能的初衷原本是想直接为每一个精灵图片生成预设文件,现在看来需要寻找其它的方法了,不过基本思路是创建一个空物体,然后向这个空物体中增加子物体,如果大家对此有兴趣的话,可以结合本文的方法自行去尝试。

案例3 快速为Sprite设置图集tag

接下来这个案例呢,同样是和贴图有关的内容。我们知道在没有UGUI以前,我们使用NGUI的时候要做的第一件事情就是把要用到的贴图打成图集,现在在Unity3D里面我们可以通过贴图的Packing Tag来实现图集打包,就是说具有相同Packing Tag的物体会被打到一张大图上,这样做的好处是节省资源。如果大家对这部分内容不太熟悉,可以了解下我的这篇文章。既然明白了原理,那么我们为什么不来尝试着通过程序将这件事情一次完成呢?好了,直接给出代码:

因为打包图集只需要一个参数,因此这个打包工具只需要一个文本框和一个按钮,整个过程和案例2是一样的,这里就不做分析了。这个扩展程序的演示效果如下:

好了,这就是今天的内容了,今天的内容基本上涵盖了为Unity3D开发扩展程序的基本内容,我们接下来要做的就是积极地在平时生活、工作和学习中寻找问题和解决问题,”授人以鱼不如授人以渔”,向他人传授知识和技能,这件事情本身对博主而言就是是快乐的,博主希望今天的内容大家能够喜欢。好了,谢谢大家!

欢迎大家关注博主的独立博客,我的博客地址是

DrawCall(一) 首先,DrawCall是渲染一次拥有同一网并携带同一种材质的物体会使用一次DrawCall。新建一个Material1,Texture为图片1,同样再建一个Material2,Texture为图片2。

C#获取文件MD5值方法 usingUnityEngine;usingSystem.Collections;usingSystem.IO;usingSystem.Text;usingSystem;publicclassMD5:MonoBehaviour{//UsethisforinitializationvoidStart(){Debug.Log(GetMD5HashFromFile(Application.streami

Unity3d 判断网络状态 NetworkReachability网络可达性NetworkReachability.ReachableViaCarrierDataNetwork通过运营商数据网络可达NetworkReachability.ReachableViaLocalAreaNetwork通过局域网络可达(wifi)Appli

标签: Unity3D游戏开发培训课程大纲

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

上一篇:Unity3D游戏开发之从"复活"和"暂停/恢复"谈游戏数据配置管理(Unity3D游戏开发毕业论文)

下一篇:C#获取文件MD5值方法(c 获取文件md5)

  • 预缴增值税需要预缴城建税吗
  • 非增值税应税项目可以抵扣进项税吗
  • 全成本核算优缺点
  • 土建工程维修
  • 更正申报后可以作废吗
  • 银行开户手续费怎么开发票
  • 行政单位总账科目
  • 从合伙企业分回的经营所得 合伙企业 个人所得税
  • 融资租赁购入固定资产的融资费用如何扣除
  • 什么叫备抵科目,什么叫过渡科目
  • 异地劳务分包要外经证吗
  • 视同销售计入销售费用能税前扣除吗
  • 如何理解递延所得税资产和负债计算
  • 未结清全额是逾期吗
  • 经济纠纷的解决途径包括哪些
  • 预收账款增值税和消费税纳税时间
  • 购买固定资产的税率是多少
  • 某产品今年进价是去年的
  • 什么是会计凭证?会计凭证有哪些作用?
  • 怎么远程重装win10
  • 如何理解内容
  • 税控盘服务费全额抵扣勾选在什么地方
  • win11笔记本如何让电池充电到100%
  • desktop病毒
  • 企业无偿提供劳务
  • 供应商自身的品质问题
  • 微前端Qiankun介绍
  • php 上传文件
  • erp面试题目100及最佳答案
  • 零基础舞蹈培训
  • web前端开发 vue
  • Docker 搭建api
  • 税法折旧和会计折扣会计分录
  • 资本化过程
  • 小企业固定资产折旧方法
  • 其他综合收益在报表中的位置
  • 上月附加税计提多了怎么办
  • 挂靠到运输公司的车转让给个人如何交增值税
  • 一般开发票都需要什么开票信息包括了什么?
  • 增值税专用发票查询系统官方网站
  • 记账凭证填错了怎么办还没有登记账簿
  • mysql数据数据库
  • 消费税和资源税何时计入成本,何时计入费用
  • 单位收到已交个人社保
  • 事业单位借款给下属单位
  • 商贸企业增值税税率是多少
  • 收到发票冲红怎么做分录
  • 社保金额不对到不了账
  • 转出未交增值税和未交增值税区别
  • 企业购买银行理财产品的会计处理
  • 公司购买一台电脑,会计科目怎么办
  • 数量金额式明细账余额怎么填
  • 火车票进项抵扣需要认证吗
  • mysql5.7.21安装
  • 不固定参数的存储器
  • mac如何查看隐藏的文件夹
  • win8系统如何查看电脑内存
  • 虚拟机怎样用
  • 在Windows Server 2012中,管理员默认的用户名是
  • 家字取名男孩名字
  • 如何调整输入法框的大小
  • win10系统开机后任务栏无响应怎么解决
  • linux安装步骤
  • 常用at命令集
  • jquery设置鼠标样式
  • jquery中ajax跨域方法实例分析
  • nodejs 模块
  • Do All in Cmd Shell一切在命令行下完成第1/6页
  • jquery设置边框
  • 安卓两页合并到下一页
  • android中常用的布局是
  • androidstudio和idea
  • 详解Python的collections模块中的deque双端队列结构
  • 票种核定和税种核定的区别
  • 定额发票怎么查看有效期
  • 百分之13的税率怎么算如何算百分之13的税率
  • 餐饮业如何缴纳增值税
  • 企业自建厂房在建工程会计账务处理
  • 广东省电子税务局app下载手机版
  • 南昌 税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设