Legacy/Curves, Create Custom Cubic Curves In Editor For Use In Code

Overview Author: () This wiki tutorial shows you how to get custom hand crafted curves into C++ ! This uses a combination of UE4 blueprints and UE4 c++ to enable you to create custom effects and ph...

Overview

Author: ()

This wiki tutorial shows you how to get custom hand crafted curves into C++ !

This uses a combination of UE4 blueprints and UE4 c++ to enable you to create custom effects and physics movement curves in pure C++ with the ease of UE4's visual curve editor!

Below is a picture of the final result!

I draw this curve in the editor and and can now use it in C++ !

700px

UE4 Curve Asset

700px

UE4 Curve Editor

700px

.h

UCLASS()
class AYourCharacter : public ACharacter
{
    GENERATED_UCLASS_BODY()

    /** Joy Curve */
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="JoyCurve")
    UCurveFloat* JoyCurve;    

    //Rama's Draw Point wrapper
    FORCEINLINE void DrawPoint 
    (
        const FVector& Loc,
        const float Size = 7,
        const FColor& Color = FColor::Red,
        const float Duration=-1.f
    ) const {
        DrawDebugPoint(
            GetWorld(), 
            Loc,  
            Size, //thickness
            Color, 
            false,
            Duration
        );
    } 

.cpp

//Tick
void AYourCharacter::Tick(float DeltaTime)
{
    Super::Tick(DeltaTime);
    //~~~~~~~~~~~~

    //~~~ Draw the Curve! ~~~

    if(JoyCurve)
    {
        for(float v = 0; v < 1; v+=0.01)
        {
            DrawPoint(GetActorLocation() + FVector(v * 128,0,128 * JoyCurve->GetFloatValue(v)) );
        }
    }
    else
    {
        //UE_LOG "Joy CURVE IS INVALID!!!!";
    }
}

Character BP

Compile the above addition to your Character class!

Now set the asset reference that you made in the code, in the editor in your character BP!

700px

Conclusion

Enjoy!

()

Hoodini Hoodini Bot Last updated on