Unreal: 사운드 출력
SoundBase/SoundCue 기본적으로 음성파일을 불러오면 uSoundBase로 들어오게 된다. SoundBase에선 기본적인 볼륨과 피치등을 음성과 관련된 설정들을 변경해 놓을 수 있으며, 이는 해당 에셋을 사용하는 모든 곳에서 적용되게 된다. 한편 사운드 큐에서는 크로스패이드, 랜덤같은 여러 기능들을 노드로 연결해, 제한적으로만 조정할 수 있...
SoundBase/SoundCue 기본적으로 음성파일을 불러오면 uSoundBase로 들어오게 된다. SoundBase에선 기본적인 볼륨과 피치등을 음성과 관련된 설정들을 변경해 놓을 수 있으며, 이는 해당 에셋을 사용하는 모든 곳에서 적용되게 된다. 한편 사운드 큐에서는 크로스패이드, 랜덤같은 여러 기능들을 노드로 연결해, 제한적으로만 조정할 수 있...
이전에는 GameMode/GameState를 이용해서 간단한 게임 룰을 만들어봤다. 하지만 단순 로그로 게임 진행상황을 표시하는 정도로는 게임이 아쉬울 것이다. 이번엔 UI를 추가하여 더 게임스럽게 만들어보자. 게임 전환 변경점 제출 과제로서의 요건을 맞추기 위해 게임 진행에 있어 몇몇 변경점이 생겼다. 웨이브가 필요하다는 조건이 있었기에, 레벨...
3D 게임의 많은 로직은 시야를 중심으로 한다. 무엇을 가리키는지, 방향에 무엇과 충돌하는지를 알아야 어떤 사물을 보고있고, 쏜 탄환이 어디 맞았는지, 어떤각도로 맞았는지등 게임에 필요한 정보로 변환하고 사용할 수 있다. 그 기본적인 개념인 트레이스(Trace)를 연습해보자. 콜리전(Collision) 트레이스를 접하기 전에 알아야 할 개념이 있다면...
TObjectPtr<> UE4까지 존재하던 원시 포인터 (UObject*)를 대체하기 위해 추가된 템플릿 기반의 포인터이다. 지연 로딩(Lazy Loading): TObjectPtr를 사용해 선언된 데이터는 실제로 필요하게 된 때 메모리에 로딩된다. 다른 언어에서 있는 지연 평가(Lazy Evaluation)과 유사...
이전엔 레벨마다 스폰될 적들을 만들었다. 이번엔 게임의 규칙과 레벨의 생성을 구현해보자. 랜덤 건물 배치 건물은 당장은 플로우 검증 정도만 하고 싶어서 다양한 건물의 배치보단 간단한 건물배치를 이용한 맵을 구현해보도록 하겠다. 방식의 유효성, 플레이 가능성의 판단이 우선이니 일단은 정사각형 그리드로 건물이 배치될 수 있는지를 구현해볼 것이다. 간단하게...
이전에는 물체를 들 수 있는 기능과, 들었을 때의 물리, 파괴 상호작용을 구현했다. 그 상자들을 들어서 단순히 배달만 하면 재미가 없을 것이다. 이번엔 배달과정을 방해할 적 2종류를 구현해보자. 가만히 앉아있다가 배달을 방해하러 올 까마귀와 드론을 향해 물을 발사할 개구진 꼬마이다. TakeDamage기반으로 변경 기존에는 Holdable안에서 데미지...
프로시주얼 쉐이더(Procedural Shader) 머티리얼이나 텍스처를 이미지에 기반하여 사용하는게 아닌, 수학/알고리즘에 기반한 절차(procedure)에 따라 만들어내는 방법을 말한다. 생성과정을 제어함으로서 원하는 값에 따라 다양한 결과물을 만들어 낼 수 있다. 노이즈, 반복패턴, 값에 따라 바뀌는 효과등 변...
이전엔 드론의 움직임을 자연스럽게 개선하는 과정을 거쳤다. 이제 본격적인 게임의 핵심인 택배배달을 구현해야 한다. 먼저 픽업할 상자를 구현해보자. Holdable 선언 액터 자체는 움직임이 필요 없이 StaticMesh기반에 기능만 붙일 것이다. 때문에 Actor를 기반으로 선언하고 StaticMeshComponent를 붙여주자. //Holdable...
내일배움캠프 7번과제: Pawn조작 구현 기존 코드의 문제점 NBC 7번 과제에서 드론의 움직임은 손수 구현했었다. 직접 방향을 계산하고 내부에 속도를 저장해놓고 관성처럼 Lerp를 이용해 보간하는 방식으로 구현했는데, 이는 추후의 기능 추가 과정에서 몇가지 순차적인 문제를 만들었다. 바닥 충돌의 모호함: 기존 코드는 lineTrace를 이용해 ...
언리언 공식 문서: 물리 기반 머티리얼 머티리얼(Material) 물질을 나타내는 개념으로, 사물의 느낌, 질감등을 표현하는 정보를 저장한다. 객체에 적용되어 표면에 색이나 모양, 특수한 시각적 효과를 나타내는데 사용될 수 있다. 단순히 많은 폴리곤으로 3D모델의 디테일을 나타낸다면 이는 프로그램이 많은 성능 자원을 소모하도록 만들것이다....