挂点系统的问题

准备工作:
parent.blend 是父模型烘培动画
son.blend是子模型烘培动画

在游戏中,父模型会动态地切换子模型。

test.blend 是将两个模型当一个整体调动画效果的文件,最终各个模型的动画各文件自己输出。

一、工程样例中,采用手工挂点方式,子模型scale 100了,是BUG还是操作方法不对啊?

二、creator 3d 中挂点后,怎么让两个动画按调试的效果,同时播放啊?(test.blend播放的效果)

blend&fbx.zip (745.3 KB))

creator 3d.zip (926.6 KB)

引擎和和外部工具间的衔接,整个文档中没有找到,这部分内容虽不是引擎内容,但是由引擎来实现集成的,请引擎组帮忙解答哈。

3D项目立项在做预研发,请老大们多多支持 ! 论坛里挂点相关的文档都找完了。

具体业务背景:
1、角色拿枪,不同的枪换弹动作不一样。
2、换弹时,角色有自己的动画,枪也有自己的动画。
3、角色可以拥有多条枪;
这就要求角色和枪的动画需单独输出,然后在引擎中集成。

附件中:parent.blend代表角色;son.blend代表枪;test.blend代表在blender中的集成效果。

问题:在creator3d里,怎么实现这个集成效果?

  1. 挂点上有 100 倍的 scale 看起来是因为 “骨架” 那个节点上的确有这个缩放,挂点只是忠实地还原对应节点的变换;
  2. 目前编辑器好像还不支持动画片段的同时多播,只能都勾选 playOnLoad 在浏览器里看了。

另外你的 son 模型没有完整地挂在挂点上,直接把 fbx 拖到挂点上就行,正常应该是这样的结构:

谢谢。这个100 scale 是在设置Target时产生的。

demo是简化的模型,没有地方去scale 100. blender里都应用变换了。你可以很容易重现。

你没有100scale 吗?就上面的资源,肯定是有的啊。再用了其它模型,也有这个问题。

这应该是个问题。

是有的,就在 “骨架” 这个节点上,但这应该是 fbx2gltf 做单位转换时加入的变换,引擎内其实没有做什么改动,现在好像也没法定制这个流程,如果这个比较影响的话,可以手动地把这个节点的缩放改一下吧

blender直接导出的fbx或gltf,没有用fbx2gltf之类。而这个数据产生变化的触发点,是在creator3d里啊,scale是在这里发生变化的吧。

外部3D模型工具的尺寸单位和CC3D的尺寸单位,如何保持统一,有什么标准说法吗?

3D尺寸没什么标准,自己通过一个cube来测试比例。
不过Creator 3D能直接提供一个配置缩放功能就好了,这样不用游戏里调整了。

挂点在IDE设置的效果,和运行调试预览不一致。挂点在和blender导出集成这个地方,肯定有问题。

creator3d效果:

浏览器调试效果:

shit,按ctrl+r刷新后,坐标位置和调试环境一样,这是creator3d里调坐标后,没有写入文件吧。

是的,对 fbx 文件编辑器里会使用 fbx2gltf 先转成 gltf 再导入,常会有缩放问题

你在编辑器里调整了哪个点的位置呢?

挂点挂上子对象后,位置不对,手动调整位置。调整的是挂点子对象,即被挂物体。

测试导出gltf格式,NLA轨道下,Action Stash的动画,creator3d解析不出来。

blender下的动画:

加到creator3d后的效果:

挂点应该是一个常用功能,是我的用法不对,还是没有人使用啊?我发现的这些问题都很明显出现,很容易重现。

你描述的还是不太明确,如果有能准确复现的场景发一下吧,我这确实没有遇到过不对的情况

这里描述了三个问题:
问题一、blender 中做动画,把多条动画烘培后放在NLA轨道上,fbx输出正常;但gltf在blender上所有输出参数都试过了,在creator3d里看不到动画。

untitled.zip (115.1 KB)

程序中有用到fbx2gltf,这是推荐使用gltf格式吧,也正是这样才去测试gltf,但导出来的文件动画却显示不出来。

在blender的动作编辑器里选中一个动画,gltf可以导出选中动画,且挂点位置正确。一楼附件gltf文件中包含一个动画是这样输出的。但模型是粉红色,也有问题。

问题二、此贴第一楼的内容有附件。
补充:实际测试发现,fbx在win7下有放大100倍问题;在mac下有修正位置、旋转、缩放,但位置有偏差。

问题三、12楼的描述,有点不稳定。先不理会吧

  1. 现在各 dcc 工具的 gltf 导出插件质量不一,有些导出的东西的确不符合标准,你发的压缩包里的 glb 和 gltf 的确都没有动画信息,可以在 vscode 里装一个 gltf 的插件快速验证;模型是粉色意味着没有材质信息,还是得检查下是不是没导出材质;
  2. 模型导入效果应该是不分平台和操作系统的,流程是统一的,放大 100 倍也是 fbx2gltf 正常的单位转换,还是麻烦明确你的问题是什么