2024. 7. 30. 01:33ㆍUnreal Engine
적 모델링 교체 계속
바로 전 글에서 진행했던 적 모델링 교체를 완료했지만 실행하면 적이 생성되지 않는다.
[Toggle Breakpoint] 설정을 하면 실행했을 때 여기서 이상이 있다는 것을 알 수 있다.
문제는 [Cube]와 [Drone_low]가 충돌하기 때문에 바로 생성되자마자 없어지는 것이다.
"Drone_low" 오브젝트의 [Details] - [Collision Presets]를 [NoCollision]으로 설정한다.
이제 적이 생성된다.
적끼리 부딪혔을 때 죽지 않게 하기
이제는 적끼리 부딪혔을 때 죽지 않도록 설정한다.
[New Object Channel...]에서 [Overlap] 설정으로 "Enemy" 채널을 만든다.
새 프리셋을 추가해서 아래와 같이 수정한다.
"BP_Enemy"에서 Cube의 [Details]에서 방금 만든 EnemyProfile로 설정한다. 이제 적끼리 부딪혀도 없어지지 않는다.
프리셋을 새로 만들지 않고 아래 체크를 바꾸고 싶다면 [Custom...]으로 설정해서 수정하면 된다.
트리거 박스 설정 방법
[Box Collision]을 추가하여 Root로 올린다.
Cube에 연관되어 있던 블루프린트 노드를 지우고 [Box]를 선택한 후 [Details]에서 [On Component Begin Overlap (Box)]를 추가해서 노드를 연결한다.
[Collision Presets]도 만들었던 [EnemyProfile]로 수정
적이 나를 보면서 다가오게 하기
"BP_Enemy"에서 [Find Direction] 노드에서, 마지막에 [Set Actor Rotation]을 연결하면 Vector3가 Rotation으로 변환되면서 [Rotation From X Vector] 노드가 자동으로 생성된다.
로컬 좌표계로 보면 플레이어 방향으로 빨간색 X 방향으로 오는 것을 볼 수 있다.
[Make Rot from Z] 노드를 검색해서 교체한다.
전체 노드
플레이어 방향으로 잘 이동하는 것을 볼 수 있다.
계속 따라다니는 지를 보려면 기존의 "BP_Enemy" 노드에서,
이 부분을 수정하면,
잘 따라오는 것을 볼 수 있다.
적이 나를 따라올 때 떨리는 문제 해결
Drone 하위에 Cube를 생성하고 위라는 것을 표시해 주도록 위치와 스케일을 조정했다.
Cube에는 [NoCollision] 설정
실행해보면 중간에 적이 뒤집어지는 것을 볼 수 있다.
노드를 아래와 같이 바꾸면, 드론의 배쪽 방향인 X는 픽스, 드론의 앞쪽 방향인 Z는 유동적으로 바뀌도록 설정된다.
전체 Find Direction 노드
이제 잘 따라온다.
등을 표현했던 Cube는 지운다.
"BP_EnemyGOD" 원복
"BP_Enemy" 원복
"BP_Enemy"의 [FindDirection] 원복
사운드 넣기
발사 사운드
발사 사운드를 다운로드 한다.
"BP_Player"에서, 총알 생성 뒤에 [Play Sound 2D] 노드를 추가하고 사운드를 드래그 앤 드랍 한다. 총알이 생성되면 사운드가 바로 나온다.
폭발 이펙트
"BP_Enemy"에서, [Spawn Emitter at Location] 노드를 검색해서 중간에 넣고, "P_Explosion"을 설정한다.
폭발 효과의 위치는 [Get Actor Location]으로 받아온다.
하지만 이펙트를 로드하는 시간 때문에 초반 몇 개의 폭발 효과는 제대로 보여지지 않는다.
해결하기 위해서는 나이아가라와 시퀀서를 가지고 애니메이션을 만들어 놓고 재생만 시키면 된다. 나이아가라 캐싱을 사용하는 것.
이펙트의 남아있는 연기를 없애주고 싶다.
노드에서, 돋보기 모양을 눌러 이펙트를 찾아간다.
이펙트 더블클릭
Smoke 부분 눌러서 지운다.
폭발이 잘 된다.
폭발 효과음 넣기
"BP_Enemy"에서, [Play Sound 2D] 노드를 중간에 넣고 사운드를 드래그 앤 드랍 한다. 폭발음도 잘 들린다.
배경 넣기
배경을 다운로드 한다.
https://mblogthumb-phinf.pstatic.net/20130707_235/vvs9auav_1373180882913lIOLS_PNG/05.png?type=w420
Plane을 Viewport에 드래그 앤 드랍
Plane이 배경이 될 수 있도록 Transform 수정
배경 텍스쳐 드래그 앤 드랍으로 넣으면 메테리얼이 생성된다.
Plane이 돌아갔으니 다시 Transform을 설정한다.
빛을 받아 그림 느낌이 너무 나기 때문에 빛을 받지 않도록 메테리얼 수정
[Shading Model] - [Unlit] 설정, 텍스쳐 RGB는 [Emissive Color]로 연결한다.
Emissive가 조금 밝은 느낌이 있어서 [Multiply]를 중간에 연결하고 숫자 '1' 키를 누른 상태로 좌클릭을 해서 float 노드를
float 노드는 [Convert to Parameter]를 눌러 파라미터로 만들어 준다. 이름은 "EmissiveIntensity"로 수정
마지막에 꼭 좌측 상단 Apply 버튼을 누르고 저장한다.
배경 Plane이 메테리얼 Instance를 사용할 수 있도록 수정
원본 메테리얼에 우클릭 - [Create Material Instance] 누른다.
방금 만든 메테리얼 인스턴스를 끌어다 놓는다.
메테리얼 인스턴스를 더블클릭하여 파라미터 값을 수정할 수 있다.
자동으로 밝기 잡아주는 [Auto Exposure] 체크 해제
다시 원본 메테리얼로 돌아와서,
텍스쳐 UV 부분에 [Panner] 노드를 연결하고 Y축 방향 -0.1 스피드를 부여하면 아래로 스크롤 되는 배경 느낌을 줄 수 있다.
완성!
'Unreal Engine' 카테고리의 다른 글
[Unreal] 14일차 - 블루프린트로 만들어진 것을 C++로 만들기 (StaticMeshComponent, Details, SubObject, RootComponent, 위치값) (0) | 2024.08.02 |
---|---|
[Unreal] 13일차 - C++ 시작, Hello World 출력, 자료형 (0) | 2024.08.01 |
[Unreal] 11일차 - 일정시간에 한 번씩 적 만들기, 적이 플레이어 따라오게 설정, 초반 방향만 따라오게 설정, 확률 추가, 플레이어 모델링 교체 (0) | 2024.07.28 |
[Unreal] 10일차 - 총알 생성과 발사, 충돌과 겹침 (0) | 2024.07.26 |
[Unreal] 9일차 - 총알 생성, 총알 이동, 적 생성, 적이 플레이어 따라다니기 (0) | 2024.07.25 |