跳至正文
版本:最新版 - a1.169.2 ⚖️

扮演道具

如何使用角色模拟道具附身。这可用于道具躲猫猫游戏模式!

最终结果​

代码片段​

Server/Index.lua
-- 为每个加入的玩家赋予一个“道具”角色
Player.Subscribe("Spawn", function(player)
SpawnPropCharacter(player)
end)

function SpawnPropCharacter(player)
-- 使用 SK_None 网格体(不可见网格体)生成一个角色
local new_char = Character(Vector(0, 0, 100), Rotator(), "nanos-world::SK_None")

-- 调整该角色的胶囊体。对于小型道具,建议使用较小的胶囊体尺寸
-- (胶囊体用于处理角色的碰撞,这也会调整相机高度位置)
-- 在添加静态网格体之前调整胶囊体尺寸非常重要,因为网格体将根据胶囊体尺寸进行调整
new_char:SetCapsuleSize(32, 64)

-- 在角色上附加一个静态网格体 - 即其将控制的道具
new_char:AddStaticMeshAttached("prop", "nanos-world::SM_WoodenChair")

-- 禁用角色的部分功能(拾取物品、下蹲能力、第一人称相机...)
new_char:SetCanPickupPickables(false)
new_char:SetCanGrabProps(false)
new_char:SetCanCrouch(false)
new_char:SetCameraMode(CameraMode.TPSOnly) -- 仅允许第三人称

-- 让玩家控制它
player:Possess(new_char)
end