广东省建设银行招聘网站,海淀高端网站建设,深圳网站建设金瓷网络,域名购买是什么意思各位同学大家好#xff01;今天继续学习Godot4#xff0c;本节将要学习AnimationTree#xff0c;来实现控制主人公的动画。
一、AnimationPlay节点介绍
Godot引擎通过AnimationPlay节点实现了最灵活的动画系统#xff0c;它几乎可以给godot中的任意节点的任意属性添加动画…各位同学大家好今天继续学习Godot4本节将要学习AnimationTree来实现控制主人公的动画。
一、AnimationPlay节点介绍
Godot引擎通过AnimationPlay节点实现了最灵活的动画系统它几乎可以给godot中的任意节点的任意属性添加动画而且它还有专用的变换函数bezier曲线,函数回调声音控制和子动画轨道(sub-animation track)等的特性。AnimationTree本身不包含动画它使用AnimationPlayer节点包含的动画你可以使用AnimationPlay制作动画或者从其他第三方软件中导入动画然后使用AnimationTree节点控制动画的播放动画的播放是通过控制AnimationTree属性的Playback实现的。 是不是看的云里雾里的这是说的啥也别急我慢一点一点来一会你就知道我说的是啥了。
二、完善一下AnimatedSprite2D节点
这是一个2D游戏人物有4个方向的待机动画4个方向的行走动画4个方向的攻击动画。所以我们在AnimatedSprite2D节点中完成这12个动画。每个动画的时限过程已在第三节设置主人公的动画中的“通过AnimatedSprite2D节点实现动画效果”学习过。动画名称和对应的图片关系设置情况如下表
动画名称对应图片帧数帧速率是否循环是否加载后自动播放说明Idle_Right第2行第1张5是是右侧待机动画Idle_Left第4行第3张5是否左侧待机动画Idle_Top第3行第2张5是否向上待机动画Idle_Down第5行第4张5是否向下待机动画Walk_Right整个第2行和第3行第1张10是否向右行走动画Walk_Left第4行第3—5张第5行第1—3张10是否向左行走动画Walk_Top第3行第2—5张第4行第1—2张10是否向上行走动画Walk_Down第5行第4—5张第6行第1—4张10是否向下行走动画Sword_Right第7行第4—5张第8行第1—2张9否否向右攻击动画Sword_Left第9行第2—5张9否否向左攻击动画Sword_Top第8行第3—5张第9行第1张9否否向上攻击动画Sword_Down第6行第5张第7行第1—3张9否否向下攻击动画
最终效果如下
三、添加AnimationPlay节点
在player场景的player节点下添加AnimationPlay节点然后下载一个Godot4插件这个插件功能是将AnimatedSprite2D节点下的所有动画导入到AnimationPlay节点下。 第一步单击编辑器中部的AssetLib按钮在搜索框中输入anima然后在列表中找到AnimatedSpritetoAnimationPlayerConvertor4.0。
单击AnimatedSpritetoAnimationPlayerConvertor4.0弹出如下对话框
单击下载按钮就开始进行下载了。 如果你的网络有问题会出现如下对话框这样我们还有另外一种办法。 访问Godot Engine - Free and open source 2D and 3D game engine官网进入顶部Assets栏目在打开的页面进行搜索然后单击AnimatedSpritetoAnimationPlayerConvertor4.0近日详细页面点击Download进行下载。
如果你还不能下载我会在本文的最后附上文件下载地址请从这下载。 下载完成后是一个zip的压缩包把它解压打开文件夹向下一层找到addons文件夹把它考到项目的根目录下此时项目文件系统显示如下
然后我们在插件选项 卡内单击插件弹出对话框中将启用打上勾然后关闭。
在Player场景player节点下单击其它节点然后在单击AnimationPlay节点这样会在AnimationPlay节点检查器下方出现一个导入按钮在点击导入按钮之前动画控制面板内容如下
单击导入按钮后动画控制面板内容如下
这样就把AnimatedSprite2D节点下所有的动画导入到了AnimationPlay节点里面。
四、添加AnimationTree节点
在player场景的player节点下添加AnimationTree节点当前AnimationTree的默认属性是下面这个样子双击黄色谈话会提示节点配置警告信息。
1、Tree Root属性配置
在节点检测器中我们首先对AnimationTree下的Tree Root属性进行配置这里面共有6个节点供我们选择我们选择AnimationNodeStateMachine节点如下
6个节点简单学习一下 AnimationRootNode:动画树节点的基本资源。通常它不会直接使用但您可以使用自定义混合公式创建自定义混合公式。 AnimationNodeBlendTree: 包含多个混合类型节点如max,blender2,blender3,onshot等等这个是最常用的Tree Root根节点。 AnimationNodeBlenderSpace1D: 1D空间混合 AnimationNodeBlenderSpace2d: 在2D空间中旋转根节点通过控制Blender Postion属性在2D空间中的位置混合多个动画 AnimationNodeStateMachine: 在图中包含多个根节点类型作为它的子节点每一个根节点是一个状态并且提供了很多用于改变状态的函数 。这是我们今天要用的。 AnimationNodeAnimation: 从列表中选择一个动画播放这是最简单的根节点类型通常不直接作为Tree Root根节点使用。 通过对AnimationTree的学习该节点不但需要配置AnimationNode属性还需要配置一个Anim Player属性。
2.Anim Player属性配置
在节点检测器中我们首先对AnimationTree下的Anim Player属性单击指定在对话框中选择player节点下的AnimationPlayer节点。
3.配置动画树
上述属性配置好后就可以在中间底部的动画树面板进行配置了。首先在快捷工具栏中选择创建节点图标然后在下发的编辑区内单击会出现下图的菜单选择BlendSpace2D这样一个节点就建立了。 我们连续点击3下建立3个节点。在快捷工具栏中单击选择移动节点工具就是箭头的那个工具然后单击编辑区内的节点重新命名为IdleWalkSword。先再单击Idle前面的三角形这个目的是让Idle处于运行状态修改起来立马看见修改的结果然后单击后面的铅笔进入修改状态。
进入详细设置页面第一步我们选择创建结点快捷按键然后在-10单击选择添加Idle_left动画在10单击选择添加Idle_Right动画在01单击选择添加Idle_Down动画在0-1单击选择添加Idle_Top动画。
将混合选择非线性的最后结果如下
设置完成后在空间下设置位置混合状态快捷按钮在编辑器状态下拖动能试试看看预览状态展示效果如下
这样Idle动画树已经设置完成了同理设置Walk和Sword。 这样我们这节就到这了在这一节中学习了在AnimatedSprite2D节点中添加12个动画并把动画导入到了AnimationTree节点下然后在AnimationTree节点下完成Idle、Walk、Sword动画树。
最后我把本节用到的插件、素材和项目的源代码全部上传需要的同学点击下载。