照片轉化為虛擬形象生成

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

您可以創建一個遊戲,允許玩家使用照片和文本提示生成一個功能完整的虛擬形象角色。

此過程涉及以下步驟:

  1. 請求虛擬形象生成會話。
  2. 提示用戶拍攝自拍並生成虛擬形象的 2D 預覽圖像。
  3. 使用 HumanoidDescription 生成完整的虛擬形象角色。

請求虛擬形象生成會話

要開始照片轉化為虛擬形象的生成,請從伺服器調用 AvatarCreationService:RequestAvatarGenerationSessionAsync() 來請求玩家的會話。會話為 Player 提供一定數量的虛擬形象預覽和虛擬形象生成。

由於會話可能需要一些時間才能可用,AvatarCreationService:RequestAvatarGenerationSessionAsync() 返回一個 RBXScriptConnection 和一個以秒為單位的 waitTime。waitTime 可用於向 Player 提供有關他們何時能開始生成的資訊。

一旦會話準備就緒,回調將被調用,並帶有有關會話的 Dictionary 資訊。Dictionary 包括:

提示自拍並生成 2D 預覽

會話開始後,提示用戶拍攝自拍並通過在伺服器上調用 AvatarCreationService:PromptSelectAvatarGenerationImageAsync() 方法來獲取 fileId string。此 fileId 將傳遞給 AvatarCreationService:GenerateAvatar2DPreviewAsync() 方法。

要創建虛擬形象的 2D 預覽圖像,請調用以下方法:

AvatarCreationService:GenerateAvatar2DPreviewAsync() 以 SessionId、fileId 和可選的文本提示作為輸入來生成 2D 虛擬形象預覽。此方法返回一個 previewId。

此 previewId 應發送到客戶端,然後可以用來檢索預覽作為 EditableImage

如果用戶對生成的預覽不滿意,可以重複此工作流程。

生成虛擬形象

一旦用戶對預覽感到滿意,您可以生成完整的 3D 虛擬形象角色。

要生成虛擬形象角色:

  1. 在伺服器上調用 AvatarCreationService:GenerateAvatarAsync(),並傳遞包含 SessionId 和 PreviewId 的 Dictionary
    1. 此方法調用返回一個 string generationId。
  2. 使用 AvatarCreationService:LoadGeneratedAvatarAsync() 方法在遊戲伺服器和客戶端上檢索生成的虛擬形象數據作為 HumanoidDescription
  3. 使用 Players.CreateHumanoidModelFromDescription 方法從 HumanoidDescription 創建虛擬形象模型,以顯示給 Player

網格和紋理資產分別作為 EditableMeshEditableImage 對象提供,以允許對生成的虛擬形象進行持續編輯。編輯應在遊戲伺服器和客戶端副本上進行,以保持它們在發布時的同步。

發布虛擬形象

如果用戶對生成的虛擬形象感到滿意,可以使用 AvatarCreationService:PromptCreateAvatarAsync() 方法進行發布。

欲了解更多資訊,請參閱 遊戲內創建

©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。