반응형

2023/04 8

UE 멀티플레이 함수 동기화

언리얼 엔진의 모든 클라이언트에서 동일한 기능을 실행하려면 멀티캐스트 RPC 기능을 사용하면 됩니다. 이를 수행하는 단계는 다음과 같습니다. UFUNCTION(NetMulticast, Reliable) void MyMulticastFunction(); 함수를 실행할 클래스의 헤더 파일에 함수를 선언합니다. 이 함수는 UFUNCTION() 매크로를 사용하여 멀티캐스트 RPC 함수로 선언해야 합니다. void MyClass::MyMulticastFunction_Implementation() { } 클래스의 CPP 파일에서 함수를 정의합니다. 함수의 구현은 다른 함수와 동일하지만 함수 이름 앞에 Multicast RPC 함수 지정자가 있습니다. 서버에서 멀티캐스트 RPC 기능을 호출합니다. 이렇게 하면 함수가..

UE5 2023.04.29

UE C++ 총기 명중률

총을 쏘려는 방향벡터에 랜덤하게 값에 변화를 줘서 명중률을 만들면 됨 LineTraceEnd = TraceStartPoint + (UKismetMathLibrary::RandomUnitVectorInConeInDegrees (MyNormalize(pHitResult.ImpactPoint - TraceStartPoint), FireSpread) * traceLength); RandomUnitVectorInConeInDegrees 함수에 방향벡터와 탄착군 퍼지는 간격을 인자로 넣어주면 랜덤한 방향벡터를 뱉어줌 위의 코드의 경우 TPS 프로젝트에서 사용한 코드인데 화면에서부터 LineTrace를 한 후 얻게된 ImpactPoint에 총구위치(TraceStartPoint)를 뺸 값을 Nomalize하여 총구에서..

UE5 2023.04.29

UE 블렌드 포즈

언리얼 엔진에서 블렌드 포즈는 스켈레탈 메시 애니메이션의 두 개 이상의 포즈를 부드럽게 블렌딩할 수 있는 기능입니다. 일반적으로 서로 다른 애니메이션 간에 부드러운 전환을 만들거나 애니메이션에 동적 변형을 추가하는 데 사용됩니다. 예를 들어 움직이는 애니메이션을 실행한다고 할때 소지중인 총기의 타입별로 애니메이션을 달리할때 유용합니다. Enum 클레스별로 블렌드 포즈가 존재하며 우클릭을 하여 상황별 포즈를 추가할 수 있음

UE5 2023.04.25

UE Blueprint와 C++을 이용한 Foot IK

경사진 각도에서의 일반적인 상황 무릎 각도 조절 Foot Rotation까지 조절 전체적인 흐름 보기 Foot IK 적용법 1. 허리에서부터 바닥으로 LineTrace 2. LineTrace로 얻은 바닥의 Normal값을 Rotator로 변환하여 발바닥의 Rotator에 적용시킴 3. LineTrace로 양발의 발바닥에서 충돌 지점까지의 길이를 구해준다 (충돌지점 -> Trace끝지점까지의 길이 - 발바닥 -> Trace끝지점의 길이) 4. 3에서 구한 값중 작은 값(위에서는 -19로 오른발 값이 더 작음)만큼 캐릭터의 위치를 내려줌 5. 3에서 구해준 양발의 offset만큼 발의 높이를 변경해줌 실제 코드 작성 C++로 블루프린트에서 사용할 Offset값 구하기 ActorComponent을 상속받은 C..

UE5 2023.04.08

13023 ABCDE (DFS)

13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net 위 문제는 DFS(깊이 우선 탐색)을 활용하여 푸는 문제로 이 문제를 해결하려면 그래프에 길이가 4인 경로가 있는지 확인해야 합니다. 즉 A는 B에 연결되고 B는 C에 연결되고 C는 D에 연결되고 D는 E에 연결되는 시퀀스가 ​​존재하는지 찾아야 합니다. DFS(깊이 우선 탐색)를 사용하여 그래프를 순회하고 그러한 경로가 있는지 확인할 수 있습니다. 노드를 선택하여 시작한 다음 재귀적으로 모든 이웃을 방문합니다. 헤더파일 및 문제 해결에 사용될 변수와 배열 #include #include using namespace std; const int MAXN = 2005; i..

반응형