Version: 2022.3

Physics.OverlapSphere

切换到手册
public static Collider[] OverlapSphere (Vector3 position, float radius, int layerMask= AllLayers, QueryTriggerInteraction queryTriggerInteraction= QueryTriggerInteraction.UseGlobal);

参数

position 球体的中心。
radius 球体的半径。
layerMask Layer mask 定义要在查询中包括哪些碰撞体层。
queryTriggerInteraction 指定该查询是否应该命中触发器。

返回

Collider[] 返回一个数组,其中包含与球体接触或位于球体内部的所有碰撞体。

描述

计算并存储接触球体或位于球体内部的碰撞体。

另请参阅:Physics.AllLayers. 分配内存。考虑改为使用 Physics.OverlapSphereNonAlloc

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void ExplosionDamage(Vector3 center, float radius) { Collider[] hitColliders = Physics.OverlapSphere(center, radius); foreach (var hitCollider in hitColliders) { hitCollider.SendMessage("AddDamage"); } } }

另请参阅:层遮罩,特别是“选择性投射光线”,以查看“层遮罩”的详细示例。

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961