SkeletonNode

公開類別 SkeletonNode

Node 提供膚色 ModelRenderable 的骨骼和一組 Node 之間的對應。

播放動畫時,系統會在 onUpdate(FrameTime) 期間設定附加的 Node 轉換。

操控附加的 Node 也會轉換相應的骨骼。子項架構不會自動轉換。如要變更子項骨骼的轉換,您必須將子骨頭附加至子項節點。在播放動畫時,節點和骨骼會在 onUpdate(FrameTime) 期間設為每個影格的動畫狀態。不過,您可以在每個影格的 onUpdate(FrameTime) 之後操作附加的 Node,以便在動畫播放時操控骨骼。

如果附加的 Node' 的 isActive() 為 false,系統就不會轉換這些轉換,也不會轉換布林值。

如果繫結的 Node 繫結至與 ModelRenderable 中的任何骨骼不相符的 boneName,則不會轉換。

呼叫 setRenderable(Renderable) 不會影響 Node 對應。附加的 Nodes' 轉換會立即設為新 ModelRenderable 中相符骨骼的姿勢。

公用建構函式

公用方法

節點
getBoneAttachment(String boneName)
傳回附加至指定骨骼的 Node
void
onUpdate(FrameTime frameTime)
在更新這個節點時處理。
void
setBoneAttachment(String boneName、Node 節點)
Node 附加至指定的 boneName。
void
setRenderable(可轉譯)
設定此節點顯示的 Renderable

沿用的方法

公用建構函式

公開 SkeletonNode ()

公用方法

公開 Node getBoneAttachment (String boneName)

傳回附加至指定骨骼的 Node。如果此骨骼未附加 Node,則會傳回空值。

參數
骨骼名稱

public onUpdate (FrameTime frameTime)

在更新這個節點時處理。一個節點會在轉譯每個影格前更新。只有在節點處於啟用狀態時,才會呼叫此方法。

覆寫以執行每個頁框所需的更新。

參數
frametime 提供目前畫格的時間資訊

public setBoneAttachment(String boneName、Node節點)

Node 附加至指定的 boneName。系統會立即將 Node 的轉換設為 getRenderable() 中的骨骼名稱 (如果有的話)。

如果 Node 為空值,任何先前附加的 Node 都會卸離。一個 Node 只能附加至一個 BoneName。

參數
骨骼名稱
個節點

public void setRenderable (可轉譯可轉譯)

設定此節點顯示的 Renderable。如未設定 setCollisionShape(CollisionShape),系統會使用 getCollisionShape() 偵測此 Node 的衝突。

參數
可轉譯 通常是 3D 模型。如果為空值,系統將移除這個節點的現有可轉譯內容。