Unity3D打包Assetbundle丢失Shader问题

news2025/1/12 3:04:46

详情见:https://www.pianshen.com/article/5391338163/

1、Unity3D在打包Assetbundle时,可能会遇到Shader丢失的问题,解决方法:打开Edit->Project Settings->Graphics,在Always Included Shaders列表添加上所需的shader,再打包即可。

2、参考

3、原文复制

Graphics Settings

Scriptable RenderLoop settings

This is an experimental setting which allows you to define a series of commands to control exactly how the Scene should be rendered (instead of using the default rendering pipeline used by Unity). For more information on this experimental feature, see the Scriptable Render Pipeline documentation on GitHub.

这是一个实验设置,允许您定义一系列命令来精确控制场景的渲染方式(而不是使用Unity使用的默认渲染管道)。有关此实验功能的详细信息,请参见GitHub上的可脚本呈现管道文档。可编程渲染管线

Camera settings

These properties control various rendering settings.

这些属性控制各种渲染设置。

Setting:

Description:

Transparancy Sort Mode

透明性排序模式

Renderers in Unity are sorted by several criteria such as their layer number, or their distance from camera. Transparency Sort Mode adds the ability to order renderable objects by their distance along a specific axis. This is generally only useful in 2D development; for example, sorting Sprites by height or along the Y axis.

Unity 中的渲染器按几个标准排序,例如层号或与摄影机的距离。透明度排序模式增加了按可渲染对象沿特定轴的距离排序的功能。这通常只在二维开发中有用;例如,按高度或沿Y轴对精灵排序

Default

Sorts objects based on the Camera mode.

Perspective

Sorts objects based on perspective view.

Orthographic

Sorts objects based on orthographic view.

Transparancy Sort Axis

Use this to set a custom Transparency Sort Mode.

Tier settings

These settings allow you to make platform-specific adjustments to rendering and shader compilation, by tweaking builtin defines. For example, you can use this to enable Cascaded Shadows on high-tier iOS devices, but to disable them on low-tier devices to improve performance. Tiers are defined by Rendering.GraphicsTier.

这些设置允许您通过调整内置定义对渲染和着色器编译进行特定于平台的调整。例如,您可以使用它在高层iOS设备上启用级联阴影,但在底层设备上禁用它们以提高性能。层由rendering.graphictier定义。

Built-in shader settings内置的shader设置

These settings allow you to specify which shader is used to do lighting pass calculations in deferred shading and legacy deferred lighting rendering paths, respectively.

这些设置允许你指定在deferred shading(Deferred Shading是现在比较流行实时渲染方式,这种渲染方式能把Geometry和Lighting之间的耦合解开,把Forward Shading的Geometry Pass*Lighting Pass复杂度下降为Geometry Pass+Lighting Pass,特别适合于渲染较多动态光源的场景)和legacy deferred lighting中哪些shader被用于光照通道的计算。

Setting:设置

Description:描述

Built-in shader(Default value)

Use Unity’s built-in shaders to do the calculation.

Custom shader定制shader

Use your own compatible shader to do the calculation. This enables you to do deep customization of deferred rendering.用你自己的兼容的shader用于计算。这样你就可以深度定制 deferred rendering。

No Support不支持

Disable this calculation. Use this setting if you are not using deferred shading or lighting. This will save some space in the built game data files.关闭计算。如果你没有使用 deferred shading或者 lighting。这将会节省你构建游戏数据文件的空间。

Always-included Shaders一直包括的shader

Specify a list of Shaders that will always be stored along with the project, even if nothing in your scenes actually uses them. It is important to add shaders used by streamed AssetBundles to this list to ensure they can be accessed.

指定一个将会一直存在工程中的shader列表,即使你的场景中没有任何东西使用它们。对于assetbundlle中用到的 shader 把他们加到这个list中非常重要,可以防止shader丢失。 (当需要导出的资源中使用的是内置的shader的时候需要注意这个)

