Unreal | Pivot Painter in Blender
UE4虚幻引擎技术pivotpainterThepoly 15026 0
实名

通过了实名认证的内容创造者

发布于 2022-3-25 21:45:34

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 Thepoly 于 2022-3-25 21:49 编辑

            
640.jpg

174551k9r66ex7z719e99h.jpg

Hello . 大家好
今天分享blender里面的pivot painter
我是木偶心没


用unreal官方的话来说,pivot painter tool就是在3d软件里面存储模型支点和旋转信息,然后可以在unreal的着色器系统内部引用该信息以创建交互效果。具体参考链接:
https://docs.unrealengine.com/4.26/en-US/AnimatingObjects/PivotPainter/
官方pivot painter效果:



但是unreal官方只有关于支持max的工具和教程,所以这里我们一起研究一下在blender里面导出数据并在unreal里面加载生成和角色的互动效果。

1安装

首先获取插件,有VPN可以直接访问github获取:
https://github.com/Gvgeo/Pivot-Painter-for-Blender
这边提供百度网盘分享链接:
链接:https://pan.baidu.com/s/177iq3BEd9xq4zGzfOzTiWA
提取码:xje3
下载并解压到本地,打开blender,Edit>Preferences



Add-ons,然后点Install…,加载解压后里面的文件PivotPainterTool280.py,是最新的1.1.2版本。加载进去以后勾选插件并退出references窗口。



在3d窗口中按快捷键N可以弹出安装好的pivot painter工具。



2Blender设置
这次我们主要使用pivot painter来制作草在场景中和角色的交互。所以首先创建草的模型,注意每一片草都是单独的模型并且坐标点在底部,方便添加旋转等效果。

点开pivot painter tool,设置Alpha为HDR-Parent Index(如果是树木的话,我们就会选择HDR-Normalized 0-1 Hierarchy Position,因为树木还有树干叶子,分枝等很多层次结构)。勾选Save Texture to folder,并且在下面选择需要输出textures的本地路径。最后点Save Textures



由于我们默认使用第二套uv来创建pivot painter的texture,所以save出去以后会发现物件多了一套uv1.并且会导出两张图片,一张记录模型各个面片的pivot point,另外一张为displacement map。



最后反手导出一个fbx到unreal。

3
Unreal4设置
注意导入到unreal里面的fbx需要勾选combine meshes,取消勾选import materials 和import textures



然后在引擎里面将模型的collision设置成NoCollision。



再把之前在blender里面导出的两张贴图导进引擎,并设置其中一张贴图Pivot Point Index的压缩设置为HDR,取消勾选sRGB,并且Filter为Nearest;另外一张贴图Xaxis Xextent的压缩设置为VectorDisplacementmap(RGBA8),同样取消勾选sRGB,Filter为Nearest。



创建一个新的材质球,勾选双面,作为草的材质球。
新建一个MPC(material parameter collection),添加一个vector parameter为PlayerLocation,并且在角色蓝图里面给PlayerLocation赋值。




这样获取到角色位置,就可以在草shader里面根绝角色位置来让草产生弯曲旋转等交互。
将pivot painter生成的两张图拉到材质里面,用角色的坐标减去草的坐标得到一个从角色方向 到草的向量,然后和草的displacement map做cross就得草受影响的旋转轴NormalizedRotationAxis。



而旋转角度RotationAngle,用sphere mask来求得角色对草的影响范围。角色越靠近,草的旋转角度越大,所以我们可以把受影响的半径值暴露出去。



Pivot Paint为草的坐标,Position使用Absolute World Position。
所以整个草旋转部分节点如下



最后再和motion mask相乘,然后输出到WPO中。




最后得到的效果如下;



- End -

喜欢Thepoly的可以通过三种方式与我们建立联系。分别是公众号、微信群以及QQ群。公众号是我们最为官方的窗口,更多内容都必须关注公众号后才能获取。另外现已开通网站:www.thepoly.cn更多精彩请关注我们。

         

本帖被以下画板推荐:

还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表