我一直在寻找通过 Sceneform 制作 3D 对象的动画。我对 AR 很陌生。
任何人都可以像移动的人一样提供 3D 动画的样本吗?
我一直在寻找通过 Sceneform 制作 3D 对象的动画。我对 AR 很陌生。
任何人都可以像移动的人一样提供 3D 动画的样本吗?
Sceneform 目前不支持动画可渲染对象(例如支持动画 FBX 文件格式)。你只能移动或旋转物体,但你不能轻易得到像行走的人这样的东西。
Sceneform SDK for Android v1.7.0 支持动画(
15th February 2019
)。
Sceneform 包括一个可选的动画库,com.google.ar.sceneform:animation
可以播放动画。
添加ModelAnimator
和AnimationData
类。Sceneform 现在可以播放动画模型。
添加SkeletonNode
了可用于将节点绑定到蒙皮可渲染中的骨骼的类,从而可以将对象附加到骨骼、访问骨骼的位置以及直接操纵骨骼的位置。
添加AugmentedFaceNode
到 UX 库,可用于使用 ARCore 的Augmented Faces
功能呈现视觉效果。/samples/augmentedfaces
查看/ 目录中的新示例。
添加Vector3.equals(Vector3)
和Quaterion.equals(Quaterion)
。
暴露Quaternion(Vector3 eulerAngles)
和Quaternion.eulerAngles()
公开。
Sceneform 允许您导入带有动画的模型。您可以使用 Sceneform API 来回放和控制动画,并将节点附加到模型的骨架上。
例如,Sceneform Animation 示例包括用于构建 Andy the android 和棒球帽模型的文件。Andy 模型包含动画数据,而棒球帽是非动画模型。当您运行样本时,安迪会跳霹雳舞并挥动他的手臂,而帽子仍然使用节点固定在他的头上。
区分 Sceneform 中的模型动画和 Android 中的属性动画非常重要。
模型动画是由艺术家使用建模和动画软件提前创建的。它们包含骨骼动画数据。这些动画必须导出为
fbx
文件,然后导入到sfb
要在 Sceneform 中使用的文件(二进制资源)中。属性动画是一个基本的 Android 概念,并不特定于 Sceneform。这种动画可以更改具有 getter 和 setter 的 Java 对象上的任何可变值。动画值可以动态设置,但不能打包到sfb
文件中。
希望这可以帮助。