鼠标位置射线 RayToMousePoint

只读
此属性只能读取,在编辑器和脚本中都不可以修改

编辑器不可见
在编辑器属性界面中不显示,可用脚本访问其值,不建议广泛使用

脚本可访问
此属性脚本可访问,但只有客户端脚本可访问

数据流向
数据由服务器同步给客户端,客户端无法同步给服务器

描述

RayToMousePoint 属性是一条从相机的世界位置发出,指向鼠标在世界位置的射线。

若鼠标超出游戏界面,鼠标的世界位置将由边界值来代替。

实例

实例1:将鼠标指向的对象变红

在客户端最先加载中创建客户端脚本
不停从摄像机打出到鼠标位置的射线,忽略表中对象,射线打到对象后,当前物体颜色改变,并观察打印返回值的是否正常。

local workSpace=GetService("WorkSpace") --获取工作区服务

local function MyUpdate()
    local ray = Mouse.RayToMousePoint --从摄像机到鼠标位置的射线
    local e,p,n = workSpace:FindObjOnRay(ray,workSpace.新底板,10) --根据射线找到对象,并忽略列表中的指定对象
    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) --每1秒执行射线检测
        MyUpdate()
    end
end
coroutine.start(coroutineUpdate)
文档更新时间: 2020-09-23 14:26   作者:王辰剑