Unity3d VFX 采用skinned mesh sampling(蒙皮采样)发射粒子效果时fbx模型是否优化(Optimized)带来的问题记录

前言&问题

如题的问题困扰了很久,最近终于在机缘巧合下解决了,这里特此记录分享一下,可能会对此有问题的朋友有点引导。
之前在弄一个通过摄像头/或视频识别人物的肢体动作并同步的功能:
在这里插入图片描述

详细功能可以去B站查看一下。https://www.bilibili.com/video/BV1hK411R7Rm/?vd_source=69a85362c36ed5c2dfea745f5dae45af
新想着在人物上加上一些炫酷的粒子特效可以提高一下观感,在GitHub上发现了大神制作的蒙皮网格采样功能与VFX图形一起使用,以从动画中发出粒子特效,效果特别的好:

在这里插入图片描述
在这里插入图片描述

https://github.com/keijiro/Smrvfx

就想将其加入的我做的工程中人物动作同步的模型上。
随之而来的问题就出现了,案例中的模型开启了Optimize Game Object选项,
在这里插入图片描述

这样角色的骨骼都隐藏了,就无法实现我需要的同步动画的功能了。所以只能使用不优化的选项模型(关闭Optimize Game Object选项),才能将骨骼节点暴露出来。但是不管使用案例中的未优化模型还是自己添加的未优化的模型效果都有偏差:
在这里插入图片描述

特效和模型总有位置/旋转值的偏差问题,同时我也将该问题反馈给作者大神了,https://github.com/keijiro/Smrvfx/issues/38,大神还是亲自给我解答了,经过更深层的交流,大神亲自尝试了在未优化模型使用该特效,结果给出了“这个问题没有在我这边重现:我将“Beta 优化”替换为“Beta”,并且它工作正常。”的答复锤了我。
在这里插入图片描述

我基本放弃了该特效在我工程中的使用了,但是只是肯定特效是可以在不优化骨骼的模型上使用的,一遍一遍的问自己这是为啥呢。。。。

解决方法

在这两个月间断的尝试了好几种方法,找建模的同事将两个模型的对比了,还有看两个模型的轴位置之类的进行了同步修改,但是最终还是没有正常。不过此举在现在看来是多此一举了,因为特效是通用的。

尝试在Visual Effect Graph中发现点什么,不过点开后还是放弃了,虽然是可视化的编辑器,但是看到这么多方块和连线,
在这里插入图片描述

在学习了一段时间后果断的放弃了。

在翻阅了很多文档后看到了“VFX Property Binder 功能则可用于确定绑定骨架结构所需的组成部分”,也就是说骨骼的这是骨骼绑定的节点,而不是蒙皮渲染节点的绑定。
那就是VFX Property Binder组件脚本需要绑定角色的骨骼即可,曾经我无限接近这个成功尝试,只是添加了是骨骼的父节点。那现在我进行了一下操作特效都正常了:
在这里插入图片描述
在这里插入图片描述

看来真的是需要无限的尝试才能接近成功啊,最后正常的效果:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_33789001/article/details/128676454