3D 그래픽을 얘기하려면 대학 수업 수준의 방대한 내용을 말해야 한다. 많은걸 생략하고 Godot과 같은 게임 제작 툴을 사용하기 위한 내용에 포커싱을 맞춰 정리해 보려 한다. 3D Model 3D 그래픽은 기본적으로 vertex라고 불리는 3D공간상의 점들의 집합에 이 점들을 이은 선들로 면을 만들어 물체를 표현한다. 이와 같은 방법으로 일반적인 3D 오브젝트는 다음과 같이 삼각형으로 구성된다. 삼각형을 기본단위로…
Godot 과 Unity에서 사용하는 UI Anchor System
본 내용은 처음 접하는 Godot: Pong 게임을 만들어 보자 #4 에서 독립적인 내용을 추출한 포스팅 입니다. 고정된 해상도의 스크린이라면 문제가 매우 간단하나, 현실에서는 각종 모니터부터 핸드폰까지 여러 형태의 스크린 사이즈가 존재한다. 앵커 시스템은 가변적인 스크린 또는 부모 컨트롤 사이즈에 대응하기 위한 방법이다. 유니티에서도 이걸 사용하고 있다. 다음 그림을 보자. 그림이 복잡해 보일지 모르겠는데, 간단한 개념이다….
게임엔진 및 3D 프로그램들 좌표계(Coordinate system)
본 내용은 처음 접하는 Godot: Pong 게임을 만들어 보자 #3 에서 독립적인 내용을 추출한 포스팅 입니다. 아, 내가 좌표계 얘길 했던가? Godot에서는 화면의 좌측 상단이 (0, 0)이고 오른쪽이 +X 축, 아래쪽이 +Y축이다. 2D 좌표계는 공식 문서에서 확인할 수 있다. 얘기가 나온김에 3D도 살펴보자. 3D는 오른손 좌표계와 왼손 좌표계로 나뉜다. Godot은 오른손 좌표계를 사용한다. 오른손 좌표계에서도…
처음 접하는 Godot: Pong 게임을 만들어보자 #5
Pong 게임에 대한 진짜 마지막 포스팅이다. 이번에 할 일은 스코어를 냈을 때, 바로 공이 발사되며 시작되는 문제를 고칠 것이다. 타이머를 추가하여 다음 라운드가 시작되기전에 준비할 시간을 주도록 할 것이다. 타이머(Timer) 게임에서 타이머도 정말 많이 사용하는 기능중 하나다. 하나의 스테이지를 클리어하는데 시간제한이 걸린 경우도 있고, RPG게임들은 각종 스킬들에 쿨타임이 걸려있기도 하다. 지금 만드는 Pong과 같은 아케이드…
처음 접하는 Godot: Pong 게임을 만들어 보자 #4
저번에 남은일이 폴리싱이라고 얘기했었는데, 사실 생각보다 할게 많다. 개발자는 항상 남은일을 추정할 때 이렇게 막연하게 긍정적일 때가 많다. 나처럼… 일정을 산출할 때 항상 경계하자. 어쨌든, 이번에 할 일은 스코어를 기록하고 게임을 재시작 하는 일이다. 스코어 기록하기: Area2D 배치 이걸 하기 위해선 먼저 공이 화면을 벗어났는지 알아야 한다. 여기에 사용되는 노드가 Area2D 이다. Area2D는 영역에 오브젝트가…