Jump to content
模组网
icedream

[译]新手MOD教程第三讲 – 外部世界

Recommended Posts

第三讲: 外部世界The External World

简介
这一讲我们来学习在外部世界的摆放建筑,并把它们与内部单元连结起来,从而创造出一个完整的结构。

准备工作
正式开始前,我们先来更改两个ini文件,使我们的工作变的方便些。这两个文件在My Documents/My Games/Oblivion文件夹下。
(a)    首先,更改oblivion.ini文件.
用记事本打开它,找到下面一行:
bAllowScreenShot=0

把它改为:

bAllowScreenShot=1
这样在游戏中可以通过按’ PrintScreen’键截图了。图片以bmp格式保存在你的真正的oblivion游戏目录下。可以用它来记录,展示你做的MOD
( B)    再来更改 Construction set.ini 文件
找到下面一行:
bAllowMultipleEditors=0

把它改为:

bAllowMultipleEditors=1
这样就可以在电脑上同时打开多个CS
我通常打开一个CS载入oblivion文件。我叫它安全模式,在里面可以随意改动但不存盘。再打开另一个CS载入自己的Mod。把在安全模式中确定下来的在这里做正式修改。遗憾的是不能在两个CS中拷贝、粘贴。


位置
摆放建筑的最大问题就是:位置。
打开CS,载入oblivion.esm
在单元视窗(cell window)打开上面的空间世界(World Space)’下拉菜单。里面除了第一项内部单元(interior)’外,其它的就是游戏中的城市空间和Oblivion世界。让我们选择’Tamriel’单元视窗列表会显示出里面的所有空间单元信息。

野外:并不空旷的单元
’Tamriel’下绝大部分的空间都叫做野外(Wilderness)’,但其实并不是什么都没有的空地。相反,里面经常会有一些非常重要的东西。在制作Mod时一定要小心。我就见过在一个Mod中,房子盖在一株Nirnroot上面,房子里面长根儿草,这样的Mod我是不用的。
因为整个世界都很充实,地皮就显得重要了,难免会有Mod冲突。我所知道的Mod里就至少有3个使用靠近Anvil城的同一空地,还有2个都使用了Cheyinhaal城的小岛。 所以你可以把Mod设置在任何地方,但尽量减少与游戏的冲突。如果作出了什么重要的改动应该要玩家知道。除非你只是自己使用。

单元(cell)坐标
游戏中的Cyrodiil世界其实是由很多的单元组成的。点击单元视窗左边框中的位置(location)’按纽,单元就按坐标顺序排列起来。
坐标的原点(0,0),是游戏里Weye村南面的一个单元(cell)Weye位于Y轴上,在它东面的单元坐标都是+x,西面的坐标就是-x
作为参考,以下是一些主要城市的单元坐标
Anvil (-46,9)
Bravil (14,-9)
Bruma (6,35)
Cheydinhaal (29,22)
Chorrol (-17,23)
Imperial City (7,15)
Kvatch (-35,-4)
Leyawiin (21-35)
Skingard (-17,0)

这里的城市单元指的是含有教堂的那部分单元(译者:因为城市太大,有的是需要好几个单元结合在一起才组成完整的城市的)。但帝都除外,它的这个是中央塔的那部分单元。
想要找到游戏中的一个野外单元,先找到一个靠近它的有具体名字的单元,记住它的坐标(比如Weye村是(0,15)),向北移就是增加Y轴坐标。所以(0,16)的位置就是在Weye的稍北边,向南移就减少Y轴的坐标。东移就增加x,西移就减少x

我们需要的单元的坐标是(-2,19)
双击打开它。在单元视窗(cell window)的右边框单元物品列表中会看到它里面没有什么特别重要的东西。有一个可升级生物(leveled creature)。我们可以在这里建一个小茅屋。

