建立镜子房间

来自古墓丽影中文站
  • 作者:QRS
  • 翻译:moon_cn

在这篇文章里,我将告诉大家怎样在关卡里建立一个镜子房间,也就是一个反射Lara动作的房间,就像照镜子一样。第一步不是很难,但对于初学者来说,反射部分的制作很容易使大家感到沮丧。我尽量把自己的经验完整的呈现给大家。

首先,在进行这教程之前,你必须具备初步的关卡制作基础。还必须有基础的script脚本编辑知识。我会解释每一个步骤,像制作房间、生成门、保存工程文件等,还会介绍一些script脚本编辑工作。为什么要这么详细呢?因为有大量的官方教程里提到的基础操作在里面!还有,这里介绍的只是 TRLE 里提供的基本功能,后面还会介绍 NGLE 里关于镜子房间的知识。

从TRLE开始

就像我前面说的,第一步很简单。只要你有一点点TRLE的知识就可以完成这步。在这个例子里,我将演示最原始的建造镜子房间的方法。

为了制造一个镜子房间,你需要在编辑器中模拟一面镜子。听起来很复杂?NO,no,no。模拟的方法就是把两个相像的房间连在一起,并在交接的地方贴上透明贴图,这样仿佛在两个房间中有个透明的墙(镜子)隔开。下面就是怎样让镜子里出现反射的 Lara的问题了。

两个房间

先来处理房间的问题。

第1步:建立房间

你需要开一个房间(不是开房,呵呵)。参照下面的例子, 我建立了一个7X8大小的房间(你也可以按照自己的想法选择任意大小)。房间的高度为12 clicks。房间的编号在例子中为46号(我们现在就叫它46号房间)。你的第一个任务就是将46号房间贴上适合的贴图,地板、墙、天花板都贴上。

第2步:房间编号

用你的鼠标右键选中46号房间所有的地板,然后单击Copy按钮。你现在已经有了一个和46号房间一模一样的房间,在例子中这个复制出来的房间编号为47,我们称之为47号房间。

第3步:复制房间

选中47号房间,选择菜单中的room ----> mirror,现在47号房间是46号房间的一个完美对称的复制品。

第4步:建立门

你现在必须在46号、47号之间建立一道门。注意,将47号房间放置在46号房间的左边,切记。

选中46号房间,做一道通向左边47号房间的门。

第5步:贴图

现在,我们把建立的这道门变成半透明状态,就像一面镜子一样。在46号房间中,选中通向47号房间的门,然后点击toggle opacity按钮,这样门就会变为红色状态,表示可以对它进行贴图了。

接着点transparent和double sided这两个按钮,再选择一种合适的贴图贴上去。注意到我将两个房间的亮度都降低了,这是为了更好的展示镜子房间的效果,你可以完全照你的意思做或者不做。

然后重复第5步,在47号房间为通向46号房间的门贴图。

好样的,现在已经可以看到一面镜子的雏形了。为了达到更好的效果,请选择与镜子类似的贴图,然后调低房间的亮度。然后在46号房间放上Lara,看看成果吧。

反射倒影

下面介绍怎么让镜子里有Lara的反射倒影。

这部分稍微有点复杂,我尽量不让你头晕脑涨,在开始之前请备份你的scripts文件。呵呵,别怕,这不会有任何危险,只是以防万一而已。

第1步:

我们到46号房间,然后点击左上角的地板。观察下面的状态栏。在例子中显示被选中的地板的坐标是Selected block [ X:28 Y:32],用笔记下X的数值。对了,也记下房间号是46。

第2步:

终于轮到不用编辑器了,保存好你的工程,让我们打开Windows计算器,然后进入科学型模式。

我们现在是要计算X坐标。你已经将X的数值用笔记下来了吧?公式是这样的:X+1*1024。在例子中是这样计算的:28+1*1024=29696。

将计算好的数值敲进计算器,然后点十六进制。在例子中,29696换算成十六进制为7400。

第3步:

下面就是编辑scripts文件了(记得做好备份)。

打开script.txt文件,将下面这行文字写进去。

Mirror= 46,$7400

46是房间号,$7400刚才用计算器算出来的十六进制。

第4步:

保存script.txt文件,并运行English.bat对script.txt进行编译。

编译成功后,我们就大功告成了。现在转换你的关卡,看看最终效果是怎么样的吧。

注意事项

在做这个镜子房间的过程中,有一些你必须注意的东东。否则镜子房间将不会工作。

  1. 保证反射倒影的房间在正常房间的左边。比如47号房间就必须在46号房间的左边。
  2. 序号小于镜子房间的序号的房间不能有没有编辑过的空房间。在我的例子里,序号1到45的房间里没有未被编辑过的空房间。TRLE里没有编辑过的房间显示为Empty (xx),这个应该就是上面说的empty room slots。(Max翻译!)

script文件的备份工作是一定要做的。

别忘了在编辑完script文件后,还要运行English.bat才能真正的修改script。

最后祝你好运!

使用NGLE简化操作

下面是NGLE的镜子房间的教程。

NGLE引擎大大的简化了镜子房间的操作流程,而且使之得到了加强。不仅仅能够创造水平墙壁镜面,更可以做地板和天花板镜面。你可以在新的引擎中用新的script脚本来完成镜子房间的创造。

MirrorEffect= replaces the old Mirror= command
MirrorEffect=

语法: MirrorEffect= InFrontRoom, HiddenRoom, MirrorType (MIR_)

虽然旧的镜子房间script脚本在新引擎中照样能够使用,但它不能创造新的镜子房间类型。

  • InFrontRoom是正常房间号,就是Lara能够运动的房间号。
  • HiddenRoom是镜子房间号。
  • MirrorType是镜子房间类型,你可以在NG Center脚本编辑器里看见所有支持的镜子房间类型,大体有以下几种:
    • MIR_WEST_WALL将西面的墙设置成镜面。西面指从Lara看向镜面的方向。
    • MIR_FLOOR 将InFront房间的地板设置成镜面。
    • MIR_CEILING 将InFront房间的天花板设置成镜面。注意如果你使用天花板镜面,就需要将天花板的高度设低一点,否则你将看不到镜面的效果了(太远了?!)。
    • MIR_INVERSE_WEST 反转镜子房间,与MIR_WEST_WALL类似,但Lara在镜子房间里的动作将会与Lara相反。