Unreal Engine(33)
-
[Unreal] 28일차 - 적 공격 타이밍 수정, 적 피격 애니메이션(Animation Montage), 적 죽음 애니메이션
적이 플레이어와 만나자마자 공격하게 만들기BP_EnemyFSM의 MoveState로 간다.가장 뒤 노드에 Current Time에 Attack Delay Time을 세팅했다. 변수 Private 설정BP_EnemyFSM에서 설정했던 많은 상태는 BP_Enemy에 컴포넌트 형태로 사용하고 있다.따라서 BP_Enemy의 BP_EnemyFSM을 선택해보면 Details 창에서 만든 변수를 수정할 수 있다. Attack Delay Time을 2,0 -> 3.0으로 변경 일부 변수들은 굳이 보여지지 않아도 되기 때문에 Private 설정을 할 수 있다.BP_EnemyFSM에서, 변수 선택 후 Private 체크 필요한 값은 놔두고 나머지는 Private 처리 했다. 적 Damage(피격) 애니메이..
2024.09.04 -
[Unreal] 27일차 - Die State, 적 애니메이션 적용(Idle, Move, Attack)
Die State적이 죽었을 때 바닥을 뚫고 내려가지 않는 부분 수정-> 충돌체를 꺼보자 OnDamageProcess 함수에서, 적의 Capsule Component에 No Collision을 부여했다. Get Capsule Component는 검색을 getcap으로 하면 나온다. 그런데 적이 아래로 내려가도 Outliner에서 없어지는 건 아니므로 아예 어느정도 내려가면 없애야 한다.Die State 함수에서, 뒷 부분에 -200 높이 아래로 내려가면 Destory 하도록 설정했다. Die State 전체 노드 충돌이 없어진다. 적 애니메이션 적용Animation Bluprint 생성 vampire 스켈레톤 적용 ABP_Enemy로 이름지었다. 더블클릭하여 들어가서 State Mac..
2024.08.27 -
[Unreal] 26일차 - 넉백 구현 방법(이동 계산, 거리 Lerp 계산, 시간 Lerp 계산), Die State
Knockback 이어서저번 시간에 적이 2초동안 뒤로 밀려나서 어색했다. 이 부분을 수정한다.Damage State에서,넉백 이동을 할지 말지 정하는 VARIABLE을 하나 만든다. 너무 멀리까지 밀리지 않는 장치이다. 만든 변수는 앞쪽에 Branch 노드와 배치했다. 멈춤 반경을 정할 변수도 하나 만들었다. 해당 반경 안에 들어오면 더이상 밀리지 않는다. 가운데에 Set으로 받아온다. 넉백의 시작점과 끝점의 변수와 넉백 방향 변수를 생성한다. Enemy인 나의 위치와 종착지점 사이의 거리가 넉백 멈출 위치보다 작으면, True가 되어 Nuckback Playing이 체크 해제 된다. 한 가지 더 처리할 건, EndPoint 근처로 왔을 때 EndPoint에 딱 가게끔 설정한다. Damag..
2024.08.23 -
[Unreal] 25일차 - Enemy Attack State 함수, Move 전환, Damage State 함수, 넉백(Knockback)
적 Attack 함수 작성Idle 상태 함수에서 쓰인 시간이 흐르고 시간이 기준 시간을 넘었을 때 상태를 변화해주는 기능이 똑같다.해당 기능을 함수로 가져올 것이다.Idle State 함수에서 노드들을 묶어서 [Collapse to Function]으로 함수로 만들어준다. FlowTime으로 이름 붙였다. 그런데 이 함수에는 IdleDelayTime 외부 변수가 있다. 이 함수를 Attack에도 쓰려면 해당 부분에 AttackDelayTime이라는 다른 변수를 사용해야 한다. 따라서 이 부분을 바꿔줄 수 있도록 해야한다. 우측 Details에 보면 Inputs가 있다. 여기에 + 버튼을 눌러 input을 하나 추가하고 float 형의 "DelayTime"을 생성했다."get delay time" 노..
2024.08.23 -
[Unreal] 23일차 - 애니메이션 몽타주, 소켓으로 총 고정, 카메라 셰이크 효과, 총 발사 사운드, 적 생성
애니메이션 몽타주 계속왜 이전 글에서 "spine_03"을 넣어서 몽타주의 기준을 정해주었는지 살펴보자.상단 우측에 해골모양 Skeleton 정보 클릭 예상했던 것처럼 spine_03을 기준으로 위쪽은 Blend Poses 0, 아래쪽은 Base Pose가 적용되는 것이었다. 총이 캐릭터와 같이 움직이게 하기소켓을 만들기 위해서, BP_Player에서 Mesh를 클릭한 상태로 우측에서 [Skeletal Mesh Asset]을 더블클릭한다. hand_r에 마우스 우클릭해서 [Add Socket] 선택 참고로, 위쪽에 [Character] - [Bones] - [All Hierarchy] 하면 모든 리깅을 볼 수 있다. 다시 BP_Player로 돌아와서,sniper1 총을 선택한 후 우측에 [S..
2024.08.20 -
[Unreal] 22일차 - 캐릭터 점프, 이동(FSM, Blend Space), 달리기 모드, 애니메이션 몽타주
캐릭터 점프, 이동ABP_Player 애니메이션 블루프린트를 더블클릭하여 연다. 점프를 위해서 New_JumpStart 애니메이션 드래그해서 넣는다. 점프 애니메이션으로 가는 트랜지션 더블 클릭해서 편집. 공중에 떠 있을 때 점프를 시작하도록 한다.IsInAir bool Variable 추가, True일 때 New_JumpStart 애니메이션 추가 New_JumpLoop 추가, [Automatic Rule Based on Sequence]를 체크하면 자연스럽게 blend 되면서 애니메이션이 연결된다. 자동으로 연결된다는 말. New_JumpEnd 추가 New_JumpLoop에서 New_JumpEnd로 갈 때의 트랜지션 더블클릭해서 수정한다. New_JumpEnd에서 Idle로 넘어갈 때도 자동..
2024.08.16