반응형
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
위에서 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 |