[내일배움캠프 Day4] 플레이어 이동하기
·
내일배움캠프/TIL
플레이어 블루프린트 생성하기 사용자의 입력 바인딩하기앱에서 사용자의 입력을 받으려면 키보드의 각 키를 눌렀을 때 또는 누르지 않았을 때의 신호를 일정한 값(value)으로 전환해 줘야 합니다. 이렇게 입력 기호와 특정한 수치 값을 묶어서 연관시키는 과정을 ‘바인딩(Binding)’이라고 합니다.Input Action은 사용자가 지정된 키를 입력했을 때 키의 입력 값을 어떤 값으로 받을 것인지를 설정하는 파일입니다.Input Action의 Value Type은 입력받았을 때 결과로 받을 값의 자료형을 결정할 수 있습니다. 언리얼 엔진의 Enhanced Input 시스템에서는 ‘Input Mapping Context’라는 특정한 파일 형식을 이용하여 Input Action과 입력 장치를 맵핑할 수 있도록 구..
[게임수학] 수: 가상 세계를 구성하는 가장 작은 단위
·
책/이득우의 게임 수학
http://www.yes24.com/Product/Goods/107025224 이득우의 게임 수학 - 예스2439가지 실시간 렌더링 게임 프로그래밍 실습 예제를 하나씩 따라 해보며 독자가 직접 체득하는 흥미로운 게임 수학의 세계! 게임 개발자와 그래픽 아티스트들이 궁금해 했던 3D 가상 세계와 메타www.yes24.com이득우의 게임 수학을 읽으면서 중요하다고 생각하는 부분들을 정리한 글입니다. 수와 집합집합(Set)은 서로 구분되는 원소(Element)로 구성된 묶음으로 이를 소박한 집합론(Naive set theory)이라고 합니다.자연수(N) 물건을 세거나 순서를 지정하기 위해 사용하는 수의 집합정수(Z)자연수와 자연수의 음수, 0을 포함하는 수의 집합유리수(Q)분모가 0이 아닌 두 정수의 비율 ..
[내일배움캠프 Day3] 블루프린트를 이용한 비주얼 스크립팅
·
내일배움캠프/TIL
3일 차 강의에 블루프린트 스크립팅 내용을 배워 관련 내용을 추가하고 과제 4개를 정리해 보았습니다. 블루프린트 노드의 구조와 제어 흐름블루프린트 노드는 크게 실행 핀, 입력 핀, 출력 핀의 세 가지 핀으로 구성되어 있습니다. 노드의 흐름 제어 방향은 왼쪽에서 오른쪽으로 진행됩니다. 실행 제어와 마찬가지로 데이터의 흐름 제어 역시 좌에서 우로 연결됩니다. 데이터의 그릇, 변수(Variable)프로그래밍에서는 입력 값, 결괏값 등과 같은 수많은 데이터를 처리하고 있고, 그 각각의 데이터들은 저마다 담아 놓을 수 있는 그릇에 담겨 있습니다. 이 그릇을 ‘변수(Variable)’라고 합니다. 변수를 만들 때마다 담을 수 있는 데이터의 종류를 결정해 주는데 이러한 용도 지정을 ‘자료형(Data Type)’이라고..
[내일배움캠프 Day2] 언리얼 엔진 머티리얼(Material)
·
내일배움캠프/TIL
2일 차 강의에 머터리얼 내용이 나와 이에 대해 더 깊게 공부하고자 하여 정리해 보았습니다. 3D 모델링 데이터의 구성3D 모델링 데이터는 메시(Mesh)와 머티리얼(Material), 그리고 실시간 엔진에서 추가하게 되는 감지 영역(Collision)과 각종 기능(Component)이 결합하여 독립된 개체(Actor)를 이룹니다.메시는 가상의 공간에서 하나의 객체를 시각적으로 표현하기 위한 개념으로, 점(Vertex), 선(Edge), 면(Face)으로 이루어진 집합체입니다. 단순히 형태를 이루는 정보만을 가지고 있어 표면의 재질을 표현하기 위해서는 머티리얼(Material)이 반드시 필요합니다. 머티리얼은 표면을 어떻게 보일 지를 결정하는 계산식이 담겨있습니다. 언리얼 엔진 머티리얼의 이해언리얼 엔진..
[Effective C++] 항목 3: 낌새만 보이면 const를 들이대 보자!
·
책/Effective C++
1. constconst는 객체가 수정되지 않아야 한다는 의미적인 제약을 명확히 표현할 수 있습니다. 이 제약을 선언하면 컴파일러가 이를 강제하기 때문에 실수를 줄이고 더 안전한 코드를 작성할 수 있습니다. const를 사용할 수 있는 위치변수와 객체전역, 네임스페이스, 정적 변수에 적용 가능합니다.포인터포인터 자체, 포인터가 가리키는 값에 각각 const를 적용 가능합니다.함수함수의 매개변수, 반환값, 멤버 함수에 const를 사용할 수 있습니다. 2. const와 포인터char greeting[] = "Hello";// 1. 비상수 포인터, 비상수 데이터char *p = greeting;// 2. 비상수 포인터, 상수 데이터cosnt char *p = greeting;// 3. 상수 포인터, 비상수 ..
[내일배움캠프 Day1] 언리얼 엔진 에디터의 화면 구성
·
내일배움캠프/TIL
언리얼 엔진을 실행하면 위 화면이 뜹니다. 기본으로 배치되어 있는 언리얼 엔진 에디터의 화면 구상에 대해 설명하면 ① 뷰포트 (Viewport) : 레벨 공간을 편집하기 위한 화면입니다.② 메뉴 표시줄 : 일반적인 프로그램의 메뉴와 같습니다. 파일 또는 창, 언리얼 엔진의 기능들을 각 메뉴에서 관리합니다.③ 툴바 (ToolBar) : 언리얼 엔진 에디터에서 많이 사용되는 기능을 아이콘 버튼으로 배치된 모음입니다. 버튼 오른쪽에 있는 드롭다운 버튼으로 각 버튼의 서브메뉴를 표시하고 선택합니다.④ 아웃라이너 (Outliner) : 뷰포트에 배치된 액터의 리스트입니다. 트리 구조로 한번에 파악할 수 있고, 선택 및 숨김 등을 적용할 수 있습니다.⑤ 디테일 (Detail) : 뷰포트 또는 아웃라이너 패널에서 선..
[Effective C++] 항목 2: #define을 쓰려거든 const, enum, inline을 떠올리자
·
책/Effective C++
#define의 문제점#define은 전처리 지시문으로, 컴파일러가 코드를 읽기 전에 텍스트 치환이 이루어집니다.#define ASPECT_RATIO 1.653컴파일러는 ASPECT_RATIO라는 이름을 알 수 없고, 단지 1.653만을 인식합니다. 그 결과 ASPECT_RATIO라는 이름은 컴파일러가 쓰는 기호 테이블에도 들어가지 않습니다.이로 인해 에러 메시지엔 1.653만 보여 코드 분석과 디버깅이 어려워집니다. 대안 1 : constconst double AspectRatio = 1.653;AspectRatio는 상수 타입의 데이터이므로 컴파일러의 눈에도 보이며 기호 테이블에도 들어갑니다. 상수로 교체하려는 경우 조심해야 할 두 가지 경우1. 상수 포인터(Constant Pointer)의 정의포인..
[사전 캠프 Day9] 팀 프로젝트 진행
·
내일배움캠프/TIL
간단한 3D 맵을 제작하는 프로젝트를 진행했습니다. "오브젝트 배치"와 "간단한 레이아웃" 구성이 초점이었지만 저희 조는 잘하시는 분들이 많아 캐릭터가 이동하는 시네마틱 영상까지 만들게 되었습니다. 저는 처음 실행했을 때 눈 깜빡거리는 효과와 이동시 흔들리는 효과 적용을 맡았습니다.관련 내용들은 따로 정리했습니다.https://dev0404.tistory.com/8 [UE5] Camera Shake Effect언리얼에서 카메라에 흔들리는 효과를 주기 위한 방법입니다. Camera Shake Effect에 대한 공식 문서는 아래와 같습니다.https://dev.epicgames.com/documentation/en-us/uefn/camera-shake-effect-in-unreal-editor-for-fo..
[UE5] 눈을 깜빡이는 효과 구현
·
Unreal
언리얼을 실행했을 때 눈이 깜빡거리는 효과를 주기 위해서   Post Process Material을 사용해 구현했습니다.  Post Process Material에 대한 공식 문서는 아래와 같습니다.https://dev.epicgames.com/documentation/en-us/unreal-engine/post-process-materials-in-unreal-engine 먼저 포스트 프로세스 볼륨을 맵에 넣습니다. 무한 규모를 체크해야 월드 전체에 효과를 줄 수 있습니다.   머티리얼을 생성해 Post Process로 변경했습니다.Radial Gradient Exponential 노드는 중심에서부터 반지름(Radius)과 밀도(Density) 값을 기반으로 원형 그라데이션을 생성합니다. 이 때, R..
[UE5] Material Parameter Collection
·
Unreal
어느 머티리얼에서도 참조 가능한 임의의 스칼라 & 벡터 파라미터 세트를 저장하는 에셋입니다.  Material Parameter Collection에 대한 공식 문서는 아래와 같습니다.https://dev.epicgames.com/documentation/en-us/unreal-engine/using-material-parameter-collections-in-unreal-engine?application_version=5.1 프로젝트 진행 중 Postprocess Material을 동적으로 변경하는 작업이 필요해 작업을 하다가 가장 쉽게 변경가능한 방법이라고 생각해 정리해 보았습니다. Post Process Material은 특정 오브젝트에 적용하는 일반적인 머티리얼과 다르게, 화면 전체에 적용됩니다...