[Unreal Engine C++] C++에서 Niagara System 스폰
UnrealEngine/공부2024. 5. 29. 19:44[Unreal Engine C++] C++에서 Niagara System 스폰

필자가 프로젝트를 진행하면서 사용하였던 나이아가라 시스템을 C++로 스폰시키고 사용 후 디스폰시키는 방법, 나이아가라 시스템을 패키징 할 때 발생할 수 있는 문제를 수정하는 방식을 확인해보자Niagara System의 사용게임 개발 프로젝트를 진행하면서 게임 특성중 하나인 정신력 게이지를 회복시키는 아이템을 추가하기로 하였다.이 아이템은 촛불인데, 그 촛불에서 불이 나는 느낌을 내기 위해 나이아가라 시스템을 사용하고자 했다.에셋으로 받은 불 나이아가라 시스템을 이미터의 수치값을 조정하여 파란색으로 수정 및 무한 재생하게 수정해주었다.이를 C++에서 불러오고자 다음과 같은 코드를 작성하였다.// SanityRecovary.h#pragma once#include "CoreMinimal.h"#include "..

[프로그래머스 C++] 가장 큰 수
CSE/코딩 문제풀이2024. 5. 29. 19:18[프로그래머스 C++] 가장 큰 수

https://school.programmers.co.kr/learn/courses/30/lessons/42746?language=cpp정렬이지만, 조금은 다르다.원래는 왼쪽 기준으로 맨 처음 숫자를 고려해서 큰 수형식으로 배열하는 방식을 생각하였다.하지만 이는 코드상으로 구현하니 굉장히 복잡한 형식이기도 하고, 예외 처리 해야 할 것들이 많이 존재하였다.(ex. 자릿수가 같을 때 숫자비교, 다를 때 짧은 것이 먼저올 수도 있지만, 뒤에 오는 숫자들에 따라 긴 것이 먼저 올 수도 있음)그런 문제점이 존재해 다른 방식으로 이 문제를 풀 수 있었다.숫자들을 string으로 전환하여 각 숫자를 합쳐보았다.3 + 57과 57 + 3을 수행하면 각각 357, 573이 된다.합쳐보았을 때 573이 더 큰 수 이므로..

[프로그래머스 C++] K번째 수
CSE/코딩 문제풀이2024. 5. 29. 16:11[프로그래머스 C++] K번째 수

https://school.programmers.co.kr/learn/courses/30/lessons/42748정렬을 이용하는 문제이다.array의 값을 commands로 주어진 i, j, k값에 따라서 정리한 후, 그에 맞는 숫자를 return해주면 되는 간단한 문제이다. #include #include #include using namespace std;vector solution(vector array, vector> commands) { vector answer; vector temp; for (int n = 0; n

[Unreal Engine C++] Online Subsystem을 활용한 멀티플레이 구현
UnrealEngine/공부2024. 4. 20. 23:14[Unreal Engine C++] Online Subsystem을 활용한 멀티플레이 구현

언리얼에는 온라인 서브시스템 Steam API를 통해 만든 게임을 밸브의 스팀 플랫폼에 출시하는 것이 가능하다. 그 기능을 이용해서 멀티 기능을 만들어보자 시작하기 전 준비 Online Subsystem을 사용하기 전, 프로젝트를 하나 생성해준다. 필자는 3인칭 게임에 적용하고자 했기 때문에 3인칭 게임으로 생성해주었다. 편집 - 플러그인에서 "OnlineSubsystem Steam"을 추가해준다. 그 뒤, 만들어진 (ProjectName).Build.cs에 "OnlineSubsystem" , "OnlineSubsystemSteam"을 추가해준다. PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "In..

[Unreal Engine C++] 청크 개념을 이용한 랜덤 맵 생성 알고리즘
UnrealEngine/공부2024. 3. 30. 20:37[Unreal Engine C++] 청크 개념을 이용한 랜덤 맵 생성 알고리즘

이전 포스팅에서 말했듯이 BSP, MST를 이용한 랜덤생성 등등의 알고리즘을 사용하지 못하고 새롭게 생각한 아이디어인 청크 개념을 활용하여 랜덤 맵을 생성해보기로 하였다. C++로 구현해 보았던 과정 및 결과를 글에 적어본다. 시작하기 전 - 설명 청크란? 영어에서 사용하는 뜻은 '서로 밀접하게 연결된 단어들의 집합 ' 이다. 코딩에 있어서는 하나의 큰 정보라고 생각해보자. 필자가 만든 이 랜덤 맵에서 하나의 청크인 이 큰 정보는 작은 정보를 포함하고 있다. 작은 정보는 위치가 어디인지와 이 곳에 무엇이 생성될 것인지, 어디로 이어지는지 등인 것이다. 앞으로 작은 정보들이 더 추가될 수 있지만, 이 세개면 일단 기본적인 구성은 준비된 것이라고 생각하였다. 만들기전에 준비하자 - 랜덤맵에 사용할 액터 생성..

[Unreal Engine C++] 랜덤 맵 생성에 관한 아이디어들
UnrealEngine/공부2024. 3. 29. 21:00[Unreal Engine C++] 랜덤 맵 생성에 관한 아이디어들

이번 졸업 작품 프로젝트에서 개인적으로 꼭 구현해보고 싶었던 알고리즘 중 하나가 랜덤 맵 생성 알고리즘 이였다. 이를 생각하고, 구현해내기 전 아이디어와 과정들을 적어보고자 한다. 구현을 시작하기 전.. 네이버 및 구글에서 언리얼 관련 내용을 검색해보았을 때, 툴 설명 및 기능들을 설명해주는 글을 어느정도 존재하지만 알고리즘을 설명하는 내용은 거의 없었다. 또한 그 것을 한국어로 검색하였을 때 나오는 건 극히 일부분이였다.. Procedural Map Generation라던가 절차적 맵 생성.. 랜덤 맵 생성... 등등을 검색하였지만 나오는 내용은 많이 없었지만 그 조금의 내용이라도 최대한 활용해서 구현해보고자 했다. 생각의 시작 - BSP 알고리즘 검색해보았을 때, 그 중에 가장 많이 나오는 것이 바로..

image