지금 현재 진행하고 있는 프로젝트에서 Note Actor를 클릭하고 레이드를 선택할 수 있는 기능을 만들어보고자 하였다.이를 위해 월드 상에 존재하고 있는 Actor를 마우스로 클릭할 수 있게 해서 Menu를 띄워보고자 한다.시작하기에 앞서 일단 사용할 RequestBoard라는 블루프린트 액터를 생성하였다.이 액터 자체에는 각각의 Note들이 달려있는데 플레이어가 클릭할 때 이 것들을 클릭할 수 있게 할 것이다.이 것들은 현재 글에서는 설명하지 않기 때문에 생략하도록 하겠다. RequestBoard에다가 상호작용을 하면, CloseUp을 진행할 수 있도록 Blueprint를 구성해보겠다.블루프린트 구성 - CloseUp을 하기 전 카메라 셋팅 상호작용 하여 Event가 실행되면, 캐릭터 카메라의 Loo..
개요https://zeniff.tistory.com/10 [Unreal Engine C++] Dash 구현캐릭터의 Dash를 구현할 때, Launch Character를 사용하여 구현하면 간단하지만 공중으로 Dash할 때와 지면에서 Dash할 때의 이동 거리가 다르다는 문제점이 발생하였다. 이는 지면에 있을 때엔 지면 마zeniff.tistory.com이 글에서 구현했던 Dash 방식은 캐릭터의 순간 속도를 빠르게 만든 뒤, AddMovementInput으로 한칸 이동하는 방식을 사용하였다. 이 방식은 필자의 기준에 당시엔 괜찮았지만 지금 보면 생각했던 대쉬라는 기능에 대해 좀 아쉬운 방식이다.많은 사람들이 Dash에 대해 생각할 때엔 속도가 빨라져서 뛰는 느낌일수도 있지만 순간이동 또는 피하는 회피 기..
[Unreal Engine C++] Online Subsystem을 활용한 멀티플레이 구현에서 진행했던 내용에서 더 나아가 유저 위젯 블루프린트를 이용해 접속해보자.언리얼에서의 준비유저 인터페이스 -> 위젯 블루프린트로 사용할 위젯을 생성해준다. 필자는 게시판을 눌러서 세션을 생성하는 느낌으로 만들고 있기 때문에 WBP_NoticeBoard라고 이름을 지었다.WidgetSwitcher라는 기능을 이용하여 다음과 같이 UI를 구성하였다.WidgetSwitcher는 ActiveWidget을 설정함으로 하나의 위젯 블루프린트 안에서 여러가지 UI들을 셋팅할 수 있는 기능이다.활성화된 탭만 표시하고 다른것은 표시하지 않기 때문에 유용하게 사용할 수 있다.각 스위처에 포함되어 있는 탭에는 Scroll Box를 이..
이전 포스팅에서 말했듯이 BSP, MST를 이용한 랜덤생성 등등의 알고리즘을 사용하지 못하고 새롭게 생각한 아이디어인 청크 개념을 활용하여 랜덤 맵을 생성해보기로 하였다. C++로 구현해 보았던 과정 및 결과를 글에 적어본다. 시작하기 전 - 설명 청크란? 영어에서 사용하는 뜻은 '서로 밀접하게 연결된 단어들의 집합 ' 이다. 코딩에 있어서는 하나의 큰 정보라고 생각해보자. 필자가 만든 이 랜덤 맵에서 하나의 청크인 이 큰 정보는 작은 정보를 포함하고 있다. 작은 정보는 위치가 어디인지와 이 곳에 무엇이 생성될 것인지, 어디로 이어지는지 등인 것이다. 앞으로 작은 정보들이 더 추가될 수 있지만, 이 세개면 일단 기본적인 구성은 준비된 것이라고 생각하였다. 만들기전에 준비하자 - 랜덤맵에 사용할 액터 생성..
이번 졸업 작품 프로젝트에서 개인적으로 꼭 구현해보고 싶었던 알고리즘 중 하나가 랜덤 맵 생성 알고리즘 이였다.이를 생각하고, 구현해내기 전 아이디어와 과정들을 적어보고자 한다.구현을 시작하기 전..네이버 및 구글에서 언리얼 관련 내용을 검색해보았을 때, 툴 설명 및 기능들을 설명해주는 글을 어느정도 존재하지만 알고리즘을 설명하는 내용은 거의 없었다.또한 그 것을 한국어로 검색하였을 때 나오는 건 극히 일부분이였다..Procedural Map Generation라던가 절차적 맵 생성.. 랜덤 맵 생성... 등등을 검색하였지만 나오는 내용은 많이 없었지만 그 조금의 내용이라도 최대한 활용해서 구현해보고자 했다.생각의 시작 - BSP 알고리즘검색해보았을 때, 그 중에 가장 많이 나오는 것이 바로 BSP 알고..
게임 프로젝트를 진행하면서 암전 효과가 필요했다. 특정한 버튼을 누르면 화면이 어두워졌다가 다시 밝아지면서 맵 또는 캐릭터가 변화하는 느낌을 주고 싶었다. 이를 언리얼에는 간단하게 시간 기반 애니메이션을 재생할 수 있도록 도와주는 타임라인이라는 시스템을 활용하여 암전 효과를 구현해보자. 에디터에서의 준비 일단 암전효과를 구현하기 위해 PostProcessVolume을 사용할 것이므로 레벨에 하나 놓아두고, 원하는 범위를 설정한다. PostProcessVolume의 Exposure의 노출 보정(Auto Exposure Bias)를 활성화시켜준다. 값은 숫자가 커질수록 화면이 밝아지고, 작아지면 어두워지기 때문에 타임라인을 사용해 값을 낮췄다가 다시 복구시킬 것이다. 또한 코드상에서 이 볼륨을 찾기 위해 M..