位置: 编程技术 - 正文

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行
  • 资产负债表怎么下载
  • 合同不交印花税合法吗
  • 联营企业子公司抵消比例
  • 二房东转租如何办理营业执照
  • 递延资产是长期待摊费用吗
  • 刷信用卡的手续费去哪了
  • 招待费进项税如何抵扣
  • 车辆购置税如何计算
  • 收到上个月的发票怎么做分录
  • 如何查询当月社保和公积金是否缴纳
  • 公司团建收取员工费用
  • 营改增开票规定
  • 办理出口退税需要的资料
  • 免税和不征税货一样吗
  • 增资缴纳印花税的计算公式?
  • 股权转让过程中需要注意哪些问题
  • 人工成本如何分摊到服务成本
  • 成本费用跨年度怎么计算
  • 统一社会信用代码证
  • 出口货物应退税额确认的会计分录
  • 出口转内销申报需要先做出口退税吗
  • 利息支出的会计科目
  • 税控设备 抵减
  • 员工辞退补偿金发放逾期
  • win10ie浏览器没有internet选项
  • 会计分录中结转是什么意思
  • word更改单页背景颜色
  • 个人所得税应该计入什么科目
  • 单位房子可以卖吗
  • 企业备用金预借多久到账
  • fedora23安装
  • PHP:imagescale()的用法_GD库图像处理函数
  • 呆账核销分录
  • 商品流通企业一般采用
  • 常见浏览器兼容软件
  • dmesg | grep tty
  • 基于thinkphp开发的框架
  • 航天金税税控盘运行环境
  • 固定资产多少钱以上计入固定资产
  • 如何用织梦搭建网站
  • 缴纳增值税的营业收入
  • 税务信用级别A有什么好处
  • 银行存款日记账电子表格模板
  • 房地产企业销售房屋印花税税率
  • 小规模纳税人出租不动产免征增值税
  • 股权转让会计分录借银行存款
  • 银行手续费发票负数是啥意思
  • 应收账款周转率越大越好还是越小越好
  • 月末应付职工薪酬为负数怎么办
  • 连锁药店成本会计
  • 股权转让溢价
  • 技术咨询费属于什么类别
  • 银行本票的使用仅限于
  • mysql数据库高可用方案
  • linux 安装vs
  • win7安装office2016报错
  • win8磁盘占用率100%
  • 系统闹钟设置
  • jquery ajaxfileupload异步上传插件
  • 逐一介绍班子成员表现
  • jquery实现手风琴遇到问题
  • python数据结构与算法分析 第2版(图灵出品)
  • cocos2dx quicxk 3.3 导入Json文件布局 UI
  • Python读取Excel文件需要什么
  • 优化ui界面是啥意思
  • unity性能和内存优化
  • javascript函数调用函数
  • js日历插件
  • 记住密码自动登录怎么取消
  • 发票换领
  • 办税服务厅限时办结制度
  • 深两优3117审定号
  • 公司出租非住宅税种
  • 平安银行股份有限公司临沂分行
  • 日本海淘推荐
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设