Unreal Engine 5 공격시 넉백 기능 구현
·
Unreal Engine 5/MMORPG 개발
공격 로직플레이어의 공격 키 입력 -> (서버) 공격 가능 상태 확인 -> (멀티 캐스트) 상태 변화 및 애니메이션 호출 데미지 처리애니메이션을 이용하여 Anim Notify 호출 -> (Local) Multi Sphere Trace For Objects를 통하여 타격 확인 -> 타격된 대상을 Cast를 이용하여 플레이어인지 확인 -> (서버) 데미지 처리 및 넉백 처리 -> (멀티 캐스트) 상태 업데이트 문제점문제점 1 - AnimNotify 호출 과정에서 1회 호출이 아닌 N회 호출해결법 :Notify Begin와 End를 설정하고 Begin 함수의 첫 호출에서 Bool 변수를 True로 End에서 False로 변경한다.-> 공격자에게 이를 설정할 경우 한 번에 연속적인 공격 구현이 어려움-> 피격대..
시간 흐름 제어
·
Unreal Engine 5/MMORPG 개발
기본 값은 1.f2배 느리게 0.5f2배 빠르게 2.f정지 0.f 음수 설정을 하면 비정상적 작동 할 수 있다.DeltaTime에 영향을 주는 변수기 때문. BPSet Global Time Dilation C++GetWorldSettings()->SetTimeDilation(0.f); global TimeDilation와 Custom Time Dilation의 곱이 해당 Actor의 시간이 흐르는 속도가 된다.
Behavior Tree
·
Unreal Engine 5/MMORPG 개발
컴포짓(Composities) : 상태들의 시작점, 상태가 복귀, 실행 플로우에서 어떻게 행동하는지 정의한다.Selector, Sequence, Simple Parallel 세 종류가 있다. Behavior Tree : AI 캐릭터를 만들기 매우 유명한 도구 중 하나다.계층적 FSM, 스케쥴링, Planning, Action Execution 등 개념이 결합되어 있다. BT의 메인 요소 TaskTask는 복잡한 액션을 표현하는 서브트리로 구성Task들은 동일한 기본 구조를 가짐 -> 하나의 task가 가동된 후 결과는 성공과 실패의 형태(boolean)로 출력Task의 종류 3가지 Condition, Action, Composite Condition : 조건에 대한 검사를 의미ex) 적이 unit 반경 ..
Networking content
·
Unreal Engine 5/MMORPG 개발
Replicate액터에 Replicates 옵션을 키면 됨 Switch Has Authority 노드Authority : 대부분의 경우 서버에서 실행Remote : 대부분의 경우 클라이언트에서 실행서버, 클라이언트 어디서 실행중인지 검사하는데 사용된다. Variable ReplicationReplication을 Replicated로 설정하면 서버에서 이루어지는 변수 업데이트를 받음.Replication을 RepNotfiy로 설정하면 클라이언트와 서버 양쪽에서 같은 시퀀스가 실행된다. RepNotify 마킹된 변수는 값이 변할 때마다 Authority, Remote 양쪽에서 자동을으로 호출되는 특수 함수가 존재.값이 변하면 자동 생성되는 OnRep함수가 호출! 함수 ReplicationReplicate F..
언리얼 엔진 5 경로 관련 참고 사이트
·
Unreal Engine 5/MMORPG 개발
언리얼 경로 함수(Unreal Path Helper) (tistory.com)
Damage Indicator Object Pooling
·
Unreal Engine 5/MMORPG 개발
Damage Indicator를 제작한 후 데미지가 전달 될 때마다 Spawn Actor를 통해 Object가 지속적으로 생성되어야 하기 때문에 성능적으로 문제가 발생하지 않을까?? 싶어서 Object Pooling을 진행해보기로 했다. Damage Indicator의 관리는 GameInstance를 통해 관리한다.GameInstance를 통해 해당 Object를 요청하고 반환한다. 성공적으로 구현하였으며, Object가 지속적으로 스폰되지 않고 기본 공격만으로는 Damage Indicator가 2개 까지만 늘어나는 것을 확인했다. 이를 기반으로 Monster에 대한 Object Pooling을 구현해볼 예정이다.