2017-12-13 3 views
0

Ray을 캐스팅하고 싶습니다만, Ray 레이 캐스트 기능을 원한다면 유니티는 광선의 원점과 방향을 받아들이지 않고 원점을 Vector2이라고 주장합니다. 따라서 코드를 통해 보여주기 위해 :레이 레이크로 유니티 레이캐스팅

void Start() 
{ 
    RayUp = new Ray2D(transform.position, Vector2.up); 
} 


void Update() 
{ 
    Physics2D.Raycast(RayUp, out WallUp, distance, WallFilter); 
    Debug.DrawRay(RayUp); 
} 

나는 무엇이 있습니까? WallUp, distance 및 WallFilter가 정의되었습니다.

+1

나도 몰라 당신의 변수가 선언 된 방법을 표시하지 않으면 문제가 발생합니다. – Programmer

답변

1

Debug.DrawRay() 및 Raycast()에 대한 올바른 입력을 제공하지 않습니다. DrawRay documentationRaycast() documentation을 살펴보십시오. 최소한 당신은 할 수 있습니다 :

Physics2D.Raycast(transform.position, Vector2.up); Debug.DrawRay(transform.position, Vector2.up);

당신은 당신이 할 수있는 원래의 RayUp 변수에서 일관성 때문 유지하려면 : 사람들이 발견 할 수있는 방법

Physics2D.Raycast(RayUp.origin, RayUp.direction); Debug.DrawRay(RayUp.origin, RayUp.direction);