
GameObject: Unity의 기본 단위입니다. 모든 게임 세계에서 표현되는 개체입니다. 예를 들어, 캐릭터, 장애물, 아이템 등 모든 것은 GameObject입니다.
Component: GameObject의 기능을 정의하고 확장하는 데 사용됩니다. 각각의 Component는 특정 기능을 담당합니다. Rigidbody, Collider, Renderer 등이 이에 해당합니다. 예를 들어, Rigidbody Component는 물리적 특성을 제어하며, Collider는 충돌을 감지합니다.
// Rigidbody Component를 추가하는 예시
Rigidbody rb = gameObject.AddComponent<Rigidbody>();
Transform: GameObject의 위치, 회전 및 크기를 나타냅니다. 이것은 모든 GameObject에 기본적으로 포함되어 있으며, 게임 객체의 위치, 회전 및 크기를 제어하는 데 사용됩니다.
// 위치를 이동하는 예시
transform.position = new Vector3(0, 0, 0);
Rigidbody: 물리 시뮬레이션을 적용하기 위해 GameObject에 추가되는 Component입니다. Rigidbody가 있는 GameObject는 물리 엔진에 의해 영향을 받아 이동 및 회전됩니다.
// Rigidbody의 질량을 설정하는 예시
rb.mass = 1.0f;
Collider: 충돌 감지를 가능하게 하는 Component입니다. Collider가 있는 두 GameObject가 서로 충돌할 때 물리 엔진이 이를 감지하고 적절한 반응을 수행합니다.
// BoxCollider를 추가하는 예시
BoxCollider boxCollider = gameObject.AddComponent<BoxCollider>();
스크립트: Unity에서 GameObject의 동작을 제어하는 데 사용되는 코드입니다. C# 언어로 작성되며, GameObject에 추가하여 원하는 동작을 구현합니다.
// 이동을 제어하는 스크립트 예시
public class MoveScript : MonoBehaviour
{
public float speed = 5.0f;
void Update()
{
transform.Translate(Vector3.forward * speed * Time.deltaTime);
}
}
Start(), Update(), FixedUpdate(), LateUpdate() 등의 생명주기 메서드는 스크립트가 GameObject에 추가될 때 자동으로 호출됩니다. 이를 활용하여 초기화, 로직 처리, 물리 연산 등을 수행합니다.
void Start()
{
Debug.Log("게임 시작");
}
void Update()
{
// 매 프레임마다 호출됨
}
씬: 게임의 한 부분을 나타내는 환경입니다. 여러 씬을 조합하여 게임의 다양한 장면과 상황을 만듭니다.
프리팹: 게임에서 재사용 가능한 GameObject를 나타냅니다. 프리팹은 원본 GameObject의 복사본이며, 프로젝트 내에서 여러 번 재사용될 수 있습니다.
// 프리팹을 로드하는 예시
GameObject prefab = Resources.Load<GameObject>("PrefabName");
Instantiate(prefab, new Vector3(0, 0, 0), Quaternion.identity);
오늘은 개인 프로젝트를 하면서 잠시 Unity에서 자주쓰이는것들을 다시 돌아보는 시간을 가졌다.
개인프로젝트 링크 : https://github.com/qhrms012/SpartaNew3DSurvival