일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Unreal
- 프로그래밍
- 복사생성자
- UE5
- 언리얼엔진
- 언리얼 엔진5
- 프로세스
- 복사대입연산자
- Vector
- BehaviorTree
- cpp개발
- AI
- 언리얼엔진5
- CPP
- 데이터구조
- Unreal Engine5
- Unreal Engine
- effectivec++
- 게임개발
- 언리얼5
- 게임프로그래밍패턴
- 디자인패턴
- 자료구조
- C언어
- 포인터
- 배열
- 언리얼
- 게임 개발
- C++
- 스마트포인터
- Today
- Total
목록디자인패턴 (4)
리얼 개발
객체 풀 패턴 (ObjectPool Pattern) 이란생성 디자인 패턴으로, 필요에 따라 객체를 할당하고 삭제하는대신 사용할 준비가 된 일련의 초기화된 객체 "풀"을 사용한다. 클라이언트가 객체를 사용해야 하는 상황이 되면 미리 객체를 생성해 모아놓은 "풀"에 객체를 요청하고, 클라이언트가 객체 사용을 완료하면 삭제하는 대신 "풀"에 반환한다. 이러한 객체 풀 패턴은 게임 개발에서 자주 사용하곤 한다. (다른 곳에서는 어떤지 잘 모르겠음) 패턴 사용 상황내가 탄막 게임을 만드는 개발자라고 생각해보자. 화면을 가득 채우고 있는 탄환들은 어떻게 생성해야 할까?탄환은 계속해서 이동해야하며, 플레이어가 조종하는 캐릭터와 충돌했을 때 충돌 판정이 필요하다.이런 탄환들은 하나의 객체로 화면에 생성되고 삭제됨을 ..
관찰자 패턴객체 사이에 일 대 다의 의존 관계를 정의해두어, 어떤 객체의 상태가 변할 때 그 객체에 의존성을 가진 다른 객체들이 그 변화를 통지 받고 자동으로 업데이트 될 수 있게 만듭니다. 오늘날에 모델-뷰-컨트롤러 (MVC) 패턴은 아주 많이 사용되고 있다. 그 기반에는 관찰자 패턴이 있다. 업적 달성업적 시스템을 추가한다고 해보자. ‘다리에서 떨어지기’ 업적같은 경우 물리 엔진 코드 한 가운데서 업적 달성 코드를 실행해야 할 것이다. 특정 기능을 담당하는 코드는 항상 한데 모아놓는게 좋다. 그럼 업적 코드들이 모아져 있고, 커플링되지 않게 하려면 어떻게 해야할까? 답은 관찰자 패턴을 적용하면 된다. 관찰자 패턴을 적용하면 누가 받든 상관없이 알림을 보낼 수 있다. 다음과 같이 코드로 표현할 수 있다..
경량 패턴공유를 통해 많은 수의 소립 객체들을 효과적으로 지원합니다. (GoF 본문 설명) 웅장한 숲과 하늘 위로 솟아오른 수많은 노송들, 잎은 스테인드글라스 창처럼 햇빛을 산란시켜 황금빛 기둥을 만든다. 판타지 게임에서 흔히 볼 수 있는 설정이며, 일반적으로 이런 장면은 경량 패턴으로 종종 구현한다. 숲에 들어가는 나무들구비구비 뻗어 있는 숲을 글로는 몇 문장으로 표현할 수 있지만, 실시간 게임으로 구현하는 것은 전혀 다른 얘기다. 우리가 나무들이 화면을 가득 채운 빽빽한 숲을 볼 때, 그래픽스 프로그래머는 1초에 60번씩 GPU에 전달해야 하는 몇백만 개의 폴리곤을 본다. 수천 그루가 넘는 나무마다 각각 수천 폴리곤의 형태로 표현해야 한다. 설사 메모리가 충분하다고 해도, 이런 숲을 그리기 위해서는 ..
이 카테고리는 "로버트 나이스트롬"의 "게임 프로그래밍 패턴"을 보고 개인적으로 필요하다고 생각되는 내용을 요약한 글입니다. 패턴의 개념이란?패턴은 오랫동안 정형화되고 축적된 경험을 추상화한 지식 단위이다. 여러 사람이 공유하는 개념이기 때문에 패턴 이름만으로도 많은 정보를 한 번에 정확하게 전달할 수 있다.해당 책의 요지“GoF의 디자인 패턴”에 나오는 패턴들 중 저자가 실제 게임을 제작하며 썼던 패턴들을 소개해주고 있으며 딱딱한 ‘직원 정보’, ‘은행 계좌’가 아닌 ‘몬스터’, ‘업적’ 같은 것들을 예제 삼아 패턴을 설명하고 있다. 또한 이 책 어디에도 3D 그래픽스에 필요한 선형대수나 게임 물리에 필요한 미적분 내용은 나오지 않는다. AI의 탐색 트리에서 알파-베타 가지치키를 하는 방법이나, 오디오..