构建外部Selecting Exteriors
物品视窗(object window)’选择外部物品(World Objects)/静态物体(Statics)/建筑(Architecture)’
列表中是各种建筑物件。有些是内部单元使用的,物品名以INT结尾。有些是用在外部世界的,用EXT标注。地牢的物品以DUNG标注,城堡的以CASTLE标注等等。当然这并不是绝对的。
我们将使用建筑(Architecture)’中的农舍01(Farmhouse01)’在视窗右边框找到它,拖进显示视窗(render window)
利用T键俯视视角把农舍移动到(—219)位置(译者:在显示视窗顶端你可以看到图中坐标的变化)。然后按F键把它放落到地面上。先不用管它是否会砸到石头或花花草草什么的。
调整视角观察房屋,会发现房屋的门并不是与地面平行的,仔细看看,原来建筑物都是有个基座(foundation)的。这是设计者高明的地方。他可以让你通过把建筑沉到地面以下,从而与地面完美的结合。而不需要在建筑周围做额外的布景修饰来掩盖建筑底部与地面的不协调。
利用Z键和鼠标把房屋高度调整好,使门贴近地面。方法与操纵其他物品一样。先别去理睬其它的问题。
现在可以给这个单元起个名字,比如把’Wilderness’改为’myfirsthouse’
最后记住门的方向,以便我们待会调整内部单元的指北针(North marker)’
存盘。
从单元视窗的空间世界(World Space)’下拉菜单中选内部单元(interiors)’

搭配内部单元
我们要选个房屋的内部单元与这个农舍搭配。你可以随意选择,这里我们来选famhouseint01(也在建筑(Architecture)’)。在安全模式CS中的物品窗口找到它。你可以右击它,在弹出菜单中选使用信息(Use Info)’。弹出的窗口显示出游戏中所以使用了famhouseint01的单元名称。随便双击一个,在单元窗口就列出该内部单元。挨个点点,在显示窗口中看看它在不同单元下的使用。
有两中方法来选择构建内部单元:
(1) 编辑现有的
拷贝一个现有的相似内部单元,再按个人情况重新布置。
(2) 从头开始
选取一个单元,如abandoned mine, 拷贝它然后删除所有里面的物品得到一个全空的单元。这样可以从头开始随便的拖入任何东西加以设计。
它们各有利弊。这一讲我们会分别使用这两种方法。
    在单元窗口中找到内部单元Shadrock。右击选择duplicate cell复制它。出现新的单元ShadrockCOPY0000。右击选择进入编辑(Edit)’对话框。在内部数据(Interior Data)’中改变它的物主NPC(Owner NPC)’ (none)’玩家(player)’。在照明(lighting)’中把灯光改为41, 45, 50。最后给这个单元改个合适的名字比如’MyfirsthouseInt’
这个内部单元的所有繁重工作都已经为你做好了。 它包括了各种户内物品和照明。我们只需要稍做更改就可以用了。
- 删掉房间内的NPC  ‘Thorley ‘
-
一些箱子容器的所有权标记是(None)’。你可以更改一下。
- 这些容器的属性设置是可刷新的。如果要改变这点,你要进入该物品的属性设置对话框(可以双击物品进入),选编辑源(edit base)’。在里面给该容器重新起个名字,然后就可以清空物品箱,安全的加入自己想要的东西了。
- 门连结着一个外部单元,并归Aethelred所有。进入属性框的连结选项卡,取消连接。再改变门的所有权。
- ‘指北针Northmarker’ 需要调整方向来搭配外部单元的方向。在后面我们将讲述如何使门真的发挥作用。.
现在我们有了属于自己的家。但是一定要小心。如果只是你单独居住,那就没什么问题。但如果你想让NPC或同伴,甚至一只宠物进入这个房屋,那就需要学习路径网格(pathgrids) ‘

路径网格(Path Grids)
选取路径网格按纽(译者:工具栏中间红蓝点有黄线的那个)或在菜单栏世界(World)’下选择编辑单元路径网格(Edit cell pathgrid)’
显示视窗中会出现一系列的由黄线连接的红色方块。这些就是这个小型的内部空间的路径网格。它有什么用呢?
NPCAI是由一些按功能分类的程序包决定的。其中一套程序决定着NPC在游戏中如何移动。所有NPC都使用一套简单的标准来行动。
红块叫做结点(node)’。相当于路上的某个位置。黄线是两个结点间的路径。假如NPC要从屋内床边移动。程序会计算出经过哪些结点可以用最断的距离到达门口。通常NPC会选择安全路线。结点的颜色标志着优先权,结点本身是可以站立的安全地点。
兰色结点:优先行动路线。NPC在选择上会优先使用兰色结点组成的路径。
红色结点:普通结点, 人工设置的。
橘黄结点:自动结点, 功能与红色相同。

