扮演道具
如何使用角色模拟道具附身。这可用于道具躲猫猫游戏模式!
最终结果
代码片段
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