位置: 编程技术 - 正文

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

  • 防伪税控系统
  • 国际反避税措施
  • 增值税抵扣怎么取消
  • 进项税额和销项税额是什么
  • 消费税可以在企业抵扣吗
  • 备用金与其他应收款的记账规则
  • 一般纳税人要做价税分离吗
  • 同一控制下企业合并取得的长期股权投资
  • 中外合资经营企业法
  • 验签失败的发票追不回来怎么办
  • 委托在建工程会计分录
  • 房地产税和物业税
  • 已经计提的坏账准备可以转回吗
  • 暂估收入是否暂列金额
  • 增值税发票系统怎么升级
  • 税务稽查执法要以什么为依据,按照法定的职责
  • 年所得12万元以上的纳税人,在纳税年度终了后
  • 什么情况下的发烧才会全身酸痛呢
  • 厂房转让会计分录
  • 公司加农户经营模式
  • 小企业会计准则成本核算方法选什么
  • 财务报表申报错了怎么撤销
  • 取得劳务费的账务处理
  • 买点肥料
  • 股份公司和有限公司工作哪个好一些
  • 会计新准则讲解
  • 基金的管理费用包括什么
  • Linux中stat命令显示文件的基本使用教程
  • 伦德格伦
  • 油气勘探支出包含哪些
  • 固定资产抵债账务怎么处理
  • 基金公司做销售有前途吗
  • 城市公交网
  • yolov5s
  • ios14.5ipad
  • 公司电脑配件也要交税吗
  • 利润表上期数指的是什么
  • python动态参数应用
  • 微信小程序分包中插件样式丢失
  • 汇票没到期如何兑现
  • 公司车辆过户给个人需要多少费用
  • 什么叫日常业务
  • 服务业增值税加计10%如何申报
  • 上市公司发放现金的规定
  • 制造费用是费用吗?
  • 建筑劳务公司的税率是多少
  • 结构性存款现金流量表流入里放在哪里
  • 间接人工费用计入什么科目
  • 权益性投资收益按照什么确认收入的实现
  • 技术转让费如何计算
  • 初始数据都录入什么意思
  • 受托代销商品款是什么意思
  • 固定资产的运输费和包装费计入
  • 合同已执行但有错误怎么办
  • 机票行程单如何看座位等级
  • 购货方享受现金折扣增值税
  • 上个月成本算少了怎么办
  • 删除windows用户密码
  • centos7怎么变成图形化界面
  • linux文件系统损坏导致网络断开
  • xp系统怎么隐藏文件
  • win7电脑桌面图标不见了右键也没用
  • windows7右下角网络图标不见了怎么办
  • zmweb.exe是什么进程
  • WIN10系统怎么删除软件
  • win7开机系统恢复
  • jquery网站开发
  • js出错
  • 用vue做项目加入购物车是怎么做到的
  • vue stylus
  • shell脚本获取文件指定内容
  • javascript面向对象 第三方类库
  • 有关的拼音
  • 深圳电子税务局税种启用在哪里
  • 如何打印个人所得税的税单
  • 出口退税报关单在哪里打印
  • 信用体系建设
  • 土增税税负率一般多少
  • 柴油增值税发票
  • 小规模纳税人的增值税怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设