我目前在学习UE 一提到动画 他们就和我说状态机 后面 学了一下基础
就是这个
这个从入口开始 跟随着箭头 然后满足转换状态的条件时转换状态
这个我理解了 但是
这一串的运行流是如何开始的呢? 我如何知道怎么去使用我创建的状态机呢? 运行流究竟是如何的
如 我右键创建了一个新的状态机 名字为 TextState1
点击进入设置其中的状态
都说这里是状态机运行流的入口 现在右键创建一个状态
这玩意是有方向的 运行流也是箭头的方向
State1是运行该状态机时 运行的第一个状态 现在我们来建立第二个状态
我们看到线上方多了一个双向符 这个符号可以点进去 里面返回的是一个布尔值 当布尔值为真时候 该转换条件成立 运行流便从状态 State1 运行到 状态State2
现在我们点击 状态 看看 State1
状态节点 其实是输出一个动作 现在我们拖个动作进去 注意看下图右下角
该动作是这个
现在我们如何让动画会运行到这个状态机呢?
这里是动画图表最终输出的动作 我们也看到了蓝图运行时 那可视化的运行流 这个便是当前正在运行的运行流
我们可以看到几个状态机都在运行 但是我们新创建的状态机并没有运行
现在我们先断掉 连接最终动画输出的地方
我们发现 都不运行了 状态机其实也只是输出当前运行时此状态机内 状态的动画
注意看左边 还有运行流
看它直接输出State1 状态的动作
现在我们使用这个 并命名为 Textpose
这个可以保存状态机运行时 输出的动作
直接使用它和直接使用状态机 TextState1是一样的
注意运行流 这点证明了 运行流是否存在 动画图表中 与是否连接这个最终输出动作节点有关
看这样就不运行了 我们看看如果间接性的会不会运行
比如把这个换掉
我们看到的确运行我们自己的状态机
现在我们来看看状态机如何切换动作 来到切换状态的条件处
在左下角建立一个布尔类型的变量 bTextP2;
我们又创建了一个变回来的条件
这个NOT 便是取反的意思
我们看右下角 那个变量的名字 这个是测试用的
看我们给bTextP2为true时 运行流 到 State2了
看bTextP2为false时 运行流 到 State1了 这里切换是跟着箭头方向走的
我们看看这个TextPose 既然保存了一个动作 那我们能不能在另一个状态机中使用呢?
新建一个状态机
证明可以用 我们创建一个缓存TextPose2 把动作保存下来
使用TextPose2
我们发现两状态机都在运行
总结:
直接 或 间接连接到动画图表最终输出动作的节点
其中连线的路径便可为 动画图表运行流 没有连接的不会运行
也就是我们应该把此处看作动画图表的入口 这个也是每帧运行的