我一直在寻找通过Sceneform动画制作3D对象的动画。我是AR的新手。
任何人都可以像移动的人一样提供3D动画样本吗?
答案 0 :(得分:4)
Sceneform现在不支持动画渲染(如支持动画FBX文件格式)。你只能移动或旋转物体,但你不能轻易地获得像走路的人类。
答案 1 :(得分:0)
适用于Android v1.7.0的Sceneform SDK支持动画(
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 sample包含用于构建Android版Andy和棒球帽模型的文件。 Andy模型包含动画数据,而棒球帽是非动画模型。当您运行样本时,安迪(Andy)霹雳舞并挥舞着手臂,而帽子则通过结点固定在他的头上。
重要的是要区分Sceneform中的模型动画与Android中的属性动画。
模型动画是由艺术家使用建模和动画软件提前创建的。它们包含Skeletal Animation Data。这些动画必须作为
fbx
文件导出,然后导入到sfb
文件(二进制资产)中以在Sceneform中使用。 属性动画是Android的基本概念,并非特定于Sceneform。这种动画可以更改具有getter和setter的Java对象上的任何可变值。动画值可以动态设置,但不能打包到sfb
文件中。
希望这会有所帮助。