在整個過程的開始,需要進行許多反覆和快速測試,使房屋既有趣又可怕,易於探索,又是你想要迷失的東西。我們將向您展示我們如何思考空間,並使用 包裝 來構建它,以便更快地更新個別椅子和整個房結束。

以 2D 布局開始
既然房屋是可玩區域的大多數和整個角色本身,我們想為它確保既真實又有趣而花費很多心思。我們開始時的想法是房屋應包含多種視覺和聲音笑話、傳說和破壞的謎室,我們希望玩家初期對房屋沒有太多知識,通過玩遊戲來學習發生在房屋和住在那裡的家庭身上的事情。
為了平衡這些重要元素,我們開始想像 3D 環境使用 2D 布局!從弄清楚一般的 故事節點 或關鍵時刻開始,我們希望玩家體驗,我們繪製了空間的布局,並思考如何引導玩家到我們想要的地方,同時保持一個比生活感覺更大的環境。

一旦我們擁有整體布局的早期草稿,我們就使用 地形 快速布置周圍的山丘、湖、道路和駕駛到房子的道路。我們在這個時候沒有關心演示的視覺質量,而是專注於需要多久才能到達房屋,以及需要多久才能讓玩家看到天空中的房屋和事件。

使用簡單的 零件 以及 創作者商店 資產,我們能夠快速添加有助於我們構建環境的內容,包括:
- 使道路彎曲,玩家無法看到整個道路的長度。
- 添加擁有更密集區域的樹木,以便我們清楚地說明玩家無法訪使用權 通行權 存取,以及較薄的區域,以鼓勵他們探索。
- 將房屋的道路升高,當玩家接近時,他們必須攀爬上去。這讓房屋獲得了更可怕的存在。
- 將巨型事件放在天空中的風暴後面,以便玩家能看到零件,但不是整件事,直到他們接近房屋本身。
- 放置並計算我們最終選擇的房屋的一般形狀。
沒有任何經驗量可以保證你的第一個想法是最好的。這就是我們為什麼快速將資產帶入工作室,並使用簡單的零件和創作者商店資產來填充環境的原因。這讓我們不需要一次性完成所有工作,並且我們可以在最初幾天內開始進行遊戲測試。

雖然我們最終想要用自擁有的暫時資產取代暫時資產,但早期我們關心的唯一事情是梳理基礎並體驗體驗,以確保環境容易移動且不太大或太多「直接射擊」,因此玩家會被鼓勵探索。

規劃每個房間
外觀只供玩家品嚐整體故事的一部分,讓他們熟悉他們正在玩的世界。主角是房屋本身,我們希望玩家在裡面花費大部分遊戲時間冒險尋找秘密和在每個房間裡發現驚喜。為了做到這一點,我們需要找出房屋應該包含哪些房間,當我們希望玩家闖入時,它們應該存在在房屋內的哪裡。我們繪製了房屋的 2D 布局,團隊為發生可能的酷炫事情提出了許多想法。在這一點上沒有被忽略的想法。

我們使用每個房間的 2D 盒子來計算我們想要如何與它們互相排列。每個房間都應該是做些事情的機會,我們扔了很多想法,包括每個房間的主要用途、我們可以用來驚訝玩家的恐怖笑話,以及他們可能面臨的潛在謎題。


每個房間都必須合作,我們想慢慢地、逐步地講述故事。我們知道我們不能控制誰先去哪裡,所以我們計畫讓一些更難的謎題離前門更遠,並且更難被發現。這意味著為房屋新增幾層樓,包括用於遊戲和主題的閣樓和地下室。地下室裡最後一個看起來很邪惡和可怕的謎題?報名參加吧!


建立 3D 布局
世界上所有的早期規劃和想法都不能創造出有趣的體驗,所以是時候開始製作 3D 想法了!外部布局已被封鎖,我們為房屋擴展或縮小留出了空間。最早期的迭代在另一個 3D 應用程式中進行,我們可以製作簡單的盒子和形狀來開始將 2D 圖像轉換為可玩的空間。您可能會發現在 Studio 中構建早期版本和使用簡單零件是您最喜歡的方法。沒有錯誤的方法,只要你能快速將想法轉換為 3D 並進行遊玩!



隨著工作變得更複雜,沒有什麼會變得更容易,因此對我們來說很重要經常進行實驗,找出我們想要建立、創作建的環境結構。房屋的最早期迭代與您上面看到的圖像相同簡單,簡單的形狀允許我們盡可能靈活地進行變更,並快速更改房間的大小,當我們在演示中游玩時。早期的比例也很重要,所以我們總是在我們的 3D 應用程式和 Studio 內建造一個虛擬人偶,以便我們知道門應該有多大或步驟應該有多高。


