Rigidbody SweepTest测试
2016-02-24 23:04
375 查看
和Physics的投射差不多,SweepTest可以直接投射当前碰撞
但是比较遗憾的是它对MeshCollider的支持不是很好,需要勾选Convex
投射和Physics一样,只要加了碰撞器,不管勾没勾选Trigger都会被投射到
另外如果想移动刚体位置进行SweepTest的话,可以调用.position提前改变位置
比如我的游戏中角色会瞬移到某个坐标,这时候判断是否超过墙壁,这是我测试用的代码,可以做到角色碰撞的修正:
测试一下(脚本执行前后):
极端情况测试:
但是比较遗憾的是它对MeshCollider的支持不是很好,需要勾选Convex
投射和Physics一样,只要加了碰撞器,不管勾没勾选Trigger都会被投射到
另外如果想移动刚体位置进行SweepTest的话,可以调用.position提前改变位置
比如我的游戏中角色会瞬移到某个坐标,这时候判断是否超过墙壁,这是我测试用的代码,可以做到角色碰撞的修正:
using UnityEngine; public class SweepTest : MonoBehaviour { public Rigidbody rigidbodyComponent; void OnEnable() { RaycastHit raycastHit; if (rigidbodyComponent.SweepTest(transform.forward, out raycastHit, 10)) { Debug.Log("Contract"); var raycastPoint = raycastHit.point; var closesPoint = rigidbodyComponent.ClosestPointOnBounds(raycastPoint); rigidbodyComponent.transform.position += raycastPoint - closesPoint; } else { Debug.Log("Failure"); } } }
测试一下(脚本执行前后):
极端情况测试:
相关文章推荐
- 毕业设计第九天
- SUSE Linux上安装IPython/Jupyter
- HTML+CSS慕课网学习总结(三)
- C#Winform读取txt文件
- Python操作Mysql实例代码
- #Android学习#启动、绑定及跨应用启动Service
- leetcode Partition List二分链表问题
- iOS网络2——NSURLSession使用详解
- [OJ] Wildcard Matching (Hard)
- iOS NSDictionary、NSData、JSON等 数据类型相互转换
- hdu2467 String painter(区间dp)
- 算法
- [Python入门]Chapter8 字符串
- Swift - 点击输入框外部屏幕关闭虚拟键盘
- xml tools属性详解
- h.264语法结构分析
- MySQL的两种存储引擎storage engine特点和对比
- 初来驾到学JAVA继承初识
- [android] 短信发送器
- 关于PHP+MYSQL开发时出现的乱码问题