반응형 [C++로 배우는 게임 엔진 개발] Day 25: 3D 물리 엔진 기초 (Bullet) 3D 물리 엔진 기초 (Bullet)오늘은 Bullet 물리 엔진을 사용하여 3D 게임 오브젝트 간의 물리적 상호작용을 구현하는 방법을 학습하겠습니다. Bullet 물리 엔진은 게임 개발에서 널리 사용되는 물리 엔진으로, 현실적인 물리 시뮬레이션을 제공합니다.1. Bullet 설치 및 설정먼저 Bullet 물리 엔진을 설치하고 프로젝트에 설정합니다. Bullet 다운로드 및 설치Bullet 공식 GitHub 페이지에서 Bullet 소스 코드를 다운로드합니다.다운로드한 소스 코드를 프로젝트 디렉토리로 이동합니다.Bullet 소스 코드를 빌드하고 설치합니다.CMakeLists.txt 수정CMakeLists.txt 파일에 Bullet 라이브러리를 추가합니다.cmake_minimum_required(VERSIO.. 2024. 8. 1. [C++로 배우는 게임 엔진 개발] Day 12: 간단한 물리 엔진 구현 (AABB 충돌) 간단한 물리 엔진 구현 (AABB 충돌)오늘은 SDL2를 사용하여 간단한 물리 엔진을 구현하고, AABB(축 정렬 경계 상자) 충돌 감지 방식을 사용하여 물리적인 상호작용을 처리하는 방법을 학습하겠습니다. AABB 충돌 감지는 간단하지만 효율적인 충돌 감지 방식입니다.1. AABB 충돌 감지의 개념AABB 충돌 감지는 사각형으로 된 객체가 충돌하는지 감지하는 방법입니다. 두 사각형의 위치와 크기를 비교하여 충돌 여부를 판단합니다.2. AABB 충돌 감지 함수 작성먼저, AABB 충돌 감지 함수를 작성하겠습니다. 헤더 파일 작성include/Physics.h 파일을 생성하고 다음과 같이 작성합니다.#ifndef PHYSICS_H#define PHYSICS_H#include bool CheckAABBColl.. 2024. 8. 1. [C++ 게임 개발 시리즈] Day 12: 2D 물리 엔진 기초 (Box2D) 2D 물리 엔진 기초 (Box2D)물리 엔진은 게임에서 현실적인 움직임과 상호작용을 구현하는 데 사용됩니다. 오늘은 2D 물리 엔진인 Box2D를 사용하여 간단한 물리 효과를 구현하는 방법을 학습하겠습니다.Box2D 설치 및 설정Box2D는 2D 물리 엔진으로, 다양한 게임에서 물리 시뮬레이션을 제공하는데 사용됩니다.Box2D 설치Box2D 다운로드:Box2D GitHub 페이지에서 최신 버전을 다운로드합니다.Box2D 빌드:CMake를 사용하여 Box2D를 빌드합니다. 터미널이나 명령 프롬프트에서 다음 명령어를 실행합니다. cmake -Bbuild -H.cmake --build buildBox2D 라이브러리 포함:빌드된 Box2D 라이브러리를 프로젝트에 포함합니다.Box2D 기본 사용법Box2D는 물리.. 2024. 8. 1. [C++ 게임 개발 시리즈] Day 11: 타일 맵과 맵 에디터 사용법 타일 맵과 맵 에디터 사용법타일 맵은 작은 이미지를 배열하여 큰 지도를 만드는 기술입니다. 게임 개발에서 주로 배경이나 맵 디자인에 사용됩니다. 오늘은 타일 맵을 생성하고, 이를 관리하기 위한 맵 에디터 사용법을 학습하겠습니다.타일 맵 기본 개념타일 맵은 여러 개의 작은 이미지를 사용하여 큰 맵을 구성합니다. 각 타일은 동일한 크기를 가지며, 타일 맵은 2차원 배열로 표현됩니다.타일(Tile): 맵을 구성하는 기본 단위입니다. 타일은 주로 정사각형이나 직사각형 모양을 가집니다.타일셋(Tileset): 여러 타일 이미지를 하나의 큰 이미지로 모아 놓은 것입니다.타일 맵(Tile Map): 타일을 배열하여 큰 지도를 만든 것입니다. 2차원 배열로 표현됩니다.SFML을 사용한 타일 맵 구현타일셋 이미지먼저, .. 2024. 8. 1. [C++로 배우는 게임 엔진 개발] 목차 C++로 배우는 게임 엔진 개발1주차: 기본 개념 및 설정Day 1: 게임 엔진의 기본 개념과 구조Day 2: 개발 환경 설정 (Visual Studio, CMake)Day 3: 기본 프로젝트 구조 설정Day 4: 윈도우 창 생성 (SDL2/GLFW)Day 5: 기본 렌더링 파이프라인 이해Day 6: 이벤트 처리 및 입력 시스템 구현Day 7: 게임 루프와 타이밍 관리2주차: 2D 게임 엔진 기초Day 8: 2D 그래픽스 기초 (SDL2)Day 9: 스프라이트 렌더링Day 10: 애니메이션 시스템 구현Day 11: 타일맵 렌더링Day 12: 간단한 물리 엔진 구현 (AABB 충돌)Day 13: 사운드 시스템 기초 (SDL_mixer)Day 14: 엔티티 컴포넌트 시스템 (ECS) 기초3주차: 고급 기능 .. 2024. 6. 26. 이전 1 다음 반응형