Away3D 和 FlashBuilder - 角色交互

Posted

技术标签:

【中文标题】Away3D 和 FlashBuilder - 角色交互【英文标题】:Away3D and FlashBuilder - Character interaction 【发布时间】:2014-07-12 20:37:39 【问题描述】:

我正在使用 Away3D 构建一个非常简单的游戏,我目前有一个从 Maya 导入的角色和供他持有的对象。

问题是,如果角色一直处于动画状态,我如何才能正确地将对象放置在角色的手上? (呼吸、行走等)

谢谢!

【问题讨论】:

【参考方案1】:

这取决于您使用的动画。

1) 基于骨骼的动画将为移动的化身的每个区域提供关节。您可以从 SkeletonAnimator globalMatrices 属性中提取关节变换 - 这将为每个关节变换返回一个 4x4 变换矩阵的串联数组,您可以从中获取要用作附加位置的关节的变换

2) 顶点基础动画对每一帧使用几何对象并在它们之间进行插值。由于此计算是在 GPU 上完成的,因此您需要自己重新计算任何顶点(或一组顶点)的插值,然后才能创建位置。这可以通过访问 activeState 属性并将其转换为 VertexClipState,然后返回 currentGeometry 和 nextGeometry 属性来完成。它没有骨骼动画那么简单,而且你对头像位置的信息也更少(没有旋转信息),这使得拥有像拿着剑的头像这样的事情有点棘手,但它可以做到。

【讨论】:

感谢您提供非常完整的答案!

以上是关于Away3D 和 FlashBuilder - 角色交互的主要内容,如果未能解决你的问题,请参考以下文章

away3D案例1

ActionScript 3 Away3D本地3d到全球2d点

away3D案例2

away3D案例3

如何在 as3/away3d 中设置 360 度视频投影以保持叠加

FlashBuilder - 只有我得到的错误,其他人没有