联系电话:18652913986
行业资讯位置:首页 > 行业资讯
Pivot Painter in Blender
发表时间:2024-03-20     阅读次数:     字体:【

图片


但是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工具。


图片


2
Blender设置


这次我们主要使用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中。


图片


最后得到的效果如下;


图片



文章转载自

Thepoly

 
上一篇:捏脸作品分享
下一篇:观看之道:思考与表达