數據模型

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


每個地方都由一個數據模型表示,這是一個描述該地方所有內容的物件層級結構。數據模型包含構成 3D 世界的所有物件,例如部件、地形、燈光和其他環境元素。它還包含可以控制運行時行為的物件,例如修改屬性、調用方法和函數的腳本,以及響應事件以啟用動態行為和互動性。

Roblox 引擎使用數據模型作為地方狀態的真實來源,因此它可以在客戶端設備上模擬和渲染它。欲了解 Roblox 引擎如何解釋數據模型的更多信息,請參見 客戶端-伺服器運行時

物件


您可以在數據模型中放置和組織物件,以描述 Roblox 中的地方。Roblox 中的每個物件都繼承自 Instance 類,該類定義了所有物件共有的通用屬性、方法和事件。物件還根據其提供的功能定義自己的特徵。有許多類別的物件具有各種用途,但您經常會使用 BasePartLuaSourceContainer 物件,通常稱為部件和腳本。

有關 Roblox 引擎所有功能的全面列表,請參見 參考文檔

3D 建築塊

BasePart 是世界中物理模擬 3D 建築塊的核心類。它定義了所有物理物件的屬性和方法,具有位置、大小和方向等屬性。

物件描述
Part一個原始的 部件,可以呈現為方塊、球體、圓柱體、楔形或角楔的形狀。
MeshPart從 3D 建模軟件(如 Maya 或 Blender)導入的 網格
TrussPart一個角色可以像梯子一樣攀爬的桁架梁。

雖然理論上您可以僅使用簡單的部件創建一個完全功能的 Roblox 遊戲,但您最有可能導入 網格 並通過 實體建模 將原始部件組合成更複雜的物件和結構。

腳本

您可以為地方的 3D 世界添加互動性和行為,並使用腳本定義邏輯。您使用 Luau 編程語言編寫腳本,以執行移動部件、調用其他腳本和響應事件等操作。由於 Roblox 在客戶端-伺服器模型中運行,您可以在伺服器、客戶端上運行腳本,或讓它們跨網絡邊界進行通信。

  • Script 物件表示只能在伺服器上運行的腳本。
  • LocalScript 物件表示只能在客戶端上運行的腳本。
  • ModuleScript 物件表示可重用的腳本,您可以從伺服器和客戶端腳本中 require()

為了使腳本正常運行,您必須將它們放置在數據模型中的正確容器中。欲了解更多信息,請參見 伺服器客戶端 部分。

物件組織

雖然您在組織數據模型方面有很大的靈活性,但 Roblox 引擎期望某些物件位於某些 容器服務 中,這些物件具有特定的行為,並且可以影響其包含的物件的行為。容器服務的主要類別包括:

此外,您還可以使用以下物件進一步組織您的物件:

  • 文件夾Folder 用於組織目的,不定義任何行為。例如,您可以使用文件夾將類似的物件分組,例如在伺服器存儲中的一組腳本。
  • 模型Model 主要用於幾何部件的分組,例如將包括椅子、桌子和燈的桌子組合在一起。要組織更複雜的集合,您甚至可以將模型嵌套在模型內部。

工作區

Workspace 包含構成地方的 3D 世界的所有物件。您可以將物件添加到工作區以自定義您的 3D 世界,例如基本部件、網格部件和模型。客戶端渲染此容器中出現的所有內容,而不渲染其外部的內容,因此您可以控制用戶在您的地方看到和互動的內容。雖然實際上不會渲染,但您還可以添加與其相關的部件和模型的腳本。默認情況下,工作區預先填充了 TerrainCamera 物件。

相機

Camera 決定客戶端如何查看 3D 世界。默認情況下,工作區中有一個相機,但您可以添加多個相機物件以創建不同的視角和視圖。每個客戶端都採用這些設置並創建自己的相機視圖,伺服器無法直接修改。

例如,您可以設置相機以跟隨用戶的動作或保持固定在特定位置。您還可以調整視野、距離和角度,以創建用戶查看 3D 世界的不同視覺效果。

欲了解更多信息,請參見 自定義相機

地形

Terrain 讓您為您的地方創建景觀。您可以將材料應用於地形,以模擬所需的自然環境,例如草地、水、沙子或自定義材料。雖然您只能為您的 3D 世界擁有一個地形物件並將一種材料應用於該地形,但您可以使用 地形編輯器 編輯地形的區域。

欲了解更多信息,請參見 環境地形

環境

自定義燈光可以使您的 3D 世界更加身臨其境和真實。Lighting 服務包含控制您地方的全局燈光設置的物件,例如 Atmosphere 用於模擬大氣效果,或 Sky 用於改變您環境中的太陽、月亮和星星。此外,您可以使用 光源 從特定物件發出光。

為您的遊戲添加 音頻 對於將您的遊戲提升到新高度也至關重要。通過策略性地使用位置音頻和非位置音頻,您可以讓玩家沉浸在您的世界中,為他們的行動提供有用的反饋,並引導他們注意他們需要做什麼才能在目標中取得成功。

