返回介绍

艺术资源最佳实务指南

发布于 2021-06-19 18:03:25 字数 3730 浏览 808 评论 0 收藏 0

Unity 支持各种程序或源中带纹理的三维模型。本小指南由 Unity 的游戏设计师和开发人员共同编写,帮助您创建更好的资源,提高在 Unity 工程中的工作效率。

比例和单位

  • 给软件设置系统和工程单位(如公制),与 Unity 保持一致。
    • 比例大小对灯光和物理模拟都很重要。
    • 注意,Max 系统的默认单位为英寸,Maya 的默认单位为厘米,等等。
    • Unity 对导入的 FBX 和三维应用程序文件采用不同的比例,请检查检视器 (Inspector) 中的 FBX 导入比例设置。
    • 如果有疑问,可以在场景导出一个单位为米的立方体,与 Unity 匹配。
  • 动画帧速率默认值在不同程序包中有所不同,可在管道中统一设置,如 30fps。

文件和对象

  • 用清楚易懂的独特名称给场景中的对象命名。这样做有助于找到和解决工程中的具体网格问题。
  • 避免使用 *()?"#$ 等特殊字符。
  • 使用简单的描述性名称给对象和文件命名(便于以后复制)。
  • 使层级视图尽可能的简单。
  • 对于三维应用程序中的大工程,可以考虑在 Unity 工程目录外有一个工作文件。这样做通常可节约更新和导入不必要数据的时间。

命名清楚易懂的对象有助于快速找到内容

网格

  • 建立一个高效拓扑。只在需要时使用多边形。
  • 如果多边形太多,请优化几何体。许多角色模型须智能优化或由设计师重新构建,特别是源于下列几项或用其构建的模型:
    • 三维采集数据
    • 三维人物软件 (Poser)
    • 数字雕刻软件 (Zbrush)
    • 其他用于渲染的高精度 Nurbs/Patch 模型。
  • 如果有能力,尽量购买分布均匀的多边形构筑物、景观和建筑物模型,将有助于进行照明,避免遇到棘手的问题。
  • 避免使用细长的三角形。

到达帧速率顶点的阶梯

用于创建对象的方法可对多边形数量起到巨大影响,特别是未优化之时。在上图中,形状相同的网格在右边有 156 个三角形,左边有 726 个三角形。726 个多边形看起来不是很多,但如果在一个关卡中使用 40 次,就会发现时间节约不少。新手从简单的开始,需要时再增添细节,通常是个不错的办法。添加多边形始终比删除简单。

纹理

如果对纹理尺寸大小进行二次方(如 512x512 或 256x1024)处理,纹理的操作效率会变高,构建时也不需要重新调整尺寸。最高可使用 4096x4096 像素(但是在许多图形卡/平台上最高只有 2048x2048 像素)。可在线搜索有关创建出色纹理的专家建议,而下列指南有助于处理工程时获得最高效率:

  • 在 unity 工程外使用高分辨率源文件(如 PSD 或 Gimp 文件)。通常可降低源文件的大小,反之不适用。
  • 使用场景中要求的纹理分辨率输出(保存副本,如 256x256 已优化的 PNG 或 TGA 文件)。可根据纹理显示位置和张贴位置来判断。
  • 将输出纹理文件一起保存到 Unity 工程中(如 \Assets\textures)。
  • 保存/导出时确保三维工作文件引用相同的纹理,保持一致性。
  • 利用纹理的可用空间,但要注意不同材质需要相同纹理的不同部分,防止多次使用/加载该纹理。
  • 对于可能要求不同着色器的 alpha(裁剪图)和元素,将纹理分开。例如,下面的单纹理(左)已被三个较小的纹理(右)代替。

一个纹理(左)与三个纹理(右)

  • 利用(无缝重复的)平铺纹理,从而在空间上重复使用的更好分辨率。
  • 删除位图上清楚易见的重复元素,要仔细对比。如果想添加细节,可使用贴标和对象阻止重复。

平铺纹理 ftw

  • Unity 能很好地压缩其他平台输出的文件格式,除非源文件已经是 JPG 格式且分辨率正确,否则最好使用无损格式的纹理。
  • 从照片中获取纹理页面时,减少个别模块可重复的部分。例如,无需使用十二个相同的窗口占用纹理空间。这样就可以用这个窗口添加更多的像素细节。

您需要所有这些窗口吗?

材质

  • 整理好场景中的材质并命名。这样导入时在 Unity 中查找和编辑材质更加容易。
  • 通过下列两种方式选择在 Unity 中创建材质:
    • <modelname>-< material name> 或
    • <texture name> - 确保自己清楚想要的纹理。
  • 本地包中的材质设置不会全部导入 Unity:
    • 一般支持漫反射颜色 (Diffuse Colour)、漫反射纹理 (Diffuse texture) 和名称 (Names)
    • 着色器模型、高光、法线、其他二级纹理和内容材质设置不会被认可/导入(3.5 版支持)

导入/导出

Unity 可使用两种文件:保存的三维应用程序文件和导出的三维格式。最后决定使用的文件类型非常重要:

保存的应用程序文件

Unity 可通过转换导入:Max、Maya、Blender、Cinema4D、Modo、Lightwave 和 cheetah3D 文件,如 .MAX、.MB、.MA 等等 请参阅导入对象了解更多内容。

优点

  • 快速迭代过程(保存和 Unity 更新)
  • 简单初始化

缺点

  • 必须在使用 Unity 工程的所有机器上安装授权的软件副本
  • 文件会因不必要的数据变得臃肿
  • 大文件会减慢 Unity 的更新速度
  • 验证较少,更难解决问题

导出的三维格式

Unity 还能读取 FBX、OBJ、3DS、DAE 和 DXF 文件。请参阅本部分了解通用导出指南。

优点

  • 只导出所需的数据
  • 在 Unity 之前验证数据(重新导入三维软件包)
  • 一般是较小的文件
  • 促进模块化方法

缺点

  • 可能是较慢管道或原型及迭代
  • 容易失去源文件(工作文件)和游戏数据(导出的 FBX)之间的版本联系

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文