ue4设置组合键_UE4项目美术架构

工作之后经历过一些项目,虽然不多,但还是踩过一些美术的坑。这里基于之前项目经验,对美术架构提出一些建议,希望能给其他开发者一些启发。
【如果有文章中没有涉及到或者错误之处,也希望积极交流】

本文主要通过以下几个方面来讨论
一、目录层级和命名规则
二、贴图规范
三、材质、材质实例及材质函数
四、模型和动画

一、目录层级和命名规则

对于UE4项目来说,模型和贴图的来源一般有两种方式:外包资源(无版权纠纷的网站上的资源或者UE4商城的资源也暂时划分成此类)或者内部制作。一般来说仅当全部资源为内部制作且材质数量较少时,采用根目录下的单独文件保存材质和贴图

87b2847528704a714c2623990cf17e9b.png

否则尽量将材质和贴图保存在对应资源模型的文件夹下。

9024d18a0e15a5c14d186251af9c1d24.png
如果数量比较少,甚至可以不建立文件夹

其次是命名规范,项目开发之初,应该确定好本项目的命名规范,包括美术资源(也可以参考官方示例或其他开发者,比如https://wiki.unrealengine.com/Assets_Naming_Convention)。
当需要搜索某种资源时,只要输入相应的前缀和后缀关键字,就可以轻松找到(推荐使用Ctrl+P组合键快速搜索)。

二、贴图规范

1.贴图的大小必须是二的整数幂

这是很重要的一点,也十分简单,但仍有很多美术不在意这一点。举个简单的例子,比如我截取了两张图,一张127*256,一张128*256,分别导入引擎。

5d5f1cef095d88f662c814be1f131b10.png
注意观察两张图的导入设置(尤其是红圈部分)

UE是一个很智能的引擎,它几乎能清楚地了解你这张贴图是想要做什么的,并自动把对应的设置替你勾选好(所以图里的不同部分,是UE自己识别的结果)。我们都知道世界场景里的物体在渲染时,会依据离摄像机的距离不同而从不同mip等级的贴图上采样。所以当贴图的大小是2的整数次幂时,UE就会自动帮你生成一组mip贴图(数量取决于贴图的边能被2整除到何种程度)。但如果你的贴图由于边长原因不能被自动处理,它将始终使用原贴图的大小,这在一些时候将会给性能带来致命影响。

不仅如此,如果边长不能被2整除,LOD Bias也无法方便地使用,不能方便地针对多平台进行贴图优化等环节。

2.独立Alpha还是RGBA?

有两种导入Alpha通道(下文称A)的方式,一种是把A和RGB放进一张贴图中,一种是分开导入。第一种更方便,也好写shader,第二种一定程度来说更规范,也可以避免一些显示问题(比如一些比较细的草或者钢丝网,如果使用第一种方式,当摄像头拉远之后会消失,需要适当修改一下A通道)。两种方式都可以,但一定要在项目之初就确定好导入方式,不然可能会导致shader的重用性大大降低。

3.贴图的明度

为了更真实的渲染效果,避免贴图过度饱和,避免贴图过暗(经验值明度50以上)。

4.合理设置贴图属性

虽然UE会自动识别绝大多数贴图并自动设置,但仍要在导入时仔细检查,然后根据实际用途设置好贴图的各个属性。比如用于UI的图就设置组别UI、永不流送等(不然可能进入游戏时看到模糊的UI或者看不到UI)。具体应该如何设置可以参照官方文档,这里不作展开。

三、材质、材质实例及材质函数

1.规范建立母材质和材质函数

有些常用的母材质和材质函数可以放置于一个特殊文件夹,供所有shader编写者共用,避免重复造轮子并增强shader可读性。比如常见的UV坐标变换函数

acf5b3a4fb9746e5c41b39340d39509c.png
这个函数就可以作为一个公用材质函数

2.合理使用材质实例

材质实例不仅可以增强可维护性,还可以优化性能。几乎在任何情况下,都使用材质实例直接赋予模型。

3.材质内参数的命名

材质内参数的命名也需遵循规则,比如底色贴图都叫BaseColor,法线贴图都叫Normal.....这样当进行代码操作时,可以方便地使用copy parameter函数。

四、模型和动画

1.LOD

绝大多数项目,模型应做好LOD。使用UE自带的工具去制作也很方便。

2.尽量减少动画的数据

可以用蒙太奇实现的动作,尽量不要通过源文件来完成(可以减少文件数量,方便管理,小项目可以忽略此条建议)。

除了上述几条之外,还应根据发布平台和目标效果提前确定好贴图精度和场景面数等,减少后期优化压力。

时间仓促,涉及的点不多,欢迎补充。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值