일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- node
- 데이터베이스
- Unseen
- 으
- 언리얼뮤지컬
- 알고풀자
- 프메
- JWT
- 파이썬서버
- Jinja2
- 미니프로젝트
- 프린세스메이커
- Ajax
- 디자드
- VUE
- Enhanced Input System
- Bootstrap4
- 레베카
- 정글사관학교
- 마인크래프트뮤지컬
- Express
- EnhancedInput
- 언리얼프로그래머
- flask
- 스터디
- R
- 게임개발
- 언리얼
- 스마일게이트
- 카렌
- Today
- Total
목록Design Pattern (4)
Today, I will

옵저버 패턴은 객체 간의 일대다 의존성을 정의하는 디자인 패턴으로, 하나의 객체를 중심으로 다른 객체들이 반응해야할 경우에 매우 유용하므로 군중 시뮬레이션에 적절하게 쓰일 수 있다. 무대 위의 배우와 그것을 바라보는 관객의 비유가 알맞은 패턴이다. 관객은 서로서로의 정보를 알지 못해도 상관없다. 다만 배우는 어떤 관객들에게 연기를 펼치는지만 알고 있다. 그러므로 옵저버 패턴 구현의 핵심은, 1) 배우는 관객들을 알고 있다. 따라서 배우가 될 클래스에서 옵저버 인터페이스의 배열을 들고 있다. 2) 관객들은 옵저버가 되어야 하므로 옵저버 인터페이스를 상속받고, 인터페이스 정의부에 있는 함수를 구현하면서 어떤 행위를 할지 결정한다. 3) 배우가 특정 행위를 할 때 옵저버들에게 Notift한다. 파이썬으로 작성..

인터페이스는 '서로 관련되지 않은 클래스들'이 공통 함수 혹은 공통 함수 세트를 구현하도록 하는 데 사용한다. 다시 말해, 인터페이스 클래스는 다양한 클래스들이 비슷한 기능을 공유하도록 돕는 유용한 도구로, 서로 다른 클래스들이 동일한 함수들을 사용할 수 있게 해준다. ex ) 인터페이스 함수로 Call()이 있다면 Computer, IPhone, TV, Galaxy 클래스에 해당 인터페이스 함수를 구현할 수 있도록 할 수 있다. 심지어 냉장고에도 Call()을 붙일 수 있다. 이를 통해 관련이 없어 보이는 클래스들도 호환가능해지며, 특정 기능을 공유하게 된다 이러한 인터페이스는 언리얼에서 라인트레이스를 통해 인터랙션해야하는 다양한 오브젝트들에 저마다의 이벤트를 심고 싶을 때 적절하게 활용해볼 수 있다...

현실 혹은 게임 생태계 내에는 하나의 종, 단일 개체군만 있는 것은 아니다. 수없이 많은 개체군들이 상호 작용을 하면서 살아가고 있으며, 이러한 개체군들의 모임을 군집이라고도 한다. 생물 군집은 일반적으로 생산자, 소비자, 분해자로 이루어져 있다. 생산자는 광합성을 통해 유기물을 합성하며 소비자는 생산자가 합성한 유기물을 먹고 산다. 마지막으로 분해자는 생산자나 소비자의 사체를 분해한다. 이들 사이에는 서로 먹고 먹히는 먹이 사슬이 형성되고, 한 포식자가 여러 종류의 먹이를 먹기 때문에 먹이 사슬이 더욱 복잡하게 얽혀 먹이 그물이 된다. 군집 내에서 각 개체군의 위치를 생태적 지위라고 한다. 각 먹이 사슬 별로 매우 다양한 개체가 존재한다. 참고: https://janghoa.tistory.com/169..

언리얼에서는 이미 컴포넌트 패턴을 적용하고 있다. 개발자들 역시 이 컴포넌트 패턴을 이용해 자주 사용할 만한 컴포넌트를 만들어놓고 필요한 액터에 붙일 수 있다. Unreal의 컴포넌트 패턴(inventory c++ 예제) 인벤토리 컴포넌트를 만들어서 캐릭터에 붙이는 예제를 살펴보도록 한다. // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "Components/ActorComponent.h" #include "InventoryComponent.generated.h" UCLASS( ClassGroup=(Custom), meta=(Bl..