位置: 编程技术 - 正文

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

  • 长期股权投资产生的投资收益属不属于非经常性损益
  • 增值税报表解读
  • 生产设备保险费会计分录
  • 缴纳城镇土地使用税
  • 会议服务费免税吗
  • 加计扣除进项税账务处理
  • 服务业按什么结算工资
  • 开发成本属于什么类账户
  • 批发商税率
  • 房地产自有资金投入
  • 煤矸石算能源吗
  • 小微企业享受减免税政策
  • 借款转资本公积怎么算税
  • 应付账款不用付怎么处理
  • 企业注销建造师流程
  • 联营扣点方案
  • 私立学校的学费是教育局规定的吗
  • 劳务公司购买材料怎么做账
  • 工程施工纳税
  • 业务奖金激励制度
  • 增值税留抵退税政策解读
  • 股权转让要交哪些费用
  • w10系统怎么连接
  • 定向增发是什么融资方式
  • 房东不开发票违法吗
  • 如何突出显示一行中的最小值
  • word基本怎么使用
  • 小规模纳税人没有进项税
  • srv.exe病毒
  • 一列火车穿过一条隧道,已知火车长450米,隧道长750米
  • 以分期收款方式销售货物的按照什么日期确认收入的实现
  • yolov5 workers
  • 生产车间人员招聘要求
  • php反转字符串方法
  • 餐饮企业原材料成本如何分析
  • 开发票时有哪些规定呢?
  • 补交地税多少钱
  • vue使用百度地图md5报错
  • 固定资产不折旧不摊销怎么做账
  • 销售不动产统一发票英文翻译
  • 税控盘每年要交年费吗
  • 担保公司的风险准备金在报表中如何反应
  • 零申报失败什么原因
  • 哪些情况发票可以红冲
  • 对公账户转到个人账户怎么做账
  • 民间非营利组织会计制度及操作实务
  • 公司前期装修费属于开办费吗
  • 建筑材料资源税
  • 存贷款利率计算公式
  • 土地出让金印花税减半政策
  • 因产品质量问题造成的损失怎么赔偿
  • 出租车票没有发票怎么办
  • 废品损失如何处理
  • sqlserver高级语法
  • sqlserver批量删除数据
  • 注册表出错打不开程序
  • 轻轻松松在树枝上摘果子用什么成语
  • 电脑系统信息怎么关闭
  • mac怎么卸载第三方软件
  • linux开启启动程序
  • win10 怎么恢复
  • ubuntu20.04关闭图形界面命令
  • 组策略禁用u盘怎么打开
  • win7系统的wlan在哪里?
  • windows10开机黑屏
  • win10家庭版如何设置永不更新
  • perl fileparse
  • java程序员准备骑驴找马了,需要怎么准备
  • JavaScript运算符都有哪些
  • linux命令scp和sftp详细介绍
  • windows安装pycharm
  • jsonp如何解决跨域问题
  • github上有什么
  • shell变量作用范围
  • 详解Python的collections模块中的deque双端队列结构
  • 国家税务2018年61号附件
  • 税务ukey版商品编码怎么添加
  • 通辽这个地方怎么样
  • 从租计征房产税怎么申报
  • 华数tv业务认证账号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设