반응형

RayCast?


이론적으로 많은 분들이 정리해주셨다.


특정한 포인트 방향으로 레이저?를 발사 - collider를 체크해서 녀석의 정보를 받아올 때 사용한다.

화면을 터치할 때도 사용 가능하며, 캐릭터의 주변에 사물을 검사하거나 할 때도 사용한다.


1
2
3
4
float maxDistance = 100;
// Physics.Raycast (레이저를 발사할 위치, 발사 방향, 최대 거리)
RaycastHit2D rh2d = Physics2D.Raycast (transform.position, transform.forward,maxDistance);
cs



Circle Cast?


레이는 위에 설명했듯이 한 점으로 발사하는 형태를 가지고 있다.


하지만 이번에 특정 범위를 체크할 필요가 생겼다. 처음에는 TriggerEnter, stay등 다른 기능을 활용하여 개발하였지만 체크하는 항목이 많아지고

순간순간에 예외처리가 많아 찾게되었다.


무거워서 그런지 , 다들 게임에 딱히 필요가 없어서 인지는 모르겠지만 많이 언급이 안되고 있었다.


CircleCast = 원 형의 지름을 가진 레이를 발사한다.

BoxCast = 사각형 형태의 레이를 발사한다.


특정 범위만큼 체크하고 싶다면 사용하시면 된다.


1
2
3
4
 float maxDistance = 1.09f;
Vector3 myposition = transform.position;
float mysize = 0.16f; // (시작점, 지름, 방향, 발사 거리)
RaycastHit2D rh2d = Physics2D.CircleCast(myposition, mysize, Vector2.up, maxDistance);
cs

진짜 초보자분들은 쏘고서 어쩌라고? 하시는 분들이 있을 것이다.

위에 소스를 그대로 사용하신다면, rh2d를 찍어보면 rh2d.collider 는 대상 , 이름, 테그, 사이즈등 많은 정보를 얻을 수 있으니, 닷을 찍어서 리스트를 확인해보시면 좋을 듯합니다.


반응형

'개발이야기 > Unity & C# 코딩' 카테고리의 다른 글

RayCast - layerMask 설정  (0) 2018.04.04
Unity Sound 옵션  (2) 2018.03.27
admob 두번째 - 기다려도 광고가 안나와요.... ㅠㅠ  (0) 2018.03.23
코르틴(Coroutine)  (0) 2018.03.10
Rigidbody(2D) constraints 설정  (0) 2018.03.07

+ Recent posts