115 lines
3.4 KiB
C++
115 lines
3.4 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "Containers/Array.h"
|
|
#include "Containers/UnrealString.h"
|
|
#include "CoreMinimal.h"
|
|
#include "HAL/Platform.h"
|
|
#include "UObject/Object.h"
|
|
#include "UObject/ObjectMacros.h"
|
|
#include "UObject/UObjectGlobals.h"
|
|
|
|
#include "MovieSceneToolsProjectSettings.generated.h"
|
|
|
|
UENUM()
|
|
enum class EMovieSceneToolsPropertyTrackType
|
|
{
|
|
FloatTrack,
|
|
DoubleTrack
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMovieSceneToolsPropertyTrackSettings
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
/** Optional ActorComponent tag (when keying a component property). */
|
|
UPROPERTY(config, EditAnywhere, Category=PropertyTrack)
|
|
FString ComponentName;
|
|
|
|
/** Name to the keyed property within the Actor or ActorComponent. */
|
|
UPROPERTY(config, EditAnywhere, Category=PropertyTrack)
|
|
FString PropertyName;
|
|
};
|
|
|
|
USTRUCT()
|
|
struct FMovieSceneToolsFbxSettings
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
/** The name of the fbx property */
|
|
UPROPERTY(config, EditAnywhere, Category=TrackSettings)
|
|
FString FbxPropertyName;
|
|
|
|
/** The property track setting to map to */
|
|
UPROPERTY(config, EditAnywhere, Category=TrackSettings)
|
|
FMovieSceneToolsPropertyTrackSettings PropertyPath;
|
|
|
|
/** Type of property track to map to */
|
|
UPROPERTY(config, EditAnywhere, Category=TrackSettings)
|
|
EMovieSceneToolsPropertyTrackType PropertyType = EMovieSceneToolsPropertyTrackType::FloatTrack;
|
|
};
|
|
|
|
// Settings for the level sequences
|
|
UCLASS(config=EditorPerProjectUserSettings)
|
|
class MOVIESCENETOOLS_API UMovieSceneToolsProjectSettings : public UObject
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
UMovieSceneToolsProjectSettings();
|
|
|
|
/** The default start time for new level sequences, in seconds. */
|
|
UPROPERTY(config, EditAnywhere, Category=Timeline, meta=(Units=s))
|
|
float DefaultStartTime;
|
|
|
|
/** The default duration for new level sequences in seconds. */
|
|
UPROPERTY(config, EditAnywhere, Category=Timeline, meta=(ClampMin=0.00001f, Units=s))
|
|
float DefaultDuration;
|
|
|
|
/** The default directory for the subsequences. */
|
|
UPROPERTY(config, EditAnywhere, Category=Shots)
|
|
FString SubsequenceDirectory;
|
|
|
|
/** The default directory for the shots. */
|
|
UPROPERTY(config, EditAnywhere, Category=Shots)
|
|
FString ShotDirectory;
|
|
|
|
/** The default prefix for subsequence names. */
|
|
UPROPERTY(config, EditAnywhere, Category=Shots)
|
|
FString SubsequencePrefix;
|
|
|
|
/** The default prefix for shot names. */
|
|
UPROPERTY(config, EditAnywhere, Category=Shots)
|
|
FString ShotPrefix;
|
|
|
|
/** The first shot number. */
|
|
UPROPERTY(config, EditAnywhere, Category=Shots, meta = (UIMin = "1", UIMax = "100"))
|
|
uint32 FirstShotNumber;
|
|
|
|
/** The default shot increment. */
|
|
UPROPERTY(config, EditAnywhere, Category=Shots, meta = (UIMin = "1", UIMax = "100"))
|
|
uint32 ShotIncrement;
|
|
|
|
/** The number of digits for the shot number. */
|
|
UPROPERTY(config, EditAnywhere, Category=Shots, meta = (UIMin = "1", UIMax = "10"))
|
|
uint32 ShotNumDigits;
|
|
|
|
/** The number of digits for the take number. */
|
|
UPROPERTY(config, EditAnywhere, Category=Shots, meta = (UIMin = "1", UIMax = "10"))
|
|
uint32 TakeNumDigits;
|
|
|
|
/** The first take number. */
|
|
UPROPERTY(config, EditAnywhere, Category=Shots, meta = (UIMin = "1", UIMax = "10"))
|
|
uint32 FirstTakeNumber;
|
|
|
|
/** Character separator between the shot number and the take number. */
|
|
UPROPERTY(config, EditAnywhere, Category=Shots)
|
|
FString TakeSeparator;
|
|
|
|
/** Mapping between fbx property name and property track path */
|
|
UPROPERTY(config, EditAnywhere, Category=TrackSettings)
|
|
TArray<FMovieSceneToolsFbxSettings> FbxSettings;
|
|
};
|