PlayMaker — 动作

概述

每个状态激活的时候都有一个动作列表去执行。


每个动作都有一个指定的目的:播放一个动画、朝目标移动一个游戏物体( game object)、测试一个碰撞等等。

简单的动作结合起来能够制造复杂的行为。


执行顺序

动作是按照排列的顺序来被激活的,由上至下。你可以拖拽动作来重排它们。


重要提示:整个"动作堆栈"每帧都被执行,所以同一时间可以有多个动作是激活的(例如, Move Towards 和  Look At )

重要提示:如果动作触发了一个过渡,则过渡会立即发生并且之下的动作将不被执行。


动作生命周期

动作在所属状态变激活的时候被激活。

当被激活时,动作Start,然后每帧Update直到它们Finish或者状态Exited


列表里未完成的动作每帧都会按照从上到下的顺序被更新。

状态监视器(State Inspector )里被颜色标记的动作表示它们当前是激活的。例如



按下播放(Play)后介绍(Intro)状态变得激活然后它的所有动作都被激活。



1秒钟过后, Camera Fade In  动作完成。动作变淡表明完成。



状态激活后的10秒钟, Wait  动作完成然后淡出。


重要提示:记住动作是同时运行的,Wait动作运行了总共的时间!

需要按顺序运行的动作应该在单独的状态中由过渡(transition)连起来。


"完成"(finish)是什么意思?

每个动作有自己的完成条件。条件通常是显而易见的:

一些动作立即完成: Set MaterialStop AnimationEnable Behaviour ...

一些动作需要耗时完成: Move TowardsCamera Fade InFloat Interpolate ...

一些动作绝对不会完成而且被设计成只要状态是激活的则为激活: BlinkFlickerMouse Pick Event ...


很多的动作有一个 "Every Frame"选项来告知它们是否每一帧重复:

         · Every Frame设置为True:动作每帧重复并且不会完成直到状态退出。

         · Every Frame设置为False:动作执行一次并完成。



完成事件(FINISHED Event)


一个状态上的所有动作都完成时,会发送一个FINISHED 事件至状态机。

你可以使用这个事件来过渡到另一个状态。



 见Events

 也见:

译文源自:

https://hutonggames.fogbugz.com/default.asp?W174

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值