|
本帖最后由 ff1407 于 2015-1-3 19:45 编辑
上段时间就曾经想把自己学到的分享下,结果没时间。今天刚好有时间,详细介绍做不了,就概括性的说说演算体和游戏数据逻辑的关系吧。感觉这东西对新手比较重要。
星际2的编辑器在使用时可以大概分为两部分。
1. 运行时的数据逻辑部分。这里包换数据编辑器里的非演算体部分和触发器里的各种逻辑。这里的所有数据和效果都仅仅是数据层面上的东西,他们本身不会真的产生图像和声音(触发器里强制调用函数播放动画或声音的除外)。
2. 监听数据逻辑事件来播放媒体效果。详细一点说,就是演算体(actor)通过监听数据逻辑部分所出发点各种事件来确定各种效果的播放开始时间。
(演算体,在星际2引擎里负责播放各种3D动画和声音,并且包含播放相关的参数设置。)
于是乎,各种东西的制作也分为两部分,数据逻辑部分和演算体部分。
举个例子:
一个导弹从一个单位射出,飞行一段时间后打中目标爆炸并造成伤害。
这里的数据逻辑可以为武器的效果里先关联一个持续一段时间的效果,然后在持续效果里关联一个结束时刻的立即伤害效果。这里两个效果都是数据逻辑效果,不会有任何图像声音各等东西。但这些已经足够为游戏运行核心提供足够的数据支持。于是乎,完成这部分后可以对目标单位造成实实在在的伤害数据。
接着就是演算体。缺少演算体游戏依然可以运行,但除了看到数值改变外,玩家不会有任何视觉和听觉反馈。还是用会上面的例子,我们会用演算体监听武器开始攻击的时刻,在那时候创建一个导弹模型,在把攻击单位和被攻击单位分别作为导弹飞行的出发点和目标点,设置上一个飞行时间或速度,于是导弹就会飞啦。接着创建演算体来监听那个伤害效果,在效果发生时在效果所在单位的点播放一个爆炸动画和声音。这样玩家就能看到数据改变又看到攻击图像和声音啦。
当大家学习技能时会时常看到一些在数据逻辑上完全无用的效果构造,这些东西一般都是为挂载演算体服务。如果大家对演算体的运作有兴趣,可以去了解坦克的变形技能,我们除了需要在技能数据里指定新单位类型,还得在演算体里设置技能完成时摧毁旧坦克模型演算体和换上新坦克模型演算体。
============经提醒后,我对以下内容修改过修改(下划线部分为修改该后的)==================
在联网时,我们可以认为,服务器同步着游戏运行的各种基础逻辑数据。其中包括玩家的控制指令和其它一些必须要的数据。客户端接受到数据后再根据这些数据运算出具体并且一致的游戏逻辑结果,然后演算体会再根据这些结果被触发,显示出各种图像和声音。所以数据部分是所有联网电脑共享的,而演算体仅在本地上运作。于是我们可以在同样的游戏过程里设置不同的图像声音特效(游戏设置里)。
或许某天我写得更详细,今天暂时这样。
|
|