# UnrealEngine

59개의 포스트

언리얼 C++ 기본 타입과 문자열

언리얼 C++ 기본 타입 > ### 기본 타입을 따로 지정하는 이유 > - 게임 제작의 특징 데이터 정보가 명확해야 한다 단일 컴퓨터에서 최대 퍼포먼스를 뽑아내야 한다 네트웍 상에서 데이터 통신이 효율적이고 안정적이어야 한다 데이터 타입의 애매 모호함은 게임 개발시 문제를 일으킬 수 있기 때문 언리얼 엔진에서 사용하는 기본 타입 (언리얼 엔진 코딩 표준문서) 언리얼 엔진 코딩 표준문서 > #### bool 타입의 선언 데이터 전송을 고려한 참/거짓 데이터의 지정 bool은 크기가 명확하지

2023년 9월 8일
·
0개의 댓글
·

언리얼 C++ 코딩규칙

코딩 표준(Coding Standard) 프로그래밍을 작성하는데 지켜야 하는 프로그래밍 이름 규칙, 작성 방법 등을 지정한 가이드라인 코딩 스타일(Coding Style), 코딩 컨벤션(Coding Convention), 스타일(Style)과 같은 뜻 좋은 코딩 표준 절대적으로 좋은 코딩 표준은 없음(이전에 사용한 코딩 표준이 항상 옳은 것은 아님) 코딩 표준을 정하고 잘 따라야 함 프로젝트의 모든 코드는 한 사람이 만든 것처럼 보여야 함 회사들은 자신만의 코딩 표준이 있음 언리얼 엔진은 자체적으로 코딩 표준을 정함(언리얼 엔진 코딩 표준을 따라야 함) 언리얼 C++ 코딩 표준 출처 : 언리얼 C++ 코딩 표준 문서(Unreal Engine Document) [Unreal Engine Documentation](https://docs.unrealengine.com/5.1/ko/epic-

2023년 9월 7일
·
0개의 댓글
·

[UE] Unhandled Exception 에러

나의 경우에는 null 체크를 하지 않아주었을 때 위와 같은 오류가 생겼다. 아래처럼 null 체크를 꼼꼼하게 해주면 해결된다.

2023년 9월 2일
·
0개의 댓글
·
post-thumbnail

[UE] Outliner Effect

언리얼 엔진은 렌더링되는 장면에 대한 정보를 저장하기 위해 여러 버퍼를 사용하고 있는데, 아웃라이너 기능을 위해 그 중에서도 `SceneDepth 버퍼를 알아보고자 한다. 참고로 여기서 depth`는 카메라와 객체/표면 사이의 거리라고 할 수 있다 >뷰 모드> 버퍼 시각화> SceneDepth 선택 차례대로 디폴트 모드와 `SceneDepth` 모드이다. 각 픽셀은 카메라에서 얼마나 멀리 떨어져 있는지를 알려주는 값을 가지고 있다. 이 거리를 시각화할 때 그레이스케일 값으로 표시되는데, 더 가까운 물체는 더 어두운 픽셀

2023년 8월 28일
·
0개의 댓글
·
post-thumbnail

[UE5] Assassin15 -Smooth Movement

1. 개요 플레이어 캐릭터가 좌, 우로 움직일때 전방으로 움직이는 애니메이션이 출력되는데 rotation이 변경되니 어색한 부분이 있다. rotation이 변경되면 원심력에 휘어져 걷거나 달리는 애니메이션을 출력하자. 2. 아이디어 그렇다면 언제 옆으로 살짝 누운 애니메이션을 실행해야 될까? 캐릭터의 rotation이 변경될때가 캐릭터의 전방벡터와 컨트롤러의 전방벡터가 다를때다.(Z는 무시한다.) 따라서 캐릭터와 컨트롤러의 전방벡터 관계에 따라 애니메이션을 출력할 수 있다. 2.1. 벡터간 관계 벡터들 끼리 내적을 통해 컨트롤러의 rotation의 상대 방향을 정의할 수 있다. 좌우 정의 캐릭터의 right vector와 내적을 통해 좌,우를 판별 내적값이 0보다 크다면 우 내적값이 0보다 작다면 좌 ![](https://velog.velcdn.com/images/jm450_/post/49dc9874-d1bc-4e2c-8592-e

2023년 5월 30일
·
0개의 댓글
·
post-thumbnail

[UE5] Assassin14 - Motion Warping을 사용한 암살2

1. 개요 이전에 전방의 적을 뒤에서 암살하는 기능을 구현했다. 하지만 적이 플레이어를 바라보고있을 수도 있고, 플레이어가 적보다 위에 있을 수도 있다. 타깃 위치와 회전에 따라 암살을 실행해보자. 2. 구현내용 2.1. 타깃이 플레이어를 보지 못하고 있는지, 보고있는지 확인하기 플레이어의 전방벡터와 타깃의 전방벡터를 내적 내적 값이 0보다 크다면 플레이어를 보지 못함 내적 값이 0보다 작다면 플레이어를 보고 있음 위 내용으로 분기하여 알맞은 애니메이션을 실행 2.2. 플레이어가 아래에 있는 적을 암살하는 경우 플레이어 전방에 땅이 없다면 난간에서 아래를 보고있는 경우라 추정 가능 Trace를 사용해 플레이어 전방에 땅이 있는지 확인 없다면 Contr

2023년 5월 30일
·
0개의 댓글
·

[비교] 유니티 vs 언리얼엔진

서론 현재 게임 개발에 있어서 상용엔진으로 자주 쓰이고 유명한 것 중 두 가지를 뽑자면 Unity Technologies의 Unity 엔진과 Epic Games의 Unreal Engine으로 볼 수 있다. 필자의 경우 학부 과정 중에 Unity 엔진을 이용하여 게임 프로젝트를 진행했었고 최근 언리얼 엔진에 대해 공부하고 있는 찰나에 두 엔진에 대해 비교하는 글을 써보면 좋을 것 같아 이 포스팅을 시작하게 되었다. > ### 1. 점유율 이미지 출처 : https://www.linkedin.com/pulse/unity-unreal-developers-kobayashi-maru-glenn-lusk 위 링크에서 가져온 점유율 이미지를 보면 알 수 있듯이, 점유율 면에선 Unity 엔진이

2023년 5월 2일
·
0개의 댓글
·
post-thumbnail

[언리얼엔진5/시작해요언리얼] 시작해요 언리얼 1주차, 2주차

이전에 언리얼 엔진 공부계획에서 말했듯이, 우선 언리얼 엔진 코리아에서 제공하는 유튜브 영상을 통해 기초 공부를 시작했다. 4개 주차로 구성된 시작해요 언리얼 2022 강의를 먼저 공부해보았다. 처음 2개 주차의 구성은 아래와 같다. 1주차 : 게임 제작의 시작 언리얼 엔진 에디터 소개 게임 승패 규칙 설정 정교한 레벨 제작 위한 편의 기능 레벨 구성하기 2주차 : 레벨 제작을 위한 언리얼 모델링 입문 언리얼 엔진 모델링 기능 소개 완성된 모델링의 조정 큐브 그리드 모드를 활용한 스테이지 제작 레벨 구성하기

2023년 4월 29일
·
0개의 댓글
·
post-thumbnail

[언리얼엔진5] 프로젝트 생성 과정, 생성 시 발생하는 오류 해결

0. 시작 언리얼 엔진 5를 입문하기에 앞서 먼저 에픽게임즈 런처를 통해 다운로드를 받자. 언리얼 엔진에서 프로젝트를 생성하게 된다면 용도에 따라 기본으로 제공해주는 탬플릿을 바탕으로 생성할 수도 있다. 그리고 프로젝트 디폴트에서 스크립팅 방식과 타깃 플랫폼 등에 대해 설정해야 한다. 1. 스크립팅 언리얼 엔진에서 게임 내 스크립팅을 하는 데에 2가지 방식을 지원한다. C++ 2

2023년 4월 29일
·
0개의 댓글
·
post-thumbnail

[언리얼엔진5] 공부하기 앞서서, Why UE?

서론 유년 시절, 컴퓨터를 통해 처음 접해본 게임은 비디오 게임같은 패키지 게임이 아니라 인터넷으로 쉽게 접할 수 있던 플래시 게임으로 기억한다. 동영상 제작하는 데에 사용되는 Adobe Flash에서 액션스크립트를 사용하게 되면서 Flash를 하나의 툴로 게임에 응용하게 된 것이다. 이제는 플래시 게임은 추억의 저편으로 남고, 보통 우리가 흔히 즐기는 게임은 게임 엔진을 바탕으로 제작된다. > #### 게임 엔진이란?? 게임 엔진은 게임이란 응용 프로그램을 구동하는 데에 필요한 핵심 기능들을 담은 소프트웨어 구성요소라고 할 수 있다. 여기에서 핵심 기능이란 그래픽, 물리, 오디오, UI 시스템 등으로 볼 수 있다. 모든 게임은 통일된 하나의 게임엔진으로 개발된 것이 아니다. 시중에 공개된 상용 엔진을 사용하거나, 자체적인 엔진을 개발하여 사용하는 것으로 나뉜다고 볼 수 있다. 자체 엔진을 활용하는 예시는 대표적으로 국

2023년 4월 27일
·
0개의 댓글
·
post-thumbnail

[UE] 메타 휴먼을 활용한 3인칭 한옥 체험 컨텐츠

6주차 생방송에서 소개된, 3인칭 메타 휴먼의 한옥 체험 게임이다. 메타휴먼의 블루프린트에 grabber C++ 컴포넌트를 넣어줬다. grabber 인 메타휴먼이 문에 열쇠를 넣고 마우스 좌클릭을 release 해주면 문이 열린다. 다른 사물을 넣으면 열리지 않는다는 조건이 있다. 또한 맵에 위치한 모든 사물을 마우스 좌클릭으로 grab, release 해줄 수 있다. (벽 제외) 언리얼 마켓플레이스의 무료 에셋인 'House Of Changwon' 의 한옥 에셋을 이용하여 사람들의 발길과 손길이 끊긴 버려진 한옥 맵을 디자인했다 열쇠 3D모델은 블렌더로 만들어줬다. 마지막으로 언리얼의 시네마틱 시퀀서를 사용해서 맵만 5컷으로 촬영하고 프리미어 프로에서 음악만 입혀줬다. (음악 출처 viodio.io) 영상 !youtube[Ws4qshJCpdA] !youtube[FsFmu1BcmsY] 제작 과정

2023년 4월 11일
·
0개의 댓글
·
post-thumbnail

[UE] 영상 연출 및 렌더링하기

!youtube[FsFmu1BcmsY] POST PROCESS VOLUME 포스트프로세스 볼륨의 옵션들이 굉장히 많다. 포스트프로세스를 통해서 언리얼엔진 내에서 색보정, 이펙트 등을 추가할 수 있다. Bloom : 밝은 부분에 더 밝은 뽀얀 느낌을 줄 수 있다. 강도를 올려서 빛이 들어오는 부분이 뽀샤시하게 (광원을 확실하게 표현) 해준다. 한계치를 올리면 일정 수준 이상의 밝기에만 블룸을 적용하겠다는 뜻이다. 강도와 한계치는 같이 올려줘야 뿌연 느낌을 방지할 수 있다. Lens Flares : 강도 체크 시 렌즈에 맺히는 상 같은 것을 표현한다. 광원 기준으로 플레어를 추가할 수 있다. 클수록 예쁜 듯. 강도는 0.2 정도로 과하지 않게 해줘야 눈이 아프지 않다. 색조를 넣어주면 렌즈 플레어에 틴트 효과가 가능한데, 붉은색이나 주황색으로 많이 하는 편. Image Effects : 비네트 강도를 세게 해주면 가장자리가 어두워진다. 이 경우 0.4가 적당한데, 각

2023년 4월 11일
·
0개의 댓글
·
post-thumbnail

UNSEEN 합격과 나의 생각

이 글에서는 UNSEEN에 대한 개인적인 견해를 담고 있습니다. UNSEEN에 대한 자세한 정보를 원하시면 스마일게이트 퓨쳐랩을 통해서 알아볼 수 있습니다. UNSEEN에 합격되기까지 1차 서류 -> 2차 테스트 및 면접 과정을 거쳤습니다. 보통 서류 -> 테스트 -> 면접 순으로 진행되는 것이 일반적이지만 UNSEEN은 공채(또는 수시채용)와는 다른 채용 연계 프로그램이기 때문에 여러면에서 채용과정이 복잡하지는 않았습니다. 1차 서류과정 지원동기, UNSEEN에서 만들고싶은 프로젝트 계획서를 기본적으로 제출하고 선택적으로 프로그래밍 경험과 포트폴리오를 제출해야 했습니다. 여기서 선택사항은 본인의 열정을 보여 줄 수 있는 방법 중 하나이기 때문에 무조건 제출하시기 바랍니다. 2차 테스트 및 면접과정 테스트 테스트는 출제범위가 공개적으로 명시되어 있었고 기본적인 내용 및 기술적인 부분까지 다루고 있습니다. 저같은 경우에는 간단하게 몇 가지를 **구현해

2023년 3월 13일
·
0개의 댓글
·
post-thumbnail

[팁]에디터 기본 프레임레이트 값 바꾸기

에디터에서 기본으로 120 fps로 실행이 된다. 60 fps로 바꾸기 위해서 프로젝트 세팅에 들어가서 바꿔줘야 했는데 매번 귀찮기 때문에 기본 설정 파일을 건드려서 바꿔보자. 엔진에 설치된 경로에서 Engine/Config 안에 위치한 BaseEngine.ini 란 파일을 찾자 이것을 메모장으로 열어 bSmoothFrameRate 를 검색하면 두가지가 나오는데 [/Script/UnrealEd.EditorEngine] 에 위치한 항복을 찾자 그 바로 아래줄에 보면 value=120

2023년 2월 9일
·
0개의 댓글
·

[메모] 언리얼 엔진으로 게임 성능 극대화하기 - 진행중

IMAGE ALT TEXT HERE 해당 영상을 보며 까먹지 않게 내용을 정리한 글이다. 이분이 정리하신 노션 페이지도 있다. 1. 프로파일링 전반 (Profiling in general) 1.1 프레임 예산 (Frame budget) CPU와 GPU 모두 16.66ms (60fps), 33.33ms (30fps)의 프레임 예산이 있다. 콘솔일 경우는 거의 대부분의 예산을 다 소모해도 된다. (HW도 알고있고 팬도 잘돌아감) PC 일경우 조금 여유가 필요하다. (하드웨어 자동탐지 기능을 넣거나 디폴트값을 여유롭게 설정) 모바일일 경우에는 열 스로틀링을

2023년 2월 8일
·
0개의 댓글
·

[Unreal] 언리얼 모션 그래픽 UI 디자이너 (UMG)

UMG 게임내 HUD, 메뉴, 기타 인터페이스 관련 그래픽 요소로 사용자에게 보여주고픈 것들을 만드는 데 사용할 수 있는 비주얼 UI 저작 툴 UMG 의 핵심에는 Widget (위젯)이라는 것이 있는데, 이는 미리 만들어진 (버튼, 체크박스, 슬라이더, 진행상황 바 등의) 함수 시리즈로, 이들을 조립해서 UI 를 만들 수 있다. 이러한 위젯은 전용 Widget Blueprint (위젯 블루프린트)에서 편집되는데, 두 가지 탭으로 구성된다. Designer (디자이너) 탭에서는 인터페이스의 시각적인 레이아웃과 기본적인 함수가 제공되며, Graph (그래프) 탭에는 사용된 위젯 내부의 함수 기능이 제공된다. https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/UMG/UserGuide/

2023년 2월 3일
·
0개의 댓글
·

[Unreal] UMG와 C++ 연동하기

UMG는 블루프린트로 기능 구현할 수도 있겠지만 C++ 이 소스컨트롤에는 더 좋을 것이당 그래서 위젯을 만들고 C++에서 어떻게 사용해야 하는지 알아보았다. WBP 에서 UMG 위젯을 만들고 ‘변수인지’에 체크해제 한다. 헤더파일에 다음과 같이 위젯 변수를 만든다. 1번에서 만든 위젯 이름과 똑같이 만들어야 한다. UPROPERTY(meta=(BindWidget)) UProgressBar* LoadingProgressBar; WBP의 위젯과 C++ 코드 연동하기 위젯의 그래프탭에 들어가서 클래스 옵션-부모 클래스를 2번에서 만든 클래스명으로 설정한다. 위 과정을 거치면 C++ 코드에서 위젯을 사용할 수 있다. 참고 https://m.blog.naver.com/songg90/221269411015

2023년 2월 2일
·
0개의 댓글
·
post-thumbnail

[Unreal] Color Vision Deficiency Features

언리얼 엔진에서 사용할 수 있는 색맹 관련 기능 Editor Preferences에서 접근성에 보면 색맹 관련 기능이 있다고 한다. 기본은 Normal Vision으로 아무런 색맹 증상이 없는 경우이다. 녹색 색맹으로 설정했을 때는 아래 사진처럼 보이는데 Severity를 통해 그 정도를 설정할 수도 있다. 아래 사진이 가장 심한 정도인 10으로 설정한 사진이다. 심한 녹색 색맹에게는 처음의 그 장면이 아래 화면처럼 보인다는 것이다. ![](https://velog.velcdn.com/images/minjujuu/post/1847873d

2023년 2월 1일
·
0개의 댓글
·

[Unreal] LocalPlayer

현재 클라이언트에서 활성화된 각 플레이어에는 LocalPlayer가 있다. 맵 전체에서 활성 상태를 유지하고 화면분할/coop의 경우 여러 개가 생성될 수 있다. 서버에서는 0개가 스폰될 수도 있다. https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/Engine/ULocalPlayer/ 위 문서에서 보면 ULocalPlayer에 관련한 설명이나 기능들이 네트워크와도 관련이 있는 것 같은데 아직 사용해본 적이 없어서 잘 와닿지는 않는다. 더 알게 되는 게 있으면 여기 추가해야겠다

2023년 1월 29일
·
0개의 댓글
·

[Unreal] GameInstance

class UGameInstance : public UObject, public FExec GameInstance는 실행되는 게임의 하나의 인스턴스에 대한 High-level Manager 오브젝트이다. 게임 생성과 동시에 생성되고 게임이 종료될 때까지 사라지지 않는다 단 하나만 존재하면 되는 플레이어의 상태 같은 것을 저장할 때 사용할 수 있다. 레벨이 전환되어도 가지고 있는 값들이 초기화되거나 하지 않기 때문에 레벨 전환에 영향을 받지 않아야 하는 기능들을 구현할 때도 좋을 것 같다. 참고 https://docs.unrealengine.com/5.1/en-US/API/Runtime/Engine/Engine/UGameInstance/ https://jhtop0419.tistory.com/m/67?category=944635

2023년 1월 28일
·
0개의 댓글
·