开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

Ray

此类封装Ray相关数据与操作,Ray代表几何射线结构,由起点和方向组成。

Public methods
Ray Ray
射线的无参构造函数,起点为(0,0,0),方向为(0,0,1)
Ray Ray(origin, direction)
射线的起点、方向构造函数
Ray Ray(copy)
射线的拷贝构造函数
Ray origin
获取射线的起点
Ray set_origin
设定射线的起点
Ray direction
获取射线的方向向量
Ray set_direction
设定射线的起点
Ray intersects(plane)
获取与平面相交点的距离,如果不相交,返回-1
Ray intersects(box)
获取与包围盒相交点的距离,如果不相交,返回-1
Demo
Ray Demo Ray RayDemo ()
Demo示例

Ray Demo

Ray RayDemo ()

demo示例

sample:
local origin = ae.ARVec3:new_local(0,0,0)
local direction = ae.ARVec3:new_local(0,1,0)
local ray = ae.Ray:new_local(origin,direction)
local dis = ray:intersect(plane)
--获取相交点
if distance > 0 then
	local point = ray:origin() + ray:direction() * distance
end

Ray

API起始版本:190

Ray Ray()

射线的无参构造函数,起点为(0,0,0),方向为(0,0,1)

Returns

  • Ray : 默认参数构造的射线
sample:
local ray = ae.Ray:new_local()

Ray(origin, direction)

API起始版本:190

Ray Ray(origin, direction)

射线的起点、方向构造函数

Parameters

  • ARVec3 | origin : 射线起点
  • ARVec3 | direction : 射线方向

Returns

  • Ray : 由起点和方向构成的射线
sample:
local ray = ae.Ray:new_local(ae.ARVec3:new_local(0,0,0), ae.ARVec3:new_local(0,1,0))

Ray(copy)

API起始版本:190

Ray Ray(copy)

射线的拷贝构造函数

Parameters

  • Ray | copy : 射线对象

Returns

  • Ray : 由copy构造的射线
sample:
local ray = ae.Ray:new_local(ae.ARVec3:new_local(0,0,0), ae.ARVec3:new_local(0,1,0))
local ray1 = ae.Ray:new_local(ray)

origin

API起始版本:190

ARVec3 origin()

获取射线的起点

Returns

  • ARVec3 : 射线起点
sample:
local origin = ray:origin()

set_origin

API起始版本:190

void set_origin(origin)

设定射线的起点

Parameters

  • ARVec3 | origin : 起点
sample:
ray:set_origin(origin)

direction

API起始版本:190

ARVec3 direction()

获取射线的方向向量

Returns

  • ARVec3 : 射线方向向量
sample:
local dir = ray:direction()

set_direction

API起始版本:190

void set_direction(dir)

设定射线的起点

Parameters

  • ARVec3 | dir : 方向向量
sample:
ray:set_direction(dir)

intersects(plane)

API起始版本:190

float intersects(plane)

获取与平面相交点的距离,如果不相交,返回-1

Parameters

  • Plane | plane : 平面对象

Returns

  • float : 与相交点的距离,如果不相交,返回-1
sample:
local distance = ray:intersects(plane)
if distance > 0 then
	...
end

intersects(box)

API起始版本:190

float intersects(box)

获取与包围盒相交点的距离,如果不相交,返回-1

Parameters

  • BoundingBox | box : 包围盒

Returns

  • float : 与相交点的距离,如果不相交,返回-1
sample:
local distance = ray:intersects(box)
if distance > 0 then
	...
end
上一篇
Plane
下一篇
RayCaster