返回介绍

Physics.OverlapSphere 重叠球

发布于 2019-12-18 15:38:16 字数 2765 浏览 1589 评论 0 收藏 0

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

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

Parameters 参数

positionCenter of the sphere.
球体中心。
radiusRadius of the sphere.
球的半径。
layerMaskA Layer mask that is used to selectively ignore colliders when casting a ray.
选择投射的层蒙版。
queryTriggerInteractionSpecifies whether this query should hit Triggers.
指定是否查询碰到触发器。

Description 描述

Returns an array with all colliders touching or inside the sphere.

返回球内或与之接触的所有碰撞器。

NOTE: Currently this only checks against the bounding volumes of the colliders not against the actual colliders.

注意,这个仅针对碰撞器的边界体检测,而不是针对实际的碰撞器。

JavaScript:

	// Call a damage function on all objects caught in the
	// radius of an explosion.
	function ExplosionDamage(center: Vector3, radius: float) {
		var hitColliders = Physics.OverlapSphere(center, radius);
 
		for (var i = 0; i < hitColliders.Length; i++) {
			hitColliders[i].SendMessage("AddDamage");
		}
	}

C#:

using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
    void ExplosionDamage(Vector3 center, float radius) {
        Collider[] hitColliders = Physics.OverlapSphere(center, radius);
        int i = 0;
        while (i < hitColliders.Length) {
            hitColliders[i].SendMessage("AddDamage");
            i++;
        }
    }
}

Physics

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文