位置: 编程技术 - 正文

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

  • 销项税大于进项税时怎么处理
  • 二手车交易税是谁交
  • 融资租赁税率是什么意思
  • 个体户一季度不超过30
  • 个体户交了增值税又开负数发票怎么退税
  • 网线的税收编码是多少
  • 固定资产新建帐套
  • 跨月应该如何开具红字发票?
  • 处置车辆收入缴税规定
  • 咨询费发票怎么入账
  • 对公账户进账是否缴税
  • 更正申报所得税流程
  • 公司报销员工的首饰可以税前列支吗
  • 工会经费按上年工资总额还是本年
  • 退货没有红字发票怎么办
  • 小规模纳税人附加税优惠政策2023
  • 耕地占用税和土地使用税的区别
  • 增值税专用发票电子版
  • 设计费计入成本
  • 劳务收入不足800
  • 收到发票最晚什么时候付款
  • 外国人可以参加中国境内的党派或政治团体
  • 以前年度资产损失,汇算清缴怎么填表
  • 税务自查补税后还有风险吗
  • rmb转
  • thinkphp limit
  • 下载的压缩文件打不开
  • 股份支付有哪些基本类型
  • 稿酬特许权使用费的预扣率是多少
  • 调制解调器的作用包括
  • 2022年增值税免税政策
  • 小规模纳税人的个人所得税怎么算
  • 个人销售自建自用住房解读
  • macos安装多版macos并存
  • php错误和异常
  • vgrename命令 重命名卷组
  • phpcms v9官网
  • 信用减值损失的借贷方向
  • 出差发生的旅游事件
  • 个体工商户季度超过9万怎么交税
  • 生育津贴现在可以打个人账户么
  • 律师事务所收到专票能抵扣吗合法吗
  • 中小企业所得税优惠
  • 费用少计提了怎么办
  • 公司购买的公司用车
  • 专项应付款科目编码是多少
  • 场地租赁费属于劳务还是服务
  • 坏账准备计提标准
  • 怎么看发票的凭证号
  • 员工差旅费会计分录
  • 员工福利费怎么写分录
  • Linux安装MySQL5.6.24使用文字说明
  • ssh连接虚拟机centos
  • 笔记本拔掉硬盘开机没反应
  • win7怎么删除操作中心
  • Linux VPS vsftp/proftpd FTP时间差八小时的解决方法
  • win10系统右键菜单管理
  • win10远程桌面连接教程
  • window7iis配置步骤
  • win10移动版能运行电脑软件吗
  • opengl learning
  • jquery 插件编写
  • shell脚本转换为exe
  • python编写人工智能
  • sed查找字符串
  • php与nodejs
  • 浏览器app测试要点
  • jquerygrid
  • 使用jquery的步骤
  • the oculus rift
  • jquery原理解析
  • Python的二维列表存储
  • 山东税务申报如何网上申报
  • 小规模企业零申报怎么操作
  • 东莞市国税局南城莫
  • 北京税务报到期限
  • 国税总局河南省税务局官网
  • 进项税发票过期了怎么办
  • 出国海关申报单图片
  • 精准扶贫的实践与探索经验
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设