Make Unreal REAL.
article thumbnail
깜빡이는 전등 만들기

Unreal Engine: Ultimate Survival Horror Course M_LightFlicker 머티리얼 생성 Material - Material Domain: Light Function으로 변경 머티리얼 입력 노드가 Emissive Color를 제외하고 모두 비활성화 된다. 깜빡임 Light Function을 만든다. Time은 매 Tick마다 시간을 반환한다. Sine을 이용해 값을 -1 ~ 1 사이에서 반복시키고 Frac을 거쳐 0 ~ 1 사이에서 반복시킨다. 마지막으로 Clamp를 이용해 범위에 제한을 둔다. 숫자 1을 누른 상태에서 좌클릭을 하면 상수를 만들 수 있다. 상수에서 Convert to Parameter를 해도 되고 입력에서 Promote to Parameter를 해도 ..

article thumbnail
Level 0. OX퀴즈

Level 0. OX퀴즈 예전에 Stack을 활용해서 다항식 파싱했던 방법이 가물가물한데 이 문제는 항의 개수가 2개로 정해져 있어 그럴 필요까지는 없었다. istringstream을 이용해 파싱을 진행하여 해결했다. 벡터 내에서 메모리가 재할당되는 것을 막기 위해 emplace_back 대신 필요한 만큼 크기를 미리 할당하여 사용했다. #include #include #include using namespace std; vector solution(vector quiz) { size_t size = quiz.size(); vector answer(size); for (int i = 0; i < size; ++i) { istringstream iss(quiz[i]); int n1, n2, nResult;..

article thumbnail
반복자 무효화(Iterator Invalidation)

코딩 테스트를 위한 자료 구조와 알고리즘 with C++ 반복자는 내부적으로 포인터로 구현되어 있다. 그러므로 특정 노드 또는 원소의 주소가 바뀌면 그 주소를 갖는 반복자는 무효화될 수 있고 Crash로 이어질 수 있다. std::vector에서의 반복자 무효화 삽입 시 용량 부족으로 메모리가 재할당 된 경우 발생할 수 있다. 중간에 원소를 삽입하여 뒤 원소들의 위치가 밀린 경우 발생할 수 있다. (용량이 충분하더라도 기존 주소를 포인터가 아닌 값으로 직접 참조하는 것으로 인식하여 오류 발생) std::list에서의 반복자 무효화 삽입/삭제 시에는 원소의 이동이 필요치 않으므로 발생하지 않는다. 할당 해제된 주소를 참조하는 경우만 주의하면 된다. #include #include #include using..

article thumbnail
손전등 만들기

Unreal Engine: Ultimate Survival Horror Course Character Buleprint Class를 열어 Camera의 자식으로 Spot Light를 추가한다. 마켓플레이스에서 IES Light Profile Pack을 받아 프로젝트에 추가한다. Spot Light의 Light Profile을 설정해준다. IES Texture: Content - LightProfilePack - Lighting - Profile - Capped2 Use IES Intensity: 별도의 IES 강도를 사용한다. (Light의 Intensity는 비활성화된다.) Light - Attenuation Radius: 빛의 범위 반지름 설정 Camera의 자식으로 Spring Arm을 추가하고 S..

article thumbnail
어두운 배경 제작

Unreal Engine: Ultimate Survival Horror Course 어두운 실내 컨셉이므로 불필요한 것들을 제거해준다. Production으로 갈수록 Lighting Quality가 더 좋아지지만 라이팅을 빌드하는데 시간이 더 오래 걸린다. 라이트만 조정한 경우 코드, AI 경로 등을 제외하고 Lighting 데이터만 다시 빌드할 수 있다. 좌측 액터 배치창에서 액터, 라이트 등을 드래그하여 배치할 수 있다. 어두운 실내가 완성되었다.

article thumbnail
마우스로 조작하는 문 만들기

Unreal Engine: Ultimate Survival Horror Course 마우스로 움켜쥘 수 있는 상호작용을 위해 BPI_Grab 인터페이스를 만든다. GrabObject, ReleaseObject 인터페이스 함수를 만든다. Project Settings - Engine - Input - Action Mappings에서 마우스 좌클릭 InputAction을 추가한다. Character Blueprint Class에서 InputAction LMB의 Pressed 이벤트를 처리한다. 라인 트레이스는 전에 만들어 두었던 함수를 재사용한다. BP_PhysicsDoor에 BPI_Brab 인터페이스를 추가한다. GrabObject 함수를 구현한다. 좌클릭을 누르면 플레이어 움직임과 시야 조정을 멈추도록 ..

검색 태그