unity如何以窗口为基准移动模型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity如何以窗口为基准移动模型相关的知识,希望对你有一定的参考价值。
参考技术A 一、创建Unity项目打开Unity游戏编辑器界面,在导航菜单栏中选择File ---> New Project菜单项,在弹出界面中选择Create new Project页面,将项目名命名为MobilityModel,然后再点击Create Project,完成项目的创建。
然后点击保存(Ctrl+S)保存场景。
二、构建模型
在Hierarchy视图中分别创建游戏对象Plane(面板)、Cube(立方体)、Sphere(球体)、Cylinder(圆柱体)、Capsule(胶囊体),然后鼠标拖动创建的游戏对象将他们摆放在合适的位置。
接下来在游戏中添加一个光源,在Hierarchy视图中选择Create--->Directional light菜单项,光源是游戏中非常重要的一个属性,一定要在游戏场景中设置它,如果不设置光源对象,Game视图会非常暗,严重影响游戏的效果。
Unity3D 官方移动游戏优化指南7.资源
资源管线可以大幅影响应用程序的性能。经验丰富的技术美术师可以帮助您的团队定义和增强资源格式、规范以及导入设置。
不要依赖于默认设置。使用平台特定的覆盖选项卡可以优化纹理和网格几何体等资源。如果设置不正确,则可能造成较大的编译版本大小、较长的构建时间,以及较差的内存使用量。可以考虑使用预设功能来帮助为特定项目自定义基准设置,以确保最优设置。
请参阅此艺术资源最佳实践指南了解更多详细信息,或者在 Unity Learn 上了解有关适用于移动应用程序的 3D 美术优化的课程。
正确导入纹理
纹理会占用大部分内存,因此,导入设置非常重要。通常,请遵循以下指导原则 :
- 减小 Max Size :使用能生成视觉上可接受的结果的最低设置。这种非破坏性方式,可以快速降低纹理内存。
- 使用 2 的幂 (POT) :Unity 要求移动端纹理压缩格式 (PVRCT 或 ETC)采用 POT 纹理尺寸。
- 制作纹理图集 :将多个纹理放置到单个纹理中,可以减少绘制调用和加快渲染速度。使用 Unity 精灵图集 或第三方 Texture Packer 可以制作纹理图集。
- 关闭 Read/Write Enabled 选项 :如果启用,此选项在 CPU 和 GPU 可寻址内存中都会创建副本,纹理会占用双倍内存。大多数情况下,应保持此选项为禁用状态。如果要在运行时生成纹理,请通过 Texture2D.Apply 强制执行,并且传入设置为 true 的 makeNoLongerReadable。
- 禁用不必要的 Mip Map :对于在屏幕上大小保持不变的纹理(如 2D 精灵和 UI 图形),Mip Map 不是必需的,对于与摄像机的距离会变化的 3D 模型,请保留 Mip Map为启用状态。
正确的纹理导入设置有助于优化版本大小。
压缩纹理
考虑以下使用相同模型和纹理的两个实例。左侧的设置几乎使用右侧设置八倍的内存量,但并没有改善视觉质量。
未压缩的纹理需要更多内存。
对 iOS 和 Android 都使用自适应可伸缩纹理压缩 (ATSC)。绝大多数开发目标最低规格设备游戏都支持 ATSC 压缩。
唯一的例外是 :
- 适用于面向 A7 设备或更低规格的 iOS 游戏(例如 iPhone 5、5S 等)— 使用 PVRTC
- 适用于面向 2016 之前的设备的 Android 游戏 — 使用 ETC2(Ericsson 纹理压缩)
如果压缩格式(如 PVRTC 和 ETC)的质量不够高,并且目标平台不完全支持 ASTC,请尝试采用 16 位纹理而不是 32 位纹理。
请参阅手册了解有关各平台的推荐纹理压缩格式的更多信息。
调整网格导入设置
与纹理很像,如果导入时不小心,网格可能占用过多内存。要尽可能减少网格占用的内存,请执行以下操作 :
- 压缩网格 :高性能压缩可以减少占用磁盘空间(但不会影响运行时的内存)。请注意,网格量化可能造成不准确,因此应试验不同的压缩级别,从而找到适合模型的压缩级别。
- 禁用 Read/Write :如果启用此选项,内存中会有重复网格,网格的一个副本在系统内存中,另一个在 GPU 内存中。大多数情况下,应将其禁用(在 Unity 2019.2 以及更早版本中,此选项默认为选中状态)。
- 禁用骨骼和 BlendShape :如果网格不需要骨架或 BlendShape 动画,请尽可能禁用这些选项。
- 尽可能禁用法线和切线 :如果确信网格的材质不需要法线或切线,请取消选中这些选项,以节省更多内存。
检查网格导入设置。
检查多边形数量
分辨率越高的模型,需要的内存使用量越大,并且可能占用更长的 GPU 时间。您的背景几何体是否需要五十万个多边形?考虑减少所选 DCC 包中的模型。删除摄像机的视角看不到的多边形。使用纹理和法线贴图而不是高密度网格来实现精细的细节。
使用AssetPostprocessor 自动执行导入设置。
利用 AssetPostprocessor 可以在导入资源时运行脚本。这样,您可以在导入模型、纹理、音频等之前和 / 或之后对设置进行自定义。
使用可寻址资源系统
可寻址资源系统提高一种简化的方法来管理内容,按“地址”或别名加载资源包。这种统一的系统从本地路径或远程内容分发网络 (CDN) 执行异步加载。
如果将非代码资源(模型、纹理、预制件、音频,甚至整个场景)拆分为资源包,则可以将它们分为可下载内容 (DLC)。
然后,使用 Addressables 为移动端应用程序创建较小的初始构建版本。云端资源分发可承载您的游戏内容并随着玩家的游戏进展将内容分发至玩家。
使用可寻址资源系统按“地址”加载资源。
单击此处查看可寻址资源系统如何简化资源管理。
以上是关于unity如何以窗口为基准移动模型的主要内容,如果未能解决你的问题,请参考以下文章
如何使用带有两个构造函数的viewmodel的Unity框架显示子窗口?