基础知识补全_UE资源类

目录

材质

贴图

贴图是基础的2D图片,为模型表面提供色彩、透明度等信息。

法线

法线是垂直于模型表面的方向。如果一个面的法线背对摄像机,通常会不进行渲染,以节省性能,这称为背面剔除。

知乎-什么是法线?3D建模中法线贴图的原理和工作方式是怎样的?

UV坐标

UV坐标可以和XYZ对比着理解:
XYZ:用来定义模型在三维空间中的位置。
UV:用来定义模型表面在二维纹理上的位置。

其中U 通常代表纹理的水平方向(类似X)。V 通常代表纹理的垂直方向(类似Y,但在图像坐标系中通常原点在左上角,V轴向下为正方向)。

UV有挺多种不同的展开方法,比如平面、圆柱、球面映射等。目前先知道它的作用,就是把3D网格转换为2D的平面展示,以方便上贴图。

材质效果

UE里材质有多种效果,核心的包括有:高光、粗糙度、金属感、透明度等。材质是直接应用到模型上的资源,而贴图是材质中使用到的图像。也就是说,多种效果配合起来,搭配贴图,组合成为材质,赋予模型不同的表现效果。

双面/单面显示

这和前面法线部分的背面剔除有关:让一个模型不适用背面剔除,即可达成双面显示的效果,不同软件有不同的设置方法。

学习任务

这一节有两个任务:
一是制作材质,使得正方体带有:前、后、上、下、左、右的文字。
二是制作半透明材质应用到球体,不需要特殊贴图。

做出来的效果:

动画资源

上一篇在Maya里做好了骨骼动画,这一章来看UE里的动画资源。

UE常用动画资源种类

动画类型概念典型用途
Animation Sequence最基础的动画片段,一段完整的动作数据走路、跑步、攻击、待机
Anim Montage动画蒙太奇,可把多个动画片段组合成一段连招攻击、技能释放、剧情动画
Blend Space根据参数自动混合多个动画走路→跑步的平滑过渡、移动方向混合
Blend Space 1D只有一个混合参数的混合空间根据速度混合走/跑/冲刺
Aim Offset瞄准偏移,只影响上半身骨骼角色移动时上半身瞄准目标
Morph Target模型形变数据,不依赖骨骼面部表情、口型同步、肌肉变形
Additive Animation叠加动画,在基础动画上额外叠加动作上半身射击+下半身跑步、受伤反应
Layered blend per bone按骨骼分层混合,不同骨骼用不同动画上半身攻击+下半身移动
State Machine状态机,定义动画状态之间的转换规则待机→走路→跑步的状态切换

上述动画在UE中分别是怎么播放的

这部分暂跳过,实际要用的时候再现学。这里先贴个deepseek的回答。

动画的Notify

Notify是一种动画事件,当动画序列播放到指定进度的时候,引擎将触发该事件,从而启用游戏逻辑,比如播个音效特效、判定伤害等。和它相关的几项:

类型用途
Anim Notify基础通知,触发蓝图事件或调用函数
Anim Notify State持续状态通知,有开始和结束两个时间点(如播放持续音效)
Anim Notify Track通知轨道,可承载多个通知

材质动画

材质动画不改变模型的顶点或者骨骼位置,而是改变材质参数,从而实现一些表现效果。比如说一些火焰/水流动画,溶解,渐变,UV滚动的效果。

不知为何,联想到了发廊旋转灯:

Animation Sequence类型的动画,数据基于什么坐标系

它的数据基于模型本身的局部坐标系:每根骨骼的变换都是相对父骨骼的,只有Root骨骼是直接相对模型本身的。

UE官方的动画文档

UE 5.6 动画文档

学习任务

这一节的任务分四步:
先制作一个角色BP_SphereCube,使用SKM_SphereCube模型,播放1.3(上一篇第三章)做好的骨骼动画。
然后给角色BP_SphereCube添加一个组件,使用引擎默认的BOX,attach到SKM_SphereCube的Empty骨骼。
再基于Cube骨骼新加一个Socket,此Socket在Cube骨骼上方2M处,命名Socket_Cube。
最后给BP_SphereCube添加一个组件,使用引擎默认Sphere,attach到SKM_SphereCube的Socket_Cube。

完成后的效果:

UE移动组件

角色有了动画,接下来让它在场景里移动起来。

CharacterMovementComponent基本流程

这部分也没展开,先贴个DeepSeek的回答。

UE提供的几种移动模式

在角色移动组件的「默认陆地运动模式」下拉框里可以看到:

RootMotion开启方式

开启方式见下面两张图:

这里还有个插曲:发现自己的UE骨骼树中是这样的(见下图),解决方式是取消打组,重新导出导入。

学习任务

这一节的任务是:让2.2(本篇第二章)中制作的角色可以在场景中,按照动画导出的速度移动。做的时候还有一些自己的疑问,也贴在这里。

最后的效果:

UE粒子系统

接下来是特效。UE里的粒子系统叫Niagara。

Niagara的基础概念

Niagara里有这几个基础概念:
系统:整个特效工程的总容器,包含多个发射器;
发射器:负责粒子的出生与销毁,包含多个模块;
模块:负责粒子的属性,如添加重力、旋转等;
参数:生命周期、速度、颜色、尺寸、角度、初始角度等……
渲染器:决定粒子的可见形式,将粒子渲染为永远面向摄像机的图片、具体的3D模型、可以照亮场景的光源、连成一线的飘带轨迹等。

对照着看:

发射器

发射器按模拟跑在CPU还是GPU上,分为两种:
CPU发射器:粒子的逻辑在CPU上完成,通常处理复杂的粒子逻辑、事件、碰撞;
GPU发射器:部分功能受限,但性能更高,支持更大量级的粒子数量。

粒子常用的资源

做粒子特效时,贴图、材质、静态/骨骼网格体、声音比较常用;高级特效还会有光源、贴花、物理效果、动画、蓝图等……

学习任务

这一节有两个任务:
一是设置粒子无限循环,和一次就结束。
二是使用动画Notify,在1.3(上一篇第三章)的动画上播出任何一个特效。

参考资料:
UE Niagara官方文档
B站上一个不错的Niagara入门教程

完成后的设置和效果:

声音

最后是声音。

Wwise的基础概念

Wwise全称Wave Works Interactive Sound Engine,并非UE原生系统,是一款音频中间件,有较强通用性,兼容不同游戏引擎。它的工作流程是这样的:音效师在Wwise中设计完一整套的音频后,输出一份SoundBank(.bnk 文件),这个文件里面会包含了 声音资源 & 播放逻辑。而对于UE程序员,则只需要触发这份SoundBank里对应的Event,即可在游戏里播放一整套由音效师设计好的音频。

UE5自带的音频系统是MetaSounds,也相当强大,并且由于是UE5原生,性能也会更好,但Wwise仍是主流。延伸阅读:
【虚幻音频】虚幻音频的选择,原生还是中间件?
《明日方舟:终末地》:大型游戏项目的音频系统架构

学习任务

这一节的任务是:使用动画Notify,在1.3(上一篇第三章)的动画上播出任何一个音效。

设置好的Notify:

guest
0 评论
内联反馈
查看所有评论