Jump to content
模组网
icedream

【Creation Kit 学习指南 10】房间,大门以及优化

Recommended Posts

概述
本章将带领你优化一个地牢来加强其性能。读者将了解到:

  • 获得可能的最佳性能的窍门
  • 可用来优化的工具
  • 如何放置点评标记和门户

什么是优化?
物体常常在游戏中,在它们不需要如此的时候被渲染,浪费了宝贵的性能。举例来说,如果玩家在一个四面都是墙的房间内,玩家不能看到墙外的任何东西。因而,在墙后的对象不需要被渲染。然而默认却是它们可能会渲染。见图7.1的图例。尽管在我们看来,这些物体很明显要被剔除,有时候,游戏引擎搞不清楚谁应该被拉进来。

为了帮助游戏明白不需要渲染墙壁之外的任何东西,我们有特殊的工具来优化房间。多亏了这些工具,让游戏可以在到底是对物件进行渲染,还是剔除操作这一问题上做出更好的选择。我们可用的工具有门户房间标记,多边界以及封闭平面。

手动优化并不总是需要 —— 一些空间非常简单,同时也不会增加多少。记住,一个在你的机器上性能很好的空间,到另一台硬件不同的机器上,就可能表现很差了。本教程将试着并让你熟悉最佳的实践,让你的MOD可以在尽可能多的机器上运行良好。

以最佳实践造就性能
这儿有一些在你创建时可牢记在心的指南,可帮助你避免性能的问题。注意这些最佳实践将让你的地牢更容易优化。

  • 注意你的物件数量

简单来说,物件数量是在游戏中某个时间内渲染的“物件”数量。一些复杂的参照可能会实际上构成一些物件,因此,参照的数量并不能很好地表示你实际的物件数量。尽管如此,为了性能起见,在一个空间内尽可能地控制参照的数量是个不错的经验法则。

  • 避免长视线

