Raycasting от игрока, ударить объект и отключить пользовательское событие C ++ UE4 - PullRequest
0 голосов
/ 13 июня 2018

Я целый день ходил кругами, пытаясь добиться этого, и я просто никуда не денусь.Я пытаюсь создать несколько объектов в сцене с отдельными анимациями, и когда я запускаю лучевую трансляцию из моего плеера, и она попадает в одну, я включаю функцию UF (blueprintimplementableevent) на объекте, на который она попадает.Пожалуйста, помогите мне, это абсолютно пугает меня.

1 Ответ

0 голосов
/ 13 июня 2018

Что бы я сделал, это использовал BlueprintNativeEvent.Это позволит вам создать Implementation функцию того, что вы хотите, чтобы происходило в C ++, а также реализацию проекта, которая может отличаться для каждого проекта этого типа объекта.

Это довольно просточтобы использовать, например, в заголовочном файле вашего персонажа:

/** Called when the player presses the fire key */
UFUNCTION(BlueprintNativeEvent, Category = "Shooting")
void OnHit();
virtual void OnHit_Implementation();

А теперь ваш Cpp:

 void AMyGameCharacter::OnHit_Implementation()
 {
     UE_LOG(LogTemp, Warning, TEXT("OnHit_Implementation!"));
     // Do whatever stuff you want to do in C++ here
 }

Теперь в вашем проекте персонажа / актера, просто перейдите кграфик событий, щелкните правой кнопкой мыши и добавьте событие типа OnHit.Убедитесь, что вы сделали обратный вызов родительского события OnHit (щелкните правой кнопкой мыши событие и нажмите «Добавить вызов родительской функции»)

Если вам нужен пример этого, вы можете посмотреть на C ++ Battery Collector series или документы .

...