位置: 编程技术 - 正文

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

  • 小规模纳税人税收优惠2023
  • 固定资产摊余成本例题
  • 光盘税收分类编码是多少
  • 查账征收企业所得税年报怎么填
  • 公允价值变动损益属于什么科目
  • 在建投资性物业管理办法
  • 净值的公式
  • 增值税发票抵扣勾选平台如何操作
  • 开出的发票什么情况下需要补税?
  • 企业咨询服务费合同
  • 商品编码选错税务会直接罚款吗?
  • 公司缴纳电费
  • 增值税代扣代缴抵扣
  • 证券公司手续费怎么收
  • 企业年检网上申报时间
  • 外资企业股权转让如何交税
  • 制造费用明细科目有哪些
  • mac复制文件路径后怎么粘贴
  • 房地产开发企业增值税怎么算
  • win10锁屏壁纸自动更新
  • php随机生成1到3的数字
  • 代理买卖证券款是经纪业务费用吗
  • 金融资产减值损失计入什么科目
  • 年底会计结账
  • 交易性金融资本
  • 进程mmc.exe
  • 解决打呼噜只需一杯水
  • 虎刺梅怎么养殖视频
  • 盈余公积减少记哪方
  • 应收款减少怎么做账
  • 新公司30天内未办理税务登记
  • 直接材料成本计算公式
  • php批量上传图片到服务器
  • 制造费用期末有余额怎么处理
  • 我的第一次作文400字左右
  • 激光器原理及应用
  • 土地增值税的扣除项目金额怎么算
  • 小型微利企业享所得税优惠
  • python中myqr的用法
  • 新办企业购置设备申请
  • 企业增资相关知识点
  • 营业税改征增值税跨境应税行为增值税免税管理办法
  • 3%减按2%征收增值税是什么意思
  • 过路费发票可以抵扣进项税吗
  • 冲销以前月份的凭证
  • 应付账款周转率越大说明什么
  • 无成本票如何避税
  • 进口关税如何交
  • 销售方开具的红字专票购买方在税控盘要怎么操作
  • 金蝶银行存款日记账
  • 专票取消认证
  • 投资收益下期间怎么结转
  • 一个简单的微笑说说
  • mysql 5.7.28安装
  • windows10如何更改管理员账户
  • 如何自己解封微信号呢
  • w10预览版21343下载
  • mac电脑系统安装
  • weather.exe - weather 进程是什么文件
  • WinAce.exe - WinAce是什么进程
  • ubuntu系统应用
  • 苹果mac系统怎么更新
  • mac声音怎么调大
  • macos dock
  • kprcycleaner.exe是什么
  • win7旗舰版远程链接登录不上
  • 浏览器隐藏用法
  • js是函数式编程语言吗
  • 使用jquery实现的项目
  • nodejs webp
  • python中的
  • jquery二级导航栏
  • 搭建nodejs项目
  • 现在的微信怎么用脚本登陆了
  • js tab页面切换
  • android下载文件保存到本地
  • HTTP之Range理解
  • 开发商代收代缴电费能开发票吗
  • 小规模纳税人租赁房屋税率
  • 普洱房产管理局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设