鼠标位置射线 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 作者:王辰剑