
전체 글

[UE5] COMBAT GAME - 08. Dead Motion
1. Dead Motion 1.1 Movement Mode - 캐릭터가 죽으면 움직일 수 없게 설정 1.2 Physics Motion - ProfileName을 설정하고 현재 CollisionProfileName을 ragdoll으로 변경하고 충돌 설정을 덮어씀 - 시뮬레이션할 뼈에 전달된 아래의 모든 뼈를 중력을 받게 설정 - 시뮬레이션할 뼈에 전달된 아래의 모든 뼈에 대한 물리 혼합 가중치에 누적 - 위 3개를 실행한다면 캐릭터가 밑으로 죽는 모션처럼 이루어 짐 - 죽은 곳에 투명벽을 처럼 못움직이게 하는 벽이 생김 (capsule) - 없애기 위해 채널 변경 - 무기 또한 Physics를 설정하고 죽었을 시 만들어진 함수 실행

[UE5] COMBAT GAME - 07. Hit Reaction
1. Hit Reaction 1.1 Attack - 06 Attack에서 만들었던 OnHit 함수를 사용하여 공격받은 액터에게 데미지를 전달 - Apply Point Damage - 위에서 말했듯이 공격받은 액터에게 데미지를 전달하는 함수 - 이때 데미지를 전달받은 액터는 PointDamage를 실행 1.2 Point Damage - 이 함수를 활용하여 캐릭터가 뒤에 있는지 앞에 있는지 확인 가능 - Get Dot Product To 함수 사용 - 공격받은 액터와 공격한 액터의 내적을 구함 - 이때 -1부터 0까지 0부터 1까지의 값을 보면 뒤에 있는지 앞에 있는지 확인 가능 1.3 Perfrom Action - 캐릭터의 상태를 공격받은 모션을 생성 - Weapon에서 공격받는 몽타주 추가

[SERVER] IOCP
1. IOCP 1.1 Overlapped I/O와 IOCP의 차이점 - Thread Pooling - 재사용이 가능한 스레드를 유지할 수 있는 최적화 된 기능 1.2 IOCP - TCP로 서로 송수신할 때 WSASend / WSARecv와 같은 비동기 입출력 함수를 호출 - 스레드에서 내부적으로 APC(Asynchronous Procedure Call Queue) 큐가 생성 - 입출력이 완료된 결과를 저장 - 사용자가 생성한 IOCP 커널 객체에 접근하는 여러 스레드들을 두고 입출력 결과를 처리 - IOCP 객체 생성 - FileHandle: IOCP와 연결할 HANDLE 지정 - IOCP 객체를 생성해야하므로 INVALD_HANDLE_VALUE을 사용 - ExistingCompletionPort: 이미..