位置: 编程技术 - 正文

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

  • 创业投资企业可以按照其对中小高新技术企业投资额的
  • 增值税普通发票有什么用
  • 印花税征税范围是什么
  • 利润10万企业所得税多少
  • 付代销手续费会计分录
  • 工程劳务费计入哪个会计科目
  • 企业对企业分红要缴纳什么税免税分红
  • 发票大头小尾什么意思
  • 非独立核算分公司企业所得税
  • 职工福利增值税的处理
  • 注册资本的变更
  • 税控盘维护费抵减分录
  • 普票丢失的最新处理2019
  • 公司经营困难情况说明怎么写
  • 租赁物丢失如何赔偿
  • 虚开增值税专用发票案例
  • 个人所得税做账怎么做
  • 外贸出口企业的租金能退税吗
  • 事业单位收受礼品怎么处理
  • 电费发票和实际交的钱不一样怎样支付
  • 计提本月短期借款利息1000元
  • mac菜单键怎么设置出来的
  • php字符串处理函数
  • PHP:spl_autoload_functions()的用法_spl函数
  • 在那高高的草丛里
  • 金钱树的养殖方法 盆栽
  • php提示框
  • word下划线怎么延长
  • 个人转让公司限额多少
  • php框架推荐
  • php绘图库
  • 纳税人有什么义务
  • 商贸企业发生退税的原因
  • 补交之前年度税款怎么调账
  • 年底所得税怎么算
  • 出口免抵退税的会计分录
  • 产权转移数据印花税计税依据含不含增值税
  • 简易计税是否可以享受即征即退
  • spring 门面模式
  • Python如何查看中风患者两表的数据量
  • vue安装插件
  • 异地交税怎么交
  • 不抵扣勾选的发票在哪里查看
  • 代发工资需要缴税吗
  • 外贸出口备案需准备什么资料
  • 有形动产经营性租赁光租业务是什么意思
  • 所得税申报表营业成本包括哪些
  • 会计报表作用 镜
  • 电子发票查询真伪
  • 销售货物收入指企业销售什么取得的收入
  • 置换补贴算在优惠价里吗
  • 应交税费年末需要结转吗
  • 只有销售才能使你成功的名言
  • 未认证的发票如何进项税转出
  • 人力资源公司的名字
  • 支付水电费取得专用发票上注明税金0.68万元
  • 企业有生产单没发票
  • sql如何学
  • win10怎么设置为win7模式
  • warning bios upgrade
  • win10系统玩dnf闪退
  • 强制关闭mac系统的快捷键
  • debian怎么用
  • win8怎么设置桌面
  • cocos creator js教程
  • 表单验证element
  • python怎么学啊
  • firefox怎样调整为中文
  • pycharm官方教程
  • javascript深入理解
  • js nextSibling属性和previousSibling属性概述及使用注意
  • unity 3d代码
  • jquery iframe src
  • 江西省电子税务局登录入口
  • 被认为是税务风险的原因
  • 进口商品的消费税计入成本吗
  • uk在哪里看开票截止日期
  • 什么是个人所得税起征点
  • 1国家税务总局
  • 我国国家宪法日是每年的十二月几日
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设