当前位置: 首页 > 知识库问答 >
问题:

场景1.15无法在ARCore-Android中播放fbx动画

燕嘉颖
2023-03-14

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

我在尝试什么?

运行场景窗体fbx资源中存在的动画。我有两个资产——一架ka27直升机和一个3d模型

这两个fbx资源都有一些动画。当我尝试将这些资产导入Android Studio时,它当前抛出了一个错误,我通过将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中,需要传递的参数是什么?我可以通过打开此资产找到此信息吗?(我尝试将这些资产,包括sceneform的示例andy_dance导入到BlenderUnity中,虽然我可以看到动画播放,但我确实无法在任何地方看到动画数据名称属性。)
  3. 执行。fbx。glTF转换的资产是否保留其动画
  4. sceneform能否运行。glTF动画
  5. 场景窗体是否必须单独导出动画?如果是的话,怎么办

安装了的应用程序的示例说明。fbx动画不起作用-

共有1个答案

黎浩然
2023-03-14

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

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

getAnimationData需要runtime\u name的值,因此需要修改以下行:

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

用我的。sfa文件此行变为:

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

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

AnimationData animationData = helicopterRenderable.getAnimationData(0);

此处提供了ModelRenderable的文档。

 类似资料:
  • 如何在外部媒体文件关闭后自动恢复音乐文件?

  • 今天,我制作了一个在Android中播放音乐的应用程序。 使用MediaPlayer播放音频文件时失败;它无法播放任何文件音频。此异常引发日志cat,如: E/MediaPlayer:错误(1,-2147483648) 带系统。错误:java。io。IOException:准备失败:状态=0x1 W/System.err:android.media.MediaPlayer.prepare(本机方法

  • 我正在使用一个场景形式的Android SDK动画示例项目,并试图导入我自己的FBX进行测试。我把我的fbx添加到sam部长级模型,然后点击导入场景资产。我得到一个错误..."Gradle构建失败,需要新的导入规则。您想还原更改吗?" 在事件日志窗口中,我得到错误:java.lang.运行时间异常:java.lang.NoSuchMultiodError:com.android.tools.ide

  • 每当我试图从Intellij用scenebuilder打开一个fxml文件时,它会给我以下信息: (我已经从设置放入了场景构建器的路径)

  • 我希望我的应用程序从SD卡播放. ogg音频文件,但媒体播放器和SoundPool无法为某些特定的ogg文件执行此操作。我有问题要播放的示例声音属于Telegram。下面的代码适用于其他ogg文件和mp3格式,但在播放此类声音时会给我错误。 示例文件下载链接:http://www.mediafire.com/download/fxr4z4hh7b2gv50/test.ogg 它引发以下异常:

  • 我的主页有一个有音频的视频背景。但音频只能使用firefox自动播放。如果我要在其他网站(如chrome或IE)上打开我的主页,音频将听不到。