位置: 编程技术 - 正文

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

  • 不缴或少缴应纳税款的处罚措施
  • 什么是宏观税负如何判定一国宏观税负的轻重
  • 分支机构注销后往来账如何处理
  • 计提减值准备是什么凭证
  • 公司不交工会经费的原因,风险说明
  • 免费给客户提供服务怎么做账
  • 车购税申报表如何作废重开
  • 员工一次性伤残补助金
  • 息税折旧摊销前利润是什么意思
  • 免税企业开了含税发票
  • 企业受托开发软件是什么
  • 出租车公司给车都上什么保险
  • 长期借款按月计提
  • 银行定期存款利率计算
  • 退休人员返聘工资怎么缴税
  • 发票的单价开得太低了怎么办?
  • 新成立的公司怎么交公积金
  • 小微企业销售已按固定资产入账的办公家具也享受免税政策吗?
  • 红字发票通知单已经上传可以作废吗
  • 房产评估增值部门有哪些
  • 无偿取得土地使用权的会计分录
  • 二手车抵押银行贷款
  • 一般纳税人库存商品怎么做分录
  • 固定资产清查盘亏账务处理
  • 金税盘全额抵扣分录怎么做
  • 员工劳务报酬分录
  • 佣金的规定方法有哪些
  • 建筑工地临时工工伤
  • i912900k用什么主板好
  • macbook和ipad怎么互通屏幕
  • fat文件系统包括
  • 预提税和企业所得税
  • php实现的中秋博饼游戏之掷骰子并输出结果功能详解
  • php面向对象优点,缺点
  • 已抵扣发票开了红字发票怎么做分录?
  • 合伙企业股东个人所得税费用扣除标准
  • php安装扩展fileinfo
  • 境外支付佣金代扣代缴增值税
  • php正则函数内容匹配
  • 对公账户的银行卡号是几位数
  • 机器学习——图像分类
  • java web中的转发和重定向
  • 会计审核费用报销单的职责
  • python处理mysql如何拿到表头
  • 房产税的租金收入按什么计算的
  • 领取定额备用金的会计分录
  • sql server触发器的作用
  • 幼儿园园服已发给孩子怎么通知家长
  • 付给对方钱对方应该怎么写
  • 小规模企业免税收入会计分录
  • 公司无流水要交税不
  • 跨年度发票能否税前扣除
  • 普通发票可以开多少税率
  • 公司注销未认证怎么处理
  • 记账凭证分类
  • 营业外支出科目核算的内容
  • 股票股利应该何时分摊
  • 人力资源外包服务平台
  • 机器配件属于什么类型的商品
  • 出口退税转为免税做账处理
  • 购买的垃圾袋计入什么科目
  • 高新技术企业的税收优惠政策
  • mysql支持的数据类型主要有哪几类
  • mysql常用关键字及其用法
  • windows7的插孔设置在哪
  • 为什么总让升级浏览器
  • unix系统的文件分为哪三种存取结构
  • 如何调整bios
  • ubuntu下载net-tools
  • macos 多屏
  • win8装机教程
  • expand.grid函数
  • HTML <!DOCTYPE> 标签
  • 如何执行perl脚本
  • 着色器模型
  • jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • 在电子税务局如何增加税种
  • 北京市地税局第一稽查局郭洪鑫
  • 国家税务总局服务中心
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设