본문 바로가기
개발/Unity

유니티 에디터 - OnDrawGizmos / OnDrawGizmosSelected로 Scene에 선 그리기

by 피로물든딸기 2022. 4. 14.
반응형

Unity 전체 링크

 

OnDrawGizmos 

 

Debug.DrawRay는 게임 실행 중에만 선을 그린다.

 

 

OnDrawGizmos를 이용하면 게임을 실행하지 않아도 라인을 그릴 수 있다.

위의 벽에 아래의 스크립트를 추가하자.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Wall : MonoBehaviour
{
    private void OnDrawGizmos()
    {
        Gizmos.color = Color.red;
        Gizmos.DrawRay(this.transform.position, this.transform.localRotation * Vector3.up * 50.0f);
    }

    void Update()
    {
        //Debug.DrawRay(this.transform.position, this.transform.localRotation * Vector3.up * 10.0f, Color.red);
    }
}

 

게임을 실행하지 않아도 Ray가 그려지는 것을 알 수 있다.


OnDrawGizmosSelected

 

OnDrawGizmos는 Scene에 계속 보이기 때문에 조금 거슬릴 수 있다.

OnDrawGizmosSelected를 사용하면 선택한 경우에만 Gizmos를 그린다.

 

아래의 DrawGizmos.cs를 두 개의 큐브에 추가하자.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DrawGizmos : MonoBehaviour
{
    void OnDrawGizmos()
    {
        Gizmos.color = Color.red;
        Gizmos.DrawWireCube(this.transform.position, new Vector3(2, 2, 2));
    }

    void OnDrawGizmosSelected()
    {
        Gizmos.DrawCube(this.transform.position, new Vector3(2, 2, 2));
    }

}

 

OnDrawGizmos에서 DrawWireCube로 Cube의 Wire를 그린다.

 

큐브를 선택하면 DrawCube에 의해 큐브를 그려준다.

 

Unity Plus:

 

Easy 2D, 3D, VR, & AR software for cross-platform development of games and mobile apps. - Unity Store

Have a 2D, 3D, VR, or AR project that needs cross-platform functionality? We can help. Take a look at the easy-to-use Unity Plus real-time dev platform!

store.unity.com

 

Unity Pro:

 

Unity Pro

The complete solutions for professionals to create and operate.

unity.com

 

Unity 프리미엄 학습:

 

Unity Learn

Advance your Unity skills with live sessions and over 750 hours of on-demand learning content designed for creators at every skill level.

unity.com

반응형

댓글