Raycast 错误: 无法将值转换为对象

我的目标只是为了更多地了解射线投射,所以我做了一些测试,最终它们都只是说"无法将值转换为对象"。我尝试查找如何修复此错误,但大多数这些错误都与 GUI 有关。我可能使用的方法可能太旧了,但这是我找到的最新版本。

我没有尝试其他任何方法,因为我不知道如何修复它,因为我还在学习它。

这是我的代码:

local target = workspace.Target

local ignore = game.Workspace.IgnorePart

local ray = Ray.new(target.Position, Vector3.new(50,50,50))

while wait(1) do
    local hit, position = game.Workspace:FindPartOnRayWithIgnoreList(target, (ignore))
    if hit then
        print("找到了!")
    else
        print("没有找到部位,没有击中你,白痴")
    end
end

我想展示我的工作区,但我还不能在这里放置图像.. 如果有人发现了什么,请告诉我!我想知道我错在哪里,因为我仍在学习!

原文链接 https://stackoverflow.com/questions/70842384

点赞
stackoverflow用户2860267
stackoverflow用户2860267

看一下 FindPartOnRayWithIgnoreList 的文档,你可能有两个问题。第一个参数应该是你的 Ray,第二个参数期望是一个对象数组,而你使用了圆括号而不是花括号。

试试这个:

local hit, position = game.Workspace:FindPartOnRayWithIgnoreList(ray, {ignore})
2022-01-25 01:52:22