角色是玩家控制或互動的角色,它們幫助推動遊戲進展,提供挑戰,並使世界感覺生動。在 Roblox 中,角色是任何 Model,無論是人形還是其他形狀,能夠移動、交流並與環境互動。它們可以簡單到像是一個發光的球體,提供任務的關鍵信息,或豐富到像是一隻完全裝配的龍,具有面部動畫,並能夠附加剛性和分層的配件。
該平台支持一系列角色類型,您可以根據遊戲的具體設計需求構建,例如用於環境生活的輕量級非玩家角色、具有內置功能以穿戴化妝品和播放動畫的標準化虛擬角色,或可以訪問通用動畫庫的自定義裝配。讓我們來探索您的選擇。
類型
廣義上講,角色主要有兩種類型:玩家角色和非玩家角色。雖然這兩種類型的角色在外觀上可能相同,但它們的內部配置可能根據每個角色在遊戲中需要做的事情而有很大不同。
玩家角色
玩家角色是玩家控制以玩遊戲的角色。雖然一些遊戲開發者從頭開始創建與其遊戲設計美學相匹配的自定義玩家角色,但許多人選擇允許玩家保留其 平台虛擬形象 作為其玩家角色。


對於玩家來說,虛擬形象是非常個人的,因為它們象徵著一個人的數字身份,通過在 市場 和遊戲中的個人購買或贈品獨特地打造。對於遊戲開發者來說,虛擬形象提供了一個標準化的、功能完整的角色,解鎖平台兼容性,支持:
- 身體和面部動畫
- 剛性配件、分層配件、經典服裝和化妝資產
- 核心角色行為和屬性,如顯示名稱、生命值條和基本移動狀態
虛擬形象能夠提供這些功能,因為它們必須包含以下組件系統,以便創作者能夠將其上傳到市場:
| 組件 | 功能 |
|---|---|
| 15 個具有標準命名慣例的 MeshPart 身體部件 | 每個角色的肢體數量一致,並為配件、化妝品和動畫提供統一的分區。 |
| 具有標準命名慣例和關節層級的裝配骨架 | 為動畫支持提供一致的可擺動關節數量。需要 15 個可擺動關節,但您可以為 高保真裝配 添加最多 37 個額外關節。 |
| Humanoid 對象 | 一致的角色行為和屬性,例如:
|
| 至少 17 個標準化面部基本姿勢的 FaceControls 對象 | 一致的面部表情。 |
| 15 個 WrapTarget 對象 | 為分層配件提供一致的變形目標,這些配件在角色的身體上拉伸、適合和分層。 |
| 19 個 Attachment 點 | 為剛性配件和遊戲中可裝備物品提供一致的目標,以附加到角色的身體上。 |
標準虛擬形象裝配,通常稱為 R15 裝配,需要 15 個可擺動關節來表達角色的 15 個身體部件。然而,如果您想創建具有更高現實感的高保真裝配,則可以為關節手、肩膀和脊椎運動創建最多 37 個額外的可選關節。
這些可選關節包括:
- 脊椎:Spine 和 Chest 子部分
- 鎖骨:LeftClavicle 和 RightClavicle 用於肩部關節
- 頭部:HeadBase 在 Head 身體部件下用於頸部和面部關節
- 手指:每隻手最多 15 個關節(3 個指骨 × 5 根手指)
- 腳趾:LeftToeBase 和 RightToeBase 用於腳部關節
有關更多信息,請參見 身體規範 - 高保真裝配。
當您啟用 StarterPlayer.AvatarJointUpgrade 時,升級會自動將受力和扭矩限制的 AnimationConstraint 對象引入每個角色的關節,替換 Motor6D 對象。這使您能夠創建現實的、物理驅動的運動和互動,例如完全模擬的肢體和動力學布娃娃。
非玩家角色
非玩家角色 (NPC) 是由遊戲內系統控制的角色,用於支持或挑戰玩家,例如盟友或敵人,或以其他方式填充環境,使其感覺身臨其境。與需要多種屬性和功能以完成遊戲目標的玩家角色不同,非玩家角色通常只需要執行一兩個簡單的任務,例如沿著路徑行走、承受傷害或對玩家的行動做出反應。

