60 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ControllerProfiles")
61 bool bUseSeperateHandOffsetTransforms;
64 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ControllerProfiles", meta = (editcondition = "bUseSeperateHandOffsetTransforms"))
81 ControllerName(NAME_None),
82 SocketOffsetTransform(FTransform::Identity),
83 bUseSeperateHandOffsetTransforms(false),
84 SocketOffsetTransformRightHand(FTransform::Identity)
88 ControllerName(ControllerName),
89 SocketOffsetTransform(FTransform::Identity),
90 bUseSeperateHandOffsetTransforms(false),
91 SocketOffsetTransformRightHand(FTransform::Identity)
95 ControllerName(ControllerNameIn),
96 SocketOffsetTransform(Offset),
97 bUseSeperateHandOffsetTransforms(false),
98 SocketOffsetTransformRightHand(FTransform::Identity)
101 FBPVRControllerProfile(FName ControllerNameIn,
const FTransform & Offset,
const FTransform & OffsetRight) :
102 ControllerName(ControllerNameIn),
103 SocketOffsetTransform(Offset),
104 bUseSeperateHandOffsetTransforms(true),
105 SocketOffsetTransformRightHand(OffsetRight)
110 return this->ControllerName ==
Other.ControllerName;
114UCLASS(config = Engine, defaultconfig)
124 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category =
"Misc")
131 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "ChaosPhysics")
132 float LinearDriveStiffnessScale;
135 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "ChaosPhysics")
136 float LinearDriveDampingScale;
139 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "ChaosPhysics")
140 float AngularDriveStiffnessScale;
143 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "ChaosPhysics")
144 float AngularDriveDampingScale;
152 bool bOnlyLerpHybridRotation;
156 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "HybridWithSweepLerp")
157 bool bHybridWithSweepUseDistanceBasedLerp;
160 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "HybridWithSweepLerp")
161 float HybridWithSweepLerpDuration;
163 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "GlobalLerpToHand")
164 bool bUseGlobalLerpToHand;
166 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "GlobalLerpToHand")
167 bool bSkipLerpToHandIfHeld;
170 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "GlobalLerpToHand")
171 float MinDistanceForLerp;
174 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "GlobalLerpToHand")
179 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "GlobalLerpToHand")
180 float MinSpeedForLerp;
184 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "GlobalLerpToHand")
185 float MaxSpeedForLerp;
187 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "GlobalLerpToHand")
191 UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category = "GlobalLerpToHand|Curve")
195 UPROPERTY(config, Category = "GlobalLerpToHand|Curve", EditAnywhere, meta = (editcondition = "bUseCurve"))
196 FRuntimeFloatCurve OptionalCurveToFollow;
199 UFUNCTION(BlueprintPure, Category = "GlobalLerpToHand")
200 static
bool IsGlobalLerpEnabled();
204 UPROPERTY(config, EditAnywhere, Category = "Physics")
208 UPROPERTY(config, EditAnywhere, Category = "MeleeSettings")
212 UPROPERTY(config, EditAnywhere, Category = "GunSettings")
216 UPROPERTY(config, EditAnywhere, Category = "GunSettings|Secondary Grip 1Euro Settings")
217 float OneEuroMinCutoff;
220 UPROPERTY(config, EditAnywhere, Category = "GunSettings|Secondary Grip 1Euro Settings")
221 float OneEuroCutoffSlope;
224 UPROPERTY(config, EditAnywhere, Category = "GunSettings|Secondary Grip 1Euro Settings")
225 float OneEuroDeltaCutoff;
228 UFUNCTION(BlueprintCallable, Category = "MeleeSettings")
232 UFUNCTION(BlueprintCallable, Category = "GunSettings|VirtualStock")
236 UFUNCTION(BlueprintCallable, Category = "GunSettings|VirtualStock")
242 FVRControllerProfileChangedEvent OnControllerProfileChangedEvent;
245 UPROPERTY(config, EditAnywhere, Category = "ControllerProfiles")
249 FName CurrentControllerProfileInUse;
250 FTransform CurrentControllerProfileTransform;
251 bool bUseSeperateHandTransforms;
252 FTransform CurrentControllerProfileTransformRight;
257 UFUNCTION(BlueprintPure, Category = "VRControllerProfiles")
258 static FTransform AdjustTransformByControllerProfile(FName OptionalControllerProfileName, const FTransform& SocketTransform,
bool bIsRightHand = false);
263 UFUNCTION(BlueprintPure, Category = "VRControllerProfiles")
264 static FTransform AdjustTransformByGivenControllerProfile(UPARAM(ref)
FBPVRControllerProfile& ControllerProfile, const FTransform& SocketTransform,
bool bIsRightHand = false);
267 UFUNCTION(BlueprintCallable, Category = "VRControllerProfiles")
271 UFUNCTION(BlueprintCallable, Category = "VRControllerProfiles|Operations")
272 static
void OverwriteControllerProfile(UPARAM(ref)
FBPVRControllerProfile& OverwritingProfile,
bool bSaveOutToConfig = true);
275 UFUNCTION(BlueprintCallable, Category = "VRControllerProfiles|Operations")
276 static
void AddControllerProfile(UPARAM(ref)
FBPVRControllerProfile& NewProfile,
bool bSaveOutToConfig = true);
279 UFUNCTION(BlueprintCallable, Category = "VRControllerProfiles|Operations")
280 static
void DeleteControllerProfile(FName ControllerProfileName,
bool bSaveOutToConfig = true);
283 UFUNCTION(BlueprintCallable, Category = "VRControllerProfiles|Operations")
284 static
void SaveControllerProfiles();
288 UFUNCTION(BlueprintCallable, Category = "VRControllerProfiles")
289 static FName GetCurrentProfileName(
bool& bHadLoadedProfile);
292 UFUNCTION(BlueprintCallable, Category = "VRControllerProfiles")
296 UFUNCTION(BlueprintCallable, Category = "VRControllerProfiles")
306 UFUNCTION(BlueprintCallable, Category = "VRControllerProfiles")
307 static
bool LoadControllerProfileByName(FName ControllerProfileName,
bool bSetAsCurrentProfile = true);
317 UFUNCTION(BlueprintCallable, Category = "VRControllerProfiles")
318 static
bool LoadControllerProfile(const
FBPVRControllerProfile& ControllerProfile,
bool bSetAsCurrentProfile = true);
320 virtual
void PostInitProperties() override;