본문 바로가기
개발/Unity

유니티 Plane, 평면의 길이

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

Unity 전체 링크

 

유니티에서 제공되는 Plane의 길이 / 크기에 대해서 알아보자.

 

큐브는 X, Y, Z의 Scale 1일 때, 실제 크기도 1이다.

하지만 Plane의 경우는 10x10 unit mesh를 사용하기 때문에 Scale 1일 때 10의 길이를 가진다.

 

이 사실을 확인해보자.


먼저 큐브의 크기를 알아보기 위해 빈 오브젝트(SizeOfCube)를 생성한 후, 아래의 스크립트를 추가한다.

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

public class LengthTest : MonoBehaviour
{
    public GameObject go1, go2;

    void Start()
    {
        Debug.Log(Vector3.Distance(go1.transform.position, go2.transform.position));
    }

    void Update()
    {
        Debug.DrawLine(go1.transform.position, go2.transform.position, Color.red);
    }
}

 

큐브를 2개를 만들고 TestEvent에 큐브를 추가한다.

 

게임을 실행하면 아래와 같은 선이 그려진다.

그려지는 선을 자세하게 보기 위해 큐브에 투명한 Material을 추가하였다.

 

이제 버텍스 스내핑을 이용하여 큐브를 착 달라붙은 상태로 만든다.

 

이 상태로 Play 버튼을 누르고 콘솔에서 로그를 확인하면 아래와 같다.

 

현재 두 개의 큐브에 설정된 Scale은 모두 (1, 1, 1)이다.

그리고 큐브가 정확히 붙어 있을 때, 중심의 좌표의 거리(Vector3.Distance의 결과)가 1이다.

따라서 큐브는 Scale 1에 대해 1의 크기를 가진다.


이제 Scale이 (1, 1, 1)인 Plane을 만들고 다시 Vertex Snapping으로 큐브를 모서리 아래의 위치로 옮긴다.

그리고 Play 버튼을 누르면 아래와 같이 나오게 된다.

 

오브젝트의 중심에서의 거리가 9이므로, 평면의 길이는 10이 된다. (각 큐브의 절반을 두 번 더해야 된다.)

 

즉, Plane의 길이를 생각할 때는 Scale이 1일 때,

10의 길이/크기를 가진다는 것을 알고 있어야 평면의 크기에 대한 처리가 가능하다.

 

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

반응형

댓글