如果屋内有几个NPC的话,就有个问题出现了。他们要从床边走到门,但又不能穿越其他NPC。游戏会检测移动方向的每个结点是否通畅。如果与其他NPC冲突,就会寻找另一路径。所以可选择的路径越多,NPC移动起来就越方便。
然而问题尚未解决。只要冲撞检测没有告知NPC,他们就无法识别墙壁等物体。这可能出现NPC破墙而入的情况。因此我们要保证路径上没有其他物体。也就是说要根据具体空间设置路径网格。路径结点可以象其他物品一样拖动,也可以单击结点后按’delete’键删除它。
要添加结点,在显示窗口(render window)内单击右键。结点不能浮在空中。
拖动结点到适当位置,按F键把它放到地面上。
按住ALT键右击鼠标可以添加兰色结点。
要添加或删除连接,先用左键选择一个点,再按住Ctrl键,选择另一个点,连接就建立了。如果结点间连接已存在,就会被删除。
按住Ctrl键右击鼠标,会增加新的结点并与前一个结点自动连接上。
建议至少在房内设置两条路线连接各重要位置,如箱子,椅子,床等;至少有三条路线可通向门口结点。
现在可以关上路径网格按纽了。
最后记住房内门的类型 Farmhousedoor01.
我们现在要回到外面的世界把内外连接起来。

连接内外
进入’Tamriel’,打开我们的农舍单元 (-2,19), 放大观察房屋。似乎房子已经有了一扇门了。但事实上它并不是真的物品。我们需要在物品视窗选取门,并把它拖到显示视窗。然后再把它摆放在房子门的位置上。
从物品视窗的/建筑/’下把Farmhousedoor01拖到显示视窗,然后把它摆放在房子的门的位置上。双击门打开设置对话框。在连结点(Teleport)’界面,选择我们刚刚创建的内部单元’MyfirsthouseInt’ 。不要忘记把连结点标记(Teleport Marker)’移到门外摆好。
连接工作完成!
接下来看看我们刚才忽略过去的外部物体。
W键可以切换到线框视图模式。这样可以方便的看到建筑内部的石头,植物等等。通常我会删掉石头,移走植物。你可以按自己想的做。
在进入下个环节前,让我们把外部世界的路径网格做些清理。进入路径网格和线框视图模式。删除所有穿墙进入我们房子内部的路径结点,同时也可以把房间内部本身的结点给删掉。我们可以在布景后再进入房间内部单元布置新的路径。

地貌编辑
严格说来,世界编辑器是用来对场景做大手笔调整的,比如添加一座山脉或创建一个全新的世界场景。而不是为我们这样的目的设计的。
选择菜单栏世界(World)/ 地貌编辑器(landscape editor)’打开地貌编辑工具箱。也可以使用热键H,或直接点击工具按纽。
首先把画刷大小(brush size)’改为1。在使用地貌编辑时我从来没有用过大过5的。通常都设置在1-3
地貌工具箱分为3种功能:地形高度/地面材质/暗度调节。

