
강의에서 3번째 게임을 만들었는데 거기서 RayCastHit2D 사용했다.
처음이기도 하고 뭔가 개인 과제에서 쓸 것 같아서 정리를 해봤다.
RayCastHit2D 이름 = Physics2D.Raycast(현재위치, 벡터값, 크기);
쉽게 이해하면 작은 광선(?)같은 걸 쏴서 조건에 맞는 충돌한 것에 대한 정보를 저장해준다.

ㅋㅋ 대충 이런 느낌인 것 같다.
아무튼 다시 만든 게임의 코드를 보면
int layermaskTarget = weaponHandler.target;
RaycastHit2D hit = Physics2D.Raycast(
transform.position,
direction,
weaponHandler.AttackRange * 1.5f,
(1 << LayerMask.NameToLayer("Level")) | layermaskTarget);
if(hit.collider != null &&
layermaskTarget ==
(layermaskTarget | (1 << hit.collider.gameObject.layer)))
{
isAttack = true;
}
현재위치 : transform.position
벡터 값 : direction
크기 : weaponHandler.AttackRange * 1.5f
조건 : 1 << LayerMask.NameToLayer("Level")) | layermaskTarget
hit에 조건에 맞는 충돌한 것에 대한 정보가 저장되어지고
조건문을 통해 충돌된 정보를 비교하여 맞으면 isAttack을 true로 해준다.
만약 레이어를 지정해주었고 이것을 사용해서 그 정보를 사용한다면,
조건문을 통해 내가 원하는 동작을 시켜줄 수 있을 것 같다.
개인과제의 내용 중에 특정 위치나 오브젝트를 통해 미니게임을 실행시켜야되는데
이걸 사용하면 될 것 같다.