1. 키 입력 설정
유지(개임패드 입력 등은 제거)
- Jump : 스페이스바
- MoveForward : W, S // 앞, 뒤 이동
- MoveRight : A, D // 왼쪽, 오른쪽으로 걷기
- Turn : 마우스 x축 이동
- LookUP : 마우스 Y축 이동
수정
- Fire를 DefaultAttack으로 이름 수정 // 아직안함 아직 그대로Fire
추가
- Down(앉기) : 왼쪽 Ctrl
- ShortAttack(근접공격) : F
- Skill1 : 마우스 우클릭
- Skill2 : E
- Skill3 : Shift
- Ultimate : Q
나중에 오버워치 영어버전 보고 이름 바꿈
2. 기본 설정
콘텐츠 브라우저에 "OverWatch"라는 새 폴더 만들고, FirstPersonBP 내부 네 가지 BP를 복사해온다.
이름을 바꾸고 프로젝트 세팅에서 디폴트 게임모드 변경
3.캐릭터 인터페이스 만들기
4. 캐릭터 블루프린트 만들기
기존 FirstPersonCharacter 복사하여 이름 Character_Tracer로 수정.
HMD 등 관련 없는 알고리즘 제거
기본공격에 대한 스크립트
트레이서는 투사체 발사가 아니라 히트스캔형 캐릭터이기때문에 투사체를 수정해야한다.
* LineTrace Channel 과 Object 차이는?
Line Trace 의 Channel과 Object 차이 https://docs.unrealengine.com/latest/INT/Gameplay/HowTo/UseRaycasts/Blueprints/
4.1 Fire : 기본공격
AI(봇)이 기본공격 범위에 있으면 AI라고 출력하고, AI가 아닌 다른 물체에 닿으면 닿은 곳에 Fire 파티클 생성
Line Trace Channel 이용
4.2 Skill1 (우클릭) : 점멸
아무 키 입력이 없을 때 : 바라보고 있는 방향으로 이동
키 입력이 있을 때 : 키 입력을 한 방향으로 이동
시점은 이동 후에도 정면
우클릭과 Shift 입력에 대해 같은 액션
* offset과 transform의 차이는? - Offset 은 Location, Transform은 Location + Rotation + Scale
4.3 Skill2 (E) : 역행
Tick이벤트가 발생할 때 마다 위치를 배열에 저장. 배열은 3초의 위치를 0부터 length 까지 저장한다. 3초가 지나면 Tick 이벤트가 발생할 때 배열에 현재 위치를 저장하기 전에 3초전의 위치를 하나 제거하고 저장한다.
e키를 누르면 배열의 0번 째 인덱스로 캐릭터의 transform을 변경한다.
* Draw Debug : Target을 레벨뷰에 임시적으로 보여준다. transform을 인자로 하려면 draw debug frustum 함수를 사용한다. 이거 진짜 좋다!!
Visualize Your Algorithm in Action
4.4 Skill3 (Shift) : Skill 1과 같음
Skill1 액션과 연결
4.5 Ultimate (Q) : 폭탄
폭탄에 투사체 movement 추가
충돌시 Simulate Physics를 멈춤(달라붙게함)
4.6 이펙트와 효과음
4.7 탄창 소모와 재장전
4.8 쿨타임
5. 봇
* 역행 기준 시간, 쿨타임 등을 변수로 하여 바꿀 수 있게 해도 좋을듯!
'공부 > 게임' 카테고리의 다른 글
오버워치 훈련장 구현 0 (0) | 2017.11.29 |
---|---|
언리얼 엔진4 튜토리얼 - Blueprint Quickshot (0) | 2017.11.24 |
언리얼 엔진4 튜토리얼 - Intro to Blueprints (0) | 2017.11.21 |
언리얼엔진4 튜토리얼 - BP 3d Person Game (0) | 2017.11.13 |
언리얼 엔진4 튜토리얼 - Intro to Level Creation (0) | 2017.11.10 |