목표 |
물리와 관련된 Rigidbody 를 알아 보자.
이론 |
Rigidbody : 중력
- 속성
mass : 오브젝트의 질량
Linear drag : 위치 움직임에 따른 마찰력
Angular Drag : 회전 움직임에 따른 마찰력
Gravity Scale : 오브젝트 중력 계수(0으로 설정하면 아래로 떨어지지 않는다)
Constraints : 체크된 축은 물리력에 의해 이동,회전하지 않게 된다.
실습 |
새 프로젝트 생성 - 3D 선택 후 JumpTest
- 바닥과 점프 할 큐브 생성
1. 바닥 생성 - 하이라키에서 + 기호 눌러서 3D Object -> Plane 클릭 해서 객체 생성
2. 점프 할 큐브 생성 - 하이라키에서 + 기호 눌러서 3D Object -> Cube 클릭 해서 객체 생성
Positon 을 x:0,y:5,z:0 으로 설정
- 큐브에 중력 컴포넌트인 Rigidbody 추가 : Add Component 클릭하여 Rigidbody 검색해서 추가
- 실행해서 큐브가 바닥에 떨어지는 것을 확인하자.
- 큐브를 처음 시작하자 마자 점프 하는 코드를 넣자.
1. Assets 에서 우클릭 -> Create -> C# Script 클릭하여 생성된 파일 명 Jump로 변경
2. Jump.cs 를 다음과 같이 작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Jump : MonoBehaviour
{
Rigidbody rb; //Rigidbody 를 연결할 변수 선언
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>(); //자신의 Rigidbody 를 가져와서 rb에 연결
rb.AddForce(0,500,0); // y 축으로 500 만큼 점프하자.
}
// Update is called once per frame
void Update()
{
}
}
(
AddForce 로 y축의 값을 증가 해서 점프 하도록 한다.
Rigidbody 는 기본 컴포넌트라서 GetComponent 로 가져 올 수가 있다.
)
3. Jump 스크립트를 큐브에 연결하자.
큐브 선택하여 Jump 스크립트를 끌어서 인스펙터에 놓는다.
- 실행하자 마자 점프 하는 것을 확인 할 수 있다.
(Start 에서 한번만 수행한다. 나중에 키보드 입력을 받아서 점프를 할 수 있도록 수정해 보자.)
연습문제 |
스크립트를 이용하여 x축이나 y축으로 이동시켜 보자.
'응용프로그래밍 > 유니티기초' 카테고리의 다른 글
[유니티기초]1-06.스크립트를 이용하여 객체 생성 (0) | 2022.05.30 |
---|---|
[유니티기초]1-05. 프레임에 따라 update 되는 속도가 다른 것을 어느 컴퓨터에서나 동일한 속도를 보장 하는 deltaTime (0) | 2022.05.30 |
[유니티기초] 1-04. 게임오브젝트 충돌 처리 (0) | 2022.05.30 |
[유니티 기초]1-03.오브젝트를 키보드로 이동 시켜 보자. (0) | 2022.03.28 |
[유니티 이론] 1-01.유니티 에디터 화면 구성 살펴 보기 (0) | 2021.02.23 |