개발/유니티(UNITY)

2.9 Vector 클래스 사용하기

새벽감성개발자 2023. 9. 9. 09:00
반응형

2.9.1 Vector

  • 3D 게임을 만들려면 오브젝트의 위치를 정해야 하기 때문에 float형의 x, y, z 값 3개를 쓴다.
  • C#에는 Vector3 class(구조체)가 있다.
  • 2D 게임에는 Vector2 class가 있다 (float형의 x, y값)
  • 위 값 둘다 좌표나 벡터로 쓸 수 있다.

 

2.9.2 Vector 클래스를 사용하는 방법

※ Vector2 class의 멤버 변수에 숫자 더하기

using System.Collections;
using System.Collections.Generic;
using UnityEngine;                  // 유니티가 동작하는데 필요한 기능 제공


public class test : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        Vector2 playerPosition = new Vector2 (3.0f, 4.0f);
        playerPosition.x += 8.0f;
        playerPosition.y += 5.0f;
        Debug.Log(playerPosition);
    }
}

결과값 보기

더보기

(11.00, 9.00)

 

※ Vector class끼리 뺄셈하기

using System.Collections;
using System.Collections.Generic;
using UnityEngine;                  // 유니티가 동작하는데 필요한 기능 제공


public class test : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        Vector2 startPosition = new Vector2 (2.0f, 1.0f);
        Vector2 endPosition = new Vector2 (8.0f, 5.0f);
        Vector2 direction = endPosition - startPosition; 
        Debug.Log(direction);

        float length = direction.magnitude;
        Debug.Log(length);
    }
}

결과값 보기

더보기

(6.00, 4.00)

7.211102

float length = direction.magnitude;

위에서 direction.magnitude; 에서 magnitude는 설명을 읽어보면 다음과 같다
startPosition과 endPosition 사이의 직선 거리를 Vector로 표기한 것이다.

 

2.9.3 Vector 클래스 응용하기

  • Vector 클래스는 좌표 뿐만 아니라 <가속도, 힘, 이동속도> 등의 물리적인 수치로도 사용 가능
  • 속도로 계산하는 경우, 어떤 버튼을 눌렀을 때, 캐릭터를 좌우로 원하는 거리만큼 이동시킬 수 있다.

 

※ 기본적으로 개념에 대한 설명은 여기가 끝이다. 3장부터는 실제로 게임을 구현하기 위해 오브젝트를 배치하고 움직이는 방법에 대해 Unity 화면과 함께 포스팅 하겠습니다.

 

 

반응형

'개발 > 유니티(UNITY)' 카테고리의 다른 글

3.3 씬에 오브젝트 배치하기  (0) 2023.09.10
3장 오브젝트를 배치하고 움직이는 방법  (0) 2023.09.09
2.8 클래스 만들기  (0) 2023.09.08
2.7 메서드 만들기  (0) 2023.09.08
2.6 배열 사용하기  (0) 2023.09.08