位置: 编程技术 - 正文

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图形学(猫的喵喵)

  • 进项税额转出补交税款
  • 企业借出去的钱收不回来
  • 纳税信用等级是专管员评的吗
  • 表见代理通俗
  • 人力资源的差额征收怎么报企业所得税
  • 民办幼儿园的税收是多少
  • 单位劳务派遣的比例
  • 电子税务局助信码领取后怎么用
  • 机动车销售发票是否需要认证
  • 企业如何进行利润分配的会记处理
  • 建设工程中税费如何承担
  • 企业收到跨年度的政府补贴款,是否计入当年企业所得税
  • 存货在财务报表中存在的财务操纵
  • 人身意外伤害险保障范围
  • 评估入账的开发权是否可以税前扣除?
  • 企业所得税少交了被税局查到怎么处理
  • 出口企业增值税怎么算
  • 关于个人所得税下列说法正确的是
  • 高新企业研发投入后产出增加
  • 研发失败的项目可以加计扣除吗
  • 企业所得税视同销售怎么处理?
  • 长期股权投资用交印花税吗
  • 结算会计和往来账的区别
  • 营改增服务业税负下降
  • 一般贸易和进料加工的区别是什么
  • 财产行为税税种
  • 文件在另一个程序中打开,怎么解决
  • 贸易公司买进卖出
  • ie浏览器打开后显示已停止工作
  • 王者荣耀电脑版怎么键盘操作
  • 苹果手机怎么修改默认输入法
  • php数组有哪几种类型
  • phpforeach遍历二维数组
  • 莱达尔湖, 英格兰坎布里亚郡湖区 (© Tranquillian1/iStock/Getty Images Plus)
  • transformers document
  • centos配置php环境
  • 收到待报解预算收入怎么做账
  • pytorch 例子
  • pytorch技巧
  • 一般纳税人企业所得税如何计算
  • 人力资源预算包括哪些内容
  • 营业外收支的账户是什么
  • sql server异常怎么处理
  • sqlserver2019配置
  • 个税是怎么扣除的?
  • 疫情期间增值税减免政策截止时间
  • 收到材料发票怎么写摘要
  • 退货销售折让会计分录
  • 贸易公司的会计要做哪些报表
  • 什么是一般生产要素
  • 为什么会有进项税和销项税
  • 残保金新公司第一年免费吗
  • 租赁办公楼
  • 忘记MySQL的root密码该怎么办
  • 简单的辞职报告
  • windows server2014 安装 Mysql Applying Security出错的完美解决方法
  • 微软官方的网址是多少
  • centos coreos
  • freebsd操作命令
  • win7系统玩游戏
  • win8系统如何打开摄像头
  • centos如何操作
  • win8怎么禁止弹窗
  • win8锁定屏幕
  • root什么玩意
  • /proc目录造成linux根目录爆满
  • windows桌面右下角图标不显示
  • win8如何进行系统还原
  • js代码规范
  • unity3d官方案例
  • css美化表单 案例
  • android 属性动画原理
  • shell python
  • 餐饮服务需要交印花税吗?
  • 小规模纳税人可以开增值税专用发票吗
  • 电子税务局在手机上能登录吗
  • 税务部门组织收入会议报道
  • 福建社保官方网站
  • 建筑安装工程承包条例还有效吗
  • 利润表中所得税费用包括
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设