关于Unity Physics.CheckBox的使用方法

关于Unity Physics.CheckBox的使用方法

Physics.CheckBox的介绍

在UnityAPI手册中Physics.CheckBox是Unity Physics类中的一个方法,该方法拥有四个重载,用于检查给定的盒体是否与其他碰撞体重叠。
public static bool CheckBox (Vector3 center, Vector3 halfExtents, Quaternion orientation= Quaternion.identity, int layermask= DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction= QueryTriggerInteraction.UseGlobal);

参数
Center盒体的中心
halfExtents盒体各个维度大小的一半
orientation盒体的旋转(默认是Quaternion.identity)
layermask层遮罩,用于在投射射线时有选择地忽略碰撞体(默认是射线投射层的层遮罩常量,即IgnoreRaycastLayer这一层之外的所有层)
queryTriggerInteraction指定该查询是否应该命中触发器(默认是project settings页面下physics的Queries Hit Triggers设置)

uintyapi手册Physics.CheckBox

Physics.CheckBox的使用

首先创建一个脚本,名字CheckboxTest,代码如下

using UnityEngine;

public class CheckboxTest : MonoBehaviour
{
    public float xSize = 1;
    public float ySize = 1;
    public float zSize = 1;
    // Update is called once per frame
    void Update()
    {
        if (Physics.CheckBox(transform.position, new Vector3(xSize, ySize, zSize) / 2, Quaternion.identity, 16))
        {
            Debug.Log(1);
        }
    }
    private void OnDrawGizmosSelected()
    {
        Gizmos.color = Color.green;
        Gizmos.DrawCube(transform.position, new Vector3(xSize, ySize, zSize));
    }
}

然后创建一个平面Plane,并放进我们的脚本Checkbox
你可以修改数值和我一样是5,5,5,不修改也不会影响结果然后创建一个球体Sphere
然后创建一个球体Sphere

Sphere 的布层Layer改为Water(2的4次方是16)这里layer改为Water
开始运行我们的unity
请添加图片描述
我们可以发现在开始的时候1就开始出现。直到小球完全离开绿色的检查盒停止,再次接触后1又开始出现在控制台信息栏一侧

总结(可以直接跳到这里)

使用该方法时,检查盒会对被检查的物体是否在它区域内以及区域碰撞作出反应,以下画图所示

这是方法返回布尔值为false

在这里插入图片描述
这是方法返回布尔值为true

在这里插入图片描述
在这里插入图片描述
最后顺便拜托问下大伙如何将主标题从目录中去除以及如何直接从csdn上画并交补集图
第一次制作,制作不易,如有问题,欢迎指正。

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值