Серверный RPC от клиента к серверу по какой-то причине не работаетC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Серверный RPC от клиента к серверу по какой-то причине не работает

Сообщение Anonymous »

Rpc работает, но ротация на клиенте задерживается. я знаю, возможно, этот код странный, но я новичок в C++.

Код: Выделить всё

void AHalfDeadCharacter::ChangeCamera()
{
if (IsDefaultCamera == true) {
FollowCamera->Deactivate();
FirstPersonCamera->Activate();
IsDefaultCamera = false;
}
else {
FollowCamera->Activate();
FirstPersonCamera->Deactivate();
IsDefaultCamera = true;
}
}
void AHalfDeadCharacter::SetFirstPerson(AHalfDeadCharacter* Player1)
{
if (Player1->IsDefaultCamera == false) {
Player1->CharacterRotation = (FRotator(0.f, Player1->FirstPersonCamera->GetComponentRotation().Yaw, Player1->GetActorRotation().Roll));
Player1->SetActorRotation(Player1->CharacterRotation);
if (Player1->HasAuthority() == false) {
Server_SetFirstPerson(Player1);
}
}

}
void AHalfDeadCharacter::Server_SetFirstPerson_Implementation(AHalfDeadCharacter* Player)
{
Player->SetActorRotation(Player->CharacterRotation);
Player->CharacterRotation = (FRotator(0.f, Player->FirstPersonCamera->GetComponentRotation().Yaw, Player->GetActorRotation().Roll));
if (this->GetActorRotation() != Player->CharacterRotation) {
this->SetActorRotation(Player->CharacterRotation);
if (this->GetActorRotation() != Player->CharacterRotation) {
this->SetActorRotation(Player->CharacterRotation);
}
}
}

bool AHalfDeadCharacter::Server_SetFirstPerson_Validate(AHalfDeadCharacter* Player)
{
return true;
}

void AHalfDeadCharacter::GetLifetimeReplicatedProps(TArray< FLifetimeProperty >& OutLifetimeProps) const {
Super::GetLifetimeReplicatedProps(OutLifetimeProps);

DOREPLIFETIME(AHalfDeadCharacter, CharacterRotation);
}

void AHalfDeadCharacter::Tick(float DeltaTime)
{
SetFirstPerson(this);
}
Я пробовал разные варианты репликации вращения от первого лица, но не думаю, что стоит делиться этим опытом.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ome-reason
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»