2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

응용프로그래밍/유니티기초

[유니티2D] 네비게이션 길의 경로 표시하기

파아란기쁨1 2022. 6. 7. 16:02
반응형
목표

Debug.DrawLine 으로 가야 하는 길의 경로를 표시하는 방법을 살펴 보자.

 

사용법

Debug.DrawLine(시작위치,종료위치,색상,표시하는 시간,카메라에서 가까운 오브젝트에 의해 가려졌는지 여부)

 

2022.06.06 - [응용프로그래밍/유니티기초] - [유니티2D] 배열맵을 이용하여 출발지에서 목표로 이동하는 네비게이션 만들기

 

[유니티2D] 배열맵을 이용하여 출발지에서 목표로 이동하는 네비게이션 만들기

2022.06.06 - [응용프로그래밍/유니티기초] - [유니티2D] 타일맵을 이용하여 배열 맵 구축 2D Object -> Tilemap-> Rectangular 선택하여 타일맵 추가 Open Tile Plalette 를 클릭하여 타일맵 팔렛트를 오픈 팔렛..

thinkmath2020.tistory.com

에서 자동차가 출발 하기 전에 가야 할 길을 빨간색으로 표시하도록 해 보자.

 

    Vector3 startPos,endPos;
    void DrawLine(){
        for(int i = 0; i < FinalTargetList.Count-1; i++){
            startPos =  new Vector3(FinalTargetList[i].x,FinalTargetList[i].y,0);
            endPos =  new Vector3(FinalTargetList[i+1].x,FinalTargetList[i+1].y,0);
            Debug.DrawLine(startPos, endPos, Color.red,5f);
            //Debug.DrawRay(startPos, endPos, Color.green,2f); 
            Debug.Log(startPos.x.ToString() + "," + startPos.y.ToString() + "->" + endPos.x.ToString() + "," + endPos.y.ToString());  
        }              
       
    }

위와 같이 DrawLine  함수를 만들고 경로를 생성한 후 바로 호출 하면 된다.

    public void MoveStart(){
        //Debug.Log("MoveStart");
        GetTargetPath(); // Path 를 가져 오자.  
        DrawLine();
        StartCoroutine(MoveCar()) ;
        
    }

실행해 보면 위와 같이 가야 할 경로가 보이는 것을 확인 할 수 있다.

 

실행시 Gizmos 를 클릭하여야 경로가 보인다.

반응형