Unity 物理引擎

https://www.bilibili.com/video/BV12s411g7gU?p=178&spm_id_from=pageDriver
1.两个物体都必须有 碰撞组件
2.运动的物体必须带有刚体组价
满足上面两个条件才会发生碰撞!
碰撞会有碰撞效果
产生碰撞时触发的三个方法:
void OnCollisionEnter(Collision other);//开始接触第一帧
void OnCollisionStay(Collision other);//接触的每一帧
void OnCollisionExit(Collision other);//接触的最后一针

触发器 :有碰撞器 并且 Is Trigger = true ;
触发条件:
1.两个物体有碰撞器
2.两个物体其中一个带有刚体
3.两个物体其中一个勾选了Is Trigger
两个物体进入触发区域时触发的三个方法:
void OnTriggerEnter(Collider other);//触发第一帧
void OnTriggerStay(Collider other);//触发过程的每一帧
void OnTriggerExit(Collider other);//触发的最后一帧

如果运动物体速度太快,碰撞和触发都无法检测不到! 可以通过射线检测!
参数1:发射点
参数2:发射方向
参数3:发射线撞击的目标信息(输出参数)
参数4:射线检测距离
参数5:检测哪些层
public LayerMask mask;
void Start()
{
RaycastHit hit = new RaycastHit();
Physics.Raycast(Vector3.zero, Vector3.forward, out hit, 200, mask);
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容