我遇到了动画模型的一些问题。我加载一个模型,创建一个模型实例,然后我按比例缩放:
for (int i = 0; i < modelInstance.nodes.size; i++) {
modelInstance.nodes.get(i).scale.set(axisScale);
}
modelInstance.calculateTransforms();
(然后我创建一个匹配模型实例边界框的子弹形状) 到目前为止,这一直很有效。但是现在我得到了一些新的动画模型,一旦它们开始制作动画,它们就会恢复到从Maya导出的原始音阶(这对于我的游戏来说是错误的100倍)。
模型或fbx-export是否有问题,或者我做错了什么?我尝试在顶级NodeAnimations中扩展所有NodeKeyFrames,但仍然无法让它看起来很好(模型在开始动画时被翻译)
我已经在G3DJ文件中查找了该模型,但我不确定它应该如何。我看到了&#34;骨头&#34;仍然将比例设置为1.0,但所有&#34; top-nodes&#34;得到了正确的比例0.01
"nodes": [
{
"id": "chest_small",
"scale": [ 0.010000, 0.010000, 0.010000],
"parts": [
{
"meshpartid": "shape1_part1",
"materialid": "smallchest",
"bones": [
{
"node": "chest_medium1:root",
"translation": [-0.000000, -0.000000, -0.000000, 0.000000],
"rotation": [-0.000000, 0.000000, -0.000000, 1.000000],
"scale": [ 1.000000, 1.000000, 1.000000, 0.000000]
},
{
"node": "chest_medium1:chest",
"translation": [-0.000000, 19.035118, -0.000000, 0.000000],
"rotation": [-0.000000, 0.000000, -0.000000, 1.000000],
"scale": [ 1.000000, 1.000000, 1.000000, 0.000000]
}
],
"uvMapping": [[ 0]]
}
],
"children": [
{
"id": "lid",
"parts": [
{
"meshpartid": "shape2_part1",
"materialid": "smallchest",
"bones": [
{
"node": "chest_medium1:hinges",
"translation": [-0.000000, 19.035118, -13.654591, 0.000000],
"rotation": [-0.000000, 0.000000, -0.000000, 1.000000],
"scale": [ 1.000000, 1.000000, 1.000000, 0.000000]
},
{
"node": "chest_medium1:lid",
"translation": [-0.000000, 29.616650, 2.217263, 0.000000],
"rotation": [-0.000000, 0.000000, -0.000000, 1.000000],
"scale": [ 1.000000, 1.000000, 1.000000, 0.000000]
}
],
"uvMapping": [[ 0]]
}
]
},