我們經歷了許多小和大的迭代來確定我們在最終演示中擁有的內容。將上面的早期草稿與稍後版本的大廳進行比較,你就會看到我們在通過游玩房屋後做出的原始決定中的許多能留下來!

家具和道具
我們需要大量的家具和道具來填滿這樣的房子,所以在我們開始灰盒任何其內容之前,我們制作了一個文件來記錄我們可以使用的所有內容,這將補充了房子的類型和我們正在創建的謎題。通過將我們所有的想法集中到一個地方,我們就能組織、優先順序並查看我們可以在不同房間重複使用內容的地方。雖然這是一定程度的事先規劃,但它可以讓我們免於製作不足內容或過多不必要的項目。

這個列表讓我們對需要優先考慮的內容有了很好的理解,當灰色盒子出來將內容填滿整個房屋時。通過提早添加高優先級內容,我們可以輕鬆看到資產是否重複、比例不正確,或者當它們在特定房間時需要第二個變化或紋理交換時。我們早期阻止的一些內容最終沒有對體驗產生重要影響,但我們在過程中沒有損失大量工作,因為它們只是快速封鎖。對於我們保留的所有家具和道具,我們在它們的黑暗階段將它們轉換為 包裝,這使我們更容易將房屋內的所有東西替換為最終版本。


由於此演示需要大量資產,我們盡可能多地重複使用紋理對於保持記憶預算非常重要。許多家具共享相同的木材、金屬、石頭、玻璃和布料花紋,我們在可以的地方使用透明紋理。例如,我們使用透明紋理為布料,因此無需創建第二個反射紋理即可獲得顏色變化。有關如何重複使用紋理的更多資訊,請參閱規劃、重複和預算。




照相測量
我們知道我們需要比我們有時間建造自己的內容多得多,因此我們決定使用來自 創用 CC (CC0) 的照片測量來加快創建高質量內容的過程。 照相測量 是將數以百計的物體從每個角度拍攝數百張圖像的過程,以創建高質量的模型,並且創意共用模型大多是免費模型,通常具有教育性質,你可以使用和/或合法分享。這些模型可以從手模型資產到由光學成像製作的資產,在這個過程中與它們合作,使我們能夠跳過耗時的步驟,創建詳細的高解析度模型。
我們為家庭創造的背景故事將他們描述為「獨特收藏家」,在巫術中揮灑。他們從世界各地收集了文物,我們希望房屋充滿物品來反映這個故事。我們能夠從 CC0博物館內容 中獲取掃描數據,用於像 古董、雕像 和 標本 這樣的模型,然後開始UV映射、重新排序和紋理工作,以優化它們對Studio的需求。


UV 映射 是將 3D 模型的網格解開並將 2D 圖像投射到上面的 3D 建模過程。「U」和「V」代表 2D 紋理的軸,因為「X」、「Y」和「Z」代表 3D 模型的軸。紫外線通常會在掃描時自動化,且通常會因為進行遊戲開發而做得不妥。例如,某些照相測量模型的紫外線可能看起來像一堆個別飛機,但當創作者被限制在 10,000 個點頂點時,這並不是最有效的移動體驗。有時候我們會在掃描數據上幸運,但大多數時候我們需要更新或完全重做這兩維的紋理坐標,以實現體驗的目的。

此外,模型的大多數網格只包含模型初始掃描時將燈光信息烘培到網格中的漸變紋理。雖然這可能有助於用作網格的Albedo紋理的基礎,但我們還是需要手動清理,在那裡我們需要繪製光和陰影。如果網格有強烈的方向照明,它可能在世界照明不匹相符的地方看起來奇怪。為此,我們必須重新創建大多數 PBR 紋理,以便能從 CC0 博物館內容中使用的模型。


物理基礎渲染 (PBR) 是指使用更準確地模擬和代表真實世界中的材料和光源來使用實際陰影和照明的概念。創建 PBR 紋理時,對我們來說很重要,因為 Studio 的引擎會從圖像基礎照明 (IBL) 計算此值,除了使用紋理的 正常、粗糙度 和 金屬性 表面值來準確代表實世材料外,還會計算 反射率 值。相比之下,漫反射紋理可能會將這些個別地圖的部分或全部細節融入到一個紋理中,這對於您可能需要漫反射紋理單獨承載這些細節而不需要IBL或其他個別PBR紋理的幫助來說是有用的。當你決定要保留分散紋理或創建自己的 PBR 紋理時,請考慮你自己的設計或記憶預算限制,以及它對你自己的體驗有何意義。
我們使用的掃描數據網格通常較好,但有些網格需要清理。例如,有些網格有問題的孔需要填滿、需要平滑的邊緣或需要加粗的薄邊。對於此過程,我們使用 Zbrush 來編輯掃描數據。


