gpt4 book ai didi

roblox - 当他们加入时,您如何加载玩家角色?

转载 作者:行者123 更新时间:2023-12-05 05:52:23 26 4
gpt4 key购买 nike

我想制作一款包含多个场景的 Roblox 游戏,您可以将角色加载到其中。

问题是我找不到任何方法来做到这一点。我在网上做了相当多的研究,但我得到的只是关于如何使用插件一次加载角色的指南,而不是让加入角色的人将其加载到某个位置。

如何获取加入者的角色并将其加载到某个位置?

最佳答案

要创建某人的角色,请调用 Players:CreateHumanoidModelFromUserId与玩家的 UserId。然后,您可以通过在他们的 HumanoidRootPart 上调用 PivotTo 来移动它。

注意:不要使用Model.PrimaryPart获取 HumanoidRootPart。在 R6 角色上,这实际上是角色的头部。您最好调用 FindFirstChild("HumanoidRootPart")(或 WaitForChild)。

您会注意到,这会将角色从他们的躯干中心定位,而不是从他们的 footer 定位。因此,如果角色不是 Rthro(具有固定大小,如 R6),则需要垂直偏移 3 个螺柱。如果角色是 Rthro(是 R15,并且您的游戏启用了缩放),那么您需要调用 GetExtentsSize在角色模型上。

所以,像这样:

local Workspace = game:GetService("Workspace")
local Players = game:GetService("Players")

local function loadStage(player: Player)
-- ...
local character = Players:CreateHumanoidModelFromUserId(player.UserId)
local rootPart = character:FindFirstChild("HumanoidRootPart")

-- assuming R6 this will be fine
rootPart:PivotTo(CFrame.new(myDesiredPosition + Vector3.yAxis * 3))

rootPart.Parent = Workspace
-- ...
end

Players.PlayerAdded:Connect(function(player)
loadStage(player)
end)

关于roblox - 当他们加入时,您如何加载玩家角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70166096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com