古墓丽影新关卡编辑器TombEditor1.2.6 WAD Tool-New(新WAD工具)主要用于古墓丽影新关卡编辑器的WAD2文件制作,本文翻译并详细介绍该软件的使用方法。其中包含制作新的WAD2文件(物品对象文件)、动画的制作、动画命令、对象声音的编辑、骨骼的制作等。
Tools ——
一、菜单栏
1、文件
文件菜单的快捷按钮:(新建WAD2、打开正在使用的WAD(左边小窗口中的)、打开其他的WAD(右边小窗口中的)、保存、另存为)
a、 新建WAD2文件(WAD2是新编辑器格式)。可新建的游戏版本:
创建Wad2, 放弃。
b、 打开最终(正在使用的)WAD文件。(左边窗口中的)
可以打开的文件格式:
c、 打开引用(其他的文件)—Wad、 Wad2、 TR关卡文件。(右边小窗口中的)
可以打开的文件格式:
d、 保存WAD2文件。
e、 另存为其它WAD2文件。
f、 退出。
2、创建
(这4个不需要在这里直接操作,后面会有介绍。)
a、 新的可移动的。(创建一个新的可移动物体。)
挑选槽
选择ID号。
关键字搜索。
如果,已经在左侧窗口中打开了一个WAD,那么,这里面会显示出已打开的WAD中的可移动物体和空的ID槽。已经有可移动物体的ID槽就不能再创建新的可移动物体,只能在空的ID槽中新建可移动物体。
在已经有移动物体的ID槽创建新的,就会报错。
以ID:0 Lara为例,已经有了,再创建。错误:这个槽(0)劳拉是已经占用。
这种是空的ID槽。可以创建新的可移动物体。
同意 、放弃 。
会在左侧小窗口已打开的WAD中,动态物体列表最后增加一个空ID槽。
动态物体列表。
b、 新的静态。(创建一个新的静态物体。)
挑选槽。
情况和创建动态物体一样。
会在左侧小窗口已打开的WAD中,静态物体列表最后增加一个空ID槽。
静态物体列表。
c、 新的精灵序列。
挑选槽。只有这4种可以选择。
情况和上面两种相同。
会在左侧小窗口已打开的WAD中,精灵列表中增加一个空ID槽。
精灵列表。
d、 新的固定声音信息。
这里面有两项:(1)、在游戏中已使用的;(2)、全部声音槽。
在左侧小窗口已打开的WAD中,有2项关于声音的列表。
(1)、固定的声音信息。
(2)附加声音信息 (旧版导入且未被任何对象使用)
3、查看(主要用于查看声音使用情况)
目标声音信息概述。
声音源信息概述。
两项打开后,窗口介面是一模一样的,只是里面的声音信息不一样。
(1)、 目标声音信息概述。
(2)、 声音源信息概述。
a、声音列表: 搜索。
显示全部的声音,有已使用(白色)和没使用的(灰黑色)。
b、声音设置:
声音名称。
预播放,在游戏中的声音。点击可播放声音。
将所有设置和示例复制到剪贴板中。
粘贴剪贴板中的所有设置和示例。(以前必须复制过。)
调音区:可根据需要进行调整。
调节这些参数,再按预播放,可以听到改变后的效果。
音量。
音高。
范围。(块(编辑器中的地面格子))比如动物的声音,在几格内劳拉可以听到。
机率。
采样率。
随机:
音高、音量、 禁用此声音的定向音频。
模式:
没有。 正常模式,样例播放一次,可以多次调用。
使用一次等待。 声音将被忽略,直到当前的声音停止。
使用一次再上发条。如果再次触发,声音将重新播放
循环。 声音将无缝循环,直到通过引擎事件停止。
采样列表(随机播放):
当在窗口左边选择声音名字后,这里会显示出声音文件。
移动块是拖动显示音轨、play 播放声音、Duration 时长(毫秒)、size大小(声音文件的大小)。
增加声音文件。可增加声音的文件格式:
删除声音。
导出到音频文件。相当于保存修改过的的声音文件。
声音保存目录:——
例如:(坏人死亡声音)有两种声音,在声音目录里也有2个声音文件。如果,增加一条Bad die(坏人死亡)的声音,那就要保存bad_die3.wav。
向上移动。一个声音名称下,如果有多条音轨,选中后面的音轨,点向上箭头,可以往上移。第一条音轨不知道是不是优先使用,估计还是随机使用。
c、 用于:
例如:(坏人死亡)这个声音,,用于这两个地方:
(动态物体) -(43号)(坏人2)-动画 45号 - 帧 1
(动态物体) -(43号)(坏人2)-动画 61号 - 帧 1
4、帮助
二、WAD主编辑窗口
这里分为三块区域:左边为最终的WAD(自己正在使用的)、中间为模型(网格物)预览、右边为引用WAD(其它的)。
首先,打开左边正在使用的WAD文件。
可以通过菜单栏 File-打开,也可以使用菜单栏下方的快捷按钮打开。可打开的文件类型:
但最终保存的只能是WAD2格式。
左边框中显示物体列表:(动态物体、静态物体、精灵序列、固定的声音信息、附加声音信息)。点小三角可以打开列表。
再打开右边其它的WAD文件或关卡TR文件(可以从网上下载其他作者的WAD文件,或其它古墓自制关卡的TR文件(游戏目录\DATA\..TR目录里面))
可以通过菜单栏 File- 打开,也可以使用快捷按钮打开。可打开的文件类型:
右边框中显示物体列表:(动态物体、静态物体、精灵序列、固定的声音信息(我打开的这个WAD没有附加声音信息)。点小三角可以打开列表。
点开列表可以看到模型名称。点物体名称中间的区域就会显示出物体模型。查看模型就三种方式:按住鼠标右键旋转、鼠标滚轮缩放(Ctrl+按住鼠标右键上下也是缩放)、shift+按住鼠标右键移动。
接下来举例说明一下:
在右边框中找一个我们想要的动态物体(或静态物体等)。我看中了一架动态物体直升飞机,在右边框中找到动态物品直升飞机。它是(445)Animating10。在左边的框中可以看到,我的动画物品10号位置是没有的。那么双击右边框中的,就会直接将这个物体加入到左边的WAD文件中,你看它出现在左边WAD文件中了。
保存WAD文件。保存或另存为,也可以按快捷按钮进行保存。都可以。这样在关卡编辑器中就可以使用直升飞机了,就这么简单。
接下来说遇到的一种情况:
选择右边框中的动画物品10,在看左边框中,动画物品10这个ID已经有物体了。
双击右边框中的,会出现提示框
这个ID(445)动画10在目标 WAD 中已占用。是否要替换它(是)或选择其他 ID(否)? (Yes\No\Cancel)是、否、放弃
点Yes将替换掉原有的ID(445)动画10。
点No将出现选择槽窗口,(这个窗口在介绍菜单栏第二项中提到过,就是增加新动态物品,所打开的窗口。之前说不需要在菜单里操作就是这个意思。)
在左边框中可以看到没有动画11。往下滚动搜索找到选中,点OK,可以看到左边框中添加进了动画11。
接着这个问题再说一个错误操作。
点No出现选择槽窗口,如果左边WAD框中的动画10是直升飞机,而现在又从右边WAD框中来添加动画10直升飞机。将选择槽窗口中找到并选择动画11,点OK,看看会怎样。
软件报错了。
一个WAD文件中不能同时有两个相同的动画物体,即使ID号不一样也不能同时拥有两个相同的动画物体。把动画物体转成可推动的动态物体,是可以的。静态物品是可以同时拥有两个相同的,但不能有第三个相同的静态物品。一个动态物体和一个静态物体一样是可以的。
虽说没必要搞2个、3个同样的动画物体,这里只是说明这样操作会使软件出错。
在WAD中,各种类形的物品都是有一定数量限制的,不是说想搞多少就搞多少。某种东西放满了就不能再增加了,只能是替换原有的。
在动态选择槽内动态物品是有上限的,静态选择槽窗口内静态物品也是有上限的。这里面包括了所有物体的ID槽。
接下来说说几个功能按键。
(1)、左边框最终WAD文件:
——
游戏槽名称:TR1、TR2 。。。。。。一般制作的都是TR4_TRNG关卡。
删除。就是删除WAD文件中不要的物品。
更换槽。比如说把这个ID为324号的门3更换为ID为328号的门7。更换的前提是ID 328必须是空的没有物品的,才能将ID 324号门3更换到ID 328号门7。如果ID 328是有物品的就会报错。
错误:这个(328)槽已经是门7占用。
编辑。这个按钮功能和双击列表中动态、静态物体、精灵、声音栏内各种东西的名称功能是一样的,打开各自的编辑器。也与预览框下方的几个按钮功能一样。
后面会细说。
(2)、中间物体预览框:
预览框下方的按钮。
这里显示的按钮是根据左边框中选项改变的。
左边框选择动态物体,这里显示为(编辑动画、编辑骨骼)
左边框选择静态物体,这里显示为(编辑静态模型)
左边框中选择精灵序列,这里显示为(编辑序列)
左边框选择声音,中间框中改变为声音编辑。
这个声音编辑前面已经说过了。就不再说明。后面主要说明前面的4个编辑功能。、、和双击名称和左边框的功能都是一样的。
(3)、右边框引用WAD。
—
游戏槽名称:TR1、TR2 。。。。。。可引用的游戏关卡WAD类型。
添加对象。和双击物体名称功能一样。
将对象添加到不同的插槽。和选(No)功能一样。
点击这个按钮会直接打开选择槽窗口。
三、底部信息栏
显示说明正在使用的WAD文件中:动态物体的数量、静态物体的数量、精灵序列的数量、固定声音的数量、附加声音的数量、纹理贴图的数量。
四、几个编辑器的使用
(1)、编辑动画。
1.1菜单栏
a、文件。(保存更改、关闭)
b、动画 。
新动画。
删除动画。
分裂动画。
剪切。
复制。
粘贴(插入)。
粘贴(替换)。
导入。
导出。
计算所有帧的碰撞框。
删除所有帧的碰撞框。
c、帧 。
在当前帧之后插入帧。
在当前帧之后插入帧(n)。
删除帧。
剪切。
拷贝。
粘贴(插入)。
粘贴(替换)。
插入帧。(这个一点软件就报错。)
计算当前帧的碰撞框。
删除当前帧的碰撞框。
d、透视图 。
绘制网格。
绘制线框。(就是用来移动和旋转物体的坐标轴)
绘制碰撞盒。蓝色的为碰撞盒。(这个功能似乎没有用,勾去掉碰撞盒仍在。)
e、高级的 。 载入Prj2。功能似乎没用,一点就出错。
1.2、快捷按钮。
对应着菜单栏的:文件 、动画、帧,里面的一些功能。
保存|动画:添加、删除、剪切、复制、粘贴(插入)、粘贴(替换)|帧:添加、删除、剪切、复制、粘贴(插入)、粘贴(替换)|
骨骼:挑选一个网格物。像一些敌人、动物等,都是由许多个网格物组成的,这里面就是显示组成一个人或动物的网格物骨骼。
比如:劳拉。 劳拉有14个骨骼。选中某一个就可以对它进行调整。(也就只能进行移动和旋转。)
房间显示。(功能没用)
1.3、物体的动画组。
这里显示的是一个动态物体有多少个动画。ID、动画名称。
搜索状态ID。(通过ID号搜索动画,功能似乎也没用。)、显示全部。
添加新的(动画)、播放(功能不能用)、删除(动画)。
1.4、动画参数。
名称。点选中的动画名称。
帧速率。 开始速度。
下一个动画。 结束速度。
下一帧。 开始纬度。速度(估计是加速度)
状态 ID。 结束纬度。速度(估计是加速度)
关于帧速率,在一般视频中每秒为24帧,也有的用30帧,在这里由于PLAY功能不能使用,所以不太好判断,这里设置为1,在旧WAD动画编辑器中播放完60帧时大约为2秒左右。那么这里的1可能就是2秒,总之这个帧速率的数值越大,物体运动的速度就越慢。最快帧速率就是1,物体运动也比较正常,有的动物运动速度慢一点,可以设为2或3或4。
帧速率是指每秒钟刷新的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次。对影片内容而言,帧速率指每秒所显示的静止帧格数。要生成平滑连贯的动画效果,帧速率一般不小于8;而电影的帧速率为24fps。捕捉动态视频内容时,此数字愈高愈好。
帧率(Frame rate)是称为帧的位图图像连续出现在显示器上的频率(速率)。该术语同样适用于胶片和摄像机,计算机图形和动作捕捉系统。帧速率也可以称为帧频率,并以赫兹(Hz)表示。
High frame高帧率,又被称为高帧率格式(High Frame Rate/HFR),是指以每秒48帧画面频率拍摄电影。相比以往的24帧画面,高帧率可带来更清晰稳定的画面,是新电影技术革命。
希望新编辑器的作者能将PLAY功能完善。
状态改变。
动画命令。
上图是门关闭的动画,给关闭门时加了个发出声音的命令,右边是调整声音的指数。各种动态物品,拥有的动画命令各有不同。目前,这个动画命令编辑器似乎还不能添加新的动画命令,物体原来自带有的命令可以修改。
1.5动画帧物体的碰撞。
当前帧。 删除。
物体碰撞盒的坐标值。
计算当前帧的碰撞框。
物体动画的每一帧都是需要重新计算当前帧的碰撞值。
1.6、透视图窗口。
这个长条就是动画的每一帧。由于PLAY 按钮没有作用,可以拖动滑块来观看动画。
底部是显示这个动画的帧数。
1.7、实例说明。
在游戏中,我们看到劳拉,跑、跳、爬、翻滚、开门、拿取物品、点火等等等等,看上去很简单,其实劳拉的各种动作的动画加起来有几百个动画,每一个完整的动作都是有几个动画所组成,是相当复杂的。有兴趣的可以慢慢研究一下。
a、关门、开门的动画介绍。(复杂动画的简单介绍)
这里,还是找一个比较简单点的开门、关门的动画先来介绍一下。
首先,可以看到这道门,它有4个动画。
Animation 0 / 动画0 - 关闭的门 1帧
Animation 1 / 动画1 - 关门 61帧
Animation 2 / 动画2 - 打开的门 1帧
Animation 3 / 动画3 - 开门 61帧
现在点选的是0号动画,门是关闭的,它只有 1帧。这是门的碰撞数值。就是说这0号动画中门是静止不动的。它不需要任何参数。
再点选1号动画,门是开着的,可以看到它有61帧,拖动这个滑块,可以看到它是进行一个关门的运动,
拖到最后一帧,门关上了。每拖动一帧,门的碰撞值是跟着变化的。如果没有变化说明这个帧的碰撞值是有问题的。再来看看它的参数,帧速率为1。
我们要注意的是这一项,下一次动画,这里设为0,它的意思就是,当1号动画运行完后,转到下一个动画,也就是0号动画,那么从上面可以知道, 0号动画门是一直关着不运动的,因为,0号动画运行完后,门还是运行0号动画,所以门就是一直静止不动的。如果, 0号动画这里设置为1,那么门的运行过程就是:1号动画--转到0号动画--又转到1号动画--又转0号动画……这样一直循环下去了。门也就永远关不上了。就是门从开到关上,之后门又跳回到从开到关,这是不正常的。
如果, 1号动画这里设置为1,那么当1号动画运行完之后,下一个动画又是运行1号动画,那么,结果也是门会一直不停的在关闭、关闭、关闭。。。门也是永远关不上的。所以要建一个动画让门停止运行,就是0号动画。
正确的就是:1号动画关门运行结束,转到0号动画, 0号动画再转到0号动画。这样就是一个完整的关门。
开门也是这个道理。
再来看看开门,2号动画,门是开着的,它只有1帧, 参数中下一次动画还是2,就是永远开着。
再看3号动画,门是关着的,它有61帧,拖动滑块可以看到它是在做一个开门的运动。 下一个动画转到2。
最终得到结果就是:当门3号动画开门结束--转到2号动画--再转到2号动画门静止,门就完成一个正常的开门运动。
另外,在动画命令中附于了开门和关门的声音命令。所以,都能听到开关门声。要注意,声音命令要放在门运动的动画中,不要放在静止的门,只有开关门的时候门才会发出声音,门静止时是没声音的。
从上面介绍中,可以看出不管什么动作,都需要一个开始的动画和一个结束的动画。形成一个完整的动作。
复杂点的动画就是:开始+连接+连接+。。。+结束。
所以,连接动画一定要仔细设置好。
当然,这个例子主要是针对一些复杂动画的,只是我选了复杂中比较简单的开关门来介绍。
更简单一点的动画,我们需要用到另一个NEXT参数,那就是前进至下一帧。
b、简单动画介绍。
来看这个动态物体,它只有一个动画,动画中有38帧,拖动滑块可以看到螺旋形物体是旋转动画,来看看它的参数设置,帧速率为1,下一个动画为0,就是本身动画0,设置为0就会让动画一直运行动画0,下一帧为0,这个0表示让这个动画从第1帧开始,一直旋转下去的条件之一。动画过程就是:当动画0运行完后--转到动画0、并从第1帧开始播放--动画0播放完后--又转到动画0、并从第1帧开始播放--……就这样形成一个永不停止的动画。
如果这里设置为第38帧(也就是动画的最后一帧),那么,动画过程就是:动画0运行完--转到动画0、并从第38帧开始播放--播放完又转到动画0、并从第38帧播放--……这样一直循环下去。实际来说就是动画0播放完后,就会一直停留在38帧。也就是物体旋转完一次后就停止了。
如果这里设置为第20帧(或其它帧),那么,动画过程就是:当动画0运行完后--转到动画0、并从20帧开始播放--动画0播放完后--又转到动画0、并从20帧开始播放--……可以看出第一遍动画是完整的,然后就是从20帧开始一直循环下了。
这就是与两个参数对动画的作用。
c、状态ID号和状态改变。
接下来在这个关门、开门的动画组中,再了解一下状态ID号、状态改变。
Animation 0 / 动画0 - 关闭的门 1帧
Animation 1 / 动画1 - 关门 61帧 (从开的门到关闭的门动画)
Animation 2 / 动画2 - 打开的门 1帧
Animation 3 / 动画3 - 开门 61帧 (从关闭的门到开的门动画)
从前面的介绍,我们将这4个动画再理一下动画参数:
Animation 动画编号 |
帧速率 |
下一个动画 |
下一帧 |
状态ID |
Animation 0 |
1 |
0 |
0 |
0 |
Animation 1 |
1 |
0 |
0 |
1 |
Animation 2 |
1 |
2 |
0 |
1 |
Animation 3 |
1 |
2 |
0 |
1 |
Animation 0 / 动画0 - 关闭的门。
Animation 1 / 动画1 - 关门。 将门从开着通过动画将门关上。
Animation 2 / 动画2 - 打开的门。
Animation 3 / 动画3 - 开门。 将门从关着通过动画将门打开。
下面是设置在两个静止门里的状态改变参数:
State ID, 低帧, 高帧, 下一个动画, 下一帧。
下面看看状态改变的参数。
选中动画2(开门结束静止门),打开状态改变,看到以下参数,这里的状态ID 0, 高帧率为1,下一个动画为动画1号,下一帧,因为门的每个动画都是从第一帧开始,所以为0。如果有动画从帧段中间开始就要设置相应帧数。
再选中动画0(关门结束静止门),打开状态改变,看到以下参数,这里的状态ID 1,高帧率,下一个动画为动画3号,下一帧为0。
从这里面关门、开门的4个动画,通过状态改变,形成了一个闭环。
Animation 0——Animation 3——Animation 2——Animation 1——Animation 0
动画0关闭的门——动画3开门——动画2打开的门——动画1关门——动画0关闭的门
这样门就能正常使用,打开、关闭、打开、关闭……
c.1、
状态ID号。引用(EssGee和Jesse 写的WADmerger中级教程)
后面提供了来自TR 1-4的Lara的state ID列表。
如果您查看过任何对象的动画,您可能已经注意到每个对象都有一个state ID值分配给它。state ID是一个值,它要求游戏引擎以某种方式响应对象的动画。例如,对于Lara,这个数字决定玩家可以按什么按钮,Lara如何对环境作出反应,以及对象如何对Lara做出反应。每个动画都有自己的state ID,每个对象都有自己的一组state ID。
对于LARA对象,state ID可以实现多种用途,例如:
1、允许Lara做她所做的事 - 适用于几乎所有的state ID,state ID告诉游戏引擎Lara正在做什么,以便游戏引擎让她这样做。例如,state ID 71(蹲伏)和state ID 80、81和84-88(用于爬行操作)都允许Lara进入爬行空间。如果,尝试在爬行空间中使用不同的state ID会导致Lara出现故障,并在天花板上站起来。
2、操作相机 - 一些state ID改变相机角度以使事情变得有趣。例如,Lara的向后跳(back jump)的state ID 25使得摄像机与前方而不是后方成一定角度,而用于推拉块的state ID 36和37使摄像机移动到左侧的方块(如果可能)看Lara。在制作自定义动画时,您可能需要考虑操作state ID为动画创建一些有趣的摄像机角度,只要它们不与其他state ID冲突。
3、设置Lara的跳跃方向 - 以下state ID用于Lara的跳跃:3用于向前跳跃,25用于向后跳跃,26用于向右跳跃,27用于向左跳跃,28用于直接跳跃起来。每次跳转都有两个动画:第二个是跳跃本身,第一个用于设置抓取位置命令以创建跳跃曲线。无论第一个动画具有哪个state ID,都会确定跳跃曲线的方向。
4、确定Lara如何对环境做出反应 - 大多数state ID都有当Lara在某个state ID期间执行某些操作时发生的硬编码行为。例如,Lara's 奔跑的state ID 1允许她掉下平台,但是state IDs 0(步行),2(接近静止),16(向后走)和21-22(侧身行走)不允许她跌落。
5、state ID更改 - 这些将在下面详细说明。某些state ID仅用于作为state ID更改,而不是用于任何实际动画。一个例子是state ID 68,用于当Lara向前跳跃、向后跳跃或反向跳跃时。在大多数其他情况下,与目标动画关联的state ID用于state ID更改。
对于其他对象物体,比如坏人和门,state ID的原则是相同的,除了上面的第2点和第3点永远不会适用。某些对象物体(例如ANIMATING槽中的对象)不使用不同的state ID,因此参数值保留为0。
c.2、
状态改变。
(引用Titak和SSJ6Wolf 写的 动画- 创建自定义动画教程)
这些反应通常是 “state ID改变”。“状态ID改变”是指引擎通过按下按钮或环境改变成新的state ID(或者对于坏人,AI做出决定)。当这些改变发生时以及它们的动画运行时,由“state ID改变”编辑器确定。编辑器设置为五个数值,每个数值在一行中:
State ID, 低帧, 高帧, 下一个动画, 下一帧。
1、 State ID是引擎生成的新数字。
2和3 、低帧和高帧设置为在发生变化的边界。例如,如果低帧是4和高帧是6,则改变将只在帧4和帧6之间发生
4、 下一个动画是将连接到新的动画对象。
5、下一帧是新动画中的起始帧。
制作自定义动画时,请务必记住,只有在已经发生更改的情况下才能在state ID之间进行更改; 你无法弥补自己。例如,在Lara的猴子荡期间,您无法使用跳转按钮执行任何操作,因为state ID更改从未放入引擎中。调查现有动画并将它们与您要制作的新动画进行比较非常重要。使用了哪些state ID?他们使用哪些来制作新的动画?
此外,state ID也有一些硬编码效果。例如,状态ID 3是Lara的跳跃,允许玩家左右旋转她,这也将适用于任何具有state ID 3的自定义动画。
状态改变。
(引用Titak和SSJ6Wolf 写的WADmerger中级教程 修改)
动画期间的一些反应是硬编码的,但其他反应则不然。似乎对象和游戏引擎使用state ID进行各种对话。您现在知道对象如何通过其state ID与游戏引擎进行通信。但是,游戏引擎还会发送自己的state ID以供对象响应。这可能发生在对象周围的环境中的一些变化,以及对于LARA对象,几乎所有按钮都由玩家按下。“State ID改变”是一组值,允许对象在特定参数下响应这些新的state ID。每个动画都可以有自己的一组“state ID改变”。单击状态更改编辑器按钮(按钮),您可以在Wadmerger的动画编辑器中看到它。
1、state ID - 设置对象响应的游戏引擎的state ID。请参阅下面的重要说明。
2、Low frame / 低帧 - 设置对象可以响应新state ID的帧范围的下边界。请参阅下面的*注释。
3、High frame / 高帧 - 设置对象可以响应新state ID的帧范围的上边界。请参阅下面的*注释。
4、Next animation / 下一个动画 - 响应时要使用的对象的新动画。
5、Next frame / 下一帧 - 在新动画中开始的帧。
重要说明:对象的当前state ID限制对象可以响应哪些state ID。你不能简单地做出自己的反映。例如,对于LARA对象,在爬行时按下冲刺键并不会从游戏引擎生成任何state ID,因此使用state ID 73对她的蹲下动画进行新的“state ID改变”将完全没有任何效果。你必须编辑游戏引擎才能让它工作。
有些响应甚至仅针对某些动画插槽进行硬编码。例如,请注意当Lara跳过一个2点击块时,她可以从开始跑跳起,也可以在她的右脚放下。这个跳跃动画是state ID 2,但是,如果您尝试制作另一个state ID 2动画,并允许她可以选择使用“state ID改变”来运行state ID 1,那么它将无法工作。动画96和150(抓住厚平台和薄平台或猴子)似乎也有硬编码的响应,即使您删除它们,它们仍然是相同的。正因为如此,当“state ID改变”不能按您希望的方式工作时,您必须保持良好的心态并接受它。
但是,对于某些state ID和/或动画插槽,存在一些未使用的响应。例如,Lara的静态动画,动画#103带有state ID 2,它可以响应state ID 73,因为玩家在向前推进之前先按住冲刺键。请注意,在任何官方TR3-5游戏中尝试这个键序列都没有得到Lara的任何响应,她被卡住了,因为这个“state ID改变”丢失了。因此,从一个state ID跳到另一个可能是值得一试的,即使您以前从未见过这样做。不要期望它能工作,但是如果它能工作,那么您已经发现了一个新的state ID链接。
*注释:低帧和高帧参数通常覆盖整个动画的帧,但是对于任何对象从一只脚切换到另一只脚的动画,例如,当对象的动画是在他/她的左脚着地的帧中时,他/她的下一个动画是从左脚开始的动画,而不是从右脚开始的动画。这使得动画可以更好地流动。
让我们来看看劳拉的动画0 。
帧速率为1,下一个动画为0,下一帧为0,状态ID为1,开始的速度为47,结束的速度为47。
从本节后面“LARA的STATE ID列表”中可以知道state ID 1 是跑步(可左/右旋转),现在的动画0就是一个劳拉跑步的动画。
打开“状态改变”。
第1行:
是行走,低帧为5高帧为6时状态改变(拖动滑块,可以看到5、6帧正好是劳拉左脚着地时。),下一个动画7(从动画7中可以看到劳拉第1帧正好也是左脚着地,进入步行状态,动画7为步行。),从起始帧开始。
第2行:
状态ID 0 是行走,低帧为15高帧为16时状态改变(拖动滑块,可以看到15、16帧正好是劳拉右脚着地时。),下一个动画是动画9(动画9起始帧是右脚着地开始走行。)从起始帧开始动画。
第3行:
状态ID 2 为“静止不动,或进入静止状态(玩家不会从边缘跌落)”,低帧0、高帧5(状态改变发生在动画0的 0帧和5帧之间,左脚着地),转到下一个动画是动画8(动画8为
跑动之后停下来的动画。左脚着地),下一帧为超始0帧。
c.3、LARA的STATE ID列表:
来自TRs 1-4的Lara的state IDs的列表(“蹲下(crouch)”表示她单膝位置,“爬行(crawl)”表示她在双手和双膝的位置):(机器翻译后修改,可能有误。)
TR1
stateID 0 =walk forwards 向前行走
stateID 1 =run (can rotate left/right) 跑步(可左/右旋转)
stateID 2 =stand still, or going into stand still (player does not fall of edges)
静止不动,或进入静止状态(玩家不会从边缘跌落)
stateID 3 = forward jump, or going into forward jump (player can move left/right) 向前跳,或行进中向前跳(玩家可以左/右移动)
stateID 5 =op backwards 向后跳
stateIDs 6和7 =turn in place 在原地转弯
stateID 8 =death 死亡
stateID 9 =falling 落下
stateID 10 =hanging onto ledge, or going up/down ladder without feet
挂在平台上,或者在不用脚的情况下上/下梯子
stateID 11 =mid-air grab (player does not bounce off of walls)
空中抓取(玩家确实没有从墙上反弹)
stateID 13 =at a standstill underwater 在水下静止不动
stateID 14 =letting go of rope in TR4? (not used)
在TR4中松开绳子?(未使用)
stateID 15 = start a standing jump 开始立定跳跃
stateID 16 =walk backwards 倒着走
stateID 17 =swimming 游泳
stateID 18 =Lara shooting through the water, Lara stops swimming
Lara在水中射击,Lara停止游泳
stateID 19 =pulling up (player cannot move; also used for start of death slide)
拉起(玩家无法移动;也用于死亡动画的开始)
stateID 20 =turning? (not used) 转向?(未使用)
stateIDs 21和22 =walk sideways 横着走
stateID 23 =roll in place 在原地翻滚
stateID 24 =slide foward 向前滑动
stateID 25 =backwards jump 向后跳
stateID 26 =side jump right 向右侧跳
stateID 27 =side jump left 向左侧跳
stateID 28 =jump straight upwards 连续地向上跳
stateID 30 =shimmy left 向左摆动
stateID 31 =shimmy right 向右摆动
stateID 32 =sliding backwards 向后滑动
stateID 33 =swim on surface standstill 在浮出水面时停游泳
stateID 34 =swim on surface forward 在浮出水面时向前游
stateID 35 =Jump into water 跳入水
stateID 36 =push forward 向前推
stateID 37 =pull backwards 向后拉
stateID 38 =push/pull standstill 推/拉停止
stateID 39 =picking up an object 拾取对象
stateID 40 =underwater switch, use lever switch, use push switch
水下开关,使用杠杆开关,使用推动开关
stateID 41 =reset lever switch 复位杠杆开关
stateID 42 =key use 使用钥匙
stateID 43 =puzzle use 使用拼图
stateID 44 =death underwater 在水下死亡
stateID 45 =used for dive roll and roll in place (not sure how it differs from 23)
用于潜水翻滚和适当的位置翻滚(不确定它与23的区别)
stateID 46 =crushed by boulder 被巨石压死
stateID 47 =swim on surface backwards 在水面上向后游
stateID 48 =swim on surface to left 在水面上向左游
stateID 49 =swim on surface to right 在水面上向右游
stateID 52 =swan dive or going into swan dive 鱼跃跳水或行进中鱼跃跳水
stateID 53 = "death mode" swan dive (Lara can break her neck at this point), also used for "swan flips" TR2 and on.
“死亡模式”鱼跃跳水(Lara可能会摔断她的脖子),也用于“天鹅翻转”TR2等。
stateID 54 = handstand 手倒立
TR2
stateID 55 =climb out of water, or go from wading to standing in water
爬出水面,或从涉水到站立在水中
stateID 56 =standstill on ladder 在梯子上停止
stateID 57 =climb up ladder 爬上梯子
stateID 58 =climb left on ladder 在梯子上向左爬
stateID 60 =climb right on ladder 在梯子上向右爬
stateID 61 =climb down ladder 爬下梯子
stateID 65 =wade forwards 向前涉水
stateID 66 =roll underwater 水下翻滚
stateID 67 =pickup flare, pickup underwater?, pickup in crouch? (there are duplicate pickup animations that use both 39 and 67. Weird!)
拾取照明棒,在水下捡拾?蹲下捡拾?(有重复的拾取动画,使用39和67.很奇怪!)
stateID 68 =used for player pressing roll during forward or backward jump (for reversing direction)
用于玩家在向前或向后跳跃期间按下翻滚(用于反转方向)
stateID 70 =zipline 高空滑索
TR3
stateID 71 =crouched 蹲下
stateID 72 =crouch roll forward (not used) 蹲下前滚(未使用)
stateID 73 =sprinting 冲刺
stateID 74 =sprint roll 冲刺滚动
stateID 75 =grab paper-thin ledge, grab monkeyswing
抓住薄的平台,抓住猴子荡
stateID 76 =monkeyswing forward 猴子荡向前
stateID 77 =monkeyswing shimmy left 猴子荡向左摆动
stateID 78 =monkeyswing shimmy right 猴子荡向右摆动
stateID 79 =monkeyswing turnaround? (not used) 猴子荡转身?(未使用)
stateID 80 =crawl position 爬行姿势
stateID 81 =crawl forwards 向前爬行
stateID 82 =rotate left monkeyswing 向左旋转猴子荡
stateID 83 =rotate right monkeyswing 向右旋转猴子荡
stateID 84 =turn left in crawl position 在爬行姿势向左转动
stateID 85 =turn right in crawl position 在爬行姿势向右转动
stateID 86 =crawl backwards 向后爬行
stateID 87 =pull up into crouch 引体向上变为蹲下
stateID 88 =slip out from crawlspace 从爬行空间中滑出
TR4
stateID 89 =used for many interactive objects in TR4
用于TR4中的许多交互式对象
stateID 90 =rotate left rope, crowbar pickup 绳子上向在转,拾起撬棍
stateID 91 =rotate right rope 绳子上向右转
stateID 92 =push giant button 推大按钮
stateID 93 =trapdoor pull up 拉起地板门
stateID 95 =use rotating switch (hypostyle hall) 使用旋转开关(柱式大厅)
stateID 96 =use cog switch 使用齿轮开关
stateID 97 =use lever switch 使用杠杆开关
stateID 98 =reach-in-hole pickup 伸进墙洞拾取
stateID 99 =standstill pole 爬杆停止
stateID 100 =climb up pole 爬上杆
stateID 101 =slide down pole 滑下杆
stateID 102 =rotate left pole 杆上向左转
stateID 103 =rotate right pole 杆上向右转
stateID 104 =pull chain switch 拉链开关
stateID 105 =turn left in crouched position 蹲着原地向左转
stateID 106 =turn right in crouched position 蹲着原地向右转
stateID 107 =shimmy concave corner to left (also with ladders)
摆动凹角到左边(也有梯子)
stateID 108 =shimmy concave corner to right (also with ladders)
摆动凹角到右边(也有梯子)
stateID 109 =shimmy convex corner to left (also with ladders)
摆动凸角到左边(也有梯子)
stateID 110 =shimmy convex corner to right (also with ladders)
摆动凸角到右边(也有梯子)
stateID 111 =standstill rope 停止绳子
stateID 112 =climb up rope 爬上绳子
stateID 113 =swing rope 摆动绳子
stateID 114 = start swinging rope 开始摆动绳子
stateID 115 = go from ladder to shimmy position? (not used)
从梯子到摆动姿势?(未使用)
stateID 116 =Approach puzzle/pickup 接近拼图/拾取
stateID 117 =double doors 双开门
这里提供的“state ID改变”并不是全部,如果要更加详细的“state ID改变”请到网页:http://www.skribblerz.com/NGLEManual/nglemanual2/ngle109x.html
d、
动画命令:
在特定动画期间,动画命令 可用于执行下面的给定功能。每个动画都可以有自己的动画命令。目前,新编辑器中的动画命令编辑器,似乎不能添加新命令,可以删除,能对原有的进行修改。
劳拉, 动画0 动画命令如下图:
左边是这个动画已有的命令索引 。
右边是命令参数。
在特定动画期间,动画命令 可用于执行下面的给定功能。每个动画都可以有自己的动画命令。右侧的下拉菜单提供了一个选择功能,左侧的字段会根据您选择的功能而改变。可能的功能是:
在命令类型中有以下6条命令:
1、 设置位置。——动画完成后,它将对象移动3个字段中的指定值,分别是x,y和z轴。这些值与使用对象上的“移动(Move )”时给出的值相同,除了乘以1000.这意味着250相当于一次单击。
举个例子:劳拉推、拉箱子,用到的动画命令就是 设置位置。
劳拉,动画122,这是一个拉箱子(或石块之类)的动画。打开动画命令。
劳拉往Z轴负值方向移动了-1024。
在第52帧时,执行播放声音命令。
劳拉动画123,这是一个推箱子(或石块之类)的动画。打开动画命令。
劳拉往Z轴正值方向移动了1024。
在第54帧时,执行播放声音命令。
重要信息:除了Lara(劳拉)、baddies(敌人(包括人、动物、怪物等))、Von Croy(冯克罗伊)、the guide(向导)使用的对象外,Savegame文件不使用设置位置命令保存出现的对象。例如,如果您使用这个命令制作一个移动的钉墙,那么它会在重新加载关卡时,重置到它原来的位置。
2、 设置跳跃距离。仅限劳拉使用。这将为Lara设置跳转曲线,动画完成后将启动该曲线。这两个字段分别是高度(y轴)和距离(z轴)。
横向或是水平(Z轴)。 竖直(Y轴)。
3、 两手空空。——把手枪从手里拿开。对于LARA对象,游戏引擎似乎会跟踪劳拉的枪是否被拔出,但有时这种状态会出现bug。使用这个命令,在动画完成后,劳拉的枪状态被恢复,所以她可以拿出她的枪。比如,要掏墙洞,或从台子上拿物品,需要空着手才能操作,手上不能有枪。
4、 杀死实体。——对于坏人来说,这是他们的死亡动画。奇怪的是,它也用于开关,以在动画完成时激活开关触发器。
5、 播放声音。——用于在播放动画中的某个帧时发出声音,这个命令是使用最多的。
从图可以看到动画0中有4条声音命令:
第一个字段,指定动画哪个帧播放声音。
第二个字段,是一个包含以下选项的下拉菜单:
a. Always / 始终 - 始终播放声音。您应该为Lara以外的任何对象选择此项。
b. Only when dry / 只在干燥的情况下(也就是在陆地上) - 只有当劳拉在陆地上时才会听到声音。
c. Only in the Water / 只在水中 - 只有当劳拉在水中行走/涉水时才会听到声音。
第三个字段是声音设置,
声音名称。
预播放,在游戏中的声音。点击可播放声音。
将所有设置和示例复制到剪贴板中。
粘贴剪贴板中的所有设置和示例。(以前必须复制过。)
调音区:可根据需要进行调整。
调节这些参数,再按预播放,可以听到改变后的效果。
音量。
音高。
范围。(块(编辑器中的地面格子))比如动物的声音,在几格内劳拉可以听到。
机率。
采样率。
随机:音高、音量、
禁用此声音的定向音频。
模式:
没有。 正常模式,样例播放一次,可以多次调用。
使用一次等待。 声音将被忽略,直到当前的声音停止。
使用一次再上发条。如果再次触发,声音将重新播放
循环。 声音将无缝循环,直到通过引擎事件停止。
注意:如果一个物体在水下使用(例如一个标准门),除了一些特殊的硬编码槽(如水下门和水下开关)外,分配给其他物体的声音将不会被听到。
第四个字段采样列表(随机播放):其中包含对象的可用声音。
当在窗口左边选择声音命令后,这里会显示出声音文件。
移动滑块是拖动显示音轨、play 播放声音、Duration 时长(毫秒)、size大小(声音文件的大小)。
增加声音文件。可增加声音的文件格式:
删除声音。
导出到音频文件。相当于保存修改过的的声音文件。
声音保存目录:——
劳拉的动画0中,有4条声音命令,前2条是在陆地上的声音命令,分别在6帧(左脚着地时)播放声音、17帧(右脚着地时)播放声音。后面2条是在水中的声音命令,动画0是一个奔跑的动画,这里的在水中,就是劳拉奔跑时踩在水中。
播放声音ID=“劳拉脚”在 帧=6 。
播放声音ID=“劳拉湿脚”在 帧=6 。
播放声音ID:(截图来自旧古墓编辑器的WAD工具中动画编辑器的动画命令。)
6、 翻转效果。——用于在播放动画中的某个帧时播放特殊效果。
第一个字段指定播放效果的帧。
第二个字段是是播放的效果。那么这16416又是什么意思呢?
播放翻转效果命令ID:(截图来自旧古墓编辑器的WAD工具中动画编辑器的动画命令。)
而这16416就是 播放脚步声音(陆地)。
那么,劳拉的动画0中的这组动画命令的意思就是:
动画播放到第4帧时(左脚着地),执行播放声音命令,到第6帧时执行(在陆地)或(在水中)的脚步声音。
而这个-32736,就是播放脚步声音(水中)。
动画播放到第15帧时(右脚着地),执行播放声音命令,到第17帧时执行(在陆地)或(在水中)的脚步声音。
e、 速度。
开始速度与结束速度。估计是加速度(尚不明确)。
速度和加速度字段将在给定动画中向前或向后移动Lara。正的数字通常会让她前行,但有些state IDs使用负数来推动她的前进...只要在游戏中测试你的动画,你就会看到是否正确。这通常用于运行动画。
速度=动画的初始速度。没有加速度,它会设定恒定的速度。47是跑步的速度,87是短跑的速度,让你知道应该用什么数字。
加速度=每帧添加到当前速度的值。例如,如果速度为1,加速度为2,那么每一帧Lara都会从1到3到5,直到动画结束。
注意: 不要在循环动画中使用加速度,因为每次动画开始时,Lara都会回到初始速度,这对玩家来说看起来和感觉都很糟糕。
f、 当前帧(的碰撞)。
关于坐标轴:
右(-) 上(+) 前(-)
左(+) 下(-) 后(+)
古墓丽影新关卡编辑器TombEditor1.2.6 中的 “WAD Tool-New(新WAD工具)”内的“动画编辑器”中的坐标系的X轴、Y轴、Z轴,与旧古墓编辑器工具“Strpix3(火炬)”X轴、Y轴、Z轴的方向都是相反的,与旧古墓编辑器中的“动画编辑器”的X轴、Y轴的方向是一致,Z轴的方向相反。
这点我不知道会不会影响游戏,但新编辑器在某些地方如果需要输入坐标轴数值时要注意,注意它方向的正负值。
接下来说动画对象的当前碰撞。
如图,这是劳拉的动画0,共有22帧动画,蓝色框框就是劳拉的碰撞盒。这是“计算当前帧的碰撞盒”按钮。
在动画编辑器--菜单栏--动画--
1、计算所有帧的碰撞盒 2、删除所有帧的碰撞盒。
这两个是对物体已有的全部动画帧的碰撞删除后,重新计算。主要是动画全部帧修复错误的帧碰撞。
在动画编辑器--菜单栏-- 帧--
1、计算当前帧的碰撞盒 2、删除当前帧的碰撞盒。这两个是对物体已有的当前动画帧的碰撞删除后,重新计算。主要是针对滑块选中的当前帧修复错误的帧碰撞。动画编辑器右下角的与菜单栏计算当前帧的碰撞盒,是相同的。
注意:这以上菜单中两个的区别。
删除。这个删除是删除选的的帧。
例如,要删除动画的第2帧,将滑块移到第2帧,再点,就会删除动画的第2帧。
下面回到劳拉的动画0。
第1帧的帧碰撞,坐标轴数值如果有问题,可以点重新计算当前帧碰撞。
第2帧的帧碰撞,坐标轴数值如果有问题,可以点重新计算当前帧碰撞。她有动作和碰撞盒都有一了点变化。
第3帧的帧碰撞,坐标轴数值如果有问题,可以点重新计算当前帧碰撞。她有动作和碰撞盒又有一了点变化。
第4帧的帧碰撞,坐标轴数值如果有问题,可以点重新计算当前帧碰撞。她有动作和碰撞盒又有一了点变化……等等。
为什么要给每一帧都设置碰撞,因为劳拉是在运动着的,当劳拉已跑到别处去了,而碰撞盒还在其它地方,那不是很奇怪吗。劳拉碰到其它物体时,由于劳拉没有碰撞,那么劳拉就有可能会穿过其它物体。还会有其它的问题出现。
下面来做个实验,将劳拉的动画0中(跑步动画)全部帧的碰撞都删除,进入游戏后,会发现劳拉在跑步的过程中它穿过了一些物体 ,而且你会发现紧跟在劳拉身后的像机位置也不正常了,相机是贴着地面跟着劳拉一起走的。
不正常的相机 正常的相机
如果,将劳拉的动画0中(跑步动画),保留几个正确的帧碰撞,将部分帧碰撞删除,那么你会发现进入游戏后,劳拉跑步时当正确的帧碰到其它物体时,劳拉会停下来,当错误帧碰到物体时,她会穿过物体,而且紧跟在劳拉身后的相机,会不停的在上下跳动,也就意味着游戏画面会在劳拉跑步的过程中,一直在不停的上下抖动。
所以,要为劳拉以及动态动画物品的每一帧设置正确的碰撞,才能让游戏正常运行。
1.8动画制作。
以这个 动态物体中的动画物体“玉战士”为例。
打开动画编辑器。
做一个简单的动画,从开始低着头单腿跪着,让他站立起来这样一个简短的动画。
先来了解一下动画编辑菜单栏中的两个元素动画与帧。
1.8.1、动画。添加新动画、删除、分割、剪切、复制、粘贴、导入、导出。
到菜单栏的动画下拉菜单。
复制、粘贴。选中点复制或 快捷按钮复制动画,再点击粘贴(插入)或 快捷按钮(而粘贴(替换),这个将复制的动画0替换掉其它选中的动画。),此时在右边的小框中增加了一条复制的动画ID 0的动画0复制,它和动画0一样是个单腿跪着的动画。再到参数中将名字改为动画1,现在有了2个动画,它们是一样的。
添加新的动画,点菜单栏中动画下拉菜单 的增加新动画或点快捷按钮或点右边框的都是添加新的,它们只会在动画排序的最后增加一个新的动画,参数框改名字为 , 这个动画中的玉战士是站立的。复制、粘贴和添加新的,虽然都是增加了一个新动画,但新建的动画模型是有区别的。新添加动画的模型是最初的模型样式。复制、粘贴是可以把修改过模型的再新建一个动画。
剪切。点选动画0,再点菜单中的剪切或快捷按钮,“你真的想要删除“动画0”吗?”, Yes, 动画0被剪切掉了,想在那个动画后面进行粘贴,就点那个动画,点粘贴(插入或替换),增加了一个动画0-复制。原来动画0的ID是0,经过剪切粘贴后它前面的全部动画ID都会发生改变,重新排序。剪切与复制不同的就是会删除原来的动画号。
删除。点选中动画0-复制,点菜单内删除动画或快捷按钮或右边框的删除,“你真的想要删除“动画0-复制”吗?”, Yes, “动画0-复制”被删除了。它后面的动画ID不会自动重新排序。如果选中2到参数点一下名字,ID就会重新排序。
剪切、删除使用时要慎用,一旦动画ID重新排序,那么许多的动画参数(比如动画连接到下一个动画的数值)就都需要进行修改,像劳拉有400多个动画,那改起来是……动画不多就无所谓了。
分割。菜单内分割或快捷按钮分割动画。
要配合帧使用,比如说一个动画,想从第16帧进行分割,我们只保留前面16帧,后面的不要了。将滑块拖动第16帧,按下分割,就变成只有
16帧了,而其它的分割掉的,会在动画排序的最后自动生成一个动画ID 。
导出动画。比较简单,选中一个动画点菜单栏内的导出,选择一个目录保存这个动画。
这种动画格式只适合新编辑器使用。
导入动画。就有点麻烦,新编辑器只认一种格式,旧编辑器的动画文件格式是***.trw格式。对于旧编辑器制作的动画,可以通过新编辑器的WAD工具打开旧WAD文件,再另存为WAD2文件,再到新动画编辑器中从WAD2文件中导出保存动画,再通过动画编辑器导入到自己的WAD2文件中。
1.8.2、帧。添加帧、删除、剪切、复制、粘贴。
添加帧。这里有两种添加帧的模式。
1、在当前帧之后插入1帧。 2、在当前帧之后插入n帧。
点击或 快捷按钮添加帧。
点击
出现对话框“你想要多少帧添加到当前动画?”。这里的数值就是要插入的帧数,你想要多少帧就填上多少数字,OK。加上原来的1帧,共11帧。
删除。现在有12帧,我不要第2帧,滑块移到第2帧,然后点菜单栏--帧下拉菜单内的删除帧或快捷按钮或右下方当前帧这里的删除。可以看到只有10帧了。
剪切、粘贴(插入和替换)。 将这第2帧倒过来的模型帧移到第9帧去。
滑块拖到第2帧,再点菜单栏--帧下拉菜单中的剪切或快捷按钮剪切帧,点剪切后“是否真的想要删除帧1”(为什么这里提示删除帧1,这是因为编辑器中排序方式都是从0开始排序, 但计数是从1开始,所以,帧0实际上就是第1帧,所以这里的帧1就是第2 帧。)第2帧删除总数变为9帧,滑块移到最后一帧(也就是剪切前的第10帧),再点菜单栏--帧下拉菜单中的粘贴(插入)或快捷按钮粘贴帧,这样第2 帧就被移到第9帧的位置了。帧总数仍是10帧。
。点剪切后,第2帧被删除,滑块移到最后一帧(也就是剪切前的第10帧)如果,点菜单栏--帧下拉菜单中的粘贴(替换)或快捷按钮粘贴(替换)帧,这样第2帧将替换掉最后一帧(也就是剪切前的第10帧)成为了第9帧。
复制、粘贴(插入和替换)。 将这第2帧倒过来的模型帧插入或替换到第9帧。
滑块拖到第2帧,再点菜单栏--帧下拉菜单中的复制或快捷按钮复制帧,点复制后第2帧不会删除,总数保持为10帧,滑块移到第9帧(因为要将第2帧粘贴(插入)到第8帧的后面为第9帧),再点菜单栏--帧下拉菜单中的粘贴(插入)或快捷按钮粘贴帧,因为是粘贴(插入),所以这样第2 帧就被复制到第9帧的位置,之后原来的第9帧和第10帧往后推变为第10和11 帧,帧总数变为11帧。
。点复制后,滑块移到第9帧,如果,点菜单栏--帧下拉菜单中的粘贴(替换)或快捷按钮粘贴(替换)帧,这样第2帧的模型帧将替换掉第9帧模型。
帧总数保持不变,仍是10帧。
1.8.3、骨骼的简单介绍。
骨骼:选择一个网格。
每一个对象物体都有自己的骨骼,这里的骨骼也就是旧编辑器中的“网格树”。网格是对象的“身体的一部分”。网格由许多多边形组成,是“原材料”,每个对象都由其组成。我们可以把劳拉的头作为一个例子,同样她的手,腿,手臂和躯干都是网格物。对象原则上仅包含网格,每个网格都有一个数字(网格1,网格2,网格3 ......)。
这就是玉战士的骨骼,也就是他的网格树,由1个骨骼根和18个网格组成。点选骨骼根,可以看到个3轴移动器,它即可以移动了可以旋转,骨骼根是带动物体整个移动和旋转的,而每个网格只能是3轴旋转,但它会带动一下级的骨骼一起旋转。关于骨骼编辑器后面有章节介绍。
经过前面的长篇介绍,现在应该能做出一个动画了。
回到本节的开始,制作一个简单的动画。
1.8.4、制作一个简单的动画。
以这个 动态物体中的动画物体“玉战士”为例。
打开动画编辑器。
做一个简单的动画,从开始低着头单腿跪着,让他站立起来这样一个简短的动画。
首先,复制帧、然后粘贴2次帧。让第1帧、第2帧玉战士保持不动。
滑块移到第3帧,做些微调。让他身体微微上升。
骨骼选择骨骼根,
箭头轴为移动,按住Y轴(绿色轴)将整体上移,再调左脚着地,右脚脚尖着地,两把矛着地。圆圈轴为旋转,旋转各个网格物(也就手、脚、手臂、腿、等)调整到如图。再点右下角当前帧下方的计算当前帧碰撞。这样第3帧就调整好了。
如果前面几帧没问题,最好保存一下。免得发生意外后重头来。
再将第3帧复制、粘贴。得到第4帧。操作如第3帧。
身体上提,把头微抬起,再点右下角当前帧下方的计算当前帧碰撞。这样第4帧就调整好了。
再将第4帧复制、粘贴。得到第5帧。操作如前面帧进行调整。
身体上提,把头抬起,两脚要微收起,调整好模型,再点右下角当前帧下方的计算当前帧碰撞。这样第5帧就调整好了。
保存后,再将第5帧复制、粘贴。得到第6帧。操作如前面帧进行调整。
身体上提,,两脚收起,调整好模型,再点右下角当前帧下方的计算当前帧碰撞。这样第6帧就调整好了。
保存后,再将第6帧复制、粘贴。得到第7帧。操作如前面帧进行调整。
调整好模型,再点右下角当前帧下方的计算当前帧碰撞。这样第7帧就调整好了。
保存后,再将第7帧复制、粘贴。得到第8帧。不做修改,保持原样站立。
这里只让他站起来,只作一次动画。所以,到参数中下一个动画不动,将下一帧0改为下一帧8。
动画0,1帧开始到8帧,执行完成动画后,下一个动画仍是动画0,从第8帧开始,那么玉战士站起来后,就会一直站立着。
如果,我们给他增加更多的动画,比如,跑、跳、刺矛攻击等等,就可以替换成为坏人使用。当然,还可以根据需要加入声音等。很遗憾目前编辑器的功能还不完善,还不能加入动画命令。还不能完全替代旧动画编辑器使用。
注意:修改好每一帧后,一定要保存,这样才不至于让你前功尽弃。
(2)骨骼编辑器
骨骼编辑器(就是旧WAD工具中的网格树编辑器)的功能就是将模型的全部网格物按一定的顺序拼接成一个模型。编辑器并不能编辑构成模型的网格物。
1、骨骼编辑器介面。
网格调整区:点选一个网格物,这个网格物上会显示一个用于移物体的坐标轴,用于调整网格物的位置。
网格物列表:显示模型按一定规则排序的全部网格。
右键点击网格物名称会显示功能表,在网格物调整区内右键点击网格物也会出现这个 。
表示返回父级别。也可以说是连接到父。
延伸。
向上移动,将骨骼向上移动一个顺序。
向下移动,将骨骼向下移动一个顺序。
从文件中添加子骨骼。
从Wad2中添加子骨骼。
从文件中替换(骨骼)。
从Wad2中替换(骨骼)。
删除(骨骼)。
重新命名。
功能按键:部分和右键功能差不多。
骨骼重新命名。 删除骨骼。
从文件中替换。 从文件中添加子骨骼。
从Wad2中替换。 从Wad2中添加子骨骼。
显示移动器 加载模型。
显示栅格网。 保存更改。
从这个骨骼列表中看一下各网格的关系:前面的0--18是骨骼的ID,后面的是骨骼的名称。
骨骼根,就是腰部。
与骨骼根有直接关系的有三部分:
1、右大腿--右小腿--右脚。
2、左大腿--左小腿--左脚。
3、躯干。
而躯干中又连接着三部分。
3.1、左上臂和肩膀--左小臂--左手--矛。
3.2、脖子--头--头发。
3.1、右上臂和肩膀--右小臂--右手--矛。
用我们家庭的家族关系表来理解这个骨骼系统:
《尔雅·释亲》:父之子为子,子之子为孙,孙之子为曾孙,曾孙之子为玄孙,玄孙之子为来孙,来孙之子为晜孙,晜(kun)孙之子为仍孙,仍孙之子为云孙,云孙之子为耳孙。
0骨骼根“父”-1右大腿“大儿子”-2右小腿“孙”--3右脚“曾孙”
-4左大腿“二儿子”-5左小腿“孙”--6左脚“曾孙”
-7躯 干“三儿子”-8左上臂“大孙子”-9小臂“曾孙”-10左手“玄孙”-11矛“来孙”
-12脖 子“二孙子”-13 头“曾孙”-14头发“玄孙”
-15右上臂“三孙子”-16小臂“曾孙”-17右手“玄孙”-18矛“来孙”
与“父”有直接关系的是三个“子”,与三个“子”有直接关系的是各自的“孙”,而第3个儿子“三儿子”又有三个“孙”(此时“三儿子”为“父”的话,它有三个“儿子”,三个“儿子”又有各自的延续。)。
在骨骼编辑器中, 您可以指定每个网格在关系中的位置。这对于动画非常重要, 因为如果旋转某个网格, 该网格后续的网格全会跟着移动。从网格0开始, 所有其他网格都在它们之间连接。它就像一棵真正的家谱树, 有 "孩子" 和 "父母"。
玉战士的骨骼(网格树),网格0是网格1的 "父"。因此, 网格1是 "孩子"。同时网格1也是网格2的父母,网格2 再是网1的孩子。因而它按顺序继续。网格4和7也是网格0的孩子,他们都有各自的孩子。
为什么这个父母的孩子关系很重要?从根本上说, "孩子" 总是与它的父对象一起移动和旋转。在这种情况下,它将意味着所有其他网格随着网格0的移动和旋转而移动,因为它们都是网格0的“亲属”,因为可以通过线条识别。例如,如果您旋转网格7,则网格8,9,10……一直18也是跟着移动的,这些是来自网格 7的“孩子”,“孙子”,“曾孙子”等。然而,网格7之上的所有网格都不会移动,因为它们不是网格7的孩子,而是“父母”,“兄弟”以及“其他的孩子、孙子”等。
它看起来很复杂,但随着时间的推移,你将能够很快了解骨骼(网格树)。总之,在提供一个新的动画之前, 为了更好地理解,哪些网格是连接的,哪些是不连接的。此外,对于真实动画而言,提供物理上正确的骨骼(网格树)它是非常重要的。例如:你有一个人类对手(Baddy等)并且想要抬起它的大腿。现在非常重要的是,小腿是大腿的孩子,否则小腿将不会移动。同样,脚一定是小腿的孩子,你如果想抬起大腿,同时又想将脚保持在地面上?这是不可能的。脚会和大腿一样抬起。现在你知道了,骨骼(网格树(Mesh Tree))是什么以及它是如何构建的。
在动画编辑器中,骨骼根“父”级是带动整个家族同时移动和旋转的,而其他的只能是旋转,不能移动,“子”级可以带动“孙”级以下一起旋转,“孙”级带动“曾孙”级以下同时旋转……以此类推。
2、制作一套骨骼
a、一个单体的模型,那么只要添加进去,改个骨骼根名字,就行了。
点击,改名。
b、如果,我们制作了一个新的人物或动物等,网格物比较多,要制作一套新骨骼。
拿玉战士来说。首先,从这两项中,导入全部的骨骼。
从文件中添加。
可添加的文件类型。(手头没素材,没有实验是否能行。)
从Wad2中添加。点击后打开网格窗口。
左侧动态物体列表,往下拉找到玉战士(这是我这个Wad2中的)。下图是玉战士的全部骨骼(网格)。
然后,一个一个的将骨骼全部添加,编辑器只能一个个的添加到骨骼树列表中。检查一下是否全添加了。
接下来给他们建立“父”与“子”的关系。
0骨骼根“父”-1右大腿“大儿子”-2右小腿“孙”--3右脚“曾孙”
-4左大腿“二儿子”-5左小腿“孙”--6左脚“曾孙”
-7躯 干“三儿子”-8左上臂“大孙子”-9小臂“曾孙”-10左手“玄孙”-11矛“来孙”
-12脖 子“二孙子”-13 头“曾孙”-14头发“玄孙”
-15右上臂“三孙子”-16小臂“曾孙”-17右手“玄孙”-18矛“来孙”
是腰部,连接其他部分的网格作为骨骼根,命名为骨骼根。
右大腿,他是“父”第一个“子”,点击名称后出现移动器,将他移动到腰下面的右大腿处(此时,由于其他骨骼没有确定父子关系,所以都会跟着一起移动。),移动时不仅要注意上下的位置,还要旋转看一下前后左右的位置,三条轴上都要移到位。命名为骨骼_1 。现给他建立“父”、“子”关系,鼠标右键点骨骼名称或点骨骼本身,将Push(延伸)打勾(这个表示父还有儿子)(又因为他是第一个儿子,所以不用勾选POP(表示返回父级别。也可以说是连接到父。)),它成了父母的儿子。
右侧小腿,移到位。改名称为。它是右大腿的“子”,不用建立与骨骼根的关系。
接下来是右脚。移动到位改名称。这样右腿这边的全部父子关系就建立好了。
父、子关系表:
0骨骼根“父”-1右大腿“大儿子”-2右小腿“孙”--3右脚“曾孙”
-4左大腿“二儿子”-5左小腿“孙”--6左脚“曾孙”
-7躯 干“三儿子”-8左上臂“大孙子”-9小臂“曾孙”-10左手“玄孙”-11矛“来孙”
-12脖 子“二孙子”-13 头“曾孙”-14头发“玄孙”
-15右上臂“三孙子”-16小臂“曾孙”-17右手“玄孙”-18矛“来孙”
这是左侧大腿。现在建立与骨骼根的父子关系,因为他是“父”的“二儿子”。鼠标右键点名称或点骨骼本身,将 将POP(表示返回父级别。)(如果父母有几个儿子,那么这些儿子都要勾选POP。就如上面关系表中,父中有三个儿子,而第三个儿子又有三个儿子(也就是骨骼根的孙子们)那么这些儿子也要勾选POP)和Push(延伸)(这个表示父还有儿子)都打勾,它成了父母(骨骼根)的第二个儿子。名称中的READ 是编辑器自动取的,可能是“辨认”的意思。
再移动到位,改名称。
接下来是左小腿和左脚,调整方法和右侧腿脚一样。就不细说了。
躯干,这是父(骨骼根)的第三个儿子,鼠标右键点名称或点骨骼本身,将POP勾选(表示返回父级别。也就是连接到父(骨骼根))(又因为父(骨骼根)后面已经没有儿子了,Push(延伸)就可以不用勾选了。如果后面父(骨骼根)还有第四个儿子,Push(延伸)就要勾选上)。将骨骼移动调整到位,改名称为。
父、子关系表:
0骨骼根“父”-1右大腿“大儿子”-2右小腿“孙”--3右脚“曾孙”
-4左大腿“二儿子”-5左小腿“孙”--6左脚“曾孙”
-7躯 干“三儿子”-8左上臂“大孙子”-9小臂“曾孙”-10左手“玄孙”-11矛“来孙”
-12脖 子“二孙子”-13 头“曾孙”-14头发“玄孙”
-15右上臂“三孙子”-16小臂“曾孙”-17右手“玄孙”-18矛“来孙”
从关系表可以看到,父(骨骼根)的第三子7,又有三个儿子8、12、15。
现在7躯干为“父”,8左上臂“大儿子”设置就如“父”(骨骼根)的“大儿子”一样设置,Push(延伸)勾选上)。然后8的后续9左小臂、10左手、11矛。全部改好名称,移动到位。
操作到这时发现有两个骨骼位置发生了错误,636 和637的位置错了,那么,就可以用向上移动和向下移动来调整位置。12脖子、13头、14头发。
12脖子是7躯干(父)的第二儿子,将POP(表示返回父级别,连接到父级别。)和Push(延伸)(因为7躯干(父)还有儿子15右上臂)都打勾,它成了7躯干(父)的第二儿子。
(如果,这里7躯干第二子的不勾选,那面7躯干的第三子设置POP时,就会直接连接到父(0骨骼根)上去,所以要勾选。)
不勾选: 勾选:从两张图中可以看出两种情况造成15右上臂(第三子)位置的不同之处。
骨骼改好名称,将骨骼移动到位。
15右上臂,他是7躯干(父)的第三个儿子,设置POP打勾就行了,因为7躯干(父)只有三个儿子,后面没有儿子了,所以,Push(延伸)就不需要勾选了。
改好名称,将骨骼移动到位。
最后,将骨骼的各个部分进行仔细调整。
在制作过程中,我们可以先设置好骨骼之间的“父”、“子”关系,再来调整骨骼,这样方便好调整。到些,一套完整的骨骼就制作完成了。
(3)静物编辑器
绘制窗口。
静物的位置坐标。可输入数字进行调整静物的位置,也可以用坐标轴移动器来调整。
红色箭头为X轴,绿色箭头为Y轴,蓝色箭头为Z轴。
箭头为移动,圆圈为旋转,方块为缩放,Z轴缩放没有用。(缩放,只能在原来模型大小的基础上放大,缩小只能缩回原来的大小。)
可见性的盒子。
盒子的坐标。 计算可见性盒子。(绿色线框)
碰撞盒子。
碰撞盒子的坐标。 计算碰撞盒子。(红色线框)
复位键: 平移、旋转、缩放。(对静物进行过 平移、旋转、缩放,之后按这三个键可以恢复到原来的样子。)
灯光。动态 、静态。
添加。添加光源
删除。删除光源。
光强度。
光半径。(绿色线球)
环境光。(0--255)0最暗,255最亮。
显示灯光。 。
显示坐标移动器。 。
显示栅格网。 。
显示法线。 。
重新计算法线。
导入网格。可导入的文件类型。
保存改变。
(4)、精灵编辑器 (天空精灵)等。
添加图片。
删除。 导出。
(5)、声音编辑器
与菜单栏--查看--打开的窗口简化了一点。Wad Tool介面的中间窗口,可以直接修改,不用打开编辑窗口。
在介绍时,已介绍过了,这里就不说了。
到些,古墓丽影:新关卡编辑器Tomb Editor 1.2.6——WAD Tool-New(新WAD编辑器)已全部介绍完成。