이번 강의에서는 번개 효과를 작업할 예정인데, 이미 만들어진 어셋을 어떻게 가져오고 편집하는지에 대해 다룰것이다.
그리고 콤보 공격 마지막 타격에서 번개 효과가 플레이 되도록 구현할 것이다.
* Particle Effect : 입자를 플레이시켜 효과를 내는 시스템
사실 파티클을 제대로 만드는 것은 디자인팀의 영역이긴 하지만, 이번시간에는 편집하고 사용하는 법에 대해 다루고 다음시간에는 "Sword Trail" 이라는 파티클을 만들며 익혀보도록 할 예정이다.
이펙트 가져오기
1. Infinity Blade Effects > Maps > "Overview" map 열기
" Infinity Blade Effects "는 저번에 다른거 진행할때 가져왔던 무료 콘텐츠인데, 이걸 활용하여 작업을 해 줄 예정이다.
다음과 같이 번개치는 효과인 "P_Genno_Weapon" Emitter" 를 사용할 것이다.
2. "P_Genno_Weapon" 선택 밑 경로탐색
이 어셋의 우측 돋보기를 눌러 주면 다음과 같이 경로가 나온다.
3. 애셋액션 > 이주 > 작업중인 Unreal 프로젝트파일의 "Content" 폴더 선택
4. 폴더 정리
1) 작업중이던 "Battle_02" 프로젝트 > InfinityBladeEffects > "Effects"폴더 콘텐츠 폴더로 이동시켜 주기
2) 가져온 "P_Genno_Weapon" Emitter" 이펙트를 Effects 상단으로 이동시켜 주기
이펙트 편집하기
위 번개의 경우 이미터가 네 개가 존재하고 있다.
Lighting : 번개 1
LightingStarg : 번개 2
Glow : 번쩍임 효과
Sparks : 빛 날림 효과
< Emitter >
- Emitter : 입자를 움직이기 위한 규칙
- Particle System : 입자를 플레이 시켜 효과를 보여주기 위해 이미터들을 관리하는 시스템
- 모듈 : 각 이미터가 가지고 있는 속성들
- 모듈 Required : "Required"아래 있는 파티클 전체를 관할
* 모듈은 위 이미지와 같다.
< Emitter 설정 >
- Required > Use Local Space : 중요한 부분이다, 마법공격 구현때 이 부분을 켜고 끄며 작업할 예정이다
- Duration : 얼마만큼 생존을 할 건가, 얼마만큼 플레이 길이를 가질 건가
* Emitter Loop 가 0이면 무한반복 진행, 이 부분을 1로 주면 1번만 플레이되고 끊김
- LifeTime : 몇초부터 몇초까지 생존을 할 건가
- Initial Size : 최초로 얘가 등장할 사이즈
- Color Over Life : 시간이 지남에 따라 색이 어떻게 변할건지
- Subimage Index : 0부터 1까지 비율지점을 지정해 주는것
- Initial Velocity : 최초 속도가 어느지점으로 어느만큼 나갈건지
- Initial Location : 처음 시작되는 위치
- Camera Offset : 카메라 바라보는 방향을 어떻게 처리할지
- Orbit : 얼마나 공전할 것인가
- Acceleration : 가속을 얼마나 줄 것인가, 갈수록 가속되는 것 지정
- Delay : 얼마있다가 이정도의 시간만큼 플레이가 될지
- Spawn : 플레이 시간 동안 몇 개의 입자가 보여질지를 결정
모듈들은 더 많은데, 이정도가 기본이라고 할 수 있다.
1. 각 Emitter 의 Emitter Loop 를 1로 바꾸어주어 1번만 플레이 될 수 있도록 한다.
2. "Lightning" Emitter 의 Spawn Rate 를 다음과 같이 "1.0" 으로 변경하여 준다.
* 하단에 Scale 은 1.0 값에 랜덤으로 더해지는 값인데, 위의 경우에는 1.0 부터 0까지의 수가 랜덤으로 더해지게된다.
3. "Lightning" Emitter, "LightningStart" Emitter, "Glow" Emitter 의 Initial Velocity 의 z축을 다음과 같이 마이너스로 변경하여 준다.
현재 처럼 위에서 아래로 번개가 치는것이 아니라, 땅에서 위로 번개치게 효과를 만들기 위해 z축의 값을 반대로 변경하여 준다.
4. 모든 Emitter 의 Initial Location 의 z축을 다음과 같이 절반 값으로 변경하여 준다.
* "Sparks" Emitter의 경우 Max, Min 둘 다 절반 값으로 변경하여 준다.
5. "Lightning" Emitter, "LightningStart" Emitter 의 Duration 을 각각 "0.15", "0.1" 로 세팅하여 준다.
6. 세팅을 마친 후 저장하고, 화면에 끌어당겨 효과가 제대로 적용되는지 확인 할 수 있다.
번개 치기 효과 구현
1. "BP_Player" > "Attacking Event" 다음과 같이 구현하여 준다.
1) Combo Data 에 3번으로 되어있으며 마지막 공격이였으면 index 가 0, 1, 2이니 Combo Count 2일때 마지막 공격이다.
공격의 마지막 콤보인지 체크한 후 이펙트 효과를 구현한다.
* Length : 크기를 리턴해 줌
2) "SwordLastCombo" Boolean 형 변수를 생성한 후 다음과 같이 세팅한다.
2. CustomEvent "PlayLastComboEffect" 생성 후 다음과 같이 구현한다.
1) LastCombo 였는지 체크해 주고, True 였으면 다음과 같이 "P_Genno_Weapon" 파티클 플레이
- Spawn Emitter At Location : 지정한 위치에서 파티클을 플레이 시킴
- Spawn Emitter Attach : 소켓을 지정해 소켓의 위치에서 파티클 플레이
* 파티클플레이 시키는 방법은 대표적으로 두가지가 있다. 한번 플레이하고 제거, 캐릭터가 갖는 파티클 형식 이번 구현에서는 첫번째 방식을 사용하였다.
2) 적의 위치를 구현 후 컴파일 및 저장
커스텀 이벤트에 적 "Damager" 추가 및 다음과 같이 구현
* Auto Destroy 는 플레이 후 삭제여부를 묻는 건데, 일반적으로 체크한다.
3) 추가로 라스트 콤보를 초기화 시켜주기 위해 위에도 다음과 같이 처리하여 준다.
3. "BP_Enemy" > 다음과 같이 Die 이전에 구현
완료후 컴파일 하여보면 다음과 같이 공격스킬이 정상적으로 구현되는 것을 확인 할 수 있다.
추가로 더 자연스러운 콤보 공격 구현을 위해 "Player_Combo_Table" > Attack 1,2,3 의 PlayRate 를 각각 1.2, 1.5, 1.25 로변경하여준다.
이제 다음시간에는 칼 궤적을 실제로 구현하는 것을 더하고, "칼" 에 관한 구현을 마무리 한 후 모드를 변경하는 것을 다루고, 마법(위자드) 모드 제작할 예정이다.
나중에 시간이 된다면 맨손으로 전투하는 Body fist를 모드를 만들어 보는 것도 도전해보고 싶다!
내일 공부가 기대되는 밤이다.
'Unreal Engine > 게임클래스 - 언리얼엔진 기초' 카테고리의 다른 글
[33강] Sword Trail (Particle & Attach) (0) | 2024.07.03 |
---|---|
[32강] Sword Trail (Material) (0) | 2024.07.03 |
[30강] Player Combo - 4 (0) | 2024.06.30 |
[29강] Player Combo - 3 (1) | 2024.06.30 |
[28강] Player Combo - 2 (0) | 2024.06.25 |