【问题标题】:Sceneform 1.15 Unable to play fbx animations in ARCore- AndroidSceneform 1.15 无法在 ARCore-Android 中播放 fbx 动画
【发布时间】:2020-10-01 03:06:37
【问题描述】:

我是 Sceneform (1.15.0) 和相关 3D 文件格式(如 fbx 和 glTF)的新手。我看到了关于如何运行动画的示例动画项目(Andy Dance)sceneform 文档。

我在尝试什么?

运行场景形式 fbx 资产中存在的动画。我有 2 个资产 - ka27 helicopter3d model

这两个 fbx 资产都有一些动画。当我尝试将这些资产导入 Android Studio 时,它当前会抛出一个 error,我通过将 sceneform 资产添加到我的 sampledata 目录并在 app/gradle 文件中添加信息来克服这个问题。 .sfa 和 .sfb 文件生成正确。

sceneform.asset('sampledata/models/ka27.FBX',
        'default',
        'sampledata/models/ka27.sfa',
        'src/main/res/raw/ka27')

但是现在如果我尝试运行动画,我可以在场景中看到直升机,但没有动画-

arFragment.getArSceneView().getScene().addChild(helicopterNode);
AnimationData animationData = helicopterRenderable.getAnimationData("ka27");
ModelAnimator helicopterAnimator = new ModelAnimator(animationData, helicopterRenderable);
helicopterAnimator.start();

我的问题-

  1. 这些资产是否正确并与场景动画兼容?
  2. getAnimationData中需要传递的参数是什么?我可以通过打开此资产找到此信息吗? (我尝试将这些资产,包括场景形式的示例 andy_dance 导入到 BlenderUnity 中,虽然我可以看到动画正在播放,但我真的无法在任何地方看到 animation data 名称属性。)
  3. .fbx.glTF 转换的资产是否保留其动画?
  4. sceneform 可以运行.glTF 动画吗?
  5. 动画是否必须单独导出以用于场景形式?如果是,那么如何?

.fbx 动画不起作用的应用示例图-

【问题讨论】:

    标签: android arcore gltf fbx sceneform


    【解决方案1】:

    如果您打开您的.sfa,如果您的.fbx 文件包含任何动画,您将找到一个密钥animations。它应该是这样的:

    {
      animations: [
        {
          clips: [
            {
              name: 'Animation 001',
              runtime_name: 'animation_1',
            },
          ],
          path: 'sampledata/models/ka27.fbx',
        },
      ],
      ...
    }
    

    getAnimationData 需要 runtime_name 的值,因此您需要修改以下行:

    AnimationData animationData = helicopterRenderable.getAnimationData("ka27");
    

    在我的.sfa 文件中,这一行变为:

    AnimationData animationData = helicopterRenderable.getAnimationData("animation_1");
    

    您可以注意到getAnimationData 也可以将.sfa 文件的数组animations 中的动画索引作为参数。所以你可以写:

    AnimationData animationData = helicopterRenderable.getAnimationData(0);
    

    ModelRenderable 的文档在here 可用。

    【讨论】:

      猜你喜欢
      • 2019-03-15
      • 2019-09-27
      • 1970-01-01
      • 2019-07-27
      • 2019-02-22
      • 1970-01-01
      • 2019-03-22
      • 2014-09-03
      • 1970-01-01
      相关资源
      最近更新 更多