Materials - UE5中的PivotPainter

个人学习笔记的归档和发表;文中所有案例都来自官方的ContentExample中的PivotPainter相关关卡;

可以使用3DS Max Script中的脚本(Pivot Painter)对模型进行处理,让每个Element都有自己的Pivot Point,来方便控制和制作一些特殊的顶点动画效果;

Pivot Painter的使用可参考:Pivot Painter Tool,下面是UE中的使用相关部分;

。。。。。。。

可以利用所获得的X-Axis Vector来求出其它的轴向信息,来完成一些如植被与玩家互动的效果;思路为,获得Player的世界坐标位置,传入到材质参数中,然后通过减去PivotPostion获得下图中的绿色向量(从Box的位置朝向玩家方向),利用其和X-Axis Vector叉乘来获得下图中蓝色的轴向量,这样,就可以利用RotateAboutAxis来让Box以蓝色轴来旋转,玩家在移动过程中,由于坐标位置的变化,蓝色轴方向也会随之变化,旋转方向也会随之变化,可以制作如草地被压倒等相关效果;

。。。。。。。

注意这里PivotPainter_TreeData节点与PivotPainter_HierarchyData节点的关系类似PivotPainter_PerObjectFoliageData节点和PivotPainter_PerObject节点的关系,前者是为了在植被材质中更方便的使用而在后者的基础上的扩展版本;

不同于PerObject方式,PivotPainter会把层级数据(HierarchyData)中的父级(Parent)的坐标和朝向存放在顶点色和TexCoord[3]的G通道中,子级(Child)的坐标和朝向存放在TexCoord[2]和TexCoord[3]的不同通道中;PivotPainter_TreeData节点中则被称为Branch(Parent)和Leaf(Child),其实与PivotPainter_HierarchyData同理;

那么接下来的思路就很明确了,整个WPO部分的逻辑,分为整体运动(树干)、父级运动(树干上的主要的树枝)以及子级运动(树枝上的树叶等),把各个部分合起来,形成最后的树木动画模拟;

。。。。。。。

文章发表在知乎:

Materials - UE5中的PivotPainter - 知乎


相关推荐
AA陈超2 分钟前
UE5笔记:OnComponentBeginOverlap
c++·笔记·学习·ue5·虚幻引擎
AA陈超9 小时前
ASC学习笔记0014:手动添加一个新的属性集
c++·笔记·学习·ue5
曹勖之12 小时前
UE5中,导入的CAD的Actor为什么Simulate Physics无法被勾选?
ue5
AA陈超20 小时前
ASC学习笔记0001:处理目标选择系统中当Actor拒绝目标确认时的调用
c++·笔记·学习·游戏·ue5·游戏引擎·虚幻
AA陈超1 天前
ASC学习笔记0022:在不打算修改属性集时访问生成的属性集
c++·笔记·学习·ue5·虚幻引擎·unreal engine
曼巴UE51 天前
UE5 C++ 定时器 官方案例练习
ue5
曹勖之1 天前
UE5导入的CAD文件零件如何被Merge?
ue5
Creator丶小鑫1 天前
UE5 PAK 封包 加载实用方法
ue5·ue5 pak 封包解包·ue5 获取所有文件路径·ue5 调用cmd·ue5 保存写入txt
AA陈超2 天前
ASC学习笔记0017:返回此能力系统组件的所有属性列表
c++·笔记·学习·ue5·虚幻引擎
AA陈超2 天前
ASC学习笔记0019:返回给定游戏属性的当前值,如果未找到该属性则返回零。
c++·笔记·学习·游戏·ue5·虚幻引擎