由於它們不需要與玩家角色相同的組件集、裝配骨架或功能深度,最基本的非玩家角色只需要一個具有幾何形狀的 Model 和一些腳本來滿足其在遊戲設計中的需求。事實上,許多遊戲開發者選擇將其 NPC 創建為僅包含一個或兩個子網格和一個 Humanoid 對象的 Model,以實現和訪問基本的角色行為和屬性。
創建工具
您用來創建角色的工具和過程可能會根據您創建的每個角色的類型和複雜性而有所不同,但一般來說,許多遊戲開發者會首先在第三方建模工具中創建至少一個原始網格作為角色的身體。以下是創作者常用來創建自定義角色身體、紋理、裝配骨架、配件和動畫的流行第三方軟件示例。
![]() | ![]() | ![]() |
| Blender 是一個免費的開源 3D 創建套件,具有廣泛的建模、雕刻、紋理、裝配和動畫工具。 | Autodesk Maya 是一個基於訂閱的行業標準專業工具集,涵蓋整個 3D 生產流程。 | GNU 圖像處理程序 (GIMP) 是一個免費的開源圖像編輯器,支持 2D 資產創建。 |
一旦您擁有角色的基礎,您可以 導入 您的創作到 Studio,並訪問 Roblox 提供的所有第一方工具,包括將原始網格轉換為符合平台政策和技術標準的角色的完整流程,以便準備上傳到市場。以下詳細介紹了所有主要工具,您可以用來為各種技能水平的遊戲開發者創建、配置和測試角色資產。
虛擬形象設置
虛擬形象設置 是從原始網格到玩家角色的最快途徑,因為它自動將自定義模型處理為虛擬形象角色資產。如果您的角色沒有所有需要的組件來移動、動畫和穿戴配件,虛擬形象設置可以生成所有缺失的組件,例如:
- 分區 - 將角色的身體分為標準的 15 個身體部件。
- 裝配數據 - 為角色的身體添加標準或高保真裝配骨架,以啟用移動和動畫。
- 綁定數據 - 為角色的身體的各個表面添加權重和影響,確保在移動過程中具有有機和自然的靈活性。
- 面部動畫 - 生成面部動畫所需的 FACS 姿勢、面部裝配、綁定和動畫數據。
- 籠子 - 為角色的身體部件添加所需的內部和外部籠子,以便它可以穿戴分層配件。
- 附加點 - 為角色的身體添加適當的附加點,以便它可以穿戴剛性配件。
對於希望將角色上傳到市場的遊戲開發者來說,虛擬形象設置將過去需要多個工具和多次迭代的工作流程簡化為一次性處理:


自適應動畫
自適應動畫 解決了一個困難的問題:如何使一個動畫庫在顯著不同的身體類型之間工作。使用 HumanoidRigDescription 和 DigitsRigDescription 對象,自適應動畫讓您將角色的關節映射到 Roblox 的 標準化裝配骨架規範。這是雙向的:
- 虛擬形象要求 > 自定義裝配 - 您的自定義裝配可以立即使用完整的表情和移動狀態動畫庫。
- 自定義裝配 > 虛擬形象要求 - 您在自定義裝配上創建的動畫可以立即重新定向到具有標準裝配骨架的虛擬形象。
這也適用於高保真裝配中的手和手指;當您使用自適應動畫系統分配角色的手關節時,一隻手的比例的手指動畫會立即適應不同的手幾何形狀。

動畫圖編輯器
動畫圖編輯器 是一個可視化的基於節點的工具,將單個動畫片段組合成運行時邏輯,而無需手動編寫動畫控制器腳本。您可以為角色構建混合樹、狀態機和參數化動畫行為,同時仍然能夠以編程方式訪問動畫圖節點以進行直接控制。

角色優化
隨著您的遊戲擁有更多玩家、擴展的環境和豐富的動畫,您的角色系統需要架構來支持優化。有兩個系統直接解決這個問題:角色控制器庫用於角色的移動和行為,SLIM 用於渲染性能。
角色控制器庫
玩家角色內部的默認 Humanoid 對象提供了一個狀態機,但它是僵化的。它包含硬編碼的狀態,您只能一次觸發一個,並且具有固定的過渡邏輯,難以組合,並且在大規模配置時很困難。
為了解決這些挑戰,角色控制器庫 (CCL) 提供了一個基於能力的架構替代方案:
- 能力 動態決定角色可以做什麼,例如跑步、跳躍、攀爬和游泳。
- 控制器 動態處理該角色的運動如何被模擬,例如地面摩擦、加速度曲線,以及當角色跳躍時的線性和角動量的現實保留。
當您在 虛擬形象設置 中選擇使用 CCL 時,您可以在遊戲運行時實驗能力配置,並修改特定控制器以調整角色的物理模擬及其與環境的互動,例如角色的基本移動速度。

SLIM 用於渲染
角色的渲染成本可能很高,特別是對於具有分層配件和物理基礎渲染 (PBR) 紋理的高解析度角色。對於包含許多模型和角色的遊戲,例如充滿 NPC、建築、道具和車輛的熱鬧城鎮,玩家可能會遇到低幀率和性能不佳的情況。
為了解決這些渲染性能挑戰,可擴展輕量級互動模型 (SLIM) 提供了一個自動優化系統,使用基於雲的轉碼生成虛擬形象和模型的輕量級、優化表示。在運行時,引擎根據距離、設備能力和流媒體狀態選擇最佳表示。


SLIM 提供三個主要好處:
- 視覺質量 - 遠處模型的細節比舊版模型的細節層次系統更高,保持與原始模型的更接近的保真度。
- 一致的過渡 - 模型內的所有部分同時切換細節層次,消除每個部分之間的突兀過渡。
- 性能 - 複合網格顯著減少繪製調用、三角形數量和內存使用,從而在所有設備層級上實現更豐富的場景。
此外,當您為虛擬形象配置 SLIM 時,引擎:
- 在實際虛擬形象模型流出時渲染 SLIM 版本。
- 根據可用資源在 SLIM 和全解析度表示之間切換,即使在流媒體半徑內。
- 根據場景重要性和可用帶寬限制 SLIM 動畫。




