FindObjOnRay

格式:

FindObjOnRay(ray,ignoreInstance)

简介

发出一条射线,当与碰到的第一个零件类对象接触时,返回接触的对象、接触点坐标、接触面的曲面法线。

参数

名称 类型 描述
ray Ray 射线
ignoreInstance RWObject 要忽略的对象

返回值

类型 描述
RWObject 射线打中的对象
Vector3 射线碰撞点坐标
Vector3 射线碰撞点与接触面的法线

实例

不停从摄像机打出到鼠标位置的射线,忽略表中对象,射线打到对象后,当前物体颜色改变,并观察打印返回值的是否正常。

local function MyUpdate()
    local ray = WorkSpace.摄像机:ScreenToRay(Mouse.MousePosition)
    local e,p,n = WorkSpace:FindObjOnRay(ray,WorkSpace.新底板)
    if e~=nil then
        e.Color = Vector3.New(255,0,0)
        print(tostring(e.Name))
        print(tostring(p))
        print(tostring(n))
    end
end    
local function coroutineUpdate()
    while true do
        coroutine.wait(1)
        MyUpdate()
    end
end
coroutine.start(coroutineUpdate)