Rigidbody 라는 컴포넌트를 추가하는데,
Rigidbody는 유니티에서 물리 기능을 담당한다.
Rigidbody 컴포넌트를 큐브(오브젝트)에 추가하면,
가상세계에 물리법칙을 적용한다고 생각 하면 되는데, 큐브의 높이가 0보다 높은 곳에 존재한다면 중력이 작용해 낙하한다.
이제 Jumper라는 이름의 C# script를 만들 것이다.
유니티에서의 C#의 기능 중 하나는유니티 내에 존재하는 컴포넌트와 오브젝트들을 참조 할 수 있다.
Jumper ( C# script )
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Jumper : MonoBehaviour
{
//컴포넌트에 참조 가능한 변수
public Rigidbody myRigidbody;
// Start is called before the first frame update
void Start()
{
//Rigidbody 타입의 내장 메서드
myRigidbody.AddForce(0, 500, 0);
}
}
Rigidbody 타입엔 AddForce라는 메서드가 내장 돼 있다.
해당 AddForce는 지정한 방향으로 힘을 주는 메서드다.
하지만, 여기서 myRigidbody는 아무것도 참조하고 있지 않다.
설정해줘야한다👇
바닥을 안만들어 줬더니, 큐브가 아래로 사정없이 곤두박질 친다..
기본적으로 Rigidbody는 물리기능을 담당해서 낙하시키는 것도 있지만 충돌하는 부분이 있어야 멈추는 듯하다.
plane을 만들어 줬는데 박스가 반 짤려있다.
cube의 y 포지션이 0이고 plane의 y 포지션이 0이니,
큐브를 Plane위로 올려 놓으려면 큐브의 Scale을 파악한 뒤에
y 포지션을 적절히 수정해주면 된다.