GMOD 覆盖模型以在 props/maps 以上渲染?

GMOD Overriding models to render above props/maps?

我正在尝试让特定播放器渲染高于其他所有内容。 我已经尝试做很多事情,包括使用 ClientsideModel()、DrawModel() 和类似的东西都无济于事。 如果有人可以提供帮助,那就太好了!我找不到其他人问这个。

最好的方法是使用玩家的 HUDPaint 而不是模型抽签,因为这被称为最后。所以我们可以开始:

hook.Add("HUDPaint", "playerOverride", function()

end)

这是一个 2D 渲染上下文,所以我们需要开始一个 3D 渲染上下文,这很容易 cam.start3D()

hook.Add("HUDPaint", "playerOverride", function()
    cam.Start3D()
    cam.End3D()
end)

那当然我们直接用Entity:DrawModel()

画出目标模型
hook.Add("HUDPaint", "playerOverride", function()
    cam.Start3D()
        target:DrawModel()
    cam.End3D()
end)

以上代码假设您已经有了一个目标,您可以将其设置为 target 或替换它。

如果您希望将此应用到每个人,(我希望您不是在写 wallhack),那么您可以使用 [= 遍历玩家列表22=]

hook.Add("HUDPaint", "playerOverride", function()
    cam.Start3D()
        for k,v in pairs(player.GetAll()) do
            if v ~= LocalPlayer() then -- Make sure we don't redraw ourselves
                v:DrawModel()
            end
        end
    cam.End3D()
end)

(请注意,我目前无法对此进行测试,但我对此很有信心)