書接上文《Blender圖解教程:馬里奧食人花三部曲(二)骨骼綁定和動畫》,這一回我們將進入Godot遊戲引擎,完成最關鍵的部分,當目標(馬里奧)接近食人花,食人花可以根據目標的位置進行捕食
下集預告
先放個下集預告
效果圖
這纔是本章節的效果圖
步驟
1. 模型導入Godot Engine
將從blender導出的“piranhaflower.gltf”導入Godot,並按照《Blender圖解教程:導出glTF骨骼動畫到Godot引擎的流程與注意事項》所述,生成tscn場景以後,其場景樹如下:
老王出於強迫症,把兩個“piranhaflower”節點重新名了下名,這不是必須的
選擇AnimationPlayer
對動畫片段做如下設置:
- Idle設置爲默認動畫,並且設置循環
- Attack設置爲循環
2. 構造場景
- 爲"Skeleton"節點添加一個
SkeletonIK
子節點。 - 爲“PiranhaFlower”節點添加一個
Position3D
子節點,並更名爲“Target”
3. 設置SkeletonIK
SkeletonIK
節點:
- 必須是
Skeleton
的子節點。 - 它直接繼承於
Node
所以是2D/3D通用的節點。 SkeletonIK
實際就是在Skeleton
上定義了一個IK鏈。
設置SkeletonIK
屬性時需要參考上一節的骨架結構,如下:
Root Bone
是IK鏈的根部。
Tip Bone
是IK鏈的頂部。
Interpolation
是插值係數,決定着從當前位置到完全IK位置的速度。
Target Node
是目標節點,這裏我們將它設爲場景中的"Target"節點。
4. 測試
測試一下:
我們先手動把"Target"擺放到食人花的前面
選擇“SkeletonIK”,然後點擊播放IK
5. 運行時實現
SkeletonIK的相關方法
start ( bool one_time=false ) | 開啓IK |
stop ( ) | 停止IK |