建築架構

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

以模組方式建立站點讓我們可以順利更新和傳播內容更新,這是確保我們不會花上數小時更新個別網格、紋理、零件等內容的關鍵。

Roblox 包讓我們能夠實現這種模組化設計,因為它讓我們包裝一個由 Meshparts 容易快速組合的調色板、修邊集和 SurfaceAppearance 節點,這些節點可以由 MeshParts 共分享。這讓我們在早期測試期間適應布局和尺寸的變化,並使填充車站的過程變得更快。

Architecture Overview

靈活的設計到最終藝術

當我們第一次開始時,我們沒有完全理解我們想要在車站裡做什麼,或者需要有多大才能容納 50 名玩家。

為了找出答案,我們首先使用 Parts 來構建環境,然後帶入一些網格,例如來自我們外部 DCC 應用程式的圓形網格,例如 Maya 或 Blender。使用這些簡單的形狀,我們調整了地圖的比例,房間的布置和路徑,以找到最有趣的安排。無論是遊戲還是社交體驗,這個早期往往是最動態的。

當建立車站的布局時,驅動探索最重要的事情是給使用者一個目標。在這種情況下,最明顯的目標是仔細查看黑洞。接下來,我們知道給他們一條通往黑洞的直路會很無聊,因為一名玩家可以從生成點走到地圖盡頭。我們打破了路徑,因此玩家無法先繞過去看到可能吸引他們的其他東西,然後才能到達黑洞。

模組化設計讓我們可以在不改變整體設計的情況下對環境進行這樣的變更。我們可以將車站的整個部分移動到玩不同的遊戲想法。最終,這些相同的模組零件可以使用包裝進行更新,這樣我們就不必重新建造同一資產的多個版本。

Architecture Example 1 Architecture Example 2 Architecture Example 3 Architecture Example 4

凱瑞-紐曼 DSR-14 模組設計

太空站只使用少數模組化色盤零件。模組化調色板零件是可重複使用的資產,意味著我們不需要獨立地創建每一面牆,而是可以組合多個較小的牆壁。這樣可以在我們建造時提供靈活性的布局。

以下是一些幫助我們創建模組設計的提示:

  • 在統一網格尺寸上落定 — 對於車站,我們選擇了 16 格網格尺寸來創建大部分模設定設置。你使用的網格尺寸是隨意的,但應該在整個項目和所有在該項目上工作的藝術家中保持一致。在項目開始時設置網格尺寸可確保每個部分都能很好地與鄰近的部分匹配。它也讓你輕鬆地交換零件,例如交換牆部分為門部分。

  • 所有單位都被輸入為螺柱 — 當在其他 DCC 應用程式中創建網格時,例如 Maya 或 Blender,Studio 不會將公尺、公分、英尺或英吋轉換為單位 — 它只會將進來的單位與相同的單位在螺柱中替換。例如,如果您將單位設為公尺,Studio 將 2 公尺轉換為 2 個單位。最好將您的單位尺寸在您選擇的應用程式中視為 Roblox 中的螺柱尺寸。Roblox 中單個螺柱的最接近實世尺寸為 28 公分。

  • 保持零件簡單 — 不要嘗試建造每一個你認為會需要的零件。想法是擁有幾個非常靈活的零件,而不是很多一次性的零件。你擁有的零件越多,創建每個零件所需的時間越長,並且對你的整體記憶和性能預算的影響越大。如果它絕對需要,你總是可以添加另一個部件到你的套件中。

  • 使用包裝 — 將每個模組零件轉換為包裝,並在開始填充體驗之前將材料放入包裝。這樣一來,您就可以輕鬆地將更新推到所有實例。我們稍後會深入包裹。

以下截圖顯示我們使用模組設計來構建車站的各種方式。

Architecture Example 5 Architecture Example 6 Architecture Example 7 Architecture Example 8

創建修邊單

1:1 紋理是未來的方式,但在記憶預算和創建立、創作時間方面會變得昂貴。對於太空站,90%的建築元素使用了一堆可交換的修飾片集,這是一組紋理地圖,布置在垂直或水平方式。每行或單元格的表格都有獨特的外觀,讓您在解開模型時選擇一堆不同的表面處理方式,同時使用一張圖像單元格。

