当前位置: 首页 > news >正文

ShaderVariantCollection解决shader_feature丢失

ShaderVariantCollection解决shader_feature丢失

https://www.dazhuanlan.com/2019/12/16/5df6a886cf4dd/

之前在利用shader_feature打造最小版本Shader提到shader_feature配合AssetBundle使用的BUG。当时是通过multi_compile绕开,现在在Unity 2017里通过ShaderVariantCollection可以完美解决,记录一下遇到的坑。

使用过程中只遇到一个问题:

  • 直接Debug模式打包AssetBundle没问题
  • 使用依赖分析零冗余打包之后遇到了丢失

后来仔细的查了下log发现是依赖分析之后SVC被自动抽到通用的AB中,没有和Shader在一起;这里改动了下就好。网上找到一篇博客Unity中Shader是否可以热更新的测试,看了下也能和我的理解对上:

Shader只有在和材质球/ShaderVariantCollection打包到同一个AssetBundle里的时候才能知道需要哪些shader_feature,否则会丢失…

ps. 顺便使用ShaderVariantCollection的意义好处还有选择性的WarmUp部分Shader

 

 

相关文章:

  • 一次UNITY闪退问题的定位心得
  • Unity AssetBundle打包 , BuildAssetBundleOptions
  • protobuf-net 的应用
  • Using Unity’s ShaderVariantCollection
  • Unity技术分享连载(64)|Shader Variant Collection|Material.SetPassFast
  • 最新的asmdef定义的模块中,VisualStudio中无法引用UnityEngine.iOS.XCode命名空间
  • UNIYT关于V S2017,VS2019断点调试卡住的问题
  • Mac上用VS Code调试 Unity程序
  • Jenkins的Credentials(证书)管理
  • jenkins 添加 证书凭证Credentials
  • Mac Jenkins集成打包踩过的坑
  • 【Unity】AssetBundle化したプレハブの中でRenderTextureを持っていたらエラーが出た
  • GDC 2017上的Keynote:
  • UE4获取UProperty的值,以及一些情况下的UClass获取
  • Unity Mac Vscode 调试
  • angular2 简述
  • es6(二):字符串的扩展
  • Hibernate【inverse和cascade属性】知识要点
  • JAVA SE 6 GC调优笔记
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 半理解系列--Promise的进化史
  • 多线程 start 和 run 方法到底有什么区别?
  • 关于extract.autodesk.io的一些说明
  • 机器学习 vs. 深度学习
  • 前端学习笔记之观察者模式
  • 山寨一个 Promise
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • # centos7下FFmpeg环境部署记录
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (ros//EnvironmentVariables)ros环境变量
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (三)c52学习之旅-点亮LED灯
  • (转)mysql使用Navicat 导出和导入数据库
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net MySql
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET下ASPX编程的几个小问题
  • @Builder用法
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [ JavaScript ] JSON方法
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [100天算法】-不同路径 III(day 73)
  • [Asp.net mvc]国际化
  • [BZOJ] 3262: 陌上花开
  • [BZOJ1060][ZJOI2007]时态同步 树形dp
  • [C# WPF] 如何给控件添加边框(Border)?
  • [C/C++]数据结构 循环队列
  • [C++]运行时,如何确保一个对象是只读的
  • [CF703D]Mishka and Interesting sum/[BZOJ5476]位运算
  • [Design Pattern] 工厂方法模式