複製

複製 是伺服器與所有連接的客戶端同步您地方狀態的過程。Roblox 引擎在許多情況下智能且自動地在伺服器和客戶端之間複製數據、物理和聊天消息,但您也可以通過將某些物件放置在特定容器中來指定要複製的物件。

ReplicatedFirst

ReplicatedFirst 包含您希望在客戶端加入您的地方時複製的物件。它通常包含對初始化玩家至關重要的物件,例如客戶端的 LocalScript 物件和與腳本相關的物件。此容器中的所有內容僅從伺服器複製到客戶端一次。

ReplicatedStorage

ReplicatedStorage 包含伺服器和連接的客戶端都可以訪問的物件。客戶端上發生的任何更改都會持久存在,但不會複製到伺服器。伺服器可以覆蓋客戶端的更改以保持一致性。此容器通常用於需要由 Script(伺服器端)和 LocalScript(客戶端)物件共享和訪問的 ModuleScript 物件。此外,您可以使用此容器複製任何在需要之前不需要存在於 3D 世界中的物件,例如用於克隆和父級所有進入角色模型的 ParticleEmitter

有關複製如何工作的更多信息,請參見 客戶端-伺服器運行時

伺服器

數據模型定義了僅用於伺服器端的物件的專用容器,這些物件永遠不會複製到客戶端。這使伺服器能夠影響客戶端的行為和狀態,而不將伺服器的物件和邏輯暴露給客戶端。

ServerScriptService

ServerScriptService 包含 Script 物件、伺服器腳本所需的 ModuleScript 物件以及僅用於伺服器的其他與腳本相關的物件。如果您的腳本需要其他非腳本物件,則必須將它們放置在 ServerStorage 中。此容器中的腳本永遠不會複製到客戶端,這使您能夠擁有安全的伺服器端邏輯。

ServerStorage

ServerStorage 包含僅用於伺服器的物件。您可以使用此容器存儲您希望在運行時克隆並父級到工作區或其他容器的物件。例如,您可以將大型物件(例如地圖)存儲在此容器中,直到需要它們,並在需要時將它們移入工作區。這使您能夠減少客戶端在初始加入時的網絡流量。

客戶端

客戶端容器服務用於複製到每個連接的客戶端的物件。這類容器複製到每個連接的客戶端,通常包含 3D 物件和相關的 LocalScript 物件。您存儲在這些容器中的所有物件在會話之間是非持久的,每次客戶端重新加入時都會重置。您可以將物件放入這些容器中,例如玩家 GUI、客戶端腳本和其他僅與客戶端相關的物件。

當客戶端連接到伺服器時,Players 容器服務會監聽用戶加入您的地方並為每個客戶端創建一個 Player 物件。伺服器將編輯數據模型中的客戶端容器中的物件複製到 Players 物件內部的運行時數據模型中的相應位置。以下表格描述了它所處的原始容器以及它們在客戶端複製到的結果容器:

編輯數據模型運行時數據模型備註
StarterPackPlayer.Backpack設置玩家庫存的腳本,通常包含 Tool 物件,但通常也包含本地腳本。
StarterGuiPlayer.PlayerGui可以管理玩家本地 GUI 的腳本。當玩家重生時,PlayerGui 的內容會被清空。伺服器將 StarterGui 中的物件複製到 PlayerGui 中。
StarterPlayerScriptsPlayer.PlayerScripts用於客戶端的通用腳本。例如,如果您希望在滿足某些條件時在客戶端創建特效,則可以將本地腳本放在此容器中來實現。伺服器無法訪問此容器。
StarterCharacterScriptsPlayer.Character在玩家生成時複製到客戶端的腳本。這些腳本在玩家重生時不會持久存在。
ReplicatedFirst此容器的內容首先複製到所有客戶端(但不會返回伺服器)。

聊天

TextChatService

TextChatService 代表處理各種遊戲內文本聊天任務的服務,例如管理頻道、裝飾消息、過濾文本、創建命令和開發自定義聊天界面。

欲了解更多信息,請參見 文本聊天概述

VoiceChatService

VoiceChatService 代表基於接近度的語音聊天功能,根據您與其他用戶的距離模擬現實的通信。您可以使用此服務來開關該功能。

欲了解更多信息,請參見 語音聊天

文件夾和模型

在數據模型中有兩種主要方法來分組物件:文件夾模型。兩者都是物件的容器,但它們的目的不同。

  • 文件夾 最適合存儲環境的部分,例如大廳或戰鬥競技場。
  • 模型 用於物件的集合,例如包括椅子、桌子和燈的桌子組合。要組織更複雜的集合,請將模型嵌套在模型內部。

您應始終以描述性的方式命名您的物件。這樣可以在需要時輕鬆找到和修改物件。

資源管理器窗口,演示文件夾組織結構。
組織到 文件夾 中的物件
資源管理器窗口,演示在幾個服務中的模型組織結構。
各種“地圖”模型在 WorkspaceServerStorage 之間切換
©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。