Shader strippingshader剥离(根据当前打开场景的光照贴图模式和雾的模式把导出的shader中没有用到的shader variants剔除掉不导出,可能导致光照丢失和雾丢失的问题

Lower your build data size and improve loading times by stripping out certain shaders involved with lighting and fog.降低打包的数据大小和通过剥离光照和雾中涉及的特定的shader提高加载的速度。

Setting:

Description:

Automatic(Default value)自动

Unity looks at your scenes and lightmapping settings to figure out which fog and lightmapping modes are not in use, and skips corresponding shader variants.unity查看你的场景和光照贴图的设置来知道哪些雾和光照贴图的模式没有用到,然后剥离相关的shader variants.

Manual手动

Specify which modes to use yourself. Select this if you are building asset bundles or changing fog modes from a script at runtime, to ensure that the modes you want to use are included.指定哪些模式你用到了。如果你导出assetbundle或者会用脚本在运行时修改模式,来确保你将要用到的模型被包括了。

Shader preloading shader预加载

Specify a list of shader variant collection assets to preload while loading the game. See Optimizing Shader Load Time page for details.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/146020.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序测试(简单项目测试)

Flex布局简介 布局的传统解决方案,基于盒状模型,依赖 display属性 position属性 float属性 什么是flex布局? Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。 任何一个容器都可以指…

小程序 - 起步:小程序的构成、宿主环境、协同工作和发布

小程序 - 起步:小程序的构成、宿主环境、协同工作和发布 Date: January 5, 2023 Sum: 小程序的构成、宿主环境、协同工作和发布 小程序简介 小程序与普通网页开发的区别 1. 运行环境不同 网页运行在浏览器环境中 小程序运行在微信环境中 2. API 不同 由于运行环境的不同…

P1308 [NOIP2011 普及组] 统计单词数————C++

题目 [NOIP2011 普及组] 统计单词数 题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。 现在,请你编程实现这一功能,具体要求是&#xff1…

数字验证学习笔记——SystemVerilog芯片验证21 ——覆盖率类型

一、覆盖率类型 覆盖率是衡量设计验证完备性的一个通用词语。随着测试逐步覆盖各种合理的组合,仿真过程过程会慢慢勾画你的设计情况。覆盖率工具会在仿真过程中收集信息,然后进行后续处理并且得到覆盖率报告。通过这个报告找出覆盖之外的盲区&#xff0…

冒泡排序模拟qsort函数

欢迎来到 Claffic 的博客 💞💞💞 前言: 学习C语言,一般情况下都会接触到冒泡排序,你知道吗,用冒泡排序的思想可以模拟实现qsort函数(库函数的一种,可以实现快排&#xff…

图解面试题:经典50题!掌握这些题,面试也太简单了!

已知有如下4张表:学生表:student(学号,学生姓名,出生年月,性别)成绩表:score(学号,课程号,成绩)课程表:course(课程号,课程名称,教师号)教师表:teacher(教师号,教师姓名)1.汇总分析-查询学生的总成绩并进行排名/* 【知…

CSS基础知识(盒子模型)

继承上一篇CSS的三大特性的优先级继续讲解。 1.1优先级 优先级注意点: 权重是有4组数字组成的,但是不会有进位。可以理解为类选择器永远大于元素选择器,id选择器永远大于类选择器以此类推。等级判断从左向右,如果某一位数值相同…

前端学习之CSS基础

前言 html标签就不说了&#xff0c;这次学习CSS样式&#xff0c;就是美化html标签。 快速了解什么是css 普通标签&#xff1a; 加了css样式&#xff1a; <img src"https://static.runoob.com/images/icon/mobile-icon.png" style"height:100px" /&…

No module named ‘pycocotools’

网上搜了之后 按照网上的去做 全都无果 开始自己探索 原本我pycharm里选的环境是 python3.8 (pytorch)winR输入cmd进去后 输入 python –V返回的是本地python版本2.7 所以我当前系统python版本和我pycharm里选的不一样 然而pycocotools这个包本质上应该是安装在我pycharm里…

Referer;盗链;防盗链的工作原理

目录 Referrer-policy 如何设置referer 盗链 防盗链的工作原理 绕过图片防盗链 设置meta 设置referrerpolicy"no-referrer" 客户端在请求时修改header头部 利用https网站盗链http资源网站&#xff0c;refer不会发送 常见防盗链方法 利用nginx 服务器端判…

python基础语法一

一、变量 1.1、变量定义 变量就是可变的量&#xff0c;对于一些有可能会经常变化的数据&#xff0c;我们需要使用一个符号&#xff0c;这样才能计算中使 用它&#xff0c;就像我们在小学时学过的一元方程中的"x"一样。比如说&#xff0c;我们在控制台内输入&#xf…

Java 集合List接口介绍和使用

List接口的基本介绍 1.List接口是Collection的子接口 2.List中的元素都是有序的除了LinkedList。 一些实用的方法 1.add()添加元素 2.get()得到指定位置的元素 3.addAll&#xff08;&#xff09;追加一个List 4.indexOf&#xff08;&#xff09;返回元素的位置 5.remove…

人工智能 -多任务编程、进程、线程介绍

目录1&#xff0c; 多任务的概念2&#xff0c;进程2.1进程的介绍2.2多进程完成多任务2.3进程执行带有参数的任务2.4获取进程编号2.5进程间不共享全局变量2.6主进程和子进程的结束顺序3、线程3.1多线程完成多任务3.2线程执行带有参数的任务3.3主线程和子线程的结束顺序3.4线程中…

连续子数组的最大和(从暴力理解到DP)

连续子数组的最大和题目思路暴力解题思路画出矩阵进行分析确定转移方程DP代码题目 思路 从leetcode上看到的题解&#xff0c;突然恍然大悟&#xff0c;之前不容易理解转移方程终于理解了&#xff0c;这个思路真的对新手很友好&#xff0c;现在出一个C版本&#xff0c;而且&…

谷歌出品,数据集搜索引擎上线了!

文 | 小戏记得在刚入门 ML 时&#xff0c;希望找到一个关于特定领域下的数据集&#xff0c;涉世未深的我在中文互联网不断搜索&#xff0c;可每每点进链接出来的都是某 SDN 下载的高价勒索。用惯了直接从老师同学那里讨来的数据集的我第一次感受到了“寻找数据集”这样一个简单…

【并查集】实现思路及例题

一、应用场景 用于处理不相交集合的合并和查询问题 示例&#xff1a; n 个元素&#xff08;分属不同的的 n 个集合&#xff09;&#xff0c;进行两种操作&#xff1a; 并 —— 给出两个元素的关系&#xff0c;合并两个集合查 —— 查询两个元素是否在同一个集合 二、并查集…

「数据密集型系统搭建」原理篇|用什么方式存储数据最合适

本篇来聊聊数据存储的内容&#xff0c;看看程序世界里数据是以什么形式存在的&#xff1f;为了描述数据并把它们和这个现实世界关联起来我们一般都是如何去进行表达的&#xff1f;最后通过我们习惯的表达方式再结合数据结构是如何存储下来的&#xff1f; 在进行技术方案设计的时…

分享102个PHP源码,总有一款适合您

PHP源码 分享117个PHP源码&#xff0c;总有一款适合您 PHP源码下载链接&#xff1a;https://pan.baidu.com/s/1Ike0x99BcMfZPy6tFSpM9w?pwdzqem 提取码&#xff1a;zqem import os from time import sleepimport requests from bs4 import BeautifulSoup from docx import D…

Linux 系统Bash的常用功能

了解了基本的Linux文件文件系统的概念后,我们将更深入的了解一下Linux的其他方面的内容,那就是我们所使用的用户接口,也就是大家常听到的 Shell ,是一种Linux的命令接口,在 Linux 的世界中,默认使用的是 GNU 开发出来的 shell ,称为 BASH Shell,简单来说,我们之前使用的几个命令…

10.JS笔记-对象

1、什么是对象 对象是一个具体的事物&#xff0c;在js中&#xff0c;对象是一组无序的属性和方法的集合 属性&#xff1a;事物的特征 方法&#xff1a;事物的行为 2、创建对象 利用字面量创建对象利用new Object创建对象利用构造函数创建对象 2.1 变量、属性和方法、函数的…