位置: 编程技术 - 正文

Unity3d 人物换装之 一个Shader处理3张图片 减少DrawCall(unity2d角色换装)

编辑:rootadmin

推荐整理分享Unity3d 人物换装之 一个Shader处理3张图片 减少DrawCall(unity2d角色换装),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity spine换装,unity人物换肤用什么方法,unity替换人物模型,unity换装游戏设计,unity2d角色换装,unity人物换肤用什么方法,unity中2d人物换装,unity人物换肤用什么方法,内容如对您有帮助,希望把文章链接给更多的朋友!

在上一篇

Unity3d人物换装之Mesh合并(材质合并)

中,我通过一个例子,将三个带有不同颜色 RGB的立方体,合并Mesh和材质到Character这一个GameObject中。这样原本对3个GameObject的操作只需要对Character这一个GameObject进行操作就好了。但是我们的任务还没有完成。

合并之前的游戏:

合并之后的游戏:

大家注意看合并之前和合并之后,虽然GameObject数量减少了,但是DrawCall一个都没有减少哦!之前是4个,合并之后仍然是4个。

简单的来说呢,就是一个材质球,一个DrawCall。也就是说呢,一个Shader,一个DrawCall。

既然知道了一个Shader一个DrawCall,那我们就开始着手去处理,把红、绿、蓝这三张图片,在一个Shader中进行处理,只使用一个材质球,这样就只有1个DrawCall了。

Unity3d 人物换装之 一个Shader处理3张图片 减少DrawCall(unity2d角色换装)

我们来创建一个Shader,就叫CombineShader吧,在默认的Shader代码基础上,删掉MainTex这个纹理,添加我们自己的三个纹理:_Red 、_Green 、_Blue .

在上面的未完成的Shader中,我取了_Red 的纹理来做取样。我们接着修改脚本代码,使合并之后的GameObject Character使用CombineShader创建的材质。

运行之后能看到,在Character这个GameObject使用的材质球中,需要输入三张纹理图片。

现在再看,DrawCall数量已经降到2了,也就是说,合并之后 由原来的3个DrawCall 降到了 1个DrawCall。

但是还是有问题呢,为什么只显示一个立方体,哈哈,是我们代码写错了。

应该改为

好了,这次可以显示了,但是为什么没有贴图?

为什么没有贴图?因为我们只是在Unity中设置了贴图,但是在Shader中还没有去使用它们。

将Shader修改如下:

我们看到在surf 中对顶点颜色的Alpha&#;进行了判断处理,这是利用顶点色Color的属性,在代码中进行赋&#;,来区分当前顶点原来是属于哪一个立方体的。比如说color.a是0,那么原来就属于红色立方体,就给它从红色纹理来取样。

最后看运行结果,DrawCall减少到2 ,Character也完整的显示出来了。

工程示例下载:

【猫猫的Unity Shader之旅】之简述3D图形学 上次我们说到一个完整的Shader的比较完整的框架,如果大家之前没有接触过3D相关的技术的话看起来可能会比较吃力,其实这也在猫猫的意料之中的。3D

Unity3D游戏开发之在Android视图中嵌入Unity视图 转载自:

UnityRandom介绍 介绍UnityRandom是一个针对Unity3D的伪随机数库,使用C#语言开发。代码和文档都在Github上。UnityRandom采用Mersennetwister伪随机数发生算法,能够快速产生高质

标签: unity2d角色换装

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

上一篇:Unity 使用WWW类同步加载资源

下一篇:【猫猫的Unity Shader之旅】之简述3D图形学(猫的喵喵)

  • 职工享受工伤津贴的条件
  • 服务型公司要交多少税
  • 什么是税收滞纳金请举例说明
  • 法定免税项目包括
  • 免税收入不征税收入有哪些
  • 贴现收到的钱计入什么会计科目
  • 全额计提坏账准备后,多久核销应收账款
  • 社会保险申报表中工资总额累计金额是什么意思
  • 微信怎么开公司账户
  • 房地产土地使用税已售面积如何减
  • 职工集资建房款属公款吗
  • 外币借款汇兑差额资本化额怎么计算
  • 公司租赁的车辆发生的费用都可以报销吗?
  • 分销佣金分配
  • 收款未发货需要纳税吗
  • 房屋预售缴款怎么交
  • 企业购买饮水机滤芯会计分录
  • 员工异地交纳保险怎么交
  • 财税[2010]121号中的宗地容积率指的是什么?
  • 预付账款可以用应付账款借方
  • 取得增值税专用发票注明税额
  • 公司账户转入另一个公司的投资款怎么做账?
  • 税务总局关于四流一致解答
  • 增值税申报表中期初未缴税额指什么
  • 销售单怎么设置打几行
  • 融资租赁纳税人是指
  • 清产核资的步骤
  • excel中如何选择只能选择的项
  • 其他债权投资发生减值会影响所有者权益总额吗
  • 人工费没有发票年度汇算调增需要进行调帐处理吗
  • linux xmrig
  • windows7旗舰版最新版本
  • 其他业务收入跨年调整
  • 商贸企业税收优惠政策
  • php常用设计模式(大总结)
  • 承包租赁
  • 请问怎么清除
  • 仙岩寺庙
  • 如何防止sql注入 java
  • 股东分红会计分录案例
  • phpcms使用教程
  • 尚未报送年度会计报表
  • 商标注册费用可以退吗
  • 织梦相关文章调用
  • 债权债务转让会计分录
  • 事务所企业所得税
  • 计提减值准备是利空吗
  • 小规模减免的增值税
  • 专项应付款转入资本公积的规定
  • 多计提的工资怎么调账
  • 收到进项税发票
  • 搞活动的现金红包怎么用
  • 购入不需要安装的固定资产会计科目
  • 委托加工科目有余额嘛
  • 开发成本贷方负数表示什么
  • 旅游饮食服务企业会计核算的特点包括
  • mysql 厂家
  • 卸载win+r
  • Windows Server 2008疑难杂症
  • ssh -i命令
  • win10睡眠什么意思
  • 手机耳机插在电脑上能说话吗
  • windows7中个性化设置
  • centos7yum安装
  • Win10系统中怎么给图片加备注
  • win8.1 无法连接到此网络
  • win8如何打开任务管理器
  • win10系统没有关机选项
  • node.js使用教程
  • 记住密码自动登录 会更新登陆信息吗
  • Unity3D游戏开发标准教程
  • linux批量修改文件时间
  • 数据库的基本操作实验报告
  • android升级是什么意思
  • js跳出if语句
  • javascript基础入门视频教程
  • python爬虫教程推荐
  • 美国买房hoa
  • 个人所得税网上报税流程
  • 小规模纳税人租赁收入增值税税率是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设