Files
UnrealEngineUWP/Engine/Source/Runtime/AnimGraphRuntime/Private/BoneControllers/AnimNode_Constraint.cpp

173 lines
6.9 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "BoneControllers/AnimNode_Constraint.h"
#include "AnimationCoreLibrary.h"
#include "AnimationRuntime.h"
#include "Animation/AnimStats.h"
#include "SceneManagement.h"
#include "Components/SkeletalMeshComponent.h"
#include "Animation/AnimTrace.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(AnimNode_Constraint)
/////////////////////////////////////////////////////
// FAnimNode_Constraint
FAnimNode_Constraint::FAnimNode_Constraint()
{
}
void FAnimNode_Constraint::GatherDebugData(FNodeDebugData& DebugData)
{
DECLARE_SCOPE_HIERARCHICAL_COUNTER_ANIMNODE(GatherDebugData)
const float ActualBiasedAlpha = AlphaScaleBias.ApplyTo(Alpha);
FString DebugLine = DebugData.GetNodeName(this);
DebugLine += FString::Printf(TEXT("(Alpha: %.1f%%)"), ActualBiasedAlpha*100.f);
DebugData.AddDebugItem(DebugLine);
const int32 ConstraintNum = ConstraintSetup.Num();
for (int32 ConstraintIndex = 0; ConstraintIndex < ConstraintNum; ++ConstraintIndex)
{
const FConstraint& Constraint = ConstraintSetup[ConstraintIndex];
const float Weight = ConstraintWeights[ConstraintIndex];
DebugLine = FString::Printf(TEXT(" Target : %s (%0.2f) "), *Constraint.TargetBone.BoneName.ToString(), Weight);
DebugData.AddDebugItem(DebugLine);
}
ComponentPose.GatherDebugData(DebugData);
}
void FAnimNode_Constraint::EvaluateSkeletalControl_AnyThread(FComponentSpacePoseContext& Output, TArray<FBoneTransform>& OutBoneTransforms)
{
DECLARE_SCOPE_HIERARCHICAL_COUNTER_ANIMNODE(EvaluateSkeletalControl_AnyThread)
ANIM_MT_SCOPE_CYCLE_COUNTER_VERBOSE(Constraint, !IsInGameThread());
const FBoneContainer& BoneContainer = Output.Pose.GetPose().GetBoneContainer();
const int32 ConstraintNum = ConstraintSetup.Num();
#if WITH_EDITOR
CachedTargetTransforms.Empty();
#endif // WITH_EDITOR
for (int32 ConstraintIndex = 0; ConstraintIndex < ConstraintNum; ++ConstraintIndex)
{
const FConstraint& Constraint = ConstraintSetup[ConstraintIndex];
const float Weight = ConstraintWeights[ConstraintIndex];
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3780324) #lockdown Nick.Penwarden #rb none #rnx ============================ MAJOR FEATURES & CHANGES ============================ Change 3760710 by Thomas.Sarkanen Fix crash deleting primitives in PhAT Crash in tooltip generation for shapes. Tree items still exist in the frame before the tree gets regenerated (as the widget defers their destruction a frame), so they can end up pointing at out of date data. #jira UE-52404 - Crash deleting bodies #tests deleted primitives in PhAT Change 3760798 by Martin.Wilson Initialize PosesToEvaluate so that we don't get stale data crashes after reinitializing #Jira UE-52343 Change 3761312 by Martin.Wilson Fix for infrequent crash on module start up Change 3761333 by Danny.Bouimad Fixed the Cable actor test correctly, shouldn't fail on cooked platforms any more! Change 3761550 by Aaron.McLeran Engine changes requested by oculus for spatializer interface Change 3761728 by Martin.Wilson Fix crash when undoing a change on a skeletal mesh that uses virtual bones #Jira UE-52475 Change 3762032 by Ethan.Geller #jira UE-49076 Implement PR for VOIP bug fix on Mac Change 3762109 by Aaron.McLeran Enabling bAllowAnyoneToDestroyMe on audio components Change 3762125 by Aaron.McLeran Checking in missing file Change 3762568 by Aaron.McLeran Fixing ogg vorbis 5.1 channel ordering channel maps in audio mixer Fix is to create separate 5.1 channel maps for various output channel counts and pull those channel maps if the source file was decoded from vorbis. This pattern is copied from old xaudio2source code which handles 5.1 channel mapping seperately. Alternative solution would be to swizzle vorbis channels during cook, but this would break backward compatibility. We'll consider that solution in the future once we remove the old audio engine code. Change 3762571 by Aaron.McLeran Adding multichannel file support. - Spoofing the multi-channel file importer tool by allowing a single multichannel file to generate data in the same way - Moved the wave serializer code from audio capture plugin to audio.h/.cpp for general use Change 3762626 by Aaron.McLeran Adding ability to automatically tag ambisonics files. Change 3762627 by Aaron.McLeran Fixing up source buses to be more useful - Added pre and post source effect bus sends types. - Adjusted where in the source generation pipeline distance-based filtering is applied to a source. Source audio is sent to source buses immediately after source effect chain generation and before per-source distance-based filters are applied and distance attenuation. Change 3762652 by Aaron.McLeran Fix for device hot swap Change 3762725 by Ethan.Geller Fixing multichannel indices so that it matches the multichannel cook Change 3762738 by Ethan.Geller Add ambisonics plugin support Change 3762739 by Ethan.Geller Updating oculus audio plugin - Base implementation by Peter Sterling at Oculus - Ambisonics decoding using Oculus API implemented by Ethan Change 3763687 by Martin.Wilson Fix bug in GUID customization that leaves editor in an active transaction + Expose core property set code so other guid customizations can reuse it #Jira UE-52510 Change 3764412 by Ethan.Geller Fix the incremental build, pt 2 Change 3764721 by Ethan.Geller Fix the build, take 3 Change 3764767 by Martin.Wilson Rebuild array children properties when an item is added. Solves missing item crash if the user immediately tries to set the value of the new item #Jira UE-52537 Change 3764845 by Aaron.McLeran Making audio devices call flush after update and before endplay is called to ensure flush is called on audio devices. Prevents hang on releasing sound wave procedural references in GC. Change 3766047 by Thomas.Sarkanen Pinnable command list widget Added a new "pinnable command list" widget. Shift-clicking a menu option in either the skeleton tree filter or the viewport menus will 'pin' the command outside of the menu. This allows for easier access to commands that are frequently used. Minor Slate change - added virtual(s) to FUICommandList so commands can be forwarded when executed. #jira UE-51807 - Add 'quick filter' and visualization toggles UI to PhAT Change 3766111 by Thomas.Sarkanen CIS fix Change 3766273 by Lina.Halper Rename PostBlendPhysics to FinalizeAnimationUpdate Change 3768507 by Thomas.Sarkanen CIS fix Change 3768637 by James.Golding Add 'GetSectionFromProceduralMesh' util function #jira UE-49262 Change 3768649 by Lina.Halper Moved the automation test to tests folder #jira:UE-46250 Change 3768675 by Benn.Gallagher Fixed incorrect deprecated angular velocity accessor. Change 3768776 by Benn.Gallagher Fix for skeletal mesh editor crash importing more than 5 LODs #jira UE-52263 Change 3768804 by Martin.Wilson Live Link Virtual subjects Virtuals subjects are created within the client and contain the bones of multiple real subjects Change 3768874 by Martin.Wilson UAnimSequenceBase is now entirely exported with ENGINE_API #Jira UE-48020 Change 3769318 by Lina.Halper - Animation system owns previous bone transform with revision number, so that it can send to renderer when render recreated. - Framenumber still exists because clothing system uses it, and I'm planning to talk to Benn about it next week when he comes back #jira: UEAP-272 Change 3769714 by Lina.Halper Fix CIS Change 3770672 by James.Golding Expose API for changing 'Use CCD' flag at runtime #jira UE-50332 Change 3770675 by James.Golding Add test map for 'Set Use CCD' function Change 3770711 by Thomas.Sarkanen Multi viewports and bone-locked cameras in animation editor viewports All animation-related editors now have the ability to open up to 4 seperate viewports onto the same scene, each with their own settings. Fixed up bounds following to actually work correctly (now follows without lag). Added the ability to follow (and orbit) a specified bone as well. #jira UE-47127 - Add the Ability to Open Multiple Viewports on the Same Scene. #jira UE-49690 - "Camera Follow" in Persona Editor cannot be enabled Change 3770786 by Lina.Halper Support curve in copy pose node #jira: UE-50182 Change 3770943 by James.Golding Fix 'NODEBUG' option for PVD CONNECT console command (should only send profile data) Fix from Kier at NVIDIA #jira UE-52444 Change 3771145 by Benn.Gallagher Added ability to control whether or not a post process instance runs on a skeletal mesh component. Exposed both to blueprints and anim editor suite #jira UE-49747 Change 3772262 by Benn.Gallagher Defaulted the clothing create menu to use the skeletal mesh physics asset #jira UE-51607 Change 3772389 by Thomas.Sarkanen Added a keyboard shortcut to toggle between body and constraint selection Shortcut is Ctrl+T by default. #jira UE-51804 - Add a quick switch between selected constraints and bodies Change 3772393 by Thomas.Sarkanen Constraints are now displayed only once in the physics asset editor tree view User constraints are still displayed twice, however. #jira UE-51808 - Constraints in PhAT should only be displayed once in the tree Change 3772404 by James.Golding Fix Modify Curve AnimNode not calling CacheBones on source pose #jira UE-52129 Change 3772418 by Benn.Gallagher Allowed clothing visualizations to be enabled while clothing paint mode is active. Fixed crash attempting to visualize backstops when the clothing data has no backstops. #jira UE-47042 Change 3772964 by Thomas.Sarkanen Expose sequence recording settings in Persona editors Added layout extender to Persona module, so external tabs can now be added to all Persona-based editors easily. Added a structure details view to edit the default animation settings. Hooked default animation settings up to Persona animation recording. #jira UE-48416 - Set Frame Rate and Length of Recordings in Persona in Editor Change 3772967 by Martin.Wilson Add NativeBeginPlay function to AnimInstance #jira UE-51351 PR #4135: Add NativeBeginPlay to AnimInstance (Contributed by Vaei) Change 3772986 by Thomas.Sarkanen Added "Show Only Selected Constraints" to the physics asset editor #jira UE-51805 - Add 'show only selected constraints' option to PhAT Change 3773012 by Benn.Gallagher Added facility to debug skel mesh component to extend the viewport text seen in skeletal mesh editor and added lines for current cloth value #jira UE-42354 Change 3773132 by Martin.Wilson Added Uncheck all unconnected pins for BreakStruct nodes #jira UE-51136 PR #4110: Uncheck all unconnected pins from BreakStruct node... (Contributed by projectgheist) Change 3773158 by Benn.Gallagher Added auto-range feature to cloth view ranges, and a way for tools to extend those ranges when necessary #jira UE-48109 Change 3773895 by Jurre.deBaare Move material baking out of experimental #fix Removed experimental settings gating around Material Baking functionality #jira UE-52685 Change 3773898 by Jurre.deBaare Change log message wording when Simplygon fails to initialise to ensure it does not block CIS (error triggers a CIS error and will halt the build) Change 3773899 by Jurre.deBaare Add keybind for switching between paint / erase color while mesh painting #fix Added new command for switching fore and background colors in the mesh painter (defaults to X as shortcut) #jira UE-52197 Change 3773900 by Jurre.deBaare Hotkey to enable and disable post processing in the preview scene settings #fix Added hotkey and command for toggling Post Processing in Preview Scenes #jira UE-48111 Change 3773933 by Martin.Wilson Add missing file (for live link monolithic build failure) Change 3773949 by Jurre.deBaare Right click add selected to HLOD cluster / create cluster #fix Partially implemented the request, added context menu to HLOD level nodes in the HLOD outliner treeview to allow creating a new cluster from the current level viewport selection #jira UE-48334 Change 3773950 by Jurre.deBaare HLOD cluster drawing should not use AHLODSelectionActor but regular in-viewport drawing #fix removed old behaviour using a spawned actor to represent a selected HLOD cluster, and replaced it will simple debug drawing (this is a lot less bug prone and much cleaner) #jira UE-49094 Change 3773964 by James.Golding Mark FBodyInstance::ResponseToChannels_DEPRECATED as 'WITH_EDITORONLY_DATA' #jira UE-52545 Change 3773978 by Thomas.Sarkanen Allow edits to physics sim options to be undone/redone Added RF_Transactional to the object #jira UE-48046 - Undo/redo does not work in Physics Asset Editor's Physics/Details menu Change 3773982 by Martin.Wilson Add pre and post conversion callbacks to root motion conversion in character movement component #jira UE-51966 Change 3773988 by Thomas.Sarkanen Duplicating CL 3773896 from Fortnite: Push non-rendered anim updates back onto the worker thread Now when meshes are set to EMeshComponentUpdateFlag::AlwaysTickPose, we optionally kick of a task to perform parallel update only (no evaluation). #jira UE-46710 - Animation updates run on the main thread when Evaluation task doesnt run Change 3773999 by Martin.Wilson Fix incorrect merge Change 3774030 by Thomas.Sarkanen Renamed "Create Joints" to "Create Constraints" #jira UE-50861 - New Physics Asset window reads "Joints" instead of "Constraint" Change 3774031 by Thomas.Sarkanen Fixed typo in comment #jira UE-50841 - Typo in Vertex Weighting Type setting when creating new Physics Asset Change 3774200 by Lina.Halper Fix crash with empty element in the constraint setup #jira: UE-52686 Change 3774236 by Ori.Cohen Fix crash when destructible component doesn't mark its killed actors as IgnoreActiveActors #jira UE-52320 Change 3774284 by James.Golding Fix constructor order CIS error in AudioMicerSubmix.cpp Change 3774511 by James.Golding Fix up removed RevisionNumber param Change 3774724 by Lina.Halper Fix of motion blur change of previous bone transform Change 3775493 by Thomas.Sarkanen Duplicating CL 3775488 from Fortnite: Prevented skeletal meshes that are not being ticked due to URO from dispatching tick tasks #jira FORT-61157 - Run anim update on worker, even if not visible Change 3775508 by James.Golding Fix compilation without PhysX, move DeferredReleaseCallback outside WITH_PHYSX block Change 3775538 by James.Golding Fix Mac CIS due to missing virtual destructor in IDeferredReleaseCallback Change 3775921 by Ori.Cohen Better fix for destructible crash (also fix CIS) #jira UE-52762 Change 3776054 by Benn.Gallagher Fixed crash deleting max distance mask from a clothing data entry. #jira UE-52723 Change 3776063 by Thomas.Sarkanen Fix static analysis warning Change 3776331 by Jurre.deBaare Hierarchical LOD Outliner scrollbar doesn't appear #fix removed AutoHeight from parent vertical box around HLOD outliner details view #jira UE-52756 Change 3776704 by Martin.Wilson Fix array properties not always refreshing when new items are added #UE-52760 Change 3776755 by Thomas.Sarkanen Duplicating CL 3776656 from Fortnite: Fix notifies not getting fired in cases where AlwaysTickPose was set on skeletal mesh components This was causing AIs to get stuck in montage playback in some circumstances #jira FORT-61324, FORT-60558 Change 3777385 by Aaron.McLeran #jira UE-52786 Fix for broken spatialization on xaudio2, old audio engine. Change 3778233 by Lina.Halper Removed android from oculus audio platform Change 3778714 by Ethan.Geller #jira UE-52818 remove Android from Oculus Audio platforms Change 3779004 by Lina.Halper Include "Features/IModularFeatures.h" to cpp Fix build error Change 3780324 by Thomas.Sarkanen Duplicating CL 3778679 from Fortnite-Main: Fix 100% Linux server crash - dont attempt to run threaded work in a single-threaded environment We dont attempt to run animation update work multi-threaded in the same conditions that we didnt attempt to run animation eval work previously. #jira FORT-61548 Change 3763999 by Ethan.Geller remove space from ambisonics mixer name, fix build Change 3774470 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3774039 [CL 3780967 by Thomas Sarkanen in Main branch]
2017-11-30 12:07:08 -05:00
if (Weight > ZERO_ANIMWEIGHT_THRESH && Constraint.IsValidToEvaluate(BoneContainer) && Constraint.ConstraintDataIndex != INDEX_NONE)
{
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3780324) #lockdown Nick.Penwarden #rb none #rnx ============================ MAJOR FEATURES & CHANGES ============================ Change 3760710 by Thomas.Sarkanen Fix crash deleting primitives in PhAT Crash in tooltip generation for shapes. Tree items still exist in the frame before the tree gets regenerated (as the widget defers their destruction a frame), so they can end up pointing at out of date data. #jira UE-52404 - Crash deleting bodies #tests deleted primitives in PhAT Change 3760798 by Martin.Wilson Initialize PosesToEvaluate so that we don't get stale data crashes after reinitializing #Jira UE-52343 Change 3761312 by Martin.Wilson Fix for infrequent crash on module start up Change 3761333 by Danny.Bouimad Fixed the Cable actor test correctly, shouldn't fail on cooked platforms any more! Change 3761550 by Aaron.McLeran Engine changes requested by oculus for spatializer interface Change 3761728 by Martin.Wilson Fix crash when undoing a change on a skeletal mesh that uses virtual bones #Jira UE-52475 Change 3762032 by Ethan.Geller #jira UE-49076 Implement PR for VOIP bug fix on Mac Change 3762109 by Aaron.McLeran Enabling bAllowAnyoneToDestroyMe on audio components Change 3762125 by Aaron.McLeran Checking in missing file Change 3762568 by Aaron.McLeran Fixing ogg vorbis 5.1 channel ordering channel maps in audio mixer Fix is to create separate 5.1 channel maps for various output channel counts and pull those channel maps if the source file was decoded from vorbis. This pattern is copied from old xaudio2source code which handles 5.1 channel mapping seperately. Alternative solution would be to swizzle vorbis channels during cook, but this would break backward compatibility. We'll consider that solution in the future once we remove the old audio engine code. Change 3762571 by Aaron.McLeran Adding multichannel file support. - Spoofing the multi-channel file importer tool by allowing a single multichannel file to generate data in the same way - Moved the wave serializer code from audio capture plugin to audio.h/.cpp for general use Change 3762626 by Aaron.McLeran Adding ability to automatically tag ambisonics files. Change 3762627 by Aaron.McLeran Fixing up source buses to be more useful - Added pre and post source effect bus sends types. - Adjusted where in the source generation pipeline distance-based filtering is applied to a source. Source audio is sent to source buses immediately after source effect chain generation and before per-source distance-based filters are applied and distance attenuation. Change 3762652 by Aaron.McLeran Fix for device hot swap Change 3762725 by Ethan.Geller Fixing multichannel indices so that it matches the multichannel cook Change 3762738 by Ethan.Geller Add ambisonics plugin support Change 3762739 by Ethan.Geller Updating oculus audio plugin - Base implementation by Peter Sterling at Oculus - Ambisonics decoding using Oculus API implemented by Ethan Change 3763687 by Martin.Wilson Fix bug in GUID customization that leaves editor in an active transaction + Expose core property set code so other guid customizations can reuse it #Jira UE-52510 Change 3764412 by Ethan.Geller Fix the incremental build, pt 2 Change 3764721 by Ethan.Geller Fix the build, take 3 Change 3764767 by Martin.Wilson Rebuild array children properties when an item is added. Solves missing item crash if the user immediately tries to set the value of the new item #Jira UE-52537 Change 3764845 by Aaron.McLeran Making audio devices call flush after update and before endplay is called to ensure flush is called on audio devices. Prevents hang on releasing sound wave procedural references in GC. Change 3766047 by Thomas.Sarkanen Pinnable command list widget Added a new "pinnable command list" widget. Shift-clicking a menu option in either the skeleton tree filter or the viewport menus will 'pin' the command outside of the menu. This allows for easier access to commands that are frequently used. Minor Slate change - added virtual(s) to FUICommandList so commands can be forwarded when executed. #jira UE-51807 - Add 'quick filter' and visualization toggles UI to PhAT Change 3766111 by Thomas.Sarkanen CIS fix Change 3766273 by Lina.Halper Rename PostBlendPhysics to FinalizeAnimationUpdate Change 3768507 by Thomas.Sarkanen CIS fix Change 3768637 by James.Golding Add 'GetSectionFromProceduralMesh' util function #jira UE-49262 Change 3768649 by Lina.Halper Moved the automation test to tests folder #jira:UE-46250 Change 3768675 by Benn.Gallagher Fixed incorrect deprecated angular velocity accessor. Change 3768776 by Benn.Gallagher Fix for skeletal mesh editor crash importing more than 5 LODs #jira UE-52263 Change 3768804 by Martin.Wilson Live Link Virtual subjects Virtuals subjects are created within the client and contain the bones of multiple real subjects Change 3768874 by Martin.Wilson UAnimSequenceBase is now entirely exported with ENGINE_API #Jira UE-48020 Change 3769318 by Lina.Halper - Animation system owns previous bone transform with revision number, so that it can send to renderer when render recreated. - Framenumber still exists because clothing system uses it, and I'm planning to talk to Benn about it next week when he comes back #jira: UEAP-272 Change 3769714 by Lina.Halper Fix CIS Change 3770672 by James.Golding Expose API for changing 'Use CCD' flag at runtime #jira UE-50332 Change 3770675 by James.Golding Add test map for 'Set Use CCD' function Change 3770711 by Thomas.Sarkanen Multi viewports and bone-locked cameras in animation editor viewports All animation-related editors now have the ability to open up to 4 seperate viewports onto the same scene, each with their own settings. Fixed up bounds following to actually work correctly (now follows without lag). Added the ability to follow (and orbit) a specified bone as well. #jira UE-47127 - Add the Ability to Open Multiple Viewports on the Same Scene. #jira UE-49690 - "Camera Follow" in Persona Editor cannot be enabled Change 3770786 by Lina.Halper Support curve in copy pose node #jira: UE-50182 Change 3770943 by James.Golding Fix 'NODEBUG' option for PVD CONNECT console command (should only send profile data) Fix from Kier at NVIDIA #jira UE-52444 Change 3771145 by Benn.Gallagher Added ability to control whether or not a post process instance runs on a skeletal mesh component. Exposed both to blueprints and anim editor suite #jira UE-49747 Change 3772262 by Benn.Gallagher Defaulted the clothing create menu to use the skeletal mesh physics asset #jira UE-51607 Change 3772389 by Thomas.Sarkanen Added a keyboard shortcut to toggle between body and constraint selection Shortcut is Ctrl+T by default. #jira UE-51804 - Add a quick switch between selected constraints and bodies Change 3772393 by Thomas.Sarkanen Constraints are now displayed only once in the physics asset editor tree view User constraints are still displayed twice, however. #jira UE-51808 - Constraints in PhAT should only be displayed once in the tree Change 3772404 by James.Golding Fix Modify Curve AnimNode not calling CacheBones on source pose #jira UE-52129 Change 3772418 by Benn.Gallagher Allowed clothing visualizations to be enabled while clothing paint mode is active. Fixed crash attempting to visualize backstops when the clothing data has no backstops. #jira UE-47042 Change 3772964 by Thomas.Sarkanen Expose sequence recording settings in Persona editors Added layout extender to Persona module, so external tabs can now be added to all Persona-based editors easily. Added a structure details view to edit the default animation settings. Hooked default animation settings up to Persona animation recording. #jira UE-48416 - Set Frame Rate and Length of Recordings in Persona in Editor Change 3772967 by Martin.Wilson Add NativeBeginPlay function to AnimInstance #jira UE-51351 PR #4135: Add NativeBeginPlay to AnimInstance (Contributed by Vaei) Change 3772986 by Thomas.Sarkanen Added "Show Only Selected Constraints" to the physics asset editor #jira UE-51805 - Add 'show only selected constraints' option to PhAT Change 3773012 by Benn.Gallagher Added facility to debug skel mesh component to extend the viewport text seen in skeletal mesh editor and added lines for current cloth value #jira UE-42354 Change 3773132 by Martin.Wilson Added Uncheck all unconnected pins for BreakStruct nodes #jira UE-51136 PR #4110: Uncheck all unconnected pins from BreakStruct node... (Contributed by projectgheist) Change 3773158 by Benn.Gallagher Added auto-range feature to cloth view ranges, and a way for tools to extend those ranges when necessary #jira UE-48109 Change 3773895 by Jurre.deBaare Move material baking out of experimental #fix Removed experimental settings gating around Material Baking functionality #jira UE-52685 Change 3773898 by Jurre.deBaare Change log message wording when Simplygon fails to initialise to ensure it does not block CIS (error triggers a CIS error and will halt the build) Change 3773899 by Jurre.deBaare Add keybind for switching between paint / erase color while mesh painting #fix Added new command for switching fore and background colors in the mesh painter (defaults to X as shortcut) #jira UE-52197 Change 3773900 by Jurre.deBaare Hotkey to enable and disable post processing in the preview scene settings #fix Added hotkey and command for toggling Post Processing in Preview Scenes #jira UE-48111 Change 3773933 by Martin.Wilson Add missing file (for live link monolithic build failure) Change 3773949 by Jurre.deBaare Right click add selected to HLOD cluster / create cluster #fix Partially implemented the request, added context menu to HLOD level nodes in the HLOD outliner treeview to allow creating a new cluster from the current level viewport selection #jira UE-48334 Change 3773950 by Jurre.deBaare HLOD cluster drawing should not use AHLODSelectionActor but regular in-viewport drawing #fix removed old behaviour using a spawned actor to represent a selected HLOD cluster, and replaced it will simple debug drawing (this is a lot less bug prone and much cleaner) #jira UE-49094 Change 3773964 by James.Golding Mark FBodyInstance::ResponseToChannels_DEPRECATED as 'WITH_EDITORONLY_DATA' #jira UE-52545 Change 3773978 by Thomas.Sarkanen Allow edits to physics sim options to be undone/redone Added RF_Transactional to the object #jira UE-48046 - Undo/redo does not work in Physics Asset Editor's Physics/Details menu Change 3773982 by Martin.Wilson Add pre and post conversion callbacks to root motion conversion in character movement component #jira UE-51966 Change 3773988 by Thomas.Sarkanen Duplicating CL 3773896 from Fortnite: Push non-rendered anim updates back onto the worker thread Now when meshes are set to EMeshComponentUpdateFlag::AlwaysTickPose, we optionally kick of a task to perform parallel update only (no evaluation). #jira UE-46710 - Animation updates run on the main thread when Evaluation task doesnt run Change 3773999 by Martin.Wilson Fix incorrect merge Change 3774030 by Thomas.Sarkanen Renamed "Create Joints" to "Create Constraints" #jira UE-50861 - New Physics Asset window reads "Joints" instead of "Constraint" Change 3774031 by Thomas.Sarkanen Fixed typo in comment #jira UE-50841 - Typo in Vertex Weighting Type setting when creating new Physics Asset Change 3774200 by Lina.Halper Fix crash with empty element in the constraint setup #jira: UE-52686 Change 3774236 by Ori.Cohen Fix crash when destructible component doesn't mark its killed actors as IgnoreActiveActors #jira UE-52320 Change 3774284 by James.Golding Fix constructor order CIS error in AudioMicerSubmix.cpp Change 3774511 by James.Golding Fix up removed RevisionNumber param Change 3774724 by Lina.Halper Fix of motion blur change of previous bone transform Change 3775493 by Thomas.Sarkanen Duplicating CL 3775488 from Fortnite: Prevented skeletal meshes that are not being ticked due to URO from dispatching tick tasks #jira FORT-61157 - Run anim update on worker, even if not visible Change 3775508 by James.Golding Fix compilation without PhysX, move DeferredReleaseCallback outside WITH_PHYSX block Change 3775538 by James.Golding Fix Mac CIS due to missing virtual destructor in IDeferredReleaseCallback Change 3775921 by Ori.Cohen Better fix for destructible crash (also fix CIS) #jira UE-52762 Change 3776054 by Benn.Gallagher Fixed crash deleting max distance mask from a clothing data entry. #jira UE-52723 Change 3776063 by Thomas.Sarkanen Fix static analysis warning Change 3776331 by Jurre.deBaare Hierarchical LOD Outliner scrollbar doesn't appear #fix removed AutoHeight from parent vertical box around HLOD outliner details view #jira UE-52756 Change 3776704 by Martin.Wilson Fix array properties not always refreshing when new items are added #UE-52760 Change 3776755 by Thomas.Sarkanen Duplicating CL 3776656 from Fortnite: Fix notifies not getting fired in cases where AlwaysTickPose was set on skeletal mesh components This was causing AIs to get stuck in montage playback in some circumstances #jira FORT-61324, FORT-60558 Change 3777385 by Aaron.McLeran #jira UE-52786 Fix for broken spatialization on xaudio2, old audio engine. Change 3778233 by Lina.Halper Removed android from oculus audio platform Change 3778714 by Ethan.Geller #jira UE-52818 remove Android from Oculus Audio platforms Change 3779004 by Lina.Halper Include "Features/IModularFeatures.h" to cpp Fix build error Change 3780324 by Thomas.Sarkanen Duplicating CL 3778679 from Fortnite-Main: Fix 100% Linux server crash - dont attempt to run threaded work in a single-threaded environment We dont attempt to run animation update work multi-threaded in the same conditions that we didnt attempt to run animation eval work previously. #jira FORT-61548 Change 3763999 by Ethan.Geller remove space from ambisonics mixer name, fix build Change 3774470 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3774039 [CL 3780967 by Thomas Sarkanen in Main branch]
2017-11-30 12:07:08 -05:00
ConstraintData[Constraint.ConstraintDataIndex].Weight = Weight;
ConstraintData[Constraint.ConstraintDataIndex].CurrentTransform = Output.Pose.GetComponentSpaceTransform(Constraint.TargetBone.CachedCompactPoseIndex);
#if WITH_EDITOR
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3780324) #lockdown Nick.Penwarden #rb none #rnx ============================ MAJOR FEATURES & CHANGES ============================ Change 3760710 by Thomas.Sarkanen Fix crash deleting primitives in PhAT Crash in tooltip generation for shapes. Tree items still exist in the frame before the tree gets regenerated (as the widget defers their destruction a frame), so they can end up pointing at out of date data. #jira UE-52404 - Crash deleting bodies #tests deleted primitives in PhAT Change 3760798 by Martin.Wilson Initialize PosesToEvaluate so that we don't get stale data crashes after reinitializing #Jira UE-52343 Change 3761312 by Martin.Wilson Fix for infrequent crash on module start up Change 3761333 by Danny.Bouimad Fixed the Cable actor test correctly, shouldn't fail on cooked platforms any more! Change 3761550 by Aaron.McLeran Engine changes requested by oculus for spatializer interface Change 3761728 by Martin.Wilson Fix crash when undoing a change on a skeletal mesh that uses virtual bones #Jira UE-52475 Change 3762032 by Ethan.Geller #jira UE-49076 Implement PR for VOIP bug fix on Mac Change 3762109 by Aaron.McLeran Enabling bAllowAnyoneToDestroyMe on audio components Change 3762125 by Aaron.McLeran Checking in missing file Change 3762568 by Aaron.McLeran Fixing ogg vorbis 5.1 channel ordering channel maps in audio mixer Fix is to create separate 5.1 channel maps for various output channel counts and pull those channel maps if the source file was decoded from vorbis. This pattern is copied from old xaudio2source code which handles 5.1 channel mapping seperately. Alternative solution would be to swizzle vorbis channels during cook, but this would break backward compatibility. We'll consider that solution in the future once we remove the old audio engine code. Change 3762571 by Aaron.McLeran Adding multichannel file support. - Spoofing the multi-channel file importer tool by allowing a single multichannel file to generate data in the same way - Moved the wave serializer code from audio capture plugin to audio.h/.cpp for general use Change 3762626 by Aaron.McLeran Adding ability to automatically tag ambisonics files. Change 3762627 by Aaron.McLeran Fixing up source buses to be more useful - Added pre and post source effect bus sends types. - Adjusted where in the source generation pipeline distance-based filtering is applied to a source. Source audio is sent to source buses immediately after source effect chain generation and before per-source distance-based filters are applied and distance attenuation. Change 3762652 by Aaron.McLeran Fix for device hot swap Change 3762725 by Ethan.Geller Fixing multichannel indices so that it matches the multichannel cook Change 3762738 by Ethan.Geller Add ambisonics plugin support Change 3762739 by Ethan.Geller Updating oculus audio plugin - Base implementation by Peter Sterling at Oculus - Ambisonics decoding using Oculus API implemented by Ethan Change 3763687 by Martin.Wilson Fix bug in GUID customization that leaves editor in an active transaction + Expose core property set code so other guid customizations can reuse it #Jira UE-52510 Change 3764412 by Ethan.Geller Fix the incremental build, pt 2 Change 3764721 by Ethan.Geller Fix the build, take 3 Change 3764767 by Martin.Wilson Rebuild array children properties when an item is added. Solves missing item crash if the user immediately tries to set the value of the new item #Jira UE-52537 Change 3764845 by Aaron.McLeran Making audio devices call flush after update and before endplay is called to ensure flush is called on audio devices. Prevents hang on releasing sound wave procedural references in GC. Change 3766047 by Thomas.Sarkanen Pinnable command list widget Added a new "pinnable command list" widget. Shift-clicking a menu option in either the skeleton tree filter or the viewport menus will 'pin' the command outside of the menu. This allows for easier access to commands that are frequently used. Minor Slate change - added virtual(s) to FUICommandList so commands can be forwarded when executed. #jira UE-51807 - Add 'quick filter' and visualization toggles UI to PhAT Change 3766111 by Thomas.Sarkanen CIS fix Change 3766273 by Lina.Halper Rename PostBlendPhysics to FinalizeAnimationUpdate Change 3768507 by Thomas.Sarkanen CIS fix Change 3768637 by James.Golding Add 'GetSectionFromProceduralMesh' util function #jira UE-49262 Change 3768649 by Lina.Halper Moved the automation test to tests folder #jira:UE-46250 Change 3768675 by Benn.Gallagher Fixed incorrect deprecated angular velocity accessor. Change 3768776 by Benn.Gallagher Fix for skeletal mesh editor crash importing more than 5 LODs #jira UE-52263 Change 3768804 by Martin.Wilson Live Link Virtual subjects Virtuals subjects are created within the client and contain the bones of multiple real subjects Change 3768874 by Martin.Wilson UAnimSequenceBase is now entirely exported with ENGINE_API #Jira UE-48020 Change 3769318 by Lina.Halper - Animation system owns previous bone transform with revision number, so that it can send to renderer when render recreated. - Framenumber still exists because clothing system uses it, and I'm planning to talk to Benn about it next week when he comes back #jira: UEAP-272 Change 3769714 by Lina.Halper Fix CIS Change 3770672 by James.Golding Expose API for changing 'Use CCD' flag at runtime #jira UE-50332 Change 3770675 by James.Golding Add test map for 'Set Use CCD' function Change 3770711 by Thomas.Sarkanen Multi viewports and bone-locked cameras in animation editor viewports All animation-related editors now have the ability to open up to 4 seperate viewports onto the same scene, each with their own settings. Fixed up bounds following to actually work correctly (now follows without lag). Added the ability to follow (and orbit) a specified bone as well. #jira UE-47127 - Add the Ability to Open Multiple Viewports on the Same Scene. #jira UE-49690 - "Camera Follow" in Persona Editor cannot be enabled Change 3770786 by Lina.Halper Support curve in copy pose node #jira: UE-50182 Change 3770943 by James.Golding Fix 'NODEBUG' option for PVD CONNECT console command (should only send profile data) Fix from Kier at NVIDIA #jira UE-52444 Change 3771145 by Benn.Gallagher Added ability to control whether or not a post process instance runs on a skeletal mesh component. Exposed both to blueprints and anim editor suite #jira UE-49747 Change 3772262 by Benn.Gallagher Defaulted the clothing create menu to use the skeletal mesh physics asset #jira UE-51607 Change 3772389 by Thomas.Sarkanen Added a keyboard shortcut to toggle between body and constraint selection Shortcut is Ctrl+T by default. #jira UE-51804 - Add a quick switch between selected constraints and bodies Change 3772393 by Thomas.Sarkanen Constraints are now displayed only once in the physics asset editor tree view User constraints are still displayed twice, however. #jira UE-51808 - Constraints in PhAT should only be displayed once in the tree Change 3772404 by James.Golding Fix Modify Curve AnimNode not calling CacheBones on source pose #jira UE-52129 Change 3772418 by Benn.Gallagher Allowed clothing visualizations to be enabled while clothing paint mode is active. Fixed crash attempting to visualize backstops when the clothing data has no backstops. #jira UE-47042 Change 3772964 by Thomas.Sarkanen Expose sequence recording settings in Persona editors Added layout extender to Persona module, so external tabs can now be added to all Persona-based editors easily. Added a structure details view to edit the default animation settings. Hooked default animation settings up to Persona animation recording. #jira UE-48416 - Set Frame Rate and Length of Recordings in Persona in Editor Change 3772967 by Martin.Wilson Add NativeBeginPlay function to AnimInstance #jira UE-51351 PR #4135: Add NativeBeginPlay to AnimInstance (Contributed by Vaei) Change 3772986 by Thomas.Sarkanen Added "Show Only Selected Constraints" to the physics asset editor #jira UE-51805 - Add 'show only selected constraints' option to PhAT Change 3773012 by Benn.Gallagher Added facility to debug skel mesh component to extend the viewport text seen in skeletal mesh editor and added lines for current cloth value #jira UE-42354 Change 3773132 by Martin.Wilson Added Uncheck all unconnected pins for BreakStruct nodes #jira UE-51136 PR #4110: Uncheck all unconnected pins from BreakStruct node... (Contributed by projectgheist) Change 3773158 by Benn.Gallagher Added auto-range feature to cloth view ranges, and a way for tools to extend those ranges when necessary #jira UE-48109 Change 3773895 by Jurre.deBaare Move material baking out of experimental #fix Removed experimental settings gating around Material Baking functionality #jira UE-52685 Change 3773898 by Jurre.deBaare Change log message wording when Simplygon fails to initialise to ensure it does not block CIS (error triggers a CIS error and will halt the build) Change 3773899 by Jurre.deBaare Add keybind for switching between paint / erase color while mesh painting #fix Added new command for switching fore and background colors in the mesh painter (defaults to X as shortcut) #jira UE-52197 Change 3773900 by Jurre.deBaare Hotkey to enable and disable post processing in the preview scene settings #fix Added hotkey and command for toggling Post Processing in Preview Scenes #jira UE-48111 Change 3773933 by Martin.Wilson Add missing file (for live link monolithic build failure) Change 3773949 by Jurre.deBaare Right click add selected to HLOD cluster / create cluster #fix Partially implemented the request, added context menu to HLOD level nodes in the HLOD outliner treeview to allow creating a new cluster from the current level viewport selection #jira UE-48334 Change 3773950 by Jurre.deBaare HLOD cluster drawing should not use AHLODSelectionActor but regular in-viewport drawing #fix removed old behaviour using a spawned actor to represent a selected HLOD cluster, and replaced it will simple debug drawing (this is a lot less bug prone and much cleaner) #jira UE-49094 Change 3773964 by James.Golding Mark FBodyInstance::ResponseToChannels_DEPRECATED as 'WITH_EDITORONLY_DATA' #jira UE-52545 Change 3773978 by Thomas.Sarkanen Allow edits to physics sim options to be undone/redone Added RF_Transactional to the object #jira UE-48046 - Undo/redo does not work in Physics Asset Editor's Physics/Details menu Change 3773982 by Martin.Wilson Add pre and post conversion callbacks to root motion conversion in character movement component #jira UE-51966 Change 3773988 by Thomas.Sarkanen Duplicating CL 3773896 from Fortnite: Push non-rendered anim updates back onto the worker thread Now when meshes are set to EMeshComponentUpdateFlag::AlwaysTickPose, we optionally kick of a task to perform parallel update only (no evaluation). #jira UE-46710 - Animation updates run on the main thread when Evaluation task doesnt run Change 3773999 by Martin.Wilson Fix incorrect merge Change 3774030 by Thomas.Sarkanen Renamed "Create Joints" to "Create Constraints" #jira UE-50861 - New Physics Asset window reads "Joints" instead of "Constraint" Change 3774031 by Thomas.Sarkanen Fixed typo in comment #jira UE-50841 - Typo in Vertex Weighting Type setting when creating new Physics Asset Change 3774200 by Lina.Halper Fix crash with empty element in the constraint setup #jira: UE-52686 Change 3774236 by Ori.Cohen Fix crash when destructible component doesn't mark its killed actors as IgnoreActiveActors #jira UE-52320 Change 3774284 by James.Golding Fix constructor order CIS error in AudioMicerSubmix.cpp Change 3774511 by James.Golding Fix up removed RevisionNumber param Change 3774724 by Lina.Halper Fix of motion blur change of previous bone transform Change 3775493 by Thomas.Sarkanen Duplicating CL 3775488 from Fortnite: Prevented skeletal meshes that are not being ticked due to URO from dispatching tick tasks #jira FORT-61157 - Run anim update on worker, even if not visible Change 3775508 by James.Golding Fix compilation without PhysX, move DeferredReleaseCallback outside WITH_PHYSX block Change 3775538 by James.Golding Fix Mac CIS due to missing virtual destructor in IDeferredReleaseCallback Change 3775921 by Ori.Cohen Better fix for destructible crash (also fix CIS) #jira UE-52762 Change 3776054 by Benn.Gallagher Fixed crash deleting max distance mask from a clothing data entry. #jira UE-52723 Change 3776063 by Thomas.Sarkanen Fix static analysis warning Change 3776331 by Jurre.deBaare Hierarchical LOD Outliner scrollbar doesn't appear #fix removed AutoHeight from parent vertical box around HLOD outliner details view #jira UE-52756 Change 3776704 by Martin.Wilson Fix array properties not always refreshing when new items are added #UE-52760 Change 3776755 by Thomas.Sarkanen Duplicating CL 3776656 from Fortnite: Fix notifies not getting fired in cases where AlwaysTickPose was set on skeletal mesh components This was causing AIs to get stuck in montage playback in some circumstances #jira FORT-61324, FORT-60558 Change 3777385 by Aaron.McLeran #jira UE-52786 Fix for broken spatialization on xaudio2, old audio engine. Change 3778233 by Lina.Halper Removed android from oculus audio platform Change 3778714 by Ethan.Geller #jira UE-52818 remove Android from Oculus Audio platforms Change 3779004 by Lina.Halper Include "Features/IModularFeatures.h" to cpp Fix build error Change 3780324 by Thomas.Sarkanen Duplicating CL 3778679 from Fortnite-Main: Fix 100% Linux server crash - dont attempt to run threaded work in a single-threaded environment We dont attempt to run animation update work multi-threaded in the same conditions that we didnt attempt to run animation eval work previously. #jira FORT-61548 Change 3763999 by Ethan.Geller remove space from ambisonics mixer name, fix build Change 3774470 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3774039 [CL 3780967 by Thomas Sarkanen in Main branch]
2017-11-30 12:07:08 -05:00
CachedTargetTransforms.Add(ConstraintData[Constraint.ConstraintDataIndex].CurrentTransform);
#endif // WITH_EDITOR
}
}
if (ConstraintData.Num() > 0)
{
FTransform SourceTransform = Output.Pose.GetComponentSpaceTransform(BoneToModify.CachedCompactPoseIndex);
// for constraint anim node, we always use identity as base
FTransform ConstrainedTransform = AnimationCore::SolveConstraints(SourceTransform, FTransform::Identity, ConstraintData);
OutBoneTransforms.Add(FBoneTransform(BoneToModify.CachedCompactPoseIndex, ConstrainedTransform));
#if WITH_EDITOR
CachedOriginalTransform = SourceTransform;
CachedConstrainedTransform = ConstrainedTransform;
#endif // WITH_EDITOR
}
#if ANIM_TRACE_ENABLED
for (int32 ConstraintIndex = 0; ConstraintIndex < ConstraintNum; ++ConstraintIndex)
{
TRACE_ANIM_NODE_VALUE(Output, *ConstraintSetup[ConstraintIndex].TargetBone.BoneName.ToString(), ConstraintWeights[ConstraintIndex]);
}
#endif
}
bool FAnimNode_Constraint::IsValidToEvaluate(const USkeleton* Skeleton, const FBoneContainer& RequiredBones)
{
// if any of them are valid
bool bHaveValidConstraint = false;
for (int32 ConstraintIndex = 0; ConstraintIndex<ConstraintSetup.Num() ; ++ConstraintIndex)
{
FConstraint& Constraint = ConstraintSetup[ConstraintIndex];
// make sure it has weight
if (ConstraintWeights[ConstraintIndex] > ZERO_ANIMWEIGHT_THRESH)
{
bHaveValidConstraint |= Constraint.IsValidToEvaluate(RequiredBones);
}
}
return (bHaveValidConstraint && BoneToModify.IsValidToEvaluate(RequiredBones));
}
void FAnimNode_Constraint::InitializeBoneReferences(const FBoneContainer& RequiredBones)
{
DECLARE_SCOPE_HIERARCHICAL_COUNTER_ANIMNODE(InitializeBoneReferences)
BoneToModify.Initialize(RequiredBones);
ConstraintData.Reset(ConstraintSetup.Num());
const int32 ConstraintNum = ConstraintSetup.Num();
if (BoneToModify.IsValidToEvaluate(RequiredBones))
{
FTransform SourceTransform = FAnimationRuntime::GetComponentSpaceRefPose(BoneToModify.CachedCompactPoseIndex, RequiredBones);
for (int32 ConstraintIndex = 0; ConstraintIndex < ConstraintNum; ++ConstraintIndex)
{
FConstraint& Constraint = ConstraintSetup[ConstraintIndex];
Constraint.Initialize(RequiredBones);
if (Constraint.TargetBone.IsValidToEvaluate(RequiredBones))
{
FConstraintData NewConstraintData(FTransformConstraintDescription(Constraint.TransformType), Constraint.TargetBone.BoneName, 0.f, Constraint.OffsetOption != EConstraintOffsetOption::None);
// copy the axes filter options, later figure out cleaner way to do this (constructor)
NewConstraintData.Constraint.ConstraintDescription->AxesFilterOption = Constraint.PerAxis;
FTransform TargetTransform = (NewConstraintData.bMaintainOffset) ? FAnimationRuntime::GetComponentSpaceRefPose(Constraint.TargetBone.CachedCompactPoseIndex, RequiredBones) : FTransform::Identity;
// for constraint anim node, we always use identity as base
NewConstraintData.SaveInverseOffset(SourceTransform, TargetTransform, FTransform::Identity);
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3780324) #lockdown Nick.Penwarden #rb none #rnx ============================ MAJOR FEATURES & CHANGES ============================ Change 3760710 by Thomas.Sarkanen Fix crash deleting primitives in PhAT Crash in tooltip generation for shapes. Tree items still exist in the frame before the tree gets regenerated (as the widget defers their destruction a frame), so they can end up pointing at out of date data. #jira UE-52404 - Crash deleting bodies #tests deleted primitives in PhAT Change 3760798 by Martin.Wilson Initialize PosesToEvaluate so that we don't get stale data crashes after reinitializing #Jira UE-52343 Change 3761312 by Martin.Wilson Fix for infrequent crash on module start up Change 3761333 by Danny.Bouimad Fixed the Cable actor test correctly, shouldn't fail on cooked platforms any more! Change 3761550 by Aaron.McLeran Engine changes requested by oculus for spatializer interface Change 3761728 by Martin.Wilson Fix crash when undoing a change on a skeletal mesh that uses virtual bones #Jira UE-52475 Change 3762032 by Ethan.Geller #jira UE-49076 Implement PR for VOIP bug fix on Mac Change 3762109 by Aaron.McLeran Enabling bAllowAnyoneToDestroyMe on audio components Change 3762125 by Aaron.McLeran Checking in missing file Change 3762568 by Aaron.McLeran Fixing ogg vorbis 5.1 channel ordering channel maps in audio mixer Fix is to create separate 5.1 channel maps for various output channel counts and pull those channel maps if the source file was decoded from vorbis. This pattern is copied from old xaudio2source code which handles 5.1 channel mapping seperately. Alternative solution would be to swizzle vorbis channels during cook, but this would break backward compatibility. We'll consider that solution in the future once we remove the old audio engine code. Change 3762571 by Aaron.McLeran Adding multichannel file support. - Spoofing the multi-channel file importer tool by allowing a single multichannel file to generate data in the same way - Moved the wave serializer code from audio capture plugin to audio.h/.cpp for general use Change 3762626 by Aaron.McLeran Adding ability to automatically tag ambisonics files. Change 3762627 by Aaron.McLeran Fixing up source buses to be more useful - Added pre and post source effect bus sends types. - Adjusted where in the source generation pipeline distance-based filtering is applied to a source. Source audio is sent to source buses immediately after source effect chain generation and before per-source distance-based filters are applied and distance attenuation. Change 3762652 by Aaron.McLeran Fix for device hot swap Change 3762725 by Ethan.Geller Fixing multichannel indices so that it matches the multichannel cook Change 3762738 by Ethan.Geller Add ambisonics plugin support Change 3762739 by Ethan.Geller Updating oculus audio plugin - Base implementation by Peter Sterling at Oculus - Ambisonics decoding using Oculus API implemented by Ethan Change 3763687 by Martin.Wilson Fix bug in GUID customization that leaves editor in an active transaction + Expose core property set code so other guid customizations can reuse it #Jira UE-52510 Change 3764412 by Ethan.Geller Fix the incremental build, pt 2 Change 3764721 by Ethan.Geller Fix the build, take 3 Change 3764767 by Martin.Wilson Rebuild array children properties when an item is added. Solves missing item crash if the user immediately tries to set the value of the new item #Jira UE-52537 Change 3764845 by Aaron.McLeran Making audio devices call flush after update and before endplay is called to ensure flush is called on audio devices. Prevents hang on releasing sound wave procedural references in GC. Change 3766047 by Thomas.Sarkanen Pinnable command list widget Added a new "pinnable command list" widget. Shift-clicking a menu option in either the skeleton tree filter or the viewport menus will 'pin' the command outside of the menu. This allows for easier access to commands that are frequently used. Minor Slate change - added virtual(s) to FUICommandList so commands can be forwarded when executed. #jira UE-51807 - Add 'quick filter' and visualization toggles UI to PhAT Change 3766111 by Thomas.Sarkanen CIS fix Change 3766273 by Lina.Halper Rename PostBlendPhysics to FinalizeAnimationUpdate Change 3768507 by Thomas.Sarkanen CIS fix Change 3768637 by James.Golding Add 'GetSectionFromProceduralMesh' util function #jira UE-49262 Change 3768649 by Lina.Halper Moved the automation test to tests folder #jira:UE-46250 Change 3768675 by Benn.Gallagher Fixed incorrect deprecated angular velocity accessor. Change 3768776 by Benn.Gallagher Fix for skeletal mesh editor crash importing more than 5 LODs #jira UE-52263 Change 3768804 by Martin.Wilson Live Link Virtual subjects Virtuals subjects are created within the client and contain the bones of multiple real subjects Change 3768874 by Martin.Wilson UAnimSequenceBase is now entirely exported with ENGINE_API #Jira UE-48020 Change 3769318 by Lina.Halper - Animation system owns previous bone transform with revision number, so that it can send to renderer when render recreated. - Framenumber still exists because clothing system uses it, and I'm planning to talk to Benn about it next week when he comes back #jira: UEAP-272 Change 3769714 by Lina.Halper Fix CIS Change 3770672 by James.Golding Expose API for changing 'Use CCD' flag at runtime #jira UE-50332 Change 3770675 by James.Golding Add test map for 'Set Use CCD' function Change 3770711 by Thomas.Sarkanen Multi viewports and bone-locked cameras in animation editor viewports All animation-related editors now have the ability to open up to 4 seperate viewports onto the same scene, each with their own settings. Fixed up bounds following to actually work correctly (now follows without lag). Added the ability to follow (and orbit) a specified bone as well. #jira UE-47127 - Add the Ability to Open Multiple Viewports on the Same Scene. #jira UE-49690 - "Camera Follow" in Persona Editor cannot be enabled Change 3770786 by Lina.Halper Support curve in copy pose node #jira: UE-50182 Change 3770943 by James.Golding Fix 'NODEBUG' option for PVD CONNECT console command (should only send profile data) Fix from Kier at NVIDIA #jira UE-52444 Change 3771145 by Benn.Gallagher Added ability to control whether or not a post process instance runs on a skeletal mesh component. Exposed both to blueprints and anim editor suite #jira UE-49747 Change 3772262 by Benn.Gallagher Defaulted the clothing create menu to use the skeletal mesh physics asset #jira UE-51607 Change 3772389 by Thomas.Sarkanen Added a keyboard shortcut to toggle between body and constraint selection Shortcut is Ctrl+T by default. #jira UE-51804 - Add a quick switch between selected constraints and bodies Change 3772393 by Thomas.Sarkanen Constraints are now displayed only once in the physics asset editor tree view User constraints are still displayed twice, however. #jira UE-51808 - Constraints in PhAT should only be displayed once in the tree Change 3772404 by James.Golding Fix Modify Curve AnimNode not calling CacheBones on source pose #jira UE-52129 Change 3772418 by Benn.Gallagher Allowed clothing visualizations to be enabled while clothing paint mode is active. Fixed crash attempting to visualize backstops when the clothing data has no backstops. #jira UE-47042 Change 3772964 by Thomas.Sarkanen Expose sequence recording settings in Persona editors Added layout extender to Persona module, so external tabs can now be added to all Persona-based editors easily. Added a structure details view to edit the default animation settings. Hooked default animation settings up to Persona animation recording. #jira UE-48416 - Set Frame Rate and Length of Recordings in Persona in Editor Change 3772967 by Martin.Wilson Add NativeBeginPlay function to AnimInstance #jira UE-51351 PR #4135: Add NativeBeginPlay to AnimInstance (Contributed by Vaei) Change 3772986 by Thomas.Sarkanen Added "Show Only Selected Constraints" to the physics asset editor #jira UE-51805 - Add 'show only selected constraints' option to PhAT Change 3773012 by Benn.Gallagher Added facility to debug skel mesh component to extend the viewport text seen in skeletal mesh editor and added lines for current cloth value #jira UE-42354 Change 3773132 by Martin.Wilson Added Uncheck all unconnected pins for BreakStruct nodes #jira UE-51136 PR #4110: Uncheck all unconnected pins from BreakStruct node... (Contributed by projectgheist) Change 3773158 by Benn.Gallagher Added auto-range feature to cloth view ranges, and a way for tools to extend those ranges when necessary #jira UE-48109 Change 3773895 by Jurre.deBaare Move material baking out of experimental #fix Removed experimental settings gating around Material Baking functionality #jira UE-52685 Change 3773898 by Jurre.deBaare Change log message wording when Simplygon fails to initialise to ensure it does not block CIS (error triggers a CIS error and will halt the build) Change 3773899 by Jurre.deBaare Add keybind for switching between paint / erase color while mesh painting #fix Added new command for switching fore and background colors in the mesh painter (defaults to X as shortcut) #jira UE-52197 Change 3773900 by Jurre.deBaare Hotkey to enable and disable post processing in the preview scene settings #fix Added hotkey and command for toggling Post Processing in Preview Scenes #jira UE-48111 Change 3773933 by Martin.Wilson Add missing file (for live link monolithic build failure) Change 3773949 by Jurre.deBaare Right click add selected to HLOD cluster / create cluster #fix Partially implemented the request, added context menu to HLOD level nodes in the HLOD outliner treeview to allow creating a new cluster from the current level viewport selection #jira UE-48334 Change 3773950 by Jurre.deBaare HLOD cluster drawing should not use AHLODSelectionActor but regular in-viewport drawing #fix removed old behaviour using a spawned actor to represent a selected HLOD cluster, and replaced it will simple debug drawing (this is a lot less bug prone and much cleaner) #jira UE-49094 Change 3773964 by James.Golding Mark FBodyInstance::ResponseToChannels_DEPRECATED as 'WITH_EDITORONLY_DATA' #jira UE-52545 Change 3773978 by Thomas.Sarkanen Allow edits to physics sim options to be undone/redone Added RF_Transactional to the object #jira UE-48046 - Undo/redo does not work in Physics Asset Editor's Physics/Details menu Change 3773982 by Martin.Wilson Add pre and post conversion callbacks to root motion conversion in character movement component #jira UE-51966 Change 3773988 by Thomas.Sarkanen Duplicating CL 3773896 from Fortnite: Push non-rendered anim updates back onto the worker thread Now when meshes are set to EMeshComponentUpdateFlag::AlwaysTickPose, we optionally kick of a task to perform parallel update only (no evaluation). #jira UE-46710 - Animation updates run on the main thread when Evaluation task doesnt run Change 3773999 by Martin.Wilson Fix incorrect merge Change 3774030 by Thomas.Sarkanen Renamed "Create Joints" to "Create Constraints" #jira UE-50861 - New Physics Asset window reads "Joints" instead of "Constraint" Change 3774031 by Thomas.Sarkanen Fixed typo in comment #jira UE-50841 - Typo in Vertex Weighting Type setting when creating new Physics Asset Change 3774200 by Lina.Halper Fix crash with empty element in the constraint setup #jira: UE-52686 Change 3774236 by Ori.Cohen Fix crash when destructible component doesn't mark its killed actors as IgnoreActiveActors #jira UE-52320 Change 3774284 by James.Golding Fix constructor order CIS error in AudioMicerSubmix.cpp Change 3774511 by James.Golding Fix up removed RevisionNumber param Change 3774724 by Lina.Halper Fix of motion blur change of previous bone transform Change 3775493 by Thomas.Sarkanen Duplicating CL 3775488 from Fortnite: Prevented skeletal meshes that are not being ticked due to URO from dispatching tick tasks #jira FORT-61157 - Run anim update on worker, even if not visible Change 3775508 by James.Golding Fix compilation without PhysX, move DeferredReleaseCallback outside WITH_PHYSX block Change 3775538 by James.Golding Fix Mac CIS due to missing virtual destructor in IDeferredReleaseCallback Change 3775921 by Ori.Cohen Better fix for destructible crash (also fix CIS) #jira UE-52762 Change 3776054 by Benn.Gallagher Fixed crash deleting max distance mask from a clothing data entry. #jira UE-52723 Change 3776063 by Thomas.Sarkanen Fix static analysis warning Change 3776331 by Jurre.deBaare Hierarchical LOD Outliner scrollbar doesn't appear #fix removed AutoHeight from parent vertical box around HLOD outliner details view #jira UE-52756 Change 3776704 by Martin.Wilson Fix array properties not always refreshing when new items are added #UE-52760 Change 3776755 by Thomas.Sarkanen Duplicating CL 3776656 from Fortnite: Fix notifies not getting fired in cases where AlwaysTickPose was set on skeletal mesh components This was causing AIs to get stuck in montage playback in some circumstances #jira FORT-61324, FORT-60558 Change 3777385 by Aaron.McLeran #jira UE-52786 Fix for broken spatialization on xaudio2, old audio engine. Change 3778233 by Lina.Halper Removed android from oculus audio platform Change 3778714 by Ethan.Geller #jira UE-52818 remove Android from Oculus Audio platforms Change 3779004 by Lina.Halper Include "Features/IModularFeatures.h" to cpp Fix build error Change 3780324 by Thomas.Sarkanen Duplicating CL 3778679 from Fortnite-Main: Fix 100% Linux server crash - dont attempt to run threaded work in a single-threaded environment We dont attempt to run animation update work multi-threaded in the same conditions that we didnt attempt to run animation eval work previously. #jira FORT-61548 Change 3763999 by Ethan.Geller remove space from ambisonics mixer name, fix build Change 3774470 by James.Golding Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3774039 [CL 3780967 by Thomas Sarkanen in Main branch]
2017-11-30 12:07:08 -05:00
Constraint.ConstraintDataIndex = ConstraintData.Add(NewConstraintData);
}
else
{
Constraint.ConstraintDataIndex = INDEX_NONE;
}
}
}
}
#if WITH_EDITOR
// can't use World Draw functions because this is called from Render of viewport, AFTER ticking component,
// which means LineBatcher already has ticked, so it won't render anymore
// to use World Draw functions, we have to call this from tick of actor
void FAnimNode_Constraint::ConditionalDebugDraw(FPrimitiveDrawInterface* PDI, USkeletalMeshComponent* MeshComp) const
{
if (PDI && MeshComp)
{
// draw my transform
FTransform LocalToWorld = MeshComp->GetComponentTransform();
FTransform OriginalTransform = CachedOriginalTransform * LocalToWorld;
FTransform ConstrainedTransform = CachedConstrainedTransform * LocalToWorld;
DrawCoordinateSystem(PDI, OriginalTransform.GetLocation(), OriginalTransform.GetRotation().Rotator(), 20.f, SDPG_Foreground);
DrawCoordinateSystem(PDI, ConstrainedTransform.GetLocation(), ConstrainedTransform.GetRotation().Rotator(), 20.f, SDPG_Foreground);
// draw my target's transform for all targets
FVector SourceLocation = ConstrainedTransform.GetLocation();
for (int32 Index = 0; Index < CachedTargetTransforms.Num(); ++Index)
{
FTransform TargetTrasnform = CachedTargetTransforms[Index] * LocalToWorld;
DrawDashedLine(PDI, SourceLocation, TargetTrasnform.GetLocation(), FColor::Yellow, 5.f, SDPG_World);
DrawCoordinateSystem(PDI, TargetTrasnform.GetLocation(), TargetTrasnform.GetRotation().Rotator(), 20.f, SDPG_Foreground);
}
}
}
#endif // WITH_EDITOR