백지부터 시작하는 이세계 코딩 생활
Physics.OverlapSphere 본문
Physics.OverlapSphere
정의해준 콜라이더(Collider) 범위 내에 접촉한 콜라이더에 대한 정보를 반환해준다.
특정 레이어(Layer)의 정보만을 반환 받을 수 있다. 이때, 배열의 형태로 값을 반환 받는다.
public static Collider[] OverlapSphere(Vector3 position, float radius, int layerMask = AllLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
//3D Example
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");
}
}
}
//2D Example
public void Attack()
{
Vector3 pos = transform.position;
pos += transform.right * attackOffset.x;
pos += transform.up * attackOffset.y;
Collider2D colInfo = Physics2D.OverlapCircle(pos, attackRange, attackMask);
if (colInfo != null)
{
colInfo.GetComponent<PlayerHealth>().TakeDamage(attackDamage);
}
}
Ref.
1 docs.unity3d.com/ScriptReference/Physics.OverlapSphere.html
2 a-game-developer0724.tistory.com/54
'백지부터 시작하는 이세계 유니티 생활 since 2020' 카테고리의 다른 글
Collider (0) | 2020.12.25 |
---|---|
URP, Unity 2020.1.17 (0) | 2020.12.25 |
MoveTowards (0) | 2020.12.24 |
Sorting Layer (0) | 2020.12.24 |
Image property in Inspector (0) | 2020.12.14 |
Comments