본문 바로가기

게임/Godot 엔진

Godot - Physics

※ 본 포스팅은 Godot 의 공식문서를 정리한 것입니다. 피드백 환영합니다 :)
원글은 https://docs.godotengine.org/ko/stable/tutorials/physics/physics_introduction.html 를 참고해주세요.

 

게임 개발 중에는 두 물체가 교차하거나 접촉할 때를 알아야 한다.
이런 상황을 충돌 감지 라고 한다.

그리고 충돌이 감지될 때의 반응을 충돌 응답 이라고 한다.

 

Gotdot 에서는 충돌 감지와 응답을 제공하기 위해 2D,3D 충돌 객체를 제공한다.
해당 충돌 객체들의 작동 방식과 장단점을 이해해보자!

다음과 같은 내용들을 다룰 것이다.

  • Godot 의 4가지 충돌 객체 타입
  • 각 충돌 객체의 작동 방식
  • 각 충돌 객체 타입을 선택하는 기준 팁

충돌 객체

Godot 은 CollisionObject2D 에서 확장된 4가지 종류의 물리 body 를 제공한다.
(확장 됐다는 건 상속을 의미하는 건가)

이중 Area2D 를 제외한 나머지 3개는 PhysiscsBody2D 에서 확장된다.

Area2D

감지와 영향력을 제공하는 노드다.

  • 객체들이 언제 겹쳤는지를 감지할 수 있다.
  • 바디가 들어가거나 나올 때 시그널을 보낼 수 있다.
  • 정의된 영역에서 중력이나 제동과 같은 물리적인 특성을 치환하는데 사용 될 수 있다.

StaticBody2D

물리 엔진에 의해 움직이지 않는 물체다.
충돌 감지에 관여하지만, 충돌에 대응해서 움직이지는 않는다.
환경의 일부거나 동적인 동작이 필요하지 않은 객체에 많이 사용된다.

RigidBody2D

시뮬레이션된 2D 물리를 구현하는 노드다.

KinematicBody2D

충돌 감지 기능을 제공하지만, 물리는 제공하지 않는다.

충돌 모양 (Collision Shape)

물리 바디는 원하는 만큼 Shape2D 객체를 자식으로 가질 수 있다.
이런 Shape 은 객체의 충돌 경계를 정의하고 다른 객체와의 접촉을 감지하는데 사용된다.

충돌을 감지하기 위해서는 최소한 하나 이상의 Shape2D 각 객체에 할당 되어야 한다.

Shape 을 지정하는 가장 일반적인 방법은 객체의 자식으로
CollsionShape2D 또는 CollisionPolygon2D를 추가하는 것이다.
위 두개의 노드는 편집기에서 직접 모양을 그릴 수 있다.

'게임 > Godot 엔진' 카테고리의 다른 글

Godot 노드들  (0) 2021.11.07
Godot 편집기 Tip  (0) 2021.11.07
Gotdot - Tutorial 게임 만들기 (1)  (0) 2021.03.03
Godot - Scripting  (0) 2021.02.06
GODOT - Scene & Node  (0) 2021.01.10