Día 6 - Sistema de Interacción en C++ (Unreal Engine 5)

Hola a todos.

He completado el Día 6 de mi serie de aprendizaje para convertirme en Gameplay Engineer utilizando Unreal Engine 5 y C++.

En esta ocasión he desarrollado un Sistema de Interacción utilizando Enhanced Input, Line Traces y FHitResult.

Funcionalidades implementadas:

:white_check_mark: IA_Interact

:white_check_mark: Tecla E para interactuar

:white_check_mark: Line Trace

:white_check_mark: DrawDebugLine

:white_check_mark: FHitResult

:white_check_mark: Detección de objetos

:white_check_mark: Destrucción de actores mediante interacción

Ahora el personaje puede detectar objetos frente a él e interactuar con ellos pulsando la tecla E.

Actualmente el proyecto incluye:

:video_game: Día 1 - Actor C++ y Static Mesh

:video_game: Día 2 - Movimiento WASD

:video_game: Día 3 - Sistema de Vida

:video_game: Día 4 - Sistema de Sprint

:video_game: Día 5 - Doble Salto

:video_game: Día 6 - Sistema de Interacción

Vídeo dia 6:https://youtu.be/AmBvsG_ICH0

Mi objetivo es construir sistemas de gameplay reales desde cero y documentar todo el proceso día a día.

Cualquier sugerencia, consejo o feedback técnico será bienvenido.

¡Gracias!

Un poco de feedback: estás utilizando ConstructorHelpers::FObjectFinder para buscar y asignar los Input Actions. Aunque funciona, esto introduce un acoplamiento innecesario entre tu código C++ y las rutas de los assets.

De hecho, ya tienes las propiedades expuestas a Blueprint:


UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Input")
TObjectPtr<UInputAction> InteractAction = nullptr;

Lo recomendado es cuando expones con UPROPERTY() crear una clase Blueprint derivada y asignar allí las referencias a los assets..