[Unity Physics] Physics - Raycast
Class Variables类变量
-
gravityThe gravity applied to all rigid bodies in the scene.
场景中应用到所有刚性物体的重力。
-
minPenetrationForPenaltyThe minimum contact penetration value in order to apply a penalty force (default 0.05). Must be positive.
两个物体接触碰撞时,物体间最小渗透(穿透)深度值。默认0.05.取值范围从0到无穷大。必须是正数。
-
bounceThresholdTwo colliding objects with a relative velocity below this will not bounce (default 2). Must be positive.
两个碰撞物体的相对速度如果在这个设定值之下,不会反弹。默认值2.。取值范围0到无穷大。必须为正数。
-
sleepVelocityThe default linear velocity, below which objects start going to sleep (default 0.15). Must be positive.
如果物体的线速度在这个速度设定值之下,物体将进入静止状态。默认0.15。取值范围0到无穷大。必须为正数。
-
sleepAngularVelocityThe default angular velocity, below which objects start sleeping (default 0.14). Must be positive.
如果物体的角速度在这个速度设定值之下,物体将进入静止状态。默认0.14。 取值范围0到无穷大。必须为正数。
-
maxAngularVelocityThe default maximimum angular velocity permitted for any rigid bodies (default 7). Must be positive.
物体的最大角速度值。默认是7。必须为正数。
-
solverIterationCountThe default solver iteration count permitted for any rigid bodies (default 7). Must be positive.
默认的求解迭代次数允许使用任意刚体(默认为7)。必须为正数。
Class Functions类函数
-
Raycast(Vector3 origin,Vector3 direction,out RaycastHit hitInfo,float distance,int layerMask)
当光线投射与任何碰撞器交叉时为真,否则为假。
origin | 在世界坐标,射线的起始点 |
direction | 射线的方向 |
hitInfo | 碰撞信息 |
distance | 射线的长度 |
layerMask | 只选定Layermask层内的碰撞器,其他层内碰撞器忽略 |
// RaycastHit hit; // float distance = 100; // int layermask = 1 << 4 | 1 << 23; // bool foundHit = Physics.Raycast (transform.position, transform.forward, out hit, distance, layermask);
-
RaycastAll(Vector3 position,Vector3 direction,float distance,int layerMask)
投射一条光线并返回所有碰撞,也就是投射光线并返回一个RaycastHit[]结构体。
origin | 在世界坐标,射线的起始点 |
direction | 射线的方向 |
distance | 射线的长度 |
layerMask | 只选定Layermask层内的碰撞器,其他层内碰撞器忽略 |
// RaycastHit hit; // float distance = 100; // int layermask = 1 << 4 | 1 << 23; // RaycastHit[] hitlist = null; hitlist = Physics.RaycastAll (transform.position, transform.forward, distance, layermask);