包含此页的版本:
不含此页的版本:
将构建的应用程序的文件大小保持在最小值非常重要,特别是对于移动设备或施加大小限制的应用程序商店。减小大小的第一步是确定哪些资产对其贡献最大,因为这些资产是最有可能优化的候选者。执行构建后,此信息可在编辑器日志中找到。转到控制台窗口(菜单:窗口>常规 > 游戏机 游戏机
的缩写 见词汇表),点击右上角的小下拉面板,然后选择 打开编辑器日志(Open Editor Log) 。
编辑器日志(Editor Log) 提供按类型细分的资产摘要,然后按大小贡献顺序列出所有单个资产。通常,纹理、声音和动画等内容占用的存储空间最多,而脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表、级别和着色器 在 GPU 上运行的程序。更多信息
请参阅术语表通常影响最小。列表中提到的文件头不是资产 - 它们实际上是添加到“原始”资产文件以存储引用和设置的额外数据。标头通常对资产大小的影响很小,但如果 资源(Resources) 文件夹中有大量大型资产,则该值可能会很大。
编辑器日志可帮助你识别可能想要删除或优化的资产,但在开始之前,你应考虑以下事项:
Unity 将导入的资产重新编码为自己的内部格式,因此源资产类型的选择无关紧要。例如,如果项目中有多层 Photoshop 纹理,则在构建之前会将其展平和压缩。将纹理导出为.png文件不会对构建大小产生任何影响,因此在开发过程中应坚持使用最方便的格式。
Unity 会在构建过程中剥离大多数未使用的资产,因此从项目中手动删除资产不会获得任何收益。唯一未删除的资产是脚本(无论如何通常非常小)和 Resources 文件夹中的资产(因为 Unity 无法确定哪些是需要的,哪些不需要)。考虑到这一点,你应该确保 资源(Resources) 文件夹中唯一的资产是游戏所需的资产。您也许可以用 AssetBundles 替换 Resources 文件夹中的 Assets - 这意味着 Unity 会动态加载 Assets,从而减小玩家大小。
纹理通常在构建中占用最多空间。第一个解决方案是使用压缩的纹理格式一种文件格式,用于在 3D 图形硬件(如图形卡或移动设备)实时渲染期间处理纹理。更多信息
请参阅术语表.有关更多信息,请参阅有关特定于平台的纹理压缩的文档。
如果这不能充分减小文件大小,请尝试减小纹理图像的物理大小(以像素为单位)。要在不修改实际源内容的情况下执行此作,请在 项目(Project) 视图中选择纹理,然后在检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表窗口减小 最大大小(Max Size) 。要查看这在游戏中的外观,请放大游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表,然后调整 最大大小(Max Size),直到它在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表视图。更改最大纹理大小不会影响纹理资源,只会影响其在游戏中的分辨率。
默认情况下,Unity 在导入时会压缩所有纹理。为了加快编辑器中的工作流程,请转到 Unity < Preferences,然后取消选中 Compress Assets on Import 复选框。所有纹理都会在构建中压缩,无论此设置如何。
你可以压缩网格体和导入的动画剪辑,以便它们在游戏文件中占用更少的空间。启用网格Unity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
请参阅术语表 压缩一种存储数据的方法,可减少所需的存储空间量。请参阅纹理压缩、动画压缩、音频压缩、构建压缩。
请参阅术语表,选择网格体,然后在 Inspector 窗口中将 网格体压缩(Mesh Compression) 设置为 低(Low)、中(Medium) 或 高(High)。Mesh 和动画压缩 压缩动画数据以显着减小文件大小而不导致运动质量明显下降的方法。动画压缩是在节省内存和图像质量之间进行权衡。更多信息
请参阅术语表使用量化,这意味着它占用的空间更少,但压缩可能会引入一些不准确。试验模型可接受的压缩级别。
请注意,网格压缩只会生成较小的数据文件,并且不会在运行时使用更少的内存。动画关键帧标记动画中过渡的起点或终点的帧。关键帧之间的帧称为中间帧。
请参阅术语表reduction 生成更小的数据文件,并在运行时使用更少的内存;通常,您应该始终启用它。请参阅有关动画剪辑可用于动画角色或简单动画的动画数据。它是一个简单的“单元”运动片段,例如(一个特定实例)“空闲”、“行走”或“运行”。更多信息
请参阅术语表有关此内容的更多信息。
Unity 支持两个 .NET API 兼容性级别:.NET 4.x 和 .NET Standard 2.0。.NET Standard 2.0 将你限制为 .NET API 的较小子集,这有助于缩小大小。