版本:Unity 6 (6000.0)
语言中文
  • C#

Physics.OverlapSphere

提出更改

成功!

感谢你帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交内容,但我们会阅读用户提出的每项建议,并在需要时进行更新。

关闭

提交失败

由于某些原因,你建议的更改无法提交。请在数分钟后<a>重试</a>。感谢你花时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

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

参数

position 球体的中心。
radius 球体的半径。
layerMask 一个图层蒙版定义了要包括在查询中的碰撞器图层。
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"); } } }

附加资源:图层蒙版,特别是“有选择地通过射线”以获取有关图层蒙版的详细示例。