Godot Engine:马里奥食人花三部曲(三)用SkeletonIK实现食人花捕食目标

   日期:2020-05-01     浏览:153    评论:0    
核心提示:书接上文《Blender图解教程:马里奥食人花三部曲(二)骨骼绑定和动画》,这一回我们将进入Godo游戏

书接上文《Blender图解教程:马里奥食人花三部曲(二)骨骼绑定和动画》,这一回我们将进入Godot游戏引擎,完成最关键的部分,当目标(马里奥)接近食人花,食人花可以根据目标的位置进行捕食

下集预告

先放个下集预告

效果图

这才是本章节的效果图

文章目录

      • 下集预告
      • 效果图
      • 步骤
        • 1. 模型导入Godot Engine
        • 2. 构造场景
        • 3. 设置SkeletonIK
        • 4. 测试
        • 5. 运行时实现

步骤

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. 运行时实现

Created with Raphaël 2.2.0 Idle动画 马里奥接近? Hold动画 停顿一段时间,给目标逃跑的时间 获取实际目标位置,并设置Target位置 Attack动画 捕捉成功? 结束 yes yes

SkeletonIK的相关方法

start ( bool one_time=false ) 开启IK
stop ( ) 停止IK
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服