当前位置:   article > 正文

关于Unity Physics.CheckBox的使用方法_unity physic.checkbox

unity physic.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));
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

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

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

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

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

这是方法返回布尔值为false

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/111923
推荐阅读
相关标签
  

闽ICP备14008679号