這個過程並不完美,但通過清理高解析度模型,就可以更容易地自動或手動重新排列模型的網格。 重新整理 是修改3D模型邊緣分布和結構的過程,對我們而言,重新整理可以在創建低解析度版本的高解析度模型時提供更好的紋理烘培。低解析度模型在履約能上明顯更容易,特別是在移動設備上,而且仍然保留網格和紋理的高解析度細節。
若要手動或自動重新排列,您可以使用任何您選擇的 3D 應用程式。我們選擇使用 3DS Max 手動重新排序,以及 Zbrush 自動重新排序,使用 Zremesher 或減少工具。Zremesher工具允許我們自動重新排列網格,以保持需要更高垂直計數來維持形狀的四輪車,而減少工具允許我們自動重新排列使用更低垂直計數的三角形,仍然能夠維持形狀。




無論我們的模型/網格選擇了自動路徑,還是選擇了手動路徑,我們都需要對網格進行一些清理,因為自動重新排列大量依賴高解析度網格、其構建方式和算法。我們傾向於選擇三角網格路徑,因為它更重要的是維持原始形狀時減少頂點數量。



完成了將網格重新排列到新紫外線上的過程後,我們需要烘培和轉移高解析度網格細節和紋理。 Marmoset 使制作網格地圖和將高解析度模型的任何原始紋理轉移到低解析度時變得容易,但您可能會發現其他3D應用程式中的其他工作流程和方法對您來說更好。無論使用哪種工具,在烘培時,確保高解析度模型上的原始紋理都被分配給模型。





在 物質畫家 完成我們的反射、普通、金屬和粗糙PBR紋理後,我們的新資產已準備好被匯入工作室!掃描數據資產與重新排序的資產,但最終當資產只有 1,000 個垂直點而不是 1,000,000 個時,這是值得犧牲的交易。它也保持了我們的記憶預算完好,並允許體驗更順暢地運行。




使用包裝
包裝 是一個允許您儲存和使用單個對象或一組對象版本的系統,當您更新該版本時,它會一次更新該對象或群組的所有實例。例如,如果您製作樹狀對象並將數百個樹狀對象放置在體驗中,您只需要更新包裹,以便數百個樹狀對象一次更新到您的新版本。我們很早就知道我們會有 兩個狀態 的房屋大多數房間,它們的正常狀態和被破壞的狀態,我們需要維護房屋和其內容的兩個副本在整個迭代過程中。為此,我們決定哪些對象需要在每個房屋狀態中共享,並將它們轉換為包裝。

包裝允許我們修改從牆壁面板上的木邊到整個房間的一切,然後兩個狀態都會更新到我們的變更。我們也能將 SurfaceAppearance 物件轉換為包裝,這樣我們就可以一次在體驗全過程中更新材料的外觀。重複使用材料對於讓示範對裝置的複雜度明顯降低至可能的最低水平至關重要。
例如,以下圖像顯示了一個包含複雜兒女資產群的渦輪模型包,包括我們在演示中使用的金屬表面外觀包。無論我們在哪裡更新金屬表面外觀包,我們也可以執行一個 大規模更新 將強制武器模型包也更新兒童表面外觀包。



要了解如何將個別對象或一組對象,例如 Models 或 Folders 轉換為包裹,或如何選擇包裹的創建者以進行編輯使用權 通行權 存取,請參閱 包裹 。我們選擇指定 Vistech Demo 群組作為我們所有包裹的創建者,因為它讓我們群組中的每個人隨時隨地存取和編輯包裹。它也讓我們可以在群組擁有的每個體驗間分享這些包裹!

我們設置父包,例如上面的軍械或整個房間,到 自動更新 以便更改模型或文件夾自動在該包的所有實例上共享,而不需要手動檢查。這個過程意味著我們可以順利創建每個房間的正常和破壞狀態的變更。例如,以下兩張圖像顯示了通過 同一 包創建的研究的正常和損壞狀態。只有少數幾個項目超出包裹之外,才會之間存在差異,即使考慮到損壞狀態是橫向的!


而不是在體驗與相同位置的文件完全工作,我們建立了一個包含所有組件的資產儲存位置,包括包裝鏈接。每當我們在此儲存空間更改包裹時,它將自動更新並立即在 每個地方 中使用該包裹。我們可以修改對象、添加功能,並在沒有導航主體驗的情緒和燈光的情況下工作在細節上,而不會困難地看到我們正在做什麼。

包裹讓我們有更多自由在 3D 中探索不同的想法,而不需要做大量額外工作。我們可以計畫、測試或甚至返回到任何資產的過往版本,如果實驗在實務中沒有成功或破壞體驗,就會這麼做。有許多時候需要返回包裝中的版本來恢復價值數小時的工作。最結束,我們無法在這個演示中沒有包裝達到最終的波蘭語水平。
