분류 전체보기
-
[c++]Singleton Pattern(싱글턴 패턴)이러저런 이야기 2019. 9. 9. 23:45
싱글턴 패턴이란? 단 한 개의 클래스 인스턴스만을 갖고 이 클래스에 대한 자원을 관리하는 것을 말합니다. 한 개의 인스턴스를 가지고 관리하여 프로그램 내에 단 하나만 존재해야 하는 객체가 필요할 때 사용하는 것이 일반적입니다. 하나의 인스턴스만 생성하는 것에 더해 그 인스턴스를 전역에서 접근할 수 있는 함수를 제공해야 합니다.. 하지만 전역으로 만들면 main 함수 호출 이전에 초기화를 하므로 메모리를 잡게 됩니다. 또한 어떤 전역 객체의 생성자에서 싱글톤을 참조할 때 싱글톤의 객체가 생성되기 이전에 참조할 수 있기 때문에 객체의 생성 시점을 변경해야 하는 단점이 있습니다. (c++에서는 전역 객체 생성의 순서가 정의되지 않았기 때문입니다.) 가장 기본적인 디자인 패턴이며 private에 생성자를 만들어..
-
[언리얼 블루프린트]누구나 할 수 있는 게임 만들기Unreal Engine Blueprint/블루프린트를 이용한 게임 만들기 2019. 9. 9. 14:59
누구나 어렸을 때나 지금이나 게임을 하면서 한번 쯤은 "자기가 게임을 만들고 싶다"라는 생각을 해봤을겁니다. 저도 그 생각이 들어서 게임과 대학에 왔고 대학에서 팀을 이뤄 게임을 만들고 있습니다. 하지만 게임 만들고 있는 사람이나 만들어 본 사람들은 전부 게임 만들기가 쉽지 않다는걸 생각합니다. 애초에 무에서 유를 창조하는 건 어떤 일이든 힘든 일입니다. 게다가 게임을 만드는 일에 파트가 나뉘는데 기획,그래픽,프로그래머 중 어느 파트가 빠져도 게임 만들기는 더 힘들어지는데 제가 다뤄볼 글에서는 "언리얼 엔진에서 사용하는 블루프린트로 누구나 간단하게 만드는 게임" 입니다. 기획,그래픽은 프로그래밍을 힘들어해서 쉽게 접하지 못하며, 프로그래머도 맨 처음에는 쉽게 접하지 못했었습니다. 하지만 요즘은 엔진 기술..
-
[언리얼 블루프린트]간단한 몬스터 AI(Patrol)만들기Unreal Engine Blueprint/블루프린트를 이용한 게임 만들기 2019. 9. 2. 15:51
게임의 종류는 여러가지가 있다고 생각합니다. RPG, FPS, Simulation Game[시뮬레이션 게임] 등 여러가지의 게임이 있는데 거의 모든 게임에서 적(enemy)가 등장합니다. 그래서 오늘은 게임에서 중요하다고 생각하는 적 AI를 만들어 보겠습니다. 하지만 적 AI라고 말했지만 게임의 종류가 다르면 적의 AI도 다릅니다. 예를 들면 RPG에서 AI는 스킬도 쓸 수 있고 플레이어를 인지하는 방식이나 거리가 FPS에서 등장하는 적이 플레이어를 인지하는 방식이랑 거리가 다릅니다. 그래도 플레이어를 인지한다는 시스템등 비슷한 시스템은 존재합니다. 비슷하면 상황에 맞게 조금 바꿔서 사용할 수 있습니다. 기본적으로 쉽게 보며 생각 할 수 있는 적의 AI를 한번 보겠습니다. 제가 생각하는 기본적으로 볼 수..
-
[언리얼 블루프린트]프로젝트 생성과 파일 관리Unreal Engine Blueprint/언리얼 설정 2019. 9. 2. 13:41
언리얼 엔진에서 코딩은 크게 2가지가 있습니다. 1. 블루프린트 2. C++ 위 사진처럼 언리얼 엔진에서 프로젝트를 생성하려고 하면 블루프린트로 생성을 할지 C++로 생성을 할지 선택해서 생성을 해야 합니다. 하지만 어느 쪽을 선택해서 생성을 해도 다른 쪽을 못 사용하는 게 아니라 언제든지 추가해서 사용을 할 수 있으니 걱정하지 말고 아무거나 선택해도 됩니다. 일단 이 카테고리 글에서는 누구나 쉽게 접해 게임을 만들 수 있는 블루프린트에 대해 설명을 하고자 합니다. 먼저 블루프린트 프로젝트를 하나 생성해 주세요. 생성한 언리얼 프로젝트 파일 위치로 가면 Config, Content, Intermediate, Saved 폴더가 있습니다. 여기서 Content폴더가 위 사진에서 보이는 폴더입니다. 파일 관리..
-
[c++]Precompiled Header란??이러저런 이야기 2019. 8. 30. 00:07
먼저 간단하게 말하면 미리 컴파일된 헤더를 뜻 합니다. 이게 무슨 말이냐면 프로그램을 만들면 점점 어쩔 수 없이 크기가 커지게 되는데 이 프로그램이 커지게 되면서 처리해야할 헤더들도 많아지게 됩니다. 이 때 컴파일 시간이 늘어나게 되는데 이런 컴파일 시간을 줄이기 위해 자주 사용하지 않은 헤더들을 미리 컴파일 하여 그 결과를 저장하여 사용합니다. 컴파일을 다시 해도 미리 컴파일 되어 저장된 값을 사용하기 때문에 속도가 빨라지게 됩니다. 미리 컴파일 할 헤더를 자주 변경되는 헤더로 지정했을 시 내용이 바뀔 때 마다 새로 생성이 되기 때문에 자주 변경이 되는 헤더는 지정하지 않습니다. -사용 방법- 프로젝트 -> (프로젝트명)속성 -> C/C++ - 미리컴파일된헤더 에 가서, 미리 컴파일된 헤더 사용(/Yu..