渲染很大程度上依赖于玩家的视线,或者说,在视线被阻碍之前,玩家可以看到的距离。在一个空间内,视线越远,游戏需要渲染的物件就越多。这跟是否有扇门或是墙壁挡住路没有关系,任何在视线内的东西将会被渲染。手动优化将避免最糟糕的情况,但最好是首先避免长视线。
在Lokir's Tomb中,有一个视线问题,如果任其发展,可能会导致性能问题。从前室开始,你可以看到接下来的两个房间,导致游戏会渲染很多的物件,如图7.2所示。
我们可以通过在通往洞穴的大走廊处增加一段楼梯来修复这个问题。这将提升整个洞穴面积,帮助我们挡住视线。因为我们已经提升了整个房间,我们将不得不调整导航网络使其匹配。

  • 将“NorHallBg1way01”参照放到最接近的地牢入口。
  • Ctrl + F来用“X”物件取代它
  • 确保标记已经开启(”M“快捷键
  • 调整地牢和导航网络来对齐新楼梯
  • 仔细检查调整时所造成的任何接缝。
  • 检查光线的数量

在一个空间内的光线数量也会影响其性能。尽量不要让任何物件由两个以上的光线照亮。你可以通过切换“L“快捷键感受一下一束光线会影响多少参照。在渲染窗口中右击并选择“渲染窗口属性”,你还可以看到在空间的光照问题。前往“着色”标签,并选中有着“光照数量”的方框。图7.3给出了一个光线过多的例子。颜色代表了每个参照所照射到的光线数量。绿色表示一个未被照射的部分,而红色意味着一部分上有过多的光线,可能会有性能问题。在照亮你的地牢时,确保没有显示红色是个很好的做法。

  • 用FRAPS观察帧率

FRAPS是一个软件,让你可以在游戏中进行视频和截图,不过它也会在运行时显示帧率。在穿过你的地牢时打开FRAPS是个好主意,可以在试着查看所有方位时检查你的帧率。一个好的经验法是尝试并始终保持每秒30帧以上。如果在任何时候,你的帧频骤降,有可能是在你的视野内有物件数量问题。在这里下载FRAPS。
gallery_1_72_424194.jpg
图7.1: 没有手动优化,这座雕像将被渲染,因为它位于玩家的黄色视线锥面,即使玩家不能实际看到它。

gallery_1_72_42928.jpg
图7.2: Lokir's Tomb设有一个很长的,不间断的视线。

gallery_1_72_152219.jpg
图7.3:带有红色或紫色阴影的参考有过多的光线照射。
房间标记和门户

gallery_1_72_1601.gif
图7.4: 黑点和蓝色椎体代表玩家的位置和视锥。标记着AB的形状代表房间标记,红线ab代表门户。

房间标记是简单的形状,你可以创建定义一个区域。房间,在本质上,就相当于收藏室。剔除时,渲染器将把在另一房间内的所有东西认作不可见,从而保存了有价值的进程力。

房间标记
一个房间标记,有时也被称为一个房间边界,是用来将物件集合的框,允许Creation Kit来将其作为一组渲染或剔除它们。例如,我们可以创建一个大的,围绕着一个房间的房间标记。默认情况下,站在这个标记内会看起来正常 ——但一旦你走出它,每一个被房间标记所包含的物件将被认作剔除,并成为无形的。
图7.4的“A”和“B”两个框代表两个房间标记。黑点是玩家,着色的三角形说明玩家的视野。带有那些房间标记时,玩家只会看到房间“A”内的参考。不过要感谢门户,我们可以创建房间标记之间的逻辑联系。

门户
门户是一种从一个房间标记到另一个的门路。没有门户的话,在图7.4内,玩家可看见房间A内包含的所有参照,但对房间B一无所知。不过,在该图中有两个门户,门户“A”和门户“B”。
因为玩家的视锥包括部分或全部的“a”,“A”和“B”的内容将都将被渲染。(当然,假设“a”链接到“A”和“B”。稍后会做更多介绍。)
请注意,玩家无法看到门户“b”的任何部分。这意味着,任何连接到该门户的房间(没有被描绘),将会被剔除。

优化流程
用房间标记和门户来手动优化可能是件有点儿难以理解的事情。让我们用Lokir's Tomb来看看这一过程。

第一步:建立房间标记
在我们开始之前,有一些快速设置步骤:

  • 如果你尚未准备好,取消之前提及的长视线(图7.2
  • 打开对齐网格(Q快捷键或gallery_1_72_18890.jpg
  • 在主工具栏内,点击:视图>显示/隐藏窗口
  • 检查“门户和房间”。注意:“标志”也必须检查

Lokirs Tomb基本上是由五个不同的区域构成。我们将使用一个房间标记来定义这些区域,让Creation Kit可以轻易地理解。我们将从第一个房间开始,然后重复过程来创建其他的房间。

  •  
  • Ctrl +单击从房间的四壁上选择墙壁块
  • 单击主工具栏上的“创建房间”的按钮:gallery_1_72_781.jpg
  • 注意,我们新的房间标记包括所有在我们选择内的物件。
  • 手动缩放你新的房间标记,包括任何杂散部件,如图7.5b所示。
  • 重复此过程,直到创建所有五个房间,如图7.5c-e所示。
    • 或者,你可以手动复制和衡量你现有的房间标记。这是你的选择,只要你可以得到同样的结果。

可能会在这儿做得过火。每个门户的摄像头锥体的命中涉及一个计算成本,这意味着太多的房间或门户实际上可以导致一个空间运行得比没有它们时慢。避免视线穿透超过3-5个门户的情况是个很好的经验法则。

你的房间的某些部分可能会重叠,或被小的缝隙隔开,见图7.5d,这取决于你如何创建它们。你可以使用非均匀缩放(在前面的教程有所提及),以尽量减少这些错误。努力在最狭窄的点整队房间,如门口。Creation Kit将在我们稍后连接这些房间时试图纠正小的错误,但最好是现在就争取对齐,见图7.5e

现在试着运行游戏。你会发现,事情看起来不对劲;当玩家进入之后,每个房间都自己渲染。你会在另一个房间标记开始的任何地方看到缝隙。我们将在下一步中装上门户,这将使创造引擎一次渲染多个房间。

完全一致的房间边缘是很重要的,否则你会以非常小的重叠区域和/或缝隙结束,因为在游戏中,将不会正确渲染。这些都非常难以找到和调试,但通常可以在此阶段,通过很好的对齐习惯来避免。

当选择了物件,创建一个房间标记(或其他基元)时,新创建的基元将匹配位置,旋转,以及边界或所选物件。这在快速创建精确的房间标记时非常有用,如上所述。你还可以创建“老式”的基元:只要在未选择任何东西的情况下按一下gallery_1_72_781.jpg按钮,然后单击你想放置新的基元的位置,然后,如果需要的话,测量大小。



gallery_1_72_173496.jpg
图7.5a:通过选择前室四壁的墙壁来创建房间标记。

gallery_1_72_272031.jpg
图7.5b:重新调整房间标记的大小以包含整个前室。

gallery_1_72_260831.jpg
图7.5c:包含地牢的每个房间的房间标记。

gallery_1_72_283523.jpg
图7.5d:从上往下正视,可看见在两个房间标记之间的一个缝隙。

gallery_1_72_130649.jpg
图7.5e:从上往下正视,所有房间标记都排列完美。
第二步:考虑门户
我们将在 a)两个房间相遇 和 b)玩家应该可以看到从一个房间到下一个 的地方创建门户。你可以把它们作为一种用户自定义窗口。现在,尝试建立一个门户:

  • 选择包含第一个房间的门户。确保没有其他的东西被选中。
  • 恰当放置在房间内的摄像头。
  • 通过门口看,类似第一人称的观点,如图7.6a所示。
  • gallery_1_72_4013.jpgCtrl + P快捷键进入“门户模式”。
  • 注意:在门户模式时,只能选择额门户。
  • 按下在主工具栏的“创建门户”按钮:gallery_1_72_4458.jpg
  • 点击位于门口内的可见的蓝色表面。
  • 一个与你的房间边缘平齐的黑影将被创建。这是你的门户。
  • “有时门户不会在正确的房间边缘被创建。如果发生这种情况,请按CTRL + F将摄像头集中于于新创建的门户,然后旋转或调整其位置,使其位于两个房间相交的地方。在我们将第二个房间连接时,它会完美对齐,而我们很快会做这个。
  • 使用衡量小装置来调整门户的形状。它应该尽可能小,可以完全填充在相交处可见的空间。(图7.6b

你的门户的定位正确,但它只连接到了两个房间之中的一个。你需要在它正常工作之前,将它连结到第二个房间。

  • 保持门户被选中,退出门户模式。(gallery_1_72_4013.jpgCtrl +P
  • Ctrl +单击选择第二个房间标记
  • 你现在应该有“”两个物件被选择:门户和尚无关联的第二个房间。
  • 点击“链接门户”按钮:gallery_1_72_3042.jpg

注意从门户到新连接的房间中央的白色箭头。(图7.6c)这个可视化表示是一个用来抽查一个空间内的连接的很好的方式。你可能还会注意到,房间标记#2 的大小/位置略有变化。连接过程将确保房间边缘和门户平齐,而这有时可以纠正小错误。不过,提前确保你的房间正确对齐还是比较好的。在你使用一个带有多个门户的房间时,这些自动调整可以变得很麻烦;在房间一侧的修正可能会导致另一侧的一个缝隙——因此,最好不要完全依赖于它们。

如果你选择一个门户时遇到麻烦,只需进入门户模式选择一个房间的标记,然后按“Ctrl + P”或者gallery_1_72_4013.jpg,或选择你的门户。在门户模式时,你只能选择门户。这在当你有很多阻止你的视线的参考时就派上用场了。
牢记这一点,如果你发现自己无法在编辑器中选择什么 —— 你可能不小心进入了门户模式!


gallery_1_72_896152.jpg
图7.6a:我们所想创建门户的,两个房间标记的边界。

gallery_1_72_654871.jpg
图7.6b:放置在边界,大小以覆盖整个连接区域的门户。

gallery_1_72_12850.jpg
图7.6c:两个房间链接到一个同平面的门户。注意白色箭头。

第三步:完成优化
房间标记到位,继续在整个LokirsTomb增加门户,直到每个房间相连。这种布局相对简单,大多数问题都可以通过简单地在游戏内运行空间并查看一些或所有你希望出现物件的地方就可解决,通常是因为在两个房间标记相会处的一个缺口或重叠。

一些不错的优化技巧:

  • 多个房间可以作为一个单独的房间标记加入和处理。这使得覆盖不规则房间形状可行,特别是对一些离开网格转换的区域非常有用。要加入房间,选择每个房间标记,然后按“加入房间”按钮:gallery_1_72_3042.jpg 加入的房间由双端的蓝色箭头表示。
  • 有可能得到你的链接的一个干净的,图式连接视图。从视图菜单隐藏门户和房间,选择所有物件并双击“1”来隐藏。然后检查视图菜单来显示门户/客房,进入门户模式,并选择所有的门户。(图7.7
  • 一旦连接到房间标记,该门户则不能被移动。可以使用“取消门户连接”按钮来切断这个连接:gallery_1_72_1996.jpg
  • 每个参考只能属于一个房间标记 —— 默认情况下,它的支点包含在内。如果参考需要在多个房间中可见,在它的参考属性中,将它分配给“无”多边界。
  • 天体盒可用于建立天体盒透视图,使你的空间更可信。


一旦你的关卡达到最高性能的优化,就可以将它连接到世界,让玩家将能够从天际正确进入它!          

  • Upvote 1

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...