编辑高度
外部世界是由高点地图(Height Map)’表现出来的。什么是高点地图(Height Map)’?在游戏中的Tamriel大陆看上去是个实实在在的固体世界。挺拔的高山,凹陷的山谷。但实际它们都只是表面的一层,类似表皮或外壳。这些自然效果是通过在程序中修改这层薄板或叫做表层的东西而实现的。修改前这层薄板是平面的,上面有一系列的结点和顶点。节点连接组成了一个个的方块儿,方块儿中央有一个顶点。把中央的顶点拉高,方块就凸起成一个金字塔的结构,就象是形成了一座山。把中央顶点降低,就形成了低谷。在整个空间世界中这样操作就创建了地貌。
编辑高点地图时就是通过提高或降低结点来改变表层的形状。
具体操作就是按住鼠标左键上下在显示视窗中上下移动。画刷大小(brush size)决定了在视窗的红色圆框中有多少结点被移动。
安全模式中进行练习,升高或降低地面。变化画刷大小,感受不同的效果。这里的关键就是要动作轻、常检查和慢慢来。Ctrl+z可以撤消前面的操作,但有记忆次数限制。我使用5击原则。就是每点击鼠标5(即做了5次改动),就从不同视角进行查看。如果不满意就用ctrl+z撤消操作。如果觉得可以就存盘,然后再接着做另5次修改。
   在这一讲中我们不需要做太多改动。只要修改一下房屋周围看上去刺眼的地面即可。

连通道路
现在我们要农舍与道路连通起来。可以把画刷大小(brush size)改为2。从道路边开始,把草地升降到与道路相同的高度。
通常马路要么高出地面呈凸起拱型,要么低于地面呈凹陷拱型。如果这样你就要从马路到房门做出一个低洼的谷型路面。这就要看你的艺术天分了。最后可以把画刷调节为1进一步调节。
做完上述工作后,可以重新摆放路上的石头,树木。它们是独立于地形,不受地形的高低而移动的。别让它们浮在空中。
高度编辑器中有两个特别的复选框: 平化顶点(Flatten Vertices) 光滑顶点(Smooth Vertices)
平化顶点(Flatten Vertices)可以把周围地面高度变为统一。用以创建平地。
光滑顶点(Smooth Vertices)可以把刺眼的地面边缘变得圆滑些。

装饰路边
上述的高度编辑器也不是能够处理所有的地面边缘尖锐的问题。Bethesda 的游戏开发者通常会通过摆设石头或其他美化物体来遮掩它。
在外部世界里有3种经常使用的装饰物体:石头、植物和树木。植物是指那些可采集的花草。
石头和树木是用来装饰的静态物体。可以从物品视窗选取现有的来使用。另外还有个提示就是最好把它们按大小归类,以方便使用。(,,)
我发现在种树的时候如果想把数摆的更加自然,就先用F键把它们放到地面,再使用高度编辑在树干周围把地面稍微抬高。

地面材质
地貌编辑工具箱的中间部分是地面材质(texture)工具。
在显示视窗点击鼠标右键来使用材质美化地面。
这部分包括3个部分:
材质列表
当前材质图示Selected Texture
不透明度(Max Opacity)
我们可以在材质列表里选择自己想要的材质,也可以在显示窗口把光标移动到要选的地面处按住Ctrl键,右击鼠标把它选为当前材质。

草的问题
草丛降低我们的游戏速度。事实上,游戏里大部分草地都是下面两类:
TerrainHDGrassSu
TerrainHDGrassSuNoGrass

CS的显示视窗中,两者的显示是一样的。但在游戏中’-nograss’ 这个是没有草丛的。而第一个是有的。根据个人情况来使用吧。

铺设道路
现在我们来铺设道路。
大家看到的马路实际上是由3种材质构成的。把画刷设为1。用Ctrl-右键功能在马路中央选取材质’ Roadstone01’
在你刚才设计好的前门和马路之间的道路上,用这种材质在道路中央铺设(不透明度可以设为 90-100%)
接下来把不透明度设为 70-80%然后在马路外围用Ctrl-右键功能选取材质’Roadstonesmall01’ (当然也可以从材质列表里找到)。由于不透明度降低了,就可以使下面的材质渗透出来,使两种材质到达混合效果。使用这种材质在道路两边做出个边界效果出来。
现在选择草的材质,不透明度设为 50%或更低,再在道路第二种材质外围铺设这可以减少草在边缘显示的数量。
记住要不时的进入游戏看看实际效果如何了。在不影响游戏进行的同时可以增加图形的数量,质量,使视觉达到最佳效果,从而满足显卡好的玩家要求。
使用没有草丛的材质来清理房屋周围。由于在CS中这两种草看上去很相似,因此要进入游戏去实际检查。

