
유니티를 처음 공부하면서 가장 기본이 되는 기능 중 하나는 물리 시스템(Rigidbody)이다.
이번 실습에서는 Sphere(구)가 중력에 의해 떨어지고, 기울어진 Plane을 따라 굴러가는 동작을 구현하고,
추가로 C# 스크립트를 통해 오브젝트의 정보를 확인하는 과정까지 함께 진행했다.
🎯 실습 목표
- Rigidbody를 이용한 중력 적용 이해
- Collider를 통한 충돌 처리 이해
- Transform을 이용한 위치 정보 확인
- Debug.Log로 값 출력
🧱 1. 오브젝트 구성
Unity에서 다음과 같이 구성했다.
🔹 Sphere (공)
- Sphere Collider (기본 포함)
- Rigidbody (물리 적용)
- TestScript (직접 작성한 스크립트)
🔹 Plane (바닥)
- Mesh Collider (기본 포함)
📐 2. Plane 기울이기
Plane을 기울여서 공이 자연스럽게 굴러가도록 설정했다.
예시:
- Rotation Z: 20 ~ 30
이렇게 하면 경사면이 만들어져 Sphere가 한쪽 방향으로 이동하게 된다.
⚙️ 3. Rigidbody 설정
Sphere에 Rigidbody를 추가하고 다음과 같이 설정했다.
- Use Gravity ✔ 체크
- Is Kinematic ❌ 해제
이 설정으로 Sphere는 중력의 영향을 받아 아래로 떨어진다.
📁 4. 스크립트 생성 및 적용
Assets 폴더 안에 Script 폴더를 만들고
TestScript.cs를 생성한 후 Sphere에 추가했다.
💻 5. 작성한 코드
using Unity.Hierarchy;
using UnityEngine;
using UnityEngine.UI;
public class TestScript : MonoBehaviour
{
Transform obj_trans;
float position_x;
void Start()
{
obj_trans = GetComponent<Transform>();
Debug.Log(obj_trans);
position_x = obj_trans.position.x;
Debug.Log(position_x);
}
void Update()
{
}
}🔍 6. 코드 설명
✔ Transform 가져오기
obj_trans = GetComponent<Transform>();- 현재 Sphere 오브젝트의 Transform 컴포넌트를 가져옴
- 위치(Position), 회전(Rotation), 크기(Scale) 정보 포함
✔ 위치 값 확인
position_x = obj_trans.position.x;- Sphere의 x 좌표 값을 가져옴
✔ Debug.Log 출력
Debug.Log(position_x);- Console 창에 값 출력
- 실행 중 값 확인할 때 사용
▶️ 7. 실행 결과
Play 버튼을 누르면 다음과 같은 동작이 발생한다.
- Sphere가 중력에 의해 아래로 떨어짐
- Plane과 충돌
- 기울어진 방향으로 굴러 내려감
- Console 창에 Transform 정보 및 x 좌표 값 출력
🎥 실행 영상
💡 이번 실습에서 배운 점
- Rigidbody를 추가해야 물리가 적용된다
- Use Gravity를 통해 중력 활성화
- Collider가 있어야 충돌이 발생한다
- Transform을 통해 위치 정보를 가져올 수 있다
- Debug.Log로 값을 확인할 수 있다
⚠️ 정리 및 개선
현재 코드에서 불필요한 부분:
using Unity.Hierarchy;using UnityEngine.UI;
👉 정리된 코드:
using UnityEngine;
public class TestScript : MonoBehaviour
{
Transform obj_trans;
void Start()
{
obj_trans = GetComponent<Transform>();
Debug.Log(obj_trans.position.x);
}
}
🚀 마무리
이번 실습은 매우 간단하지만
유니티의 핵심 개념인:
- 물리 시스템 (Rigidbody)
- 충돌 처리 (Collider)
- 컴포넌트 구조 (Transform)
- 스크립트 접근 방식 (GetComponent)
을 한 번에 이해할 수 있는 중요한 과정이었다.
앞으로는 이 구조를 기반으로
움직임 제어, 점프, 입력 처리 등을 추가해 나갈 예정이다.
