2019-12-26 15:33:43 -05:00
// Copyright Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
# pragma once
2014-06-26 03:00:24 -04:00
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "CoreMinimal.h"
# include "UObject/ObjectMacros.h"
# include "Misc/Guid.h"
# include "Animation/AnimTypes.h"
2014-11-12 04:58:53 -05:00
# include "Animation/AnimStateMachineTypes.h"
2020-10-21 16:54:58 -04:00
# include "Animation/BlendProfile.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "AnimStateNodeBase.h"
2014-06-26 03:00:24 -04:00
2014-03-14 14:13:41 -04:00
# include "AnimStateTransitionNode.generated.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
class UCurveFloat ;
class UEdGraph ;
class UEdGraphPin ;
2014-06-26 03:00:24 -04:00
UCLASS ( MinimalAPI , config = Editor )
2014-03-14 14:13:41 -04:00
class UAnimStateTransitionNode : public UAnimStateNodeBase
{
2015-03-17 05:38:32 -04:00
GENERATED_UCLASS_BODY ( )
2014-03-14 14:13:41 -04:00
// The transition logic graph for this transition (returning a boolean)
UPROPERTY ( )
2021-01-27 17:40:25 -04:00
TObjectPtr < class UEdGraph > BoundGraph ;
2014-03-14 14:13:41 -04:00
2015-02-21 20:06:12 -05:00
// The animation graph for this transition if it uses custom blending (returning a pose)
2014-03-14 14:13:41 -04:00
UPROPERTY ( )
2021-01-27 17:40:25 -04:00
TObjectPtr < class UEdGraph > CustomTransitionGraph ;
2014-03-14 14:13:41 -04:00
// The priority order of this transition. If multiple transitions out of a state go
// true at the same time, the one with the smallest priority order will take precedent
UPROPERTY ( EditAnywhere , Category = Transition )
int32 PriorityOrder ;
// The duration to cross-fade for
2019-10-16 18:28:21 -04:00
UPROPERTY ( EditAnywhere , Config , Category = Transition , Meta = ( ClampMin = " 0.0 " ) )
2014-03-14 14:13:41 -04:00
float CrossfadeDuration ;
// The type of blending to use in the crossfade
2015-07-01 09:45:27 -04:00
UPROPERTY ( )
TEnumAsByte < ETransitionBlendMode : : Type > CrossfadeMode_DEPRECATED ;
UPROPERTY ( EditAnywhere , Category = Transition )
EAlphaBlendOption BlendMode ;
UPROPERTY ( EditAnywhere , Category = Transition )
2021-01-27 17:40:25 -04:00
TObjectPtr < UCurveFloat > CustomBlendCurve ;
2014-03-14 14:13:41 -04:00
2015-09-02 10:20:31 -04:00
// The blend profile to use to evaluate this transition per-bone
2020-11-20 15:02:56 -04:00
UPROPERTY ( EditAnywhere , Category = Transition , meta = ( UseAsBlendProfile = true ) )
2021-01-27 17:40:25 -04:00
TObjectPtr < UBlendProfile > BlendProfile ;
2015-09-02 10:20:31 -04:00
2015-11-09 19:35:15 -05:00
// Try setting the rule automatically based on most relevant player node's remaining time and the CrossfadeDuration of the transition, ignoring the internal time
2015-02-21 20:06:12 -05:00
UPROPERTY ( EditAnywhere , Category = Transition )
bool bAutomaticRuleBasedOnSequencePlayerInState ;
2020-07-06 18:58:26 -04:00
// If SyncGroupName is specified, Transition will only be taken if the SyncGroup has valid markers (other transition rules still apply in addition to that).
UPROPERTY ( EditAnywhere , Category = Transition )
FName SyncGroupNameToRequireValidMarkersRule ;
2014-03-14 14:13:41 -04:00
// What transition logic to use
UPROPERTY ( EditAnywhere , BlueprintReadWrite , Category = Transition )
TEnumAsByte < ETransitionLogicType : : Type > LogicType ;
UPROPERTY ( EditAnywhere , Category = Events )
FAnimNotifyEvent TransitionStart ;
UPROPERTY ( EditAnywhere , Category = Events )
FAnimNotifyEvent TransitionEnd ;
UPROPERTY ( EditAnywhere , Category = Events )
FAnimNotifyEvent TransitionInterrupt ;
/** This transition can go both directions */
UPROPERTY ( EditAnywhere , Category = Transition )
bool Bidirectional ;
/** The rules for this transition may be shared with other transition nodes */
UPROPERTY ( )
bool bSharedRules ;
/** The cross-fade settings of this node may be shared */
UPROPERTY ( )
bool bSharedCrossfade ;
/** What we call this transition if we are shared ('Transition X to Y' can't be used since its used in multiple places) */
UPROPERTY ( )
FString SharedRulesName ;
/** Shared rules guid useful when copying between different state machines */
UPROPERTY ( )
FGuid SharedRulesGuid ;
/** Color we draw in the editor as if we are shared */
UPROPERTY ( )
FLinearColor SharedColor ;
UPROPERTY ( )
FString SharedCrossfadeName ;
UPROPERTY ( )
FGuid SharedCrossfadeGuid ;
UPROPERTY ( )
int32 SharedCrossfadeIdx ;
2015-09-14 09:25:39 -04:00
//~ Begin UObject Interface
2014-06-13 06:14:46 -04:00
virtual void PostEditChangeProperty ( struct FPropertyChangedEvent & PropertyChangedEvent ) override ;
virtual void PostLoad ( ) override ;
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3683440)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3624599 by Thomas.Sarkanen
Added the ability to rename shapes in the Physics Asset Editor
Added "CanRenameItem" to skeleton tree item API so we are not limited to hard-coded bones/sockets
Tweaked physics shape item widget to use editable text in the same vein as virtual bones etc.
#jira UEAP-341 - Ability to name collision shapes
Change 3624765 by Benn.Gallagher
Fixed bad blend profile references
#jira UE-46227
Change 3624773 by Danny.Bouimad
Content fix for #Jira UE-49191
Change 3625007 by Thomas.Sarkanen
Fixed monolithinc game builds
Moved new Name member to WITH_EDITORONLY_DATA, as the generated code still picks it up using WITH_EDITOR
Change 3625659 by Ori.Cohen
Make sure that components being unwelded are always unwelded even if they are about to be deleted. This is needed for fixing dangling pointers.
Change 3625850 by Thomas.Sarkanen
Fix for crash in physics asset editor after garbage collection
Move bone proxies from rooting to FGCObject
Change 3625966 by Lina.Halper
Instead of PinShownByDefault, changed to PinHiddenByDefault
https://github.com/EpicGames/UnrealEngine/pull/3964
#3964
#jira: UE-49168
Change 3626020 by Martin.Wilson
Protect against checkSlow when using post process instance without a main instance
#jira UE-49275
Change 3627178 by Aaron.McLeran
#jira UE-49322 Fixing background muting and preview sound
Change 3627179 by Aaron.McLeran
Optimizing active sound by not processing active sounds if they are out of range.
Allowing virtualized sounds to be exempt.
Licensee says they saw a 6x improvement on active sound calculations in audio thread with this change.
Change 3627187 by Aaron.McLeran
Allowing overriding the sample rate of synth components in C++.
Useful for cases where synth component is being used to output media auido or VOIP.
Change 3627563 by Thomas.Sarkanen
Tweaked tooltip so it isnt the same as other menus
#jira UE-47817 - Two Viewport tooltips are the same in Physics Asset Editor
Change 3627580 by James.Golding
PR #3974: UE-49200: Fixed typo in Physics Handle (Contributed by carloshellin)
#jira UE-49264
Change 3627581 by James.Golding
Reduce output verbosity during cooking
#jira UE-47126
Change 3627584 by James.Golding
PR #3954: Upgrade to V-HACD version 2.3 (Contributed by jratcliff63367)
Auto-convex generation now exposes more useful 'max hulls' instead of 'accuracy'
Auto-generation of convex collision is now done async in StaticMesh Editor
#jira UE-49027
Change 3627599 by Martin.Wilson
Make sure raw data debug bone rendering in the animation editors actually shows raw data in the case of additive track layers (used to show source instead)
Change 3627605 by James.Golding
Forgot to remove Box2D from TargetRules.cs (see CL 3555437)
Change 3627627 by Martin.Wilson
Change raw data evaluation so that virtual bone positions are built before interpolation is carried out
#jira UE-42659
Change 3627663 by Martin.Wilson
Fix typo
Change 3627730 by Martin.Wilson
Allow notifies to be trigger on follower animations in a sync group
#jira UE-46770
Change 3627852 by Thomas.Sarkanen
Add warning to "Use Async Scene" property when shown in the physics asset editor, if the project doesn't currently use an async scene.
#jira UE-47964 User is not told to Enable Async Scene in Project Settings when enabling it on a physics asset
Change 3627864 by Lina.Halper
Fix issue where "reset to default" on search box for bone doesn't work
#jira: UE-48874
Change 3627946 by Thomas.Sarkanen
Prevent undo/redo breaking when moving both a constraint and a body at the same time
#jira UE-49344 - Physics Asset Editor: Moving both a body and a constraint causes undo.redo to break for the whole editor
Change 3628091 by Thomas.Sarkanen
Fix dangling lines, poor search focus and graph not refreshing when making new constraints
Found by Nick D in Main.
#jira UE-47812 - Physics Asset Graph wires sometimes get stuck to the window not attached to a node
Change 3628107 by Lina.Halper
Fixed issue where Blendspace 1D can't scale due to the property not exposed
https://udn.unrealengine.com/questions/389958/input-interpolationaxis-to-scale-in-1d-blendspace.html
Change 3628108 by Arciel.Rekman
Update Linux VHACD.
- Also removed arm 32-bit version (the library is editor-only).
Change 3628437 by Michael.Trepka
Updated Mac VHACD libraries and Xcode project
Change 3628667 by Lina.Halper
- Fixed issue of showing combo box multiple times
- Fixed issue of inconsistent combo box width
- Fixed text of pick bone to "select" for more general instruction
- Fixed issue with struct displaying children when pin is enabled
#jira: UE-49295, UE-46496, UE-47427
Change 3629744 by Aaron.McLeran
#jira UE-49383 Fix for source bus loading in sound waves and playing without audio mixer
Change 3629846 by Aaron.McLeran
#jira UE-49390 Required API change to spatialization interface for google
Change 3630322 by Thomas.Sarkanen
Fix right-click not displaying context menu for constraints correctly
Selection logic was lightly broken
#jira UE-49399 - Physics Asset Editor: Right-clicking constraints in the viewport does not bring up the context menu
Change 3630463 by Martin.Wilson
Remove accidently submitted debug code
Change 3630523 by Jurre.deBaare
Paint threshold and fill value and can be set to negative numbers
#fix Added metadata and default values for cloth fill tool
#jira UE-48352
Change 3632009 by Aaron.McLeran
#jira UE-49470 Fix for iOS master volume not getting set
Recent changes to master volume resulted in platforms which don't have a headroom value defined will not get their master volume updated. IOS doesn't have a headroom value set so the master volume is never set and the fade in is never triggered.
Change 3632699 by Thomas.Sarkanen
Fix crash undo-ing primitive regeneration while simullation is in progress & stopping simulation
#jira UE-49283 - Editor crashes if you regenerate and manipulate a phys body, simulate, undo and then exit simulation
Change 3633336 by James.Golding
PR #3978: effect is the noun. affect is the verb (Contributed by cdietschrun)
#jira UE-49324
Change 3634665 by Aaron.McLeran
#jira UE-49538 Fixing param interpolation
Change 3634922 by James.Golding
Static analysis fix (PhysXCookHelper.cpp)
Change 3634926 by James.Golding
Fix HTML5 build (which builds with PhysX, but without APEX)
Change 3636005 by Thomas.Sarkanen
Constraint setup shortcuts are now undo-able
Also fixed body-body collision as you couldnt undo this either.
Added transaction and calls to Modify().
#jira UE-49484 - Shortcut for Swing1Motion (2, and 3) do not change physics asset state dirty.
Change 3636018 by Thomas.Sarkanen
Added back constraint shortcut to PhAT toolbar
#jira UE-48859 - Constraint quick set buttons are missing in the new Physics Asset tool
Change 3636086 by Martin.Wilson
Fix for enabling Live Link plugin in Orion
Change 3638367 by Thomas.Sarkanen
Connection reporting is now more user-freindly in the physics asset editor graph view
Expanded UEdGraphSchema API to allow for more specific feedback when dragging over a graph.
Implemented node & pin feedback for physics asset graphs.
Also fixed alignment of icon for drag feedback as it stretches with multi-line text.
#jira UE-47984 - No node created when dragging off of Constraint node in Physics Asset Graph
Change 3640144 by Aaron.McLeran
#jira UE-49409 Attenuation focus audio tests on TM-AnimPhys on Cooked mac doesn't play any audio
Fixing the recent optimization to not play active sounds in range. Code attempts to check if there's any possibility for a sound to have it's distance affected before trying to prune by max distance.
Change 3640276 by Aaron.McLeran
#jira UE-49606 Project does not cook with actors containing ModularSynth component
Change 3640313 by Aaron.McLeran
#jira UE-49675 Fixing shutdown of audio mixer
- Final queued commands aren't getting pumped during audio mixer shutdown, added a new interface to get a final shutdown callback back to audio mixer device. We can do any cleanup or final shutdown tasks in this callback. Added a call to pump the source manager one last time. For cases of audio mixer running without audio plugins, this won't have much of an effect, but is a good thing to do anyway. For the case of audio plugins, who are depending on paired init and release calls, this is valueable to avoid memory leaks between subsequent PIE sessions.
Change 3640941 by Martin.Wilson
Add editor only animation loading debug data in the hope of diagnosing rare loading crash
#jira UE-49335
Change 3641976 by Ethan.Geller
#jira UE-49675 ensure that we pump both command queues
Change 3642613 by James.Golding
Add NoPhysX sample, for CIS testing compilation without PhysX
Change 3644001 by Aaron.McLeran
#jira UE-49805 looping sounds are, in rare cases, extremely loud
Change 3644124 by Aaron.McLeran
#jira UE-49787 [CrashReport] Mac crash - UE4Editor-AudioEditor.dylib!FSoundCueEditor::DeleteInput()
Adding ensure on returned ptr to avoid crash but keep getting some logging.
Change 3644157 by Aaron.McLeran
Fixing build error
Change 3644163 by Aaron.McLeran
Fixing build error (for real)
Change 3650331 by Aaron.McLeran
#jira UE-49994 SoundMix Fade Time not fading audio properly
Making sure we properly set passive mix modifier states.
Change 3652648 by Aaron.McLeran
#jira UE-49994 SoundMix Fade Time not fading audio properly
Change 3652995 by Aaron.McLeran
#jira UE-50053 Reduce log level of audio mixer debug category
Turning down the log spam level of the underrun category by switching to debug category and reducing level of the debug category.
Change 3653461 by James.Golding
V-HACD updates from JohnR @ NVIDIA (adding new functions for future use)
Change 3654056 by Aaron.McLeran
Fixing an issue with caching node states for editor builds and adding optimization to cache if we should apply interior volumes.
Change 3654579 by Aaron.McLeran
Allow sound submixes and sound classes to be a blueprint type
Made all properties of sound classes BlueprintReadOnly.
Change 3662519 by James.Golding
Merge CL 3575543 from //Fortnite/Main to Dev-AnimPhys
Don't call into UpdateKinematicBones if there are no physx bodies
Change 3664976 by Aaron.McLeran
#jira UE-50175 New Tap Delay Submix Pan parameter does not work in Surround Sound
Change 3665751 by Aaron.McLeran
Adding a simple panner effect
Change 3665851 by Aaron.McLeran
Fixing naming convention for new panner source effect
Change 3666894 by Thomas.Sarkanen
Bone modifications via transform type-in can now be undone
Added RF_Transactional & called Modify()
#jira UE-47862 - Undoing Bone transformations in Physics Asset Editor does not work
Change 3666919 by Lina.Halper
Fixed equal operator for bonereference to work when not initialized
Change 3668850 by Thomas.Sarkanen
Skeleton tree now no longer allows selection of filtered items
This fixes an issue where filtered-out constraints were being deselected after a select all operation because the tree thought it had no selection (all constraints were filtered).
#jira UE-50200 - Constraint Details do not populate in the Details Panel if the Skeleton tree does not include Constraints
Change 3669028 by James.Golding
Fix CIS error after merge-down
Change 3669053 by James.Golding
Fix bad merge in SynthComponent.cpp
Change 3669273 by Lina.Halper
- delete all tracks option
- allow to opt out on bone track importing
- fixed pose preview for fullbody to select weights that has pose from asset.
Change 3671396 by James.Golding
Fix FSkelMeshComponentLODInfo cleaning up all override resources when it should only have been cleaning up one of them
Change 3671701 by Martin.Wilson
Maya Live Link plugin
- Added UI to Maya
- Display currently streamed subjects
- Allow add and removal of streamed subjects
- Display connection status to editor
- Stream active camera as EditorActiveCamera
- Refactored entire plugin so that streaming has a manager and streaming objects / interfaces
- Reworked editor update hook so that streaming is more robust and facial rigs / leaf bones now correctly update.
Change 3672170 by Lina.Halper
Remove track support for Animation Blueprint Library
Change 3675921 by Ethan.Geller
Rollback invalidated check from copy down
Change 3677606 by Martin.Wilson
Add live link driven component - allows an actor to take its rotation and translation from a live link subject
Change 3678594 by Lina.Halper
Changed API name for clarification
Change 3680913 by Ethan.Geller
#jira UE-50750 fix stuttering on AudioMixer on MacOS
Change 3681127 by Ethan.Geller
#jira UE-50720 Fix invalidated audio clock time when audio device is unplugged on legacy audio engine
Change 3682729 by Ethan.Geller
#jira UE-50832 Fix for null concurrency settings when removing active sounds from a concurrency group. [Dev-AnimPhys]
Change 3633185 by James.Golding
Fix engine not compiling when WITH_PHYSX == 0
PR #3691: 4.16_WITH_PHYSX_optional (Contributed by JacobNelsonGames)
PR #3695: 4.16_PhysXVehicles_WITH_PHYSX_optional (Contributed by JacobNelsonGames)
Change 3637031 by Ethan.Geller
#jira UE-49605 Platform Headroom fix for non-float devices.
Change 3642598 by James.Golding
Change bCompileNvCloth to use same pattern as bCompileAPEX (on by default, disabled on some platforms). This allows game projects to disable it.
Change 3645224 by Martin.Wilson
Fix for rare notify crash.
For speed purposes Notify Queue caches a pointer to the notify, this is memory that is owned by the animation and if it gets garbage collected we have a pointer to invalid memory.
This change caches a pointer to the owner of the notify memory to so we can track its validity.
#jira UE-44869
Change 3668926 by James.Golding
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3668712
Change 3674824 by James.Golding
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3674368
[CL 3683447 by Thomas Sarkanen in Main branch]
2017-10-06 04:43:18 -04:00
virtual void Serialize ( FArchive & Ar ) override ;
2015-09-14 09:25:39 -04:00
//~ End UObject Interface
2014-03-14 14:13:41 -04:00
2015-09-14 09:25:39 -04:00
//~ Begin UEdGraphNode Interface
2014-06-13 06:14:46 -04:00
virtual void AllocateDefaultPins ( ) override ;
virtual FText GetNodeTitle ( ENodeTitleType : : Type TitleType ) const override ;
2014-09-03 18:14:09 -04:00
virtual FText GetTooltipText ( ) const override ;
2014-06-13 06:14:46 -04:00
virtual FLinearColor GetNodeTitleColor ( ) const override ;
virtual void PinConnectionListChanged ( UEdGraphPin * Pin ) override ;
2015-04-01 07:20:55 -04:00
virtual bool CanDuplicateNode ( ) const override { return true ; }
2014-06-13 06:14:46 -04:00
virtual void PrepareForCopying ( ) override ;
virtual void PostPasteNode ( ) override ;
virtual void PostPlacedNewNode ( ) override ;
virtual void DestroyNode ( ) override ;
virtual void ValidateNodeDuringCompilation ( class FCompilerResultsLog & MessageLog ) const override ;
2021-05-05 13:03:32 -04:00
virtual UObject * GetJumpTargetForDoubleClick ( ) const override ;
2021-01-25 08:43:19 -04:00
virtual TArray < UEdGraph * > GetSubGraphs ( ) const override ;
2015-09-14 09:25:39 -04:00
//~ End UEdGraphNode Interface
2014-03-14 14:13:41 -04:00
2015-09-14 09:25:39 -04:00
//~ Begin UAnimStateNodeBase Interface
2014-06-13 06:14:46 -04:00
virtual UEdGraph * GetBoundGraph ( ) const override { return BoundGraph ; }
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2868852
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2821607 on 2016/01/08 by Mieszko.Zielinski
Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4
This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead.
#rb Lukasz.Furman
#codereview John.Abercrombie
Change 2828384 on 2016/01/14 by Mieszko.Zielinski
Back out of visual log refactor done as part of CL#2821607 #UE4
Change 2855722 on 2016/02/04 by Zak.Middleton
#ue4 - Expose PrimitiveComponent GetCollisionEnabled(), IsCollisionEnabled(), IsQueryCollisionEnabled(), IsPhysicsCollisionEnabled() functions to blueprints.
#rb Daniel.Broder, Ori.Cohen
#codereview Bob.Tellez
#jira UE-26411
Change 2855737 on 2016/02/04 by James.Golding
Add test AssetUserData C++ class to QAGame
Change 2855739 on 2016/02/04 by James.Golding
PR #1858 : Add abstract and editinlinenew to AssetUserData class, so derived classes can be added to assets via details panel
https://github.com/EpicGames/UnrealEngine/pull/1858
#github 1858
#jira UE-24494
#rb thomas.sarkanen
Change 2855842 on 2016/02/04 by James.Golding
UE-23968 : Add clamping to Friction, Restitution, Density and RaiseMassToPower properties of PhysicalMaterial
#codereview ori.cohen
#rb thomas.sarkanen
Change 2855843 on 2016/02/04 by James.Golding
PR #1984 : Add 'AssetUserData' support to AnimationAsset/Texture
https://github.com/EpicGames/UnrealEngine/pull/1984
#github 1984
#jira UE-25913
#rb thomas.sarkanen
Change 2855844 on 2016/02/04 by James.Golding
UE-23176 Fix incorrect clamping in GenerateKDopAsSimpleCollision() which could cause degenerate hulls
Also don't 'nudge' kdops if there are other primitives present, will offset from mesh we were fitting around
#rb thomas.sarkanen
Change 2855850 on 2016/02/04 by Benn.Gallagher
Update required LOD bones when associating a cloth chunk that uses bones that aren't weighted to that LOD
#rb Martin.Wilson
Change 2856409 on 2016/02/04 by Zak.Middleton
#ue4 - Change LogSpawn warnings to normal logs for cases that are common and valid during gameplay (failed due to collision at the target location, or failed because it is destroyed in the process of spawning, ie projectile spawned in a target).
#codereview Jeff.Farris
Change 2857018 on 2016/02/05 by Benn.Gallagher
Fixes for various anim graph related subgraph issues/crashes
#rb Ben.Cosh
Change 2857193 on 2016/02/05 by Lukasz.Furman
extended crowd agent interface to handle avoidance groups
#ue4 UE-24823
#1896
Change 2857200 on 2016/02/05 by Lukasz.Furman
fixed memory leak in CrowdManager
#ue UE-26516
#2026
#codereview Mieszko.Zielinski
Change 2857417 on 2016/02/05 by Lina.Halper
Add keyword for animation functions
Change 2858854 on 2016/02/08 by Benn.Gallagher
Fixed pose evaluator customizations being processed at the wrong time which caused properties to always be re-added even if removed from the details panel, causing duplicated entries.
#jira UE-8421
#rb Lina.Halper
Change 2858855 on 2016/02/08 by Benn.Gallagher
Fixed blendspace players only reporting normalized time when using a time getter in an anim graph transition.
#rb Lina.Halper
Change 2859159 on 2016/02/08 by Aaron.McLeran
UE-25586 Fix for reporting audio memory usage
- Realtime decompressed sounds that have CachedRealtimeFirstBuffers need to report the compressed asset size
Change 2859192 on 2016/02/08 by Laurent.Delayen
Removed check disallowing cooked additive animations from using AnimationRelative and AnimationScale retargeting modes (on the root bone or editor).
Skip AnimationRelative retargeting for baked additive animations since it gets cancelled out during the additive creation process.
#rb martin.wilson
#codereview lina.halper
Change 2859238 on 2016/02/08 by Lina.Halper
Git pull request #1895
Change 2859239 on 2016/02/08 by Lina.Halper
Git pull request #1813
Change 2859453 on 2016/02/08 by Aaron.McLeran
[CL 2868856 by Marc Audy in Main branch]
2016-02-16 13:35:21 -05:00
virtual void ClearBoundGraph ( ) override { BoundGraph = nullptr ; }
2014-06-13 06:14:46 -04:00
virtual UEdGraphPin * GetInputPin ( ) const override { return Pins [ 0 ] ; }
virtual UEdGraphPin * GetOutputPin ( ) const override { return Pins [ 1 ] ; }
2015-09-14 09:25:39 -04:00
//~ End UAnimStateNodeBase Interface
2014-03-14 14:13:41 -04:00
// @return the name of this state
2015-04-01 07:20:55 -04:00
ANIMGRAPH_API FString GetStateName ( ) const override ;
2014-03-14 14:13:41 -04:00
ANIMGRAPH_API UAnimStateNodeBase * GetPreviousState ( ) const ;
ANIMGRAPH_API UAnimStateNodeBase * GetNextState ( ) const ;
ANIMGRAPH_API void CreateConnections ( UAnimStateNodeBase * PreviousState , UAnimStateNodeBase * NextState ) ;
2021-01-25 08:43:19 -04:00
ANIMGRAPH_API bool IsBoundGraphShared ( ) const ;
2014-03-14 14:13:41 -04:00
ANIMGRAPH_API void MakeRulesShareable ( FString ShareName ) ;
ANIMGRAPH_API void MakeCrossfadeShareable ( FString ShareName ) ;
ANIMGRAPH_API void UnshareRules ( ) ;
ANIMGRAPH_API void UnshareCrossade ( ) ;
ANIMGRAPH_API void UseSharedRules ( const UAnimStateTransitionNode * Node ) ;
ANIMGRAPH_API void UseSharedCrossfade ( const UAnimStateTransitionNode * Node ) ;
void CopyCrossfadeSettings ( const UAnimStateTransitionNode * SrcNode ) ;
void PropagateCrossfadeSettings ( ) ;
ANIMGRAPH_API bool IsReverseTrans ( const UAnimStateNodeBase * Node ) ;
protected :
void CreateBoundGraph ( ) ;
void CreateCustomTransitionGraph ( ) ;
public :
UEdGraph * GetCustomTransitionGraph ( ) const { return CustomTransitionGraph ; }
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3683440)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3624599 by Thomas.Sarkanen
Added the ability to rename shapes in the Physics Asset Editor
Added "CanRenameItem" to skeleton tree item API so we are not limited to hard-coded bones/sockets
Tweaked physics shape item widget to use editable text in the same vein as virtual bones etc.
#jira UEAP-341 - Ability to name collision shapes
Change 3624765 by Benn.Gallagher
Fixed bad blend profile references
#jira UE-46227
Change 3624773 by Danny.Bouimad
Content fix for #Jira UE-49191
Change 3625007 by Thomas.Sarkanen
Fixed monolithinc game builds
Moved new Name member to WITH_EDITORONLY_DATA, as the generated code still picks it up using WITH_EDITOR
Change 3625659 by Ori.Cohen
Make sure that components being unwelded are always unwelded even if they are about to be deleted. This is needed for fixing dangling pointers.
Change 3625850 by Thomas.Sarkanen
Fix for crash in physics asset editor after garbage collection
Move bone proxies from rooting to FGCObject
Change 3625966 by Lina.Halper
Instead of PinShownByDefault, changed to PinHiddenByDefault
https://github.com/EpicGames/UnrealEngine/pull/3964
#3964
#jira: UE-49168
Change 3626020 by Martin.Wilson
Protect against checkSlow when using post process instance without a main instance
#jira UE-49275
Change 3627178 by Aaron.McLeran
#jira UE-49322 Fixing background muting and preview sound
Change 3627179 by Aaron.McLeran
Optimizing active sound by not processing active sounds if they are out of range.
Allowing virtualized sounds to be exempt.
Licensee says they saw a 6x improvement on active sound calculations in audio thread with this change.
Change 3627187 by Aaron.McLeran
Allowing overriding the sample rate of synth components in C++.
Useful for cases where synth component is being used to output media auido or VOIP.
Change 3627563 by Thomas.Sarkanen
Tweaked tooltip so it isnt the same as other menus
#jira UE-47817 - Two Viewport tooltips are the same in Physics Asset Editor
Change 3627580 by James.Golding
PR #3974: UE-49200: Fixed typo in Physics Handle (Contributed by carloshellin)
#jira UE-49264
Change 3627581 by James.Golding
Reduce output verbosity during cooking
#jira UE-47126
Change 3627584 by James.Golding
PR #3954: Upgrade to V-HACD version 2.3 (Contributed by jratcliff63367)
Auto-convex generation now exposes more useful 'max hulls' instead of 'accuracy'
Auto-generation of convex collision is now done async in StaticMesh Editor
#jira UE-49027
Change 3627599 by Martin.Wilson
Make sure raw data debug bone rendering in the animation editors actually shows raw data in the case of additive track layers (used to show source instead)
Change 3627605 by James.Golding
Forgot to remove Box2D from TargetRules.cs (see CL 3555437)
Change 3627627 by Martin.Wilson
Change raw data evaluation so that virtual bone positions are built before interpolation is carried out
#jira UE-42659
Change 3627663 by Martin.Wilson
Fix typo
Change 3627730 by Martin.Wilson
Allow notifies to be trigger on follower animations in a sync group
#jira UE-46770
Change 3627852 by Thomas.Sarkanen
Add warning to "Use Async Scene" property when shown in the physics asset editor, if the project doesn't currently use an async scene.
#jira UE-47964 User is not told to Enable Async Scene in Project Settings when enabling it on a physics asset
Change 3627864 by Lina.Halper
Fix issue where "reset to default" on search box for bone doesn't work
#jira: UE-48874
Change 3627946 by Thomas.Sarkanen
Prevent undo/redo breaking when moving both a constraint and a body at the same time
#jira UE-49344 - Physics Asset Editor: Moving both a body and a constraint causes undo.redo to break for the whole editor
Change 3628091 by Thomas.Sarkanen
Fix dangling lines, poor search focus and graph not refreshing when making new constraints
Found by Nick D in Main.
#jira UE-47812 - Physics Asset Graph wires sometimes get stuck to the window not attached to a node
Change 3628107 by Lina.Halper
Fixed issue where Blendspace 1D can't scale due to the property not exposed
https://udn.unrealengine.com/questions/389958/input-interpolationaxis-to-scale-in-1d-blendspace.html
Change 3628108 by Arciel.Rekman
Update Linux VHACD.
- Also removed arm 32-bit version (the library is editor-only).
Change 3628437 by Michael.Trepka
Updated Mac VHACD libraries and Xcode project
Change 3628667 by Lina.Halper
- Fixed issue of showing combo box multiple times
- Fixed issue of inconsistent combo box width
- Fixed text of pick bone to "select" for more general instruction
- Fixed issue with struct displaying children when pin is enabled
#jira: UE-49295, UE-46496, UE-47427
Change 3629744 by Aaron.McLeran
#jira UE-49383 Fix for source bus loading in sound waves and playing without audio mixer
Change 3629846 by Aaron.McLeran
#jira UE-49390 Required API change to spatialization interface for google
Change 3630322 by Thomas.Sarkanen
Fix right-click not displaying context menu for constraints correctly
Selection logic was lightly broken
#jira UE-49399 - Physics Asset Editor: Right-clicking constraints in the viewport does not bring up the context menu
Change 3630463 by Martin.Wilson
Remove accidently submitted debug code
Change 3630523 by Jurre.deBaare
Paint threshold and fill value and can be set to negative numbers
#fix Added metadata and default values for cloth fill tool
#jira UE-48352
Change 3632009 by Aaron.McLeran
#jira UE-49470 Fix for iOS master volume not getting set
Recent changes to master volume resulted in platforms which don't have a headroom value defined will not get their master volume updated. IOS doesn't have a headroom value set so the master volume is never set and the fade in is never triggered.
Change 3632699 by Thomas.Sarkanen
Fix crash undo-ing primitive regeneration while simullation is in progress & stopping simulation
#jira UE-49283 - Editor crashes if you regenerate and manipulate a phys body, simulate, undo and then exit simulation
Change 3633336 by James.Golding
PR #3978: effect is the noun. affect is the verb (Contributed by cdietschrun)
#jira UE-49324
Change 3634665 by Aaron.McLeran
#jira UE-49538 Fixing param interpolation
Change 3634922 by James.Golding
Static analysis fix (PhysXCookHelper.cpp)
Change 3634926 by James.Golding
Fix HTML5 build (which builds with PhysX, but without APEX)
Change 3636005 by Thomas.Sarkanen
Constraint setup shortcuts are now undo-able
Also fixed body-body collision as you couldnt undo this either.
Added transaction and calls to Modify().
#jira UE-49484 - Shortcut for Swing1Motion (2, and 3) do not change physics asset state dirty.
Change 3636018 by Thomas.Sarkanen
Added back constraint shortcut to PhAT toolbar
#jira UE-48859 - Constraint quick set buttons are missing in the new Physics Asset tool
Change 3636086 by Martin.Wilson
Fix for enabling Live Link plugin in Orion
Change 3638367 by Thomas.Sarkanen
Connection reporting is now more user-freindly in the physics asset editor graph view
Expanded UEdGraphSchema API to allow for more specific feedback when dragging over a graph.
Implemented node & pin feedback for physics asset graphs.
Also fixed alignment of icon for drag feedback as it stretches with multi-line text.
#jira UE-47984 - No node created when dragging off of Constraint node in Physics Asset Graph
Change 3640144 by Aaron.McLeran
#jira UE-49409 Attenuation focus audio tests on TM-AnimPhys on Cooked mac doesn't play any audio
Fixing the recent optimization to not play active sounds in range. Code attempts to check if there's any possibility for a sound to have it's distance affected before trying to prune by max distance.
Change 3640276 by Aaron.McLeran
#jira UE-49606 Project does not cook with actors containing ModularSynth component
Change 3640313 by Aaron.McLeran
#jira UE-49675 Fixing shutdown of audio mixer
- Final queued commands aren't getting pumped during audio mixer shutdown, added a new interface to get a final shutdown callback back to audio mixer device. We can do any cleanup or final shutdown tasks in this callback. Added a call to pump the source manager one last time. For cases of audio mixer running without audio plugins, this won't have much of an effect, but is a good thing to do anyway. For the case of audio plugins, who are depending on paired init and release calls, this is valueable to avoid memory leaks between subsequent PIE sessions.
Change 3640941 by Martin.Wilson
Add editor only animation loading debug data in the hope of diagnosing rare loading crash
#jira UE-49335
Change 3641976 by Ethan.Geller
#jira UE-49675 ensure that we pump both command queues
Change 3642613 by James.Golding
Add NoPhysX sample, for CIS testing compilation without PhysX
Change 3644001 by Aaron.McLeran
#jira UE-49805 looping sounds are, in rare cases, extremely loud
Change 3644124 by Aaron.McLeran
#jira UE-49787 [CrashReport] Mac crash - UE4Editor-AudioEditor.dylib!FSoundCueEditor::DeleteInput()
Adding ensure on returned ptr to avoid crash but keep getting some logging.
Change 3644157 by Aaron.McLeran
Fixing build error
Change 3644163 by Aaron.McLeran
Fixing build error (for real)
Change 3650331 by Aaron.McLeran
#jira UE-49994 SoundMix Fade Time not fading audio properly
Making sure we properly set passive mix modifier states.
Change 3652648 by Aaron.McLeran
#jira UE-49994 SoundMix Fade Time not fading audio properly
Change 3652995 by Aaron.McLeran
#jira UE-50053 Reduce log level of audio mixer debug category
Turning down the log spam level of the underrun category by switching to debug category and reducing level of the debug category.
Change 3653461 by James.Golding
V-HACD updates from JohnR @ NVIDIA (adding new functions for future use)
Change 3654056 by Aaron.McLeran
Fixing an issue with caching node states for editor builds and adding optimization to cache if we should apply interior volumes.
Change 3654579 by Aaron.McLeran
Allow sound submixes and sound classes to be a blueprint type
Made all properties of sound classes BlueprintReadOnly.
Change 3662519 by James.Golding
Merge CL 3575543 from //Fortnite/Main to Dev-AnimPhys
Don't call into UpdateKinematicBones if there are no physx bodies
Change 3664976 by Aaron.McLeran
#jira UE-50175 New Tap Delay Submix Pan parameter does not work in Surround Sound
Change 3665751 by Aaron.McLeran
Adding a simple panner effect
Change 3665851 by Aaron.McLeran
Fixing naming convention for new panner source effect
Change 3666894 by Thomas.Sarkanen
Bone modifications via transform type-in can now be undone
Added RF_Transactional & called Modify()
#jira UE-47862 - Undoing Bone transformations in Physics Asset Editor does not work
Change 3666919 by Lina.Halper
Fixed equal operator for bonereference to work when not initialized
Change 3668850 by Thomas.Sarkanen
Skeleton tree now no longer allows selection of filtered items
This fixes an issue where filtered-out constraints were being deselected after a select all operation because the tree thought it had no selection (all constraints were filtered).
#jira UE-50200 - Constraint Details do not populate in the Details Panel if the Skeleton tree does not include Constraints
Change 3669028 by James.Golding
Fix CIS error after merge-down
Change 3669053 by James.Golding
Fix bad merge in SynthComponent.cpp
Change 3669273 by Lina.Halper
- delete all tracks option
- allow to opt out on bone track importing
- fixed pose preview for fullbody to select weights that has pose from asset.
Change 3671396 by James.Golding
Fix FSkelMeshComponentLODInfo cleaning up all override resources when it should only have been cleaning up one of them
Change 3671701 by Martin.Wilson
Maya Live Link plugin
- Added UI to Maya
- Display currently streamed subjects
- Allow add and removal of streamed subjects
- Display connection status to editor
- Stream active camera as EditorActiveCamera
- Refactored entire plugin so that streaming has a manager and streaming objects / interfaces
- Reworked editor update hook so that streaming is more robust and facial rigs / leaf bones now correctly update.
Change 3672170 by Lina.Halper
Remove track support for Animation Blueprint Library
Change 3675921 by Ethan.Geller
Rollback invalidated check from copy down
Change 3677606 by Martin.Wilson
Add live link driven component - allows an actor to take its rotation and translation from a live link subject
Change 3678594 by Lina.Halper
Changed API name for clarification
Change 3680913 by Ethan.Geller
#jira UE-50750 fix stuttering on AudioMixer on MacOS
Change 3681127 by Ethan.Geller
#jira UE-50720 Fix invalidated audio clock time when audio device is unplugged on legacy audio engine
Change 3682729 by Ethan.Geller
#jira UE-50832 Fix for null concurrency settings when removing active sounds from a concurrency group. [Dev-AnimPhys]
Change 3633185 by James.Golding
Fix engine not compiling when WITH_PHYSX == 0
PR #3691: 4.16_WITH_PHYSX_optional (Contributed by JacobNelsonGames)
PR #3695: 4.16_PhysXVehicles_WITH_PHYSX_optional (Contributed by JacobNelsonGames)
Change 3637031 by Ethan.Geller
#jira UE-49605 Platform Headroom fix for non-float devices.
Change 3642598 by James.Golding
Change bCompileNvCloth to use same pattern as bCompileAPEX (on by default, disabled on some platforms). This allows game projects to disable it.
Change 3645224 by Martin.Wilson
Fix for rare notify crash.
For speed purposes Notify Queue caches a pointer to the notify, this is memory that is owned by the animation and if it gets garbage collected we have a pointer to invalid memory.
This change caches a pointer to the owner of the notify memory to so we can track its validity.
#jira UE-44869
Change 3668926 by James.Golding
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3668712
Change 3674824 by James.Golding
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3674368
[CL 3683447 by Thomas Sarkanen in Main branch]
2017-10-06 04:43:18 -04:00
/** Validates any currently set blend profile, ensuring it's valid for the current skeleton */
ANIMGRAPH_API bool ValidateBlendProfile ( ) ;
2014-03-14 14:13:41 -04:00
} ;