暗度调节
地貌编辑工具箱的最后一组是比较专业的绘画功能。用来描绘阴影或大型物体的暗度。游戏本身可以处理阴影问题。但这组工具可以使游戏中的树木,石头,建筑在视觉上看起来更加象是整个世界的一部分。它包括两套可选择颜色板。一套是通过点击鼠标左键来使用,另一套是点击右键(译者:之前要先勾选右边的编辑色彩Edit Colors’)。通常都是使用灰色调,但你可以使用任何颜色。
你将需要:
各种灰度 (rgb200,rgb150,rgb100 ) 几种暗绿,一种深紫。
现在可以在房子周围实验一下。
白色(255,255,255)被用来擦除不想要的色调。
记住要存盘。
现在这个Mod就已经大部分都完成了。你需要做的是在新的道路上添加调整路径网格;检查是否还有浮在半空的物体。

好了!我们有了一座建筑。去感受一下,然后回来。

复合式内部
这一部分我们来看看更加大型的建筑和复合式的内部单元。
我们将使用 "Skhouseupper01" 和它的内部单元"Skhouseupperint01b" "Skhouseupperint01t"
我们还来使用相同的外部空间地点和同样的基础技术来把外部建筑单元摆放到正确位置,移除物体和路径网格。现在由你自己来做。你可以从新再做个Mod,或者把这个建筑加入刚刚的Mod,来做出一个小社区。摆放房屋,沉入地面,记住指北针(North marker)’的相应方向。
这一次我们用从头开始的方法来构建内部单元。随便选一个内部单元,复制它,重命名,设置物主NPC(Owner NPC)’照明(lighting)’
删掉除指北针(North marker)’外的所有物体。(译者:建议从单元视窗右边框中进行删除)
删除所有路径网格。(用鼠标在所有路径网格上拖出一个框来选中它们,按Delete)
双击指北针(North marker)’,把位置坐标设置为0,0,0. 你不必非得这样做。但它有时候可以很方便的让你把不同对象结合起来。
整个建筑包含有两个内部空间:
Skhouseupperint01b (底部两层) Skhouseupperint01t (顶层)
有两种方法连结:

连续连结
把两个空间放到同一个单元中。(译者:还记得怎么组合游戏内已设置好的固定套件吗?两个物体的位置坐标都设为0,0,0)
两个部分通过底层楼梯顶部和上方敞开的楼梯间连通。我们可以加入内部单元门。找到名称中带animated INT的门。这里可以用’Skdoormiddleint01’这个门为例。不需要为门设置连结,它们是开合式的。游戏中打开门时就会显示出里面房间,而不会出现载入界面。问题是这样一来就增加了一个单元的物品数量。游戏程序需要一次性记住每个物体的位置数据,即使是楼上那些你还没看到的东西。这可能会导致游戏速度下降。

独立房间
把两个空间分别放在不同的单元。
使用门的连结点功能把它们连接起来。不好的是游戏里出现的载入界面。
游戏的设计者倾向于使用这种方法。但你可以根据情况自己决定使用哪重连接方式。
不管用哪重方法,现在都可以继续下面的有趣工作了:
-布置房间 - 添加光源- 添加路径网格。
打开外部世界,进入我们的单元,添加一扇前门。把它和内部单元连结起来。别忘了摆放门标记。
做地貌设置,修条马路,建一堵墙或篱笆,搭个马厩。

快速旅行标记
最后要做的是给房子加个地图标记(map marker)’ 在物品视窗外部物品(world objects)/静态(statics)’下可以找到。把它拖到显示视窗,用F键放置它。这个标记看上去象是个红色的门的连结点标记(teleport marker)。它的位置就是你快速旅行时到达的地点。记住有人会骑着马快速旅行,所以要小心放置。标记外围的圆圈代表在地图上显示的范围。现在你可以发挥想象创建自己的Mod了。

初级教程的建筑和结构部分就到此结束了。在下几讲中,我们将研究NPC的任务和脚本。

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...