유니티에서 제공되는 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:
Unity Pro:
Unity 프리미엄 학습:
'개발 > Unity' 카테고리의 다른 글
유니티 - 오브젝트를 선택된 상태로 만들기 : (4) 오브젝트 하나만 선택하기 (0) | 2022.05.17 |
---|---|
유니티 - 마우스 스크롤로 카메라 줌 인 / 아웃 (Camera Zoom in / out with a Mouse Scroll) (0) | 2022.05.14 |
유니티 - 간단한 투명 Material 만들기 (1) | 2022.05.14 |
유니티 - 드래그로 평면 위의 오브젝트 움직이기 (Drag and Move on the Plane) (0) | 2022.05.14 |
유니티 - 사각형 안에 있는 점 판단하기 (How to Check If a Point Is Inside a Rectangle) (0) | 2022.05.13 |
댓글