最近在利用U3D进行剧情动画的制作,要求是可以控制人物移动,播放动作,有对话,整个剧情动画都是由一个文本驱动的。因此具有较高的灵活性,而且也易于拓展,可以完全丢给策划去配置。
下面简单地介绍一下我的是如何实现的,主要是讲下思路,留给以后的自己看,当笔记记着,免得忘记
整个剧情系统的运作,有点类似状态机,是通过一个事件去触发另一个事件的发生,我把剧情动画中,所有可能出现的事件都列出来,发现,剧情动画只需要一下4种事件,就可以拼凑出一个简易的剧情动画
1.幕头事件:用于表示一段剧情的开始,这里面可以定义许多你想要在这一段剧情中,一些固定的数据,比如,这段剧情需要载入哪个场景,有哪些模型等
2.人物控制事件:用于定义一个人物的移动行为,怎么移动,移动到哪里,播放什么动画等
3.对白事件:用于定义一个对白事件,谁说话,说话的内容,说话时的动作等
4.镜头控制事件:用于控制镜头的行为,比如,播放镜头动画,或者是如何移动镜头
以上四种类型的事件,基本上可以拼凑出一个简单的剧情动画,举个例子:
镜头中只有人物B,突然有一个人物A,匆忙地跑到人物B面前,然后和B说,有人来敲门了。接着镜头从慢慢地朝向门的方向(就是看着门)。就这样一段小剧情,其实整个过程可以分割成这样
一。幕头定义(事件1):有人物A,人物B,房间的场景