UDCORE (o un núcleo de directiva de Unreal ), es un complemento de motor Unreal de código abierto que está diseñado desde cero para proporcionar funcionalidades de calidad de vida para mejorar la experiencia de desarrollo.
Este complemento fue iniciado por Dylan "Tezenari" Amos como parte de la Iniciativa de Directiva Unreal para capacitar a los desarrolladores de motor Unreal con conocimiento y herramientas para permitirles construir cosas increíbles.
La filosofía de Udcore gira en torno a lo siguiente -
Este complemento se actualizará esporádicamente con una nueva funcionalidad.
Instrucción sobre cómo instalar el complemento UDCore. Recomiendo visitar la página de inicio rápido en el sitio web de documentación.
UDCore se puede instalar directamente utilizando el complemento de descarga de complementos en el mercado.
Instale el descargador de complementos desde el mercado de Unreal Engine
Habilitar el complemento Plugin Downloader
Edit -> Plugins .Plugin Downloader y habilitarlo. Descargar UDCore
Ir a Edit -> Plugins
Haga clic en Download en la parte superior izquierda de la ventana Plugins
Ingrese la siguiente información en la ventana Download Plugin
Haga clic en Download en la parte inferior derecha de la ventana Download Plugin
Esperar a que se complete la descarga
Reinicie el editor de motor Unreal cuando se le solicite
Habilitar el complemento UDCore
Edit -> Plugins .Plugin Downloader y habilitarlo.Clon el repositorio:
git clone https://github.com/UnrealDirective/UDCore.gitCopie el complemento a su proyecto Unreal Engine:
Plugins de su proyecto Unreal Engine.UDCore en el directorio Plugins .Habilitar el complemento:
Edit > Plugins .UDCore y habilitarlo.Aquí hay ejemplos sobre cómo puede usar algunas de las funciones en UDCore. Para obtener información más detallada, consulte la documentación.
Async Mover a la ubicación:
.cpp
# include " AI/UDAT_MoveToLocation.h "
# include " GameFramework/Controller.h "
# include " GameFramework/Actor.h "
void AExampleCharacter::MovePlayerToLocation ()
{
UWorld* World = GetWorld ();
AController* Controller = GetController ();
const FVector Destination ( 100 . 0f , 200 . 0f , 300 . 0f );
constexpr float AcceptanceRadius = 100 . 0f ;
constexpr bool bDebugLineTrace = false ;
UUDAT_MoveToLocation* MoveToLocationTask = UUDAT_MoveToLocation::MoveToLocation (
World,
Controller,
Destination,
AcceptanceRadius,
bDebugLineTrace);
if (MoveToLocationTask)
{
MoveToLocationTask-> Completed . AddDynamic ( this , &ThisClass::OnMoveToLocationCompleted);
}
}
void AExampleCharacter::OnMoveToLocationCompleted ( bool bSuccess)
{
// Called when UUDAT_MoveToLocation has completed with either a success or fail.
// Add your logic here.
}Contiene letras:
FString StringToCheck = " Example123 "
bool bHasLetters = UUDCoreFunctionLibrary::ContainsLetters(StringToCheck);Contiene números:
FString StringToCheck = " Example123 "
bool bHasNumbers = UUDCoreFunctionLibrary::ContainsNumbers(StringToCheck);Caracteres de filtro:
FString StringToCheck = " Example 123 !@# "
bool bFilterOutLetters = false ;
bool bFilterOutNumbers = false ;
bool bFilterOutSpecialCharacters = true ;
bool bFilterOutSpaces = true ;
// "Example 123 !@#" would become "Example123"
FString FilteredString = UUDCoreFunctionLibrary::FilterCharacters(
StringToCheck,
bFilterOutLetters,
bFilterOutNumbers,
bFilterOutSpecialCharacters,
bFilterOutSpaces);No está vacío:
FText TextToCheck = " Example123 "
bool bIsNotEmpty = UUDCoreFunctionLibrary::IsNotEmpty(TextToCheck);Actores de enfoque en la ventana gráfica:
TArray<AActor*> ActorsToFocus;
bool bFocusInstantly = true ;
// Populate ActorsToFocus with actors
UUDCoreEditorActorSubsystem::FocusActorsInViewport (ActorsToFocus, bFocusInstantly);Obtenga todas las clases de nivel:
TArray<UClass*> LevelClasses = UUDCoreEditorActorSubsystem::GetAllLevelClasses();Filtro de actores de malla estática:
TArray<AStaticMeshActor*> StaticMeshActors;
TArray<AActor*> ActorsToFilter;
// Populate ActorsToFilter with actors
UUDCoreEditorActorSubsystem::FilterStaticMeshActors (StaticMeshActors, ActorsToFilter);Filtrar actores por nombre:
TArray<AActor*> FilteredActors;
TArray<AActor*> ActorsToFilter;
FString ActorNameToFind = " ExampleName " ;
// Populate ActorsToFilter with actors
UUDCoreEditorActorSubsystem::FilterActorsByName (ActorsToFilter, FilteredActors, ActorNameToFind, EUDInclusivity::Include);Filtrar actores por clase:
TArray<AActor*> FilteredActors;
TArray<AActor*> ActorsToFilter;
// Populate ActorsToFilter with actors
UUDCoreEditorActorSubsystem::FilterActorsByClass (ActorsToFilter, FilteredActors, AStaticMeshActor::StaticClass(), EUDInclusivity::Include);Agradecemos contribuciones para mejorar la funcionalidad de UDCore. Siga estos pasos para contribuir:
git checkout -b feature/YourFeature ).git commit -am 'Add new feature' ).git push origin feature/YourFeature ).UDCore tiene licencia bajo la licencia MIT. Consulte el archivo de licencia para obtener más detalles.
Para obtener apoyo, visite nuestra página de problemas de GitHub.