Unity物理检测Physics

文章详细比较了Unity2022.3.1f1中Capsule、Sphere和Box的6种物理检测方法,发现Cast方法不够准确,其他检测方法性能和准确性相对较好。作者提供了测试代码以展示各种检测类型的使用和效果。

Unity物理检测Physics

unity版本:2022.3.1f1

Capsule的6种检测方法以及结果

在这里插入图片描述
绿色碰撞区域为对应的检测区域
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Sphere检测的6种方法和结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Box检测的6种方法和结果

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

总结

Check和Overlap都是传入不同的范围,检测是否处于范围内的方法,经检测,都是符合预期的比较准确的方法

Cast方法是先创建一个3D空间,然后根据参数向指定方向投射指定距离。其中CapsuleCast、SphereCast和BoxCast的检测区域不包含创建的3D空间,且靠近投射体本身的区域会有一定的误差范围;而Cast和CastNonAlloc的检测区域会包含自身,且检测范围也比较准确

综上所述,6种检测方法中,只有Cast不太准确,不推荐使用

性能消耗对比

Check < Overlap < Cast
Box < Sphere < Capsule

下面附上测试代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TestPhysics : MonoBehaviour
{
   
   
    public int checkType = 1;
    public int idx = 1;
    public GameObject obj1;
    public GameObject obj2;
    public GameObject cube;
    MeshRenderer mesh;
    Collider[] colliders = new Collider[10];
    RaycastHit[] raycastHits 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值