SkeletonNode

public class SkeletonNode

一个 Node,可在皮肤 ModelRenderable 和一组 Node 之间提供映射。

播放动画时,将在 onUpdate(FrameTime) 期间设置附加的 Node 的转换。

操控连接的 Node 也会改变相应的架构。子骨架不会自动转换。如需更改子架构的转换,子架构需要连接到子节点。如果正在播放动画,节点和骨头将在 onUpdate(FrameTime) 期间设置为每帧的动画状态。不过,您可以在 onUpdate(FrameTime) 之后操控每一帧附加的 Node,以便在动画播放时操纵骨头。

当附加的 NodeisActive() 为 false 时,它们不会被转换,也不会转换骨头。

如果附加的 Node 绑定到与 ModelRenderable 中的任何架构均不匹配的 boneName,它也不会转换。

调用 setRenderable(Renderable) 不会更改 Node 映射。附加的 Nodes' 转换将立即在新的 ModelRenderable 中设置为匹配骨架的姿态。

公共构造函数

公共方法

节点
getBoneAttachmentString boneName)
返回附加到指定骨头的 Node
无效
onUpdate(FrameTime frameTime)
此节点更新时处理。
无效
setBoneAttachmentString boneName、Node 节点)
Node 附加到指定的 boneName。
无效
setRenderable可渲染对象
设置要为此节点显示的 Renderable

继承的方法

公共构造函数

public SkeletonNode ()

公共方法

public Node getBoneAttachment (String boneName)

返回附加到指定骨头的 Node。如果此骨架上没有附加任何 Node,则返回 null。

参数
BoneName

public void onUpdate (FrameTime frameTime)

此节点更新时处理。节点会在呈现每一帧之前更新。仅当节点处于活动状态时才调用此方法。

执行替换,以执行每帧需要发生的任何更新。

参数
帧时间 提供当前帧的时间信息

public void setBoneAttachment (String boneName, Node node)

Node 附加到指定的 boneName。这会立即将 Node 的转换设置为 getRenderable() 中名为 boneName(如果存在)的骨头的姿势。

如果 Node 为 null,则会分离之前附加的所有 Node。boneName 一次只能附加一个 Node

参数
BoneName
节点

public void setRenderable (Renderable renderable)

设置要为此节点显示的 Renderable。如果未设置 setCollisionShape(CollisionShape),则使用 getCollisionShape() 检测此 Node 的冲突。

参数
可渲染 通常为 3D 模型。如果为 null,系统将移除此节点的当前可渲染对象。