유니티 물리개념

KIMCHOWON·2022년 8월 6일
0

Unity

목록 보기
3/7

콜라이더

  • 콜라이더(Collider) : 오브젝트의 물리적 충돌과 관련된 개념
  • 리지드바디(Rigidbody) : 오브젝트의 중력 및 무게, 마찰 및 회전 제어 등의 개념들을 설정

오브젝트 생성

  • Hierarchy 창의 여백에서 마우스 우 클릭 → 3D Object 메뉴
  • 상단 메뉴 중 GameObject → 3D Object 메뉴
  • 생성된 오브젝트는 Hierarchy와 Scene에 추가되며 Inspector 창에 다양한 요소들이 포함됨

콜라이더(Collider)와 리지드바디(Rigidbody) 개념

  • 콜라이더(Collider)는 물리적 충돌과 관련된 개념
  • 리지드바디(Rigidbody)를 통해 중력도 설정이 가능함

Move, Key Input

  • Key Input : 키보드를 통해 오브젝트의 움직임과 회전을 제어
  • 오브젝트 Move : 스크립트를 이용하여 오브젝트를 움직이는 개념

Key Input을 이용한 오브젝트 Move

  • 오브젝트 → Inspector 창의 Add Component → New script로 오브젝트에 스크립트를 생성할 수 있음
  • Input을 이용하여 스크립트를 통해 오브젝트의 움직임과 회전을 키보드를 통해 제어 가능함

Input.GetAxis()

  • 특정 Input Manager로 설정한 정보를, axisName 인수로 가지고 옴
  • 키보드와 조이스틱 입력값에 대해 -1에서 1까지의 값을 가짐
    축이 마우스의 이동량으로 설정되는 경우, 마우스의 이동량은 축 감도를 곱하므로, -1 … 1 범위에서는 없음
  • 독립적인 프레임 속도로 작동
    따라서 이 함수를 사용한 값을 사용하면 프레임 속도가 변경되었을 때를 생각할 필요 없음
  • 키보드 방향키를 사용한 이동
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour{
	public float speed = 10.0F;
	public float rotationSpeed = 100.0F;

	void Update() {
		float translation = Input.GetAxis("Vertical") * speed;
		float rotation = Input.GetAxis("Horizontal") * rotationSpeed;
		translation *= Time.deltaTime;
		rotation *= Time.deltaTime
		transform.Translate(0, 0, translation);
		transform.Rotate(0, rotation, 0);
	}
}
키보드 ↑키보드 ↓
Y축 + 방향으로 이동Y축 - 방향으로 이동
키보드 ←키보드 →
X축 - 방향으로 이동X축 + 방향으로 이동
  • 마우스 움직임을 사용한 이동
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
	public float horizontalSpeed = 2.0F;
	public float verticalSpeed = 2.0F;
 
	void Update() {
			float h = horizontalSpeed * Input.GetAxis("Mouse X");
			float v = verticalSpeed * Input.GetAxis("Mouse Y");
			transform.Rotate(v, h, 0);
	}
}
마우스 위로 이동마우스 아래로 이동
Y축 + 방향으로 이동Y축 - 방향으로 이동
마우스 왼쪽으로 이동마우스 오른쪽으로 이동
X축 - 방향으로 이동X축 + 방향으로 이동

Quiz

  1. 유니티 3D의 오브젝트에 중력을 적용시키기 위해 Inspector에 추가해야 할 요소는?

    → 리지드바디(Rigidbody)

  2. 유니티 3D에서 큐브 오브젝트 생성 시 기본적으로 포함되어 있는 콜라이더(Collider)의 종류는?

    → 박스 콜라이더(Box Collider)

  1. 유니티 3D에서 리지드바디(Rigidbody) 항목 중 Mass는 무엇을 뜻하는가?

    → 무게

0개의 댓글