位置: 编程技术 - 正文

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

  • 已抵扣的进项税额怎么转出
  • 银行贴现属于贷款吗
  • 个人所得税应纳税所得额减半征收
  • 会计凭证借贷方向
  • 水处理产业链
  • 离职员工个税申报时员工状态依然是雇员
  • 工会经费按什么交
  • 装修费用税法规定
  • Xm公司为增值税小规模纳税企业
  • 工业企业生产费用按经济内容划分,一般称为
  • 酒店应不应该为员工提供澡堂
  • 环保专项资金可以转让吗
  • 应收票据主要包括
  • 不同税率的增值税如何报税
  • 方案讲解:关于员工激励的税收筹划
  • 其他货币资金的概念
  • 车辆购置税完税证明电子版二维码怎么扫
  • 建筑企业预缴企业所得税会计分录
  • 已抵扣的增值税专票如何冲红
  • 公司注册资金抽逃
  • 价外费用含义
  • 个人所得税如何办理退税
  • 将u盘格式化
  • 跨年的发票作废重新开具需要入账
  • laravel模板引擎
  • 浏览器无痕浏览后警察能查到吗
  • 企业收到政府奖励会计分录
  • 赠送的商品怎么入库 企业会计准则
  • 无偿转让房屋
  • phple
  • 投资收益如何做账务处理
  • es6解构赋值对象
  • php execute函数
  • 可供出售金融资产新准则叫什么
  • 印花税调低
  • php采集器
  • c语言printf输出数组
  • mysql是自动提交的吗
  • 织梦艺嫣跳舞
  • 公司处置汽车
  • 其他应付款贷方正数表示什么意思
  • 发票退票和废票的区别
  • 有下列情形之一的,当事人可以解除
  • 水利基金的计税税率6
  • 专项基金是什么
  • 保险补偿多久到账
  • 职工福利费的比例
  • 销售退回如何做账务处理
  • 支付劳务费后缴多少税
  • 不含税转换
  • 利息返还是什么意思
  • 退回的包装物怎么做账
  • 银行存款负数如何计算
  • 房地产预交税金怎么算
  • 差旅费借记什么科目
  • 小规模公司怎样添加员工
  • 在建工程二级科目待摊支出
  • 税前利息为什么这么高
  • 减免税款月末是否结平
  • 购买办公软件的进项发票可以抵扣吗
  • 怎么设置材料
  • mac 显示器
  • linux nls
  • u盘装系统步骤delt进入界面怎么选择
  • windows无法启动怎么解决
  • mac电脑系统安装
  • pavsrv50.exe - pavsrv50进程管理信息
  • python爬取教程
  • 高级控件动态数据加载过程有哪些
  • cocos2dx官方教程
  • Python类的继承动物类
  • 网络ping大包
  • unity编译速度吃什么硬件?
  • python下载方法
  • python中redis的用法
  • 各种手机ui大全
  • 企业注销认缴与实缴是否还有风险
  • 出口退税的期限是多长
  • 如何运用投资组合理论
  • 农业企业制造费用包括哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设