力
AddRelativeForce()
添加的是相对于自身坐标系的力
AddTorque
添加一个扭矩:世界坐标
AddRelativeTorque
物体坐标
物理射线
射线
由一个端点无限延长所形成的直线
定义射线
起点
方向
创建射线
new Ray(起点,方向)
Physic.Raycast
orgin:起点
direction:方向
maxDistance:检测的最大距离
layerMask:射线碰撞的层
RaycastHit hit:碰撞信息
RaycastHit
transform-碰撞到的物体的transform
distance-碰撞点到射线起点的距离
normal-碰撞到的点的平面的法线
point-碰撞到的点
从屏幕坐标的位置发射射线
Camera.main.ScreenPointToRay(Input.mousePosition)
射线穿透检测
Physic.RaycastAll()
发射一条射线,检测是否射到物体当射到物体时,不会终止检测,而是穿透过去继续检测,直到到达指定的检测距离,返回所有的检测信息
球形检测
Physics.OverlapSphere(圆心,半径,层)
在球形范围内,所有带碰撞体的物体
延迟函数
概念
可以隔一段时间以后再执行某段逻辑
Destroy
经过time时间后销毁object
Invoke(方法名,时间)
经过time时间,调用methodName方法
方法名是String类型,不需要参数
1.当延迟函数启动,脚本被失活,延迟函数继续执行
2.当延迟函数启动,物体被失活,延迟函数继续执行
3.当延迟函数启动,物体被删除,延迟函数不会继续执行
4.延迟函数受时间缩放影响
5.延迟函数尽量避免在Update中使用
取消延迟
IsInvoking
有参数:判断某一个方法是否开启了延迟
没有参数:判断所有方法是否开启了延迟
CancelInvoke
有参数:取消某一个方法的延迟
没有参数:取消所有延迟函数