這裡有一些關於製作精煉單的提示:

  • 開始使用物品和材料類型的庫存 — 修剪表可包含大量不同的材料類型,例如木頭、金屬、橡膠和更多。在開始模型您的第一個對物件之前,創建一個修邊紙板模板。這是所有其他修邊單元集的起點,並為您提供快速的起點以解開模型。這些修邊片住在 SurfaceAppearance 節點內,我們稍後會討論。

  • 包含各種表面處理在一張表中 — 這樣可以讓你保留更多網格在一起,這樣你就可以應用新的治療,而不需要將網格分為多個網格。這樣會提高運行時性能,減少對對象和材料的呼叫。

  • 製作修剪表樣板 — 樣板可確保您可以將任何地圖集切換為另一個。例如,您可以用生鏽的金屬設定與潔淨的金屬設定交換。

這是我們如何為車站創建修邊表的方法:

我們創建了一個粗略的表格外觀:

Trim Sheet Example

在 Photoshop 中,我們創建了一個模型來獲得每個片段的紙片外觀的快速想法。

Trim Section Example

我們使用了物質,但您可以使用任何適合您的應用程序來創建最終地圖。這是在 Substance 中生成的最後一組修邊紙地圖。所有四個地圖在表面外觀節點中一起工作,生成物理基礎渲染(PBR)材料。

這裡是一些在Substance Designer內部的修飾單的最終渲染:

以下是使用在各種對象上的相同修邊表的範例:

Modular Trim Sheets

如果您想學習更多關於 Trim Sheet UV 映射的內容,只需在網上搜尋主題;網上有許多很棒的教學。

應用表面外觀

SurfaceAppearance 讓您指定新的紋理輸入到我們的物理基礎渲染系統,用於 MeshParts 並讓您覆蓋包括色彩地圖、金屬地圖、粗糙地圖和普通地圖在內的網格的外觀。它也使用 Roblox 使用的新動態立方體地圖系統來反映材料,例如鏡面。例如,這裡是一個包含 SurfaceAppearance 的網格旁邊的網格的側面圖:

Surface Appearance Example

當使用表面外觀時,請記住以下提示:

  • 如果你的修剪地圖包含透明度資訊,將AlphaMode從Overlay變更為Transparency。
  • 表面外觀與零件無法相容,因為它們沒有需要應用地圖的 UV 資訊。零件使用世界對齊投影,取代 UV 資訊。網格零件通常在 Maya、3ds Max 或 Blender 等其他應用程式中創建,並包含 UV 解開資訊。

要應用 SurfaceAppearance :

  1. MeshPart 或文件夾名稱結尾按一下,然後搜尋 SurfaceAppearance 。新增一個將覆蓋任何你已應用的磚塊顏色、顏色、材料和紋理ID。

  2. SurfaceAppearance 節點重命名為獨一無二的東西,並添加 _SA 後綴以便易於搜索。在這個例子中,我們使用了 Metal_Trim_A_SA

  3. 匯入修邊紙地圖,複製來自 資產管理器 面板的ID,並將它們貼到屬性面板的相應欄位中。這是如何使用所有地圖ID插入到門並應用到門上的Metal_Trim_A_SA節點的外觀。

Surface Appearance Example 2

使用包提高效率

包裹讓您在 Roblox 體驗期間創建對象實例,因此包裹所做的更新將發布到該包裹的所有實例。我們使用包裝將幾乎所有我們放入車站的對象,因此如果我們需要進行調整,我們就不必尋找每個放置位置。例如,我們使用了包裝中超過 1,000 個牆面板實例,並能夠通過修改包裝來立即發布更新給它們。

使用包裹時,請遵循以下提示:

PackageLink 中啟用自動更新功能。當啟用時,所有修改都適用於包裝的所有使用,節省您使用「全部 所有部更新」功能的步驟。

Packages Example

您可以使用包裝為 SurfaceAppearance 對象創建"材料圖書館"。這讓您可以在 SurfaceAppearance 對象中修改位圖並將它們發布給使用它們的每個對象。下面的截圖顯示了在演示期間使用的主材料。如果我們需要修改地圖,我們只需要更新主要材料並重新發布包裝即可。

Packages Example 2