組合資產資料庫 是一個匯入並設定一個集合資產的過程,以便在您的體驗中方便存取並重用。此過程可以儲存您大量的時間,因為您準備建造您的環境時,特別是您配置每個素材的價值來提高性能並最大限度地降低記憶體使用率。
使用 環境藝術 - 組合.rbxl 檔案作為引用,這個環境藝術課程的環節會向您展示如何從您的完成作品中組合資產庫。
- 使用您的地磚材料創建您的地形的自訂材料。
- 為您的修飾頁面創建表面外觀對象,並將它們應用到您的資產庫中的未包裝網格。
- 設定渲染參數,以確保您的資產在所有設備上最佳運行。
- 將您的資產轉換為包裹,以便您可以在所有項目上更新並重用它們。
完成此部分後,您將學會如何利用資產資料庫以創意方式替換或轉換灰色盒子環境,並添加最終塗鴉,以強化整個 3D 空間。
建立自訂物料
Studio 代表自訂材料作為 MaterialVariant 對象內的 MaterialService 。這些 MaterialVariant 對象有四個屬性,結合四個可瓷磚的 1>材質地圖1> 以創建高品質的自訂材料,具體體現物理特性:
- MaterialVariant.ColorMap – 代表雙色材料。
- MaterialVariant.MetalnessMap – 代表金屬性材質地圖。
- MaterialVariant.NormalMap – 代表普通材質地圖。
- MaterialVariant.RoughnessMap – 代表粗糙度材質地圖。
在這些屬性提供材料的後,您可以對零件、網格和地形應用新的自訂材料。您可以使用或修改示例材料地圖 .png 來創建 Lumpy Moss、Flowering Lumpy Moss、Stones 和 Stones 自訂材料內的石頭。或者您可以使用自己設計的內容在教學的前一部分的雷射標��
要為您的可瓷化紋理創建 MaterialVariant 對象:
在 首頁 或 模型 標籤的選單欄中,單擊 材料管理器 按鈕。 1>材料管理器1> 視窗會開啟。
在 材料 清單中,選擇最適合您的瓷磚可選質地的基本材料。例如,如果您正在創建 Lumpy Moss 紋理可選質地,選擇預設地板材料,讓材料継承其物理屬性。
在 工具欄 中,單擊 ⊕ 圖示。新的 MaterialVariant 會在調色板上顯示,並且在右下角有一個圖示表示它是自訂材料。
在 檢視器 中,前往 一般 區域,然後重新命名材料來與磚塊紋理的名稱一致。
在 材質圖 區域,在 顏色 的右邊,單擊 匯入 按鈕。一個檔案瀏覽器會顯示。
在檔案瀏覽器中,選擇 Albedo 材質地圖.png檔案為相應的可貼片紋理,然後關閉 開啟 按鈕。檔案瀏覽器關閉,新的顏色地圖顯示在其資產ID上。
重複此過程對於 金屬性 、 普通 和 粗糙 材質地圖。 自訂材料更新以反映材質地圖。
在 Overrides 區域中,啟用 設為預設 切換,以確保您適用地形到您的地形時,Studio 使用此自訂材料。
(可選) 如果您正在創建代表有機材料的自訂材料,
- 在 磚塊 區域,單擊 樣式 下拉列表。
- 選擇 有機 以隨機化輸出並減少可見的瓷磚。
重複此過程,為您想要體驗中包含的每個可重複的材質。
創建表面外觀包
Studio 使用 SurfaceAppearance 對象內的模型,可以作為你的父級對 MeshParts 進行 SurfaceAppearance 。與習慣於自訂材料的材料類似, 1>Class.Surface1> 對象有四個屬性,可以結合四個切割頁面的材質地圖,以創建高品質的 3D 視�
SurfaceAppearance.ColorMap – 代表顆粒度材質地圖。 SurfaceAppearance.MetalnessMap – 代表金屬度材質地圖。 SurfaceAppearance.NormalMap – 代表普通材質地圖。 0> Class.SurfaceSurface.RoughnessMap0> – 代表粗糙
在你為這些屬性提供材質圖時,你可以將 SurfaceAppearance 對象作為 <
您可以使用或修改 .png 檔案來創建一個 SurfaceAppearance 對象,它尊重樣本模組資產和物件內的 uv 資料,或您可以使用您自己設計的 Class.Surface 對象來創建您自己的模組資產和物件。 Errors: Error: .png 檔案 Severity: critical --- Error: 內的 uv 資
要創建 SurfaceAppearance 包裹,您可以將它們作為您的模組器和物件的兒女:
將 地面外觀 對象插入工作區。
選擇 表面外觀 物件,然後在 屬性 窗口中,選擇 色圖 屬性。一個 pop-up 會顯示。
點擊 添加圖像… 按鈕。一個檔案瀏覽器會顯示。
選擇 Albedo 材質地圖為相應的可瓷磚紋理,然後是 開啟 按鈕。 文件瀏覽器關閉,並且 顏色圖 屬性更新新的資產ID。
重複此過程對 MetalnessMap 、 NormalMap 和 RoughnessMap 屬性,選擇其們的特殊材質地圖從文件瀏覽器。
在 Explorer 窗口中,右鍵單擊 地面外觀 對物件,然後從上下文菜單中選擇 轉換到包勃 。 1> 轉換到包勃 1> 對話框顯示。
填寫 標題 和 說明 欄位,設定擁有權為自己或群組,然後按一下 提交 按鈕。完成後,鏈接符號會顯示在 1>表面狀態1> 對物件的圖示,表示為包。
(可選)) 選擇 表面外觀 對物件的子 PackageLink 對物件,然後在 0> 屬性0> 窗口中啟用 3> 自動更新3> 以自動更新包裹,如果您對 6> 表面外觀 6> 對物件進行任何修改,則會在 9> 屬性
匯入模組資產和物件
Studio 代表您匯入的素材組資產和物件,以 Model 對
使用 3D 匯入器,您可以將樣本模組件和物件匯入 Studio 以使用資產儲存庫,或者您可以在前一部分的教學中匯入任何您設計的資產。有關此工具的功能,請參閱 3D 匯入器。
要將您的模組資產和物件匯入體驗:
在 首頁 或 虛擬人偶 標籤中,單擊 导入3D 按鈕。一個檔案瀏覽器會顯示。
選擇 .fbx 檔案,以便為模組或物件提供。
查看對象預覽,確認匯入設定適合您的對物件。
驗證任何 警告或錯誤訊息。
單擊 匯入 。資產會在 檢視器 窗口中顯示,並在視窗中。
重複此過程為每個模組資產和道具件。
將您所有的資產移動到您的灰箱齒輪附近的體驗區域。這個區域是您的資產資料庫。
應用外觀特性資料
當您通過第三方建模軟件將 UV 的網格拆開時,軟件會將 UV 資料存放在網格的 .fbx 或 .obj 檔案內。當您將網格匯入到 Studio 時,結果的 Class.Mesh
要將 SurfaceAppearance 材質地圖資料應用到資產庫中的未包裝網格:
- 在 探險家 窗口中,按一下您的 表面特性 包,然後按 Ctrl 0> D0> ( 3>⌘3> 5>D5> ) 來複製它。
- 將複製的 表面外觀 包裝到模組或道具件。資產將其 UV 數據應用到材質地圖,並顯示其視覺處理。
- 重複此過程為每個模組資產和道具件。
設定物理和渲染參數
現在您在Studio中的資產已經有了,就是要設定能夠允許資產在每個裝置上最高視覺品質的物理和渲染參數。 一般來說,隨著您遵守本部分的指導方針,您將能夠提升體驗的最佳性能。 然而,您需要仔細考慮您的目標和遊戲要求,以確
錨定
Class.BasePart.Anchored 屬性決定 Roblox 引擎的物理系統是否對對物件的位置造成影響。當您啟用此屬性對於 Part 或 MeshPart 時,它會移除對象的物理計算,這是動態模擬運行中的預設值,因此對
不會模擬物理反應的對象通常會便宜一些以便渲染,因為它們不需要那些物理計算所需的GPU。當您釋放GPU時,您會提高體驗的性能,尤其是在低端設備上需要保存GPU以進行快速速度遊玩。當您釋放GPU時,您將 每 個資產離開門標籤環境的遊戲
可以碰撞
Class.BasePart.CanCollide 屬性決定對象是否能與其他對象物理上互動。當您啟用此屬性對於 Part 或 MeshPart 時,對象是不可入侵的,並且 Roblox 引擎在物理上計算時會將其納入其中。這些計算會影響您的
為了降低這些影響對性履約的影響,請對使用者永遠不會交互的對象停用此屬性。例如,最終示例雷射標籤環境會對所有葉子禁用此屬性。
可觸摸
Class.BasePart.CanTouch 屬性決定是否發生 Touched 和 TouchEnded 事件。當您啟用此屬性對於一個 1>Class.Part1> 或 <
此過程每個單獨的框架發生,這可能會導致大量記憶體使用,如果引擎需要檢查多個對象的觸擊事件狀態。為了解除這些影響記憶體的一些影響,請僅對需要啟用事件的對象啟用此屬性。
可以執行
Class.BasePart.CanQuery 屬性決定 Roblox 引擎是否在空間查詢操作中考慮對象,例如射光線投射。 Studio 為每個 Part 或 MeshPart 啟用此屬性,因此 Roblox 引擎
因此,建議您為 Roblox 引擎不需要考慮的空間查詢操作對象禁用此屬性。 當作出決定關於要禁用此屬性的對象時,請考慮每個資產對遊遊玩的影響。 例如,最終示例雷射標籤環境將此屬性
CastShadow
Class.BasePart.CastShadow 屬性決定對象是否投射暗影。當您為 Part 或 MeshPart 啟用此屬性時,Roblox 引擎會在執行階段時計算每個邊緣位置的對象的所有邊緣位置,然後從太陽射出一個射線到鄰近的對象,
這些計算可能會發生性能成本,尤其是當你有很多幾何複雜度的對象。這是因為幾何複雜度的對象有更多的幾何形狀,這意味著它們有更多的角度需要計算幻物件的暗影。對物件的幻影越少,運行速度就越快,並且運行費用也就越低。
陰影可以提供3D幾何深度的物體一種強大的現實感,所以當你決定要禁用此屬性時,請考慮物體在環境中提供的重要視覺改善,以及用戶可能注意到陰影不見的地方。例如,樹葉的複雜陰影可以提供一種強大的現實感,但這
雙側
Class.MeshPart.DoubleSided 屬性決定要在網格中是否要渲染兩個面或兩個圓形。當您啟用此屬性對於平面 MeshPart,例如葉子、頭髮
這個屬性對於在您的環境中增加現實感很有用,但它有一個性能成本,因為引擎需要渲染對物件的方形兩次:一次面向用戶的攝影機,並且再次面向任何向用戶攝影機遙遠的網格。為了緩解這些影響,最終示例雷射標籤環境只有對樹
衝突穩定度
Class.MeshPart.CollisionFidelity 屬性決定物理擊盒或聯盟的視覺代表與其視覺代表的匹配程度。 預設情況下,此設定會將與對象相關的擊盒變成與網格相同的形狀,這表示用戶與對象之間的衝突與網格的實際形狀
您可以將此屬性設置為不同的值來減少網格的擊箱精度。例如,當您將此屬性設置為 船體 時,Roblox 引擎會大幅減少網格的擊箱�����
與 BasePart.CastShadow 類似,Roblox 引擎需要成像染的頂點越多,成本越高。因此,您應該考慮如何您想要用戶與每個網格互動以確認引擎可以為網格的擊箱減少多少頂點。在不需要擊箱精準的情�
要示範此概念,請參考顯示每個網格的牆壁模型提供升級在第一層和第二層終端光標環境之間的升級。 主牆的預設 hitbox 有很多不必要的 геоме特リ,當它只需提供一個表面來防止用戶移動到該方向時,可以移除此多餘的 геоме特。如果您
您做出這些決定時,請考慮如何變更預設值可能會對用戶如何瀏覽您的環境造成負面影響。例如,如果您將屬性設為 箱子 對於牆模型的網格,用戶將會在嘗試跳躍靠近牆時與碰
注意,有一個精確適合網格形狀的音箱很重要,這可能需要控制用戶與音箱形狀的正確方式,例如,在最終示例雷射標籤環境中,重要的是要確保用戶只與門口邊緣相碰,而不是門口本身,否則他們就永遠無法進入或退出戰鬥口袋。
渲染�idelity
Class.MeshPart.RenderFidelity 屬性決定網格的細節程度,顯示給使用者。當您將此屬性設為 Enum.RenderFidelity.Automatic 時,Roblox 引擎會降低網格的細節程度,並且當您將此屬性設為
引擎必須精準地渲染到用戶從任何距離,特別是如果他們有高的頂端數量,高的履約能成本。要降低這些影響的一部分,將此屬性設為 Enum.RenderFidelity.Performance 對於具有幾何複雜性的對象,例如樹葉在示例資
將資產轉換為組合包
現在您的模組資產都在 Studio 中,並且設置了可以保持高視覺品質對所有用戶的高視覺品質,因此是時候將它們轉換為包勃。 重要的是,您必須將您的資產轉換為包勃,因為這允許您在您的目前體驗和其他項目上重複使用它們。 此外,您可以容易地對包勃進行
因為您的 SurfaceAppearance 對象已經是組合包,當您將您的 Model 對象轉換為組合包時,它們會變成階層組合包。階層組合包允許您維護您可以修改獨立於 Model 對象包的複雜階層的子對象。這允許您對資產的個別部分
要將您的模組資產和物件轉換為包裹:
在 探險家 窗口中,右鍵按一下模組資產或配件,然後從上下文菜單選擇 儲存到包裹 。 儲存到包裹 對話框顯示。
填寫 標題 和 說明 欄位,設定擁有權為自己或群組,然後按一下 提交 按鈕。完成後,鏈接符號會顯示在模型的圖示上,以便識別它為一個包裹。
重複此過程為每個模組資產和道具件。
您對資產資料庫的整體結構感到滿意後,您可以繼續裝飾環境,並且設定 3D 空間的額外元素,以帶來您世界的生活。