Unity3D笔记第十二天——鼠标事件、物理类、射线

来源:互联网 发布:淘宝摄影师兼职 编辑:程序博客网 时间:2024/06/03 20:54
鼠标事件
OnMouseDown:鼠标在GUIElement或Collider之上,按下鼠标,该事件即被触发
OnMouseDrag:鼠标在GUIElement或Collider之上,按下鼠标并保持按下状态,该事件即被触发
OnMouseEnter:在用户移动鼠标进入GUIElement或Collider区域的时候,该事件被触发
OnMouseExit:在用户移动鼠标移出GUIElement或Collider区域的时候,该事件被触发
OnMouseOver:鼠标处于GUIElement或Collider之上时,每帧都会调用该事件
OnMouseUp:当鼠标弹起的时候,该事件被触发调用
OnMouseUpAsButton:仅仅在鼠标在同一个GUIElement or Collider上按下又弹起的情况下会触发调用该事件


射线
射线是一个无穷的线,开始于origin并沿着direction方向。
origin:射线的起点
direction:射线的方向


Physics类属性
gravity:场景中应用到所有刚性物体的重力。 
minPenetrationForPenalty:两个物体接触碰撞时,物体间最小渗透(穿透)深度值。默认0.05.取值范围从0到无穷大。必须是正数。
bounceThreshold:两个碰撞物体的相对速度如果在这个设定值之下,不会反弹。默认值2.。取值范围0到无穷大。必须为正数。 
sleepVelocity:如果物体的线速度在这个速度设定值之下,物体将进入静止状态。默认0.15。取值范围0到无穷大。必须为正数。
sleepAngularVelocity:如果物体的角速度在这个速度设定值之下,物体将进入静止状态。默认0.14。 取值范围0到无穷大。必须为正数。 
maxAngularVelocity:物体的最大角速度值。默认是7。必须为正数。 
solverIterationCount:默认的求解迭代次数允许使用任意刚体(默认为7)。必须为正数。 


Physics类方法
Raycast:在场景中投下可与所有碰撞器碰撞的一条光线。 
RaycastAll:投射一条光线并返回所有碰撞。 
Linecast:从开始位置到结束位置做一个光线投射,如果与碰撞体交互,返回真。 
OverlapSphere:返回球型半径之内(包括半径)的所有碰撞体 collider[]。 
CapsuleCast:对场景中的碰撞体进行胶囊的投射,如果相交,返回碰撞体的raycasthit信息。 
SphereCast:投射球型物体来判断是否与场景中物体交互,返回 Raycasthit 信息。 
CapsuleCastAll:和Physics.CapsuleCast 不同的是这个函数返回所有交互的碰撞体信息。 
SphereCastAll:和Physics.SphereCast 不同的是这个函数返回所有交互的碰撞体信息。


Physics.Raycast应用
在场景中投下可与所有碰撞器碰撞的一条射线,然后判断此射线是否与场景中的碰撞体碰撞,碰撞则返回true,没有则返回false。
判断从origin发出direction方向,长distance的线段是否与指定层中的碰撞体发生了相交,如果有,返回true值,否则返回false值。
0 0
原创粉丝点击