![[Unreal Engine C++] 액터를 원 안의 랜덤 위치에 스폰시키기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyxmuO%2FbtsKVRYiLBo%2F5NxjqoqKcPqpVrIKiGH4E1%2Fimg.png)
레벨에 적 몬스터들을 스폰시킬 때, 그냥 스폰시키는 것이 아닌 랜덤 장소에 스폰시키는 방식을 사용하고 싶었다.지금부터 그 방법을 알아보자시작하기에 앞서.. 현재 레벨의 상태는 다음과 같다.여러가지 구역들이 나누어져있고, 구역에 진입할 시 몹들과의 전투가 이루어지길 원했다.다만, 맨 처음에 미리 스폰시켜놓으면 최적화에 좋지 않을 것이기 때문에 진입하는 순간에 스폰하도록 할 것이다. 스폰할 때는 내가 원하는 숫자만큼 생성, 스폰 위치는 랜덤으로 할 것이다.AI 몬스터가 움직일 수 있게 맵에 내비메시 바운드 볼륨을 깔아주도록 한다.이 볼륨에 대한 설명은 구글에 검색해도 바로 나오기 때문에 간단하게 설명하면 AI들이 움직일 수 있는 곳을 알려주는 것이라고 볼 수 있다.볼륨의 크기는 이동할 수 있는 모든 지역을 ..
![[Unreal Engine BP] 캐릭터 카메라를 액터에 Close Up 하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzMo7J%2FbtsJOHKbIav%2F5DUjpYAW3dQywsIudJ3Lsk%2Fimg.png)
지금 현재 진행하고 있는 프로젝트에서 Note Actor를 클릭하고 레이드를 선택할 수 있는 기능을 만들어보고자 하였다.이를 위해 월드 상에 존재하고 있는 Actor를 마우스로 클릭할 수 있게 해서 Menu를 띄워보고자 한다.시작하기에 앞서 일단 사용할 RequestBoard라는 블루프린트 액터를 생성하였다.이 액터 자체에는 각각의 Note들이 달려있는데 플레이어가 클릭할 때 이 것들을 클릭할 수 있게 할 것이다.이 것들은 현재 글에서는 설명하지 않기 때문에 생략하도록 하겠다. RequestBoard에다가 상호작용을 하면, CloseUp을 진행할 수 있도록 Blueprint를 구성해보겠다.블루프린트 구성 - CloseUp을 하기 전 카메라 셋팅 상호작용 하여 Event가 실행되면, 캐릭터 카메라의 Loo..
![[Unreal Engine C++] Dash의 기능에서 개선된 Dodge의 구현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm7UKv%2FbtsI9PIoUFo%2FXC7Mqc3OisowSk5UBgMsik%2Fimg.png)
개요https://zeniff.tistory.com/10 [Unreal Engine C++] Dash 구현캐릭터의 Dash를 구현할 때, Launch Character를 사용하여 구현하면 간단하지만 공중으로 Dash할 때와 지면에서 Dash할 때의 이동 거리가 다르다는 문제점이 발생하였다. 이는 지면에 있을 때엔 지면 마zeniff.tistory.com이 글에서 구현했던 Dash 방식은 캐릭터의 순간 속도를 빠르게 만든 뒤, AddMovementInput으로 한칸 이동하는 방식을 사용하였다. 이 방식은 필자의 기준에 당시엔 괜찮았지만 지금 보면 생각했던 대쉬라는 기능에 대해 좀 아쉬운 방식이다.많은 사람들이 Dash에 대해 생각할 때엔 속도가 빨라져서 뛰는 느낌일수도 있지만 순간이동 또는 피하는 회피 기..
![[Unreal Engine C++] Widget Blueprint를 이용해 세션 생성 및 접속 기능 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqa4tg%2FbtsI4RFXaYM%2FxqLv7pBZ4phXwpwifHMLa0%2Fimg.png)
[Unreal Engine C++] Online Subsystem을 활용한 멀티플레이 구현에서 진행했던 내용에서 더 나아가 유저 위젯 블루프린트를 이용해 접속해보자.언리얼에서의 준비유저 인터페이스 -> 위젯 블루프린트로 사용할 위젯을 생성해준다. 필자는 게시판을 눌러서 세션을 생성하는 느낌으로 만들고 있기 때문에 WBP_NoticeBoard라고 이름을 지었다.WidgetSwitcher라는 기능을 이용하여 다음과 같이 UI를 구성하였다.WidgetSwitcher는 ActiveWidget을 설정함으로 하나의 위젯 블루프린트 안에서 여러가지 UI들을 셋팅할 수 있는 기능이다.활성화된 탭만 표시하고 다른것은 표시하지 않기 때문에 유용하게 사용할 수 있다.각 스위처에 포함되어 있는 탭에는 Scroll Box를 이..
![[Unreal Engine C++] C++에서 Niagara System 스폰](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fccm3GR%2FbtsHHnFsAtT%2FDx4718o4bPNKZLAtOZeqsk%2Fimg.png)
필자가 프로젝트를 진행하면서 사용하였던 나이아가라 시스템을 C++로 스폰시키고 사용 후 디스폰시키는 방법, 나이아가라 시스템을 패키징 할 때 발생할 수 있는 문제를 수정하는 방식을 확인해보자Niagara System의 사용게임 개발 프로젝트를 진행하면서 게임 특성중 하나인 정신력 게이지를 회복시키는 아이템을 추가하기로 하였다.이 아이템은 촛불인데, 그 촛불에서 불이 나는 느낌을 내기 위해 나이아가라 시스템을 사용하고자 했다.에셋으로 받은 불 나이아가라 시스템을 이미터의 수치값을 조정하여 파란색으로 수정 및 무한 재생하게 수정해주었다.이를 C++에서 불러오고자 다음과 같은 코드를 작성하였다.// SanityRecovary.h#pragma once#include "CoreMinimal.h"#include "..