位置: 编程技术 - 正文

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

  • 所得税汇算清缴时间期限
  • 利润分配转作股本股利
  • 收回的伙食费计什么科目
  • 本月发生费用下月收到发票
  • 税盘服务费抵税怎么做分录
  • 月末将应交未交增值税转入未交增值税
  • 建筑业适用什么行业
  • 合同负债与预计负责区别
  • 买断式贴现是什么业务
  • 营改增后转让土地使用权交什么税
  • 房地产项目管理三大核心
  • 居民个人根据各项所得的收入 公益捐赠
  • 外资企业采购流程
  • 直接转让土地使用权税费
  • 房产税直接减免政策
  • 房地产企业销售额排名
  • 住宿费发票可以抵扣进项税吗
  • 增值税即征即退会计处理
  • 个体工商户怎么分配股份
  • 补记上年度计提所得税费用的会计分录
  • 给了钱不给发票可以报警吗
  • 一般纳税人为什么要开专票
  • 应缴纳的所得税税额
  • 个人到税务局怎么开增值税普通发票
  • 金税三期个人所得税扣缴系统手机版
  • 小微企业免税销售额怎么算
  • 进口商品合同
  • 债券折价摊销属于借款费用吗
  • 发票进项抵扣有什么用
  • 工资可以做企业成本吗?
  • 个人独资企业取得的股息红利
  • 取得土地的流程
  • 解决思路怎么写
  • php call方法
  • 资产减值损失会影响营业利润吗
  • 代理进口的增值税如何入账
  • 房产自用或出租什么意思
  • post请求params
  • mp3格式最高音质
  • 实收资本账户对应的账户包括
  • 小微企业延缓缴纳
  • python基本功
  • 微信php源码
  • 网络用语屠夫
  • php技术
  • 发票取得取得售卡方公司开具的增值税专用发票
  • ps中文字复制粘贴
  • 应交税费为负数在资产负债表里怎么填
  • 研发费用资本化计入什么科目
  • 帝国cms到底好不好
  • mysql中事务的作用
  • python next iter
  • 个税申报中本人扣除比例什么意思
  • 城建税的减免规定有哪些
  • 公司 用车
  • 企业哪些情况下需要交税
  • 盈余公积的会计科目
  • 购买方如何申请红字信息表填写负数吗
  • 把其他应付款转成实收资本的话需要去工商改注册资本么
  • 苗木税票怎么抵扣
  • 母公司划拨土地给全资子公司需要上税吗?
  • 企业给员工租的公寓
  • 汇率的差额如何处理
  • 明细账建账的步骤
  • win7怎样关闭u盘保护功能
  • vnc远程桌面linux
  • macbook看视频卡顿
  • windows10虚拟桌面
  • windows更新后桌面没反应
  • windows mobile10
  • win7系统屏幕保护设置禁用如何开启
  • 批处理文件就是将若干文件集中起来
  • 提取字符串的公式
  • nodemcu连接阿里云
  • unity3d效果图
  • js中如何在div里写入内容
  • Python中的多行注释文档编写风格汇总
  • 怎样在中国税务用手机交社保
  • 当前税务干部队伍不足
  • 云票助手使用步数怎么改
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设