2019-12-26 15:33:43 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-01-10 17:26:53 -05:00
|
|
|
#include "MovieSceneToolsModule.h"
|
|
|
|
|
|
2020-08-11 01:36:57 -04:00
|
|
|
#include "Editor.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 "Modules/ModuleManager.h"
|
|
|
|
|
#include "Curves/RichCurve.h"
|
2014-03-14 14:13:41 -04:00
|
|
|
#include "ISequencerModule.h"
|
This is a significant overhaul to the Curve Editor used by Sequencer which adds a plugin-based architecture and extensibility. New tools and toolbar buttons can be added to all usages of the curve editor via user plugins, and the different views for data can be created modularly so new implementations of the editor can register their own way of drawing their data and the tools should just work. Additionally, you can now write your own filters to operate on curve editor data for custom implementations of smoothing, key generation, etc.
The curve editor supports three view types by default - an absolute view (default, matches old behavior), a stacked view and a normalized view. Stacked views draw each curve separately (so non-overlapping) and normalized against their own min/max values. The normalized view draws all curves overlapping with each one normalized against its own min/max values.
A tree view has been added to help effectively manage large numbers of curves. Selecting curves in the treeview controls which curves are visible in the view area. The treeview also supports pinning curves. These pinned curves will always be visible regardless of your selection in the tree view.
A transform tool and a retiming tool have been implemented (via a plugin) which is enabled by default. The transform tool allows you to do a marquee selection of keys and then translate and scale the positions of these keys. The retiming tool allows you to create a 1 dimensional lattice to adjust the timing of your keys with a linear falloff between each lattice point. These tools work across multiple views at the same time which is especially useful if you are representing one dimensional data (such as event keys) in a view, as it allows you to adjust this data at the same time as your animation curves. A smoothing filter has been implemented (via a plugin) to allow running highpass and lowpass filters on your keys.
Opening the curve editor in Sequencer/UMG now creates a separate dockable tab which can be resized and docked as desired. A time slider has been added to the Curve Editor which is synchronized to the playback time in Sequencer. This allows you to scrub time in the curve editor without having to find the Sequencer window and adjust time there while looking at your keys and previewing your animation in the viewport at the same time.
Rudimentary support has been added for saving and later restoring a set of curves in your current session. This allows you to do a rudimentary copy/paste of entire curves but can also be useful for saving a curve, making adjustments to it and then deciding you want to go back - simply reapply the saved curve! Each curve added supports an intention name (such as "Location.X" or "FieldOfView"), and these intention names will be used when trying to apply curves. This allows you to reliably take all of the curves of a transform on one object and apply them to another object (and ensure that Location.X gets applied to the new Location.X, etc.) this can be helpful if you have a mixed set of curves buffered (such as a location and a field of view). In the event that no curves match by intention you can store and apply a single curve at a time from any intention to any other intention.
The Curve Asset editors (float, vector and color curve assets) have been changed to use the new editor. They support the same treeviews, filtering and tools that the Sequencer editor does. In addition, the Color Curve asset editor adds an additional view which provides a 1 dimensional gradient editor as an easier way to visualize and edit colors instead of the channels individually.
#rb Max.Chen, Andrew.Rodham
#ROBOMERGE-SOURCE: CL 6631811 via CL 6633746
#ROBOMERGE-BOT: (vundefined-6620334)
[CL 6633863 by matt hoffman in Main branch]
2019-05-24 14:42:05 -04:00
|
|
|
#include "ICurveEditorModule.h"
|
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3003857)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945755 on 2016/04/15 by Frank.Fella
Sequencer - Fix issues with level visibility.
+ Don't mark sub-levels as dirty when the track evaluates.
+ Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails.
+ Null check for when an objects world is null but the track is still evaluating.
+ Remove UnrealEd references.
Change 2947197 on 2016/04/18 by Max.Chen
Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages.
#jira UE-29516
Change 2948468 on 2016/04/19 by Max.Chen
Sequencer: Fix particles not firing on loop.
#jira UE-27881
Change 2948590 on 2016/04/19 by Max.Chen
Sequencer: Fix spawnables not getting default tracks.
#jira UE-29644
Change 2955993 on 2016/04/26 by Max.Chen
Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording.
#jira UE-29841
Change 2958567 on 2016/04/27 by Max.Preussner
RHI: Made SetReferencedTexture public, so that the referenced texture can be set
Change 2958718 on 2016/04/28 by Max.Chen
Sequencer: Folder colors. Right click on a folder and choose "Set Color"
#jira UE-28669
Change 2960172 on 2016/04/28 by Max.Preussner
Slate: Slate Remote Server (for the iOS touch input app) is now disabled by default, so we don't open up the socket unless desired by the user
Change 2960411 on 2016/04/28 by Max.Chen
Sequencer: Don't remove label if it's not being used.
#jira UE-24283
Change 2960414 on 2016/04/28 by Max.Chen
Matinee: Don't automatically turn frustums on/off when entering and exiting Matinee.
#jira UE-1020
Change 2962784 on 2016/05/02 by Max.Chen
Sequencer: Add master sequence
#jira UE-29799
Change 2964399 on 2016/05/03 by Andrew.Rodham
Sequencer: Added ability to apply cook-time optimization to tracks and objects
- For now, if a spawnable has a spawn track that is disabled, or will never spawn, the entire spawnable object will be removed from a cooked package.
- Possessables also afford the same optimization, although none is currently implemented
- We could, in future, also remove any tracks that are completely disabled
- Deprecated UMovieSceneBoolSection::DefaultValue in favor of the default stored on FIntegralCurve
Change 2967549 on 2016/05/05 by Max.Chen
Sequencer: Fix crash converting possessable to spawnable when the possessable doesn't exist.
#jira UE-30360
Change 2967670 on 2016/05/05 by Max.Chen
Sequencer: Set ui min/max for sequencer settings
#jira UE-30344
Change 2978969 on 2016/05/16 by Max.Chen
Sequencer: Restore state when focusing on a shot level sequence. This fixes issues where tracks in the movie scene that are active before switching to the new movie scene need to return to
their initial state. For example, setting a fade track in the master sequence and switching into a shot should disable the effects of the fade track in the master sequence.
#jira UE-30798
Change 2983237 on 2016/05/19 by Andrew.Rodham
Protocol settings for movie captures are now set up correctly when a capture type is specified on the command line
Thanks to original github author, yuhe00
#pr
#2257
Change 2991115 on 2016/05/26 by Andrew.Rodham
Sequencer: Added {shot} and {shot_frame} format args for movie captures
- Additionally, rendering out movie scenes as videos will now generate a new video for each unique filename it encounters. This allows us to render out a video per shot by using {shot} as
the output format.
- Frame numbers are now zero-padded as per the sequencer setting.
Change 2991920 on 2016/05/26 by Max.Chen
Sequencer: Fix movie scene getting dirtied unnecessarily when the fixed frame interval changes.
#jira UE-31343
Change 2992387 on 2016/05/26 by Max.Chen
Sequencer: Fix crash when getting the color key properties of a collapsed key that doesn't have all channels keyed.
#jira UE-31392
Change 2993553 on 2016/05/27 by Andrew.Rodham
Sequencer: Added the ability to add burn-ins to level sequences
- A default burn-in is provided which hosts a great level of flexibility
- 6 regions (L/C/R + T/B) on a 30% black border allow positioning of a range of frame statistics such as shot name ({ShotName}), frame numbers ({MasterFrame}, {ShotFrame}), and other
information.
- Watermark is provided by default (currently no tiling is exposed)
- Users can use the default built in UMG widget as a guideline for their own custom implementations.
Change 2993554 on 2016/05/27 by Andrew.Rodham
Sequencer: Default level sequence burn ins
- Also made a font asset out of our fixed width font shipped with the engine
Change 2993856 on 2016/05/30 by Max.Chen
Sequencer: Import/Export EDL
- Added a new option in the render movie dialog to export an Edit Decision List (EDL) in cmx and rv formats if there is a shot track. The default is true.
- Added "Import EDL" to shot track right click menu which imports a cmx EDL and conforms the shot order and cut information to it.
- Added "Export EDL" to shot track right click menu which exports EDLs in cmx and rv formats.
- Added "Render Shot" to shot right click menu which loads up the render movie dialog with the start and end frames of the selected shot.
#jira UETOOL-829, UETOOL-830
Change 2994761 on 2016/05/31 by Max.Chen
Sequence Recorder: Add a setting to allow recording of actors that are spawned by sequencer itself.
Change 2995648 on 2016/06/01 by HaarmPieter.Duiker
Sequencer EXR output gamut controls
Change 2996241 on 2016/06/01 by Frank.Fella
Sequencer - Add a small epsilon when "force fixed frame interval" is enabled, to make sure we're in the start of the next frame.
Change 2996244 on 2016/06/01 by Frank.Fella
Sequencer - Set the tick prerequisite for all components, not just the root.
Change 2997865 on 2016/06/02 by Max.Preussner
Sequencer: Fixed Crash in Sequencer play rate track when setting negative play rate (UE-31431)
#jira UE-31431
Change 2999631 on 2016/06/03 by Frank.Fella
Sequencer - At runtime, make sure to stop playing skeletal animations to prevent them from being double updated each frame, once by sequencer, and then again by tick.
Change 3000820 on 2016/06/03 by Max.Chen
Sequencer: Add hotkey (ctrl-T) to toggle between showing frame numbers and time.
#jira UE-31497
Change 3001056 on 2016/06/05 by Max.Chen
Sequencer: Fix fade color section crash by using an inline color picker in the details panel instead of a popup color picker.
#jira UE-31647
Change 3001057 on 2016/06/05 by Max.Chen
Movie Capture: Fix audio getting disabled after recording a movie.
Change 3001690 on 2016/06/06 by Andrew.Rodham
Sequencer: Fixed recording video sequences when not overwriting existing videos
Change 3001823 on 2016/06/06 by Max.Chen
Sequencer: Fix filtered nodes in folders so that other unfiltered children aren't visible.
#jira UE-31499
#lockdown Nick.Penwarden
[CL 3003974 by Max Chen in Main branch]
2016-06-07 11:03:52 -04:00
|
|
|
#include "MovieSceneToolsProjectSettingsCustomization.h"
|
2022-01-27 14:37:04 -05:00
|
|
|
#include "MovieSceneCVarOverridesPropertyTypeCustomization.h"
|
2019-10-01 20:41:42 -04:00
|
|
|
#include "Engine/Blueprint.h"
|
|
|
|
|
#include "EdGraph/EdGraph.h"
|
|
|
|
|
#include "K2Node_CustomEvent.h"
|
|
|
|
|
#include "K2Node_FunctionEntry.h"
|
|
|
|
|
#include "KismetCompiler.h"
|
|
|
|
|
#include "Sections/MovieSceneEventSectionBase.h"
|
2015-09-03 13:26:05 -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 "TrackEditors/PropertyTrackEditors/BoolPropertyTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/PropertyTrackEditors/BytePropertyTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/PropertyTrackEditors/ColorPropertyTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/PropertyTrackEditors/FloatPropertyTrackEditor.h"
|
2021-08-23 18:26:59 -04:00
|
|
|
#include "TrackEditors/PropertyTrackEditors/DoublePropertyTrackEditor.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 "TrackEditors/PropertyTrackEditors/IntegerPropertyTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/PropertyTrackEditors/VectorPropertyTrackEditor.h"
|
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3293188)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3203880 on 2016/11/18 by Ori.Cohen
Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)
Change 3207429 on 2016/11/22 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3207285
Change 3252627 on 2017/01/10 by Lukasz.Furman
removed duplicated entries from visual logger shape rendering
#ue4
Change 3252675 on 2017/01/10 by Ori.Cohen
Add support for tagged memory regions (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))
Change 3252686 on 2017/01/10 by Ori.Cohen
Refactor BodySetup to make it easier to reuse shape creation (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))
Change 3252833 on 2017/01/10 by Ori.Cohen
Refactor constraint so that it can be used for external solvers. (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))
Change 3252887 on 2017/01/10 by Dan.Reynolds
Increased modes to include:
Harmonic minor
Melodic minor (going up)
Pentatonic (Major)
Pentatonic (minor)
Whole Tone
Diminished (WH)
and Blues
Change 3252895 on 2017/01/10 by Aaron.McLeran
update to music utilities.
Change 3253060 on 2017/01/10 by Aaron.McLeran
Updates to synthesis plugin and some new features to DSP objects
Change 3253061 on 2017/01/10 by Aaron.McLeran
Updates to music maps
Change 3253078 on 2017/01/10 by Aaron.McLeran
Removing pragma optimization code accidentally checked in
Change 3253110 on 2017/01/10 by Ori.Cohen
First iteration of immediate mode ragdoll node (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))
Change 3253315 on 2017/01/10 by Aaron.McLeran
Fixing a few bugs in DSP objects
- Added a new types file EpicSynth1 and EpicSynth1 component can share enums
Change 3253577 on 2017/01/11 by Aaron.McLeran
Checking in updates to assets for music -- celestial manager for rotating objects like planets, new ambient map
Change 3254052 on 2017/01/11 by Ori.Cohen
Fix build.
Change 3254059 on 2017/01/11 by Ori.Cohen
Turn off html5 trying to build apex.
Change 3254095 on 2017/01/11 by Ori.Cohen
Fix build
Change 3254200 on 2017/01/11 by Jon.Nabozny
Make vectorized FTransform Accumulate (with blend) and AccumulateWithAdditive (with blend) consistent with the non-vectorized version and comments.
#JIRA UE-40469
Change 3254334 on 2017/01/11 by Marc.Audy
Put in missing virtual
Change 3254397 on 2017/01/11 by dan.reynolds
Updates to OtonOkeMap
Change 3254410 on 2017/01/11 by Marc.Audy
Cleanup autos
Change 3254420 on 2017/01/11 by Marc.Audy
PR #3110: Add missing IsInAudioThread check (Contributed by projectgheist)
Modified somewhat, but based on what PR indicated as a problem.
#jira UE-40369
Change 3254423 on 2017/01/11 by Marc.Audy
Optimize GetDefaultSubobjectByName and GetDefaultSubobjects
Remove autos
Change 3254826 on 2017/01/11 by Aaron.McLeran
Bringing optimizations to dev-framework
Change 3254831 on 2017/01/11 by dan.reynolds
Modified MidiSynthTestBP to use Program Change events to pull a Preset from a Preset Bank--added a Data Blueprint Object ES1Bank_Default (containing Preset arrays) with children classes for different classifications of Presets.
Change 3254833 on 2017/01/11 by dan.reynolds
Updating MidiSynthTestBP's default SynthPreset pan value.
Change 3254851 on 2017/01/11 by dan.reynolds
Updating ES1Bank_Bass
Updating OtonOkeMap
Change 3254854 on 2017/01/11 by Aaron.McLeran
Some fixups for pan modulation
Change 3255682 on 2017/01/12 by aaron.mcleran
Turning the bass down a bit on OtonOkeMap
Change 3255721 on 2017/01/12 by Marc.Audy
Fix spelling error
Change 3255790 on 2017/01/12 by Marc.Audy
Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)
Change 3256263 on 2017/01/12 by Ori.Cohen
Refactor immediate mode api to take PxD6Joint and PxRigidActor instead.
Change 3256288 on 2017/01/12 by Ori.Cohen
Undo constraint refactor as we found a way around it and it made the code much harder to read/debug
Change 3256360 on 2017/01/12 by Ori.Cohen
Make sure physx actors passed into immediate mode are done so with proper locks (can probably improve this in the case where the actor is not even in the scene)
Change 3256846 on 2017/01/13 by Marc.Audy
Deprecate FBox/FBox2D int32 constructor because it makes no sense if you pass in a non 0 value. Use ForceInit instead.
Change 3256954 on 2017/01/13 by Marc.Audy
Fix missed fixup of deprecated constructor use
Change 3257167 on 2017/01/13 by Jon.Nabozny
Fix check in FBodyInstance::SetCollisionEnabled.
Create convenience methods for HasPhysics and HasQuery.
#jira UE-39633
Change 3257181 on 2017/01/13 by Zak.Parrish
Adding input map and some testing content to Xenakis
Change 3257183 on 2017/01/13 by Mieszko.Zielinski
Implemented an improved navigation projection BP function that retrieves both projected locaiton as well as a boolean indicating if the projection succeeded #UE4
Also, did similar changes to GetRandomReachablePointInRadius and GetRandomPointInNavigableRadius
#jira UE-40368
Change 3257211 on 2017/01/13 by Jon.Nabozny
Fix CIS issue caused by 3257167.
Change 3257220 on 2017/01/13 by Marc.Audy
Additional FBox constructor deprecation fixups
Change 3257236 on 2017/01/13 by zak.parrish
Fixed error on Xenakis input pawn
Change 3257242 on 2017/01/13 by zak.parrish
Update to InputListener
Change 3257273 on 2017/01/13 by Marc.Audy
No reason to pass simple types by reference
Change 3257418 on 2017/01/13 by Ori.Cohen
Attempt to turn android physx libs back to static libs.
Change 3257445 on 2017/01/13 by Ori.Cohen
Turn android libs back to OBJ and removed unreal side linking as it seems we are now just merging into a single physx lib
Change 3257903 on 2017/01/14 by Aaron.McLeran
Additions to synth module and updates to dsp objects
- Adding ability to create arbitrary modular patches from modulating sources to modulation destinations
- DSP objects define their default depths but patches can override
- Creating new SynthesisEditor module for synthesis plugin so we can create synthesis preset assets
- Adding a preset bank type so we can store a bank of presets (aka factory presets)
Change 3258179 on 2017/01/15 by Seth.Weedin
Duplicating input test map for some FX work
Change 3258181 on 2017/01/15 by Seth.Weedin
Modify skybox in test map to be dark and spooky
Change 3258183 on 2017/01/15 by aaron.johnson
substituted classes, changed wind speed and adjusted level lighting
Change 3258190 on 2017/01/15 by aaron.johnson
substituted triplet pawn and motion controller classes, enabled grabbing animations
Change 3258191 on 2017/01/15 by Aaron.McLeran
Getting source effects working for GDC demo
- Added new synthesis editor module to create instances of user-created source effects
- Added code to do source effects
- Modified old design to a newer, more simpler design for calling into client code to set parameters. No longer using the complex struct reflection design and instead just pass in the uobject preset the user created. They'll then cast it to the type that has the actual settings.
- Tweaks and fixes to existing dsp objects to get source effects working
- Modified existing engine code to allow for playing out source effect tails
- Only supporting mono and stereo assets for source effect processing. Multi-channel effect processing is overly complex for this feature though we may extend the capabilities in the future.
- Fixed issue of pitching with stereo delay effect on setting first interpolated param
- Moving synth/dsp stuff in synthesis plugins into appropriate public/private folders in plugin/module
- Deleting some cruft files no longer needed
Change 3258201 on 2017/01/15 by Seth.Weedin
C++ and BP classes for managing grid cells. Initial grid mapping tests. #rb none
Change 3258206 on 2017/01/15 by aaron.johnson
map push, triplets interface created, debug widget placed in level
Change 3258222 on 2017/01/15 by Aaron.McLeran
Fixing crash when there's a null entry in the source effect chain
Fixed some zippering introduced by applying volume twice.
Change 3258225 on 2017/01/15 by aaron.johnson
Interface changes, pawn output values wip
Change 3258228 on 2017/01/15 by aaron.johnson
Pawn should be outputting all correct values for Tripletsinterface
Change 3258242 on 2017/01/15 by Stanley.Hayes
Edge lights and Spherical Density Materials
Change 3258251 on 2017/01/16 by Seth.Weedin
More progress on grid FX. Add curve strength modifiers, begin hooking up interaction. #rb none
Change 3258284 on 2017/01/16 by Aaron.McLeran
Fixing CIS build error
Surprised that MSVC allows that...
Change 3258525 on 2017/01/16 by Mieszko.Zielinski
Made UGameplayTask::ResourceOverlapPolicy configurable via ini files #UE4
Change 3258537 on 2017/01/16 by Lukasz.Furman
fixed duplicated & undo operations not updating navigation area in nav link proxy and nav link component
#ue4
Change 3258595 on 2017/01/16 by Marc.Audy
Fix static analysis warning
Change 3259364 on 2017/01/16 by Mieszko.Zielinski
BTTask_RotateToFaceBBEntry comment spelling fix #UE4
#jira UE-40669
Change 3259683 on 2017/01/16 by dan.reynolds
Updated Preset Bank System implemented in MidiSynthTestBP and 4 Preset Banks have been started
Change 3260244 on 2017/01/17 by Lina.Halper
#anim
- optimize layer blend node to not create mask weights in run-time but in compile time.
#code review: Martin.Wilson
Change 3260617 on 2017/01/17 by Ori.Cohen
Immediate mode spawns its own actors.
Change 3260701 on 2017/01/17 by Ori.Cohen
Don't bother blending physics with animation when physics is QueryOnly
Change 3260796 on 2017/01/17 by Ori.Cohen
EndPhysics tick will no longer be scheduled if QueryOnly is used on a ragdoll.
Change 3261207 on 2017/01/17 by Ori.Cohen
First iteration of contact enabling/disabling for immediate mode.
Change 3262010 on 2017/01/18 by Marc.Audy
Remove some autos
Change 3262525 on 2017/01/18 by Lina.Halper
Fix crash with required bones index not using property indexing
#jira: UE-40786
Change 3263658 on 2017/01/19 by Martin.Wilson
Add AnimTechDemo to dev-framework (base third person + feng mao)
Change 3263684 on 2017/01/19 by Lina.Halper
#anim : layer node - fix allocation change I made by mistake
Change 3264523 on 2017/01/19 by Ori.Cohen
Immediate mode can now add static geometry it finds in the world. Also improve contact gen by caching iteration order
Change 3264701 on 2017/01/19 by Ori.Cohen
Make it so that immediate mode ragdolls collide with the ground in persona.This is a bit of an editor only hack which allows immediate mode to find non-static actors
Change 3264980 on 2017/01/19 by Ori.Cohen
Make sure physics asset collision disabled works in immediate mode.
Change 3265011 on 2017/01/19 by Ori.Cohen
Added the ability to override physics asset for immediate mode
Change 3265030 on 2017/01/19 by Ori.Cohen
Added override gravity for immediate mode.
Change 3265650 on 2017/01/20 by Benn.Gallagher
NvCloth Source
Change 3265652 on 2017/01/20 by Benn.Gallagher
NvCloth Lib
#rnx
Change 3265653 on 2017/01/20 by Benn.Gallagher
NvCloth Bin
#rnx
Change 3266195 on 2017/01/20 by Danny.Bouimad
Initial ClothTest Assets for NCloth Before and after comparison TM-MultiClothTest (Under Maps>Framework>Cloth)
Change 3266377 on 2017/01/20 by Marc.Audy
Ensure that OrphanedDataOnly and TrashClass blueprint generated classes are correctly considered a blueprint class for disregard for GC purposes.
Change 3267873 on 2017/01/23 by Jon.Nabozny
Fix SceneProxy shadowing in UGeometryCacheComponent.
Change 3268025 on 2017/01/23 by Benn.Gallagher
IWYU change, platform PCH generation seemed to hide this one.
Change 3268026 on 2017/01/23 by Benn.Gallagher
Fixed LOCTEXT_NAMESPACE being inconsistently scoped in an #if block
#rnx
Change 3268630 on 2017/01/23 by Zak.Parrish
Updating to add MIGS shooter content, as well as audio interaction Blueprints
Change 3268663 on 2017/01/23 by Ori.Cohen
Ragdoll animnode uses raw physics asset pointer to ensure it makes a hard reference.
Change 3268811 on 2017/01/23 by Ori.Cohen
Added component space sim for immediate mode
Change 3269369 on 2017/01/24 by Benn.Gallagher
Copying //Tasks/UE4/Dev-UEFW-11-NewClothingPipeline to Dev-Framework (//UE4/Dev-Framework)
Replaced clothing with new simulation framework
Change 3269417 on 2017/01/24 by danny.bouimad
Minor Update to cloth map for test
Change 3269420 on 2017/01/24 by Benn.Gallagher
Removed APEX simulation from clothing framework (used in testing, not fully complete)
Change 3269421 on 2017/01/24 by danny.bouimad
Small tweaks
Change 3269515 on 2017/01/24 by Lukasz.Furman
enabled gameplay debugger's OnSelectionChanged event support for both PIE and SIE modes
fixed GameplayAbility debugger's category not using IAbilitySystemInterface
#ue4
Change 3269595 on 2017/01/24 by mason.seay
Break apart physics asset for crash bug
Change 3269819 on 2017/01/24 by Ori.Cohen
Make the possibly kinematic actor the first actor in the immediate mode joint. This is consistent with physx vanilla solver.
Change 3270364 on 2017/01/24 by Josh.Stoddard
upgrade to the latest version of v-HACD:
https://github.com/kmammou/v-hacd/tree/master/src/VHACD_Lib
commit: 7a09f9d
NOTE: only updated windows binaries
mac and linux still using old binaries until they can be tested
#jira UE-40124 #rb josh.stoddard
Change 3271188 on 2017/01/25 by Jurre.deBaare
Post-import script support
#jira UEFW-80
Change 3271249 on 2017/01/25 by Thomas.Sarkanen
Move soundwave-internal curve tables to advanced display
Exposing it was confusing to audio people
Change 3271586 on 2017/01/25 by Marc.Audy
Don't rerun construction scripts twice on a level that has been hidden and reshown
#jira UE-40306
Change 3272048 on 2017/01/25 by Ori.Cohen
Fix for immediate mode sim when root body is the same as the root bone.
Change 3272083 on 2017/01/25 by Ori.Cohen
Make sure to warn when component space sim and collision are used together. Also handle it gracefully.
Change 3272300 on 2017/01/25 by Ori.Cohen
Fix incorrect collision generation when a shape's local pose is not identity.
Change 3273195 on 2017/01/26 by Jurre.deBaare
Fix for Anim import script crash in GetBonePosesForTime
Change 3273204 on 2017/01/26 by Ben.Marsh
Ignore PRAGMA_DISABLE_SHADOW_VARIABLE_WARNINGS and PRAGMA_ENABLE_SHADOW_VARIABLE_WARNINGS macros between include directives. Fixes CIS warning with IncludeTool.
Change 3273378 on 2017/01/26 by James.Golding
In AnimBP editor, call CopyNodeDataToPreviewNode when properties are edited, not just pin defaults changed
Change 3273381 on 2017/01/26 by James.Golding
Big refactor to PoseDriver
- RBF logic now moved into its own class/file
- Allow editing of transform and radial scaling per-target
- Add support for different falloff functions (not just Gaussian)
- Allow driving curves directly, rather than always poses
- Add details customization for pose driver node
- Edits to PoseDriver settings now take immediate effect, don't need to recompile
Change 3273826 on 2017/01/26 by Josh.Stoddard
modify VHACD to improve quality of hulls generated by convex decomposition
NOTE: mac libs not included - mac editor will use legacy libs for now
Change 3273902 on 2017/01/26 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3273433
Change 3274018 on 2017/01/26 by Ori.Cohen
Added immediate physics preview in phat.
Change 3274165 on 2017/01/26 by Ori.Cohen
PhAT now depends on immediate mode plugin. Fix build
#JIRA UE-41179
Change 3275001 on 2017/01/27 by Jurre.deBaare
Fix for crash in Persona with Anim Modifiers
Change 3275297 on 2017/01/27 by Ori.Cohen
Big refactor to iterate over shapes instead of bodies (allows multiple shape per body collision)
Change 3275340 on 2017/01/27 by Benn.Gallagher
Fixed Paragon clothing crashes during clothing upgrade step, fixed bone mapping not getting updated on reimport with different hierarchy
#jira UE-41025
#jira UE-41039
Change 3275383 on 2017/01/27 by Benn.Gallagher
Blacklisted double promotion warning on ps4 NvCloth build
#rnx
Change 3275426 on 2017/01/27 by Benn.Gallagher
Removed CUDA dependencies from NvCloth cmake files
Change 3275670 on 2017/01/27 by Ori.Cohen
Fix phat ragdoll in immediate mode updating sketal mesh component transform
Change 3275673 on 2017/01/27 by Ori.Cohen
Add position/velocity iteration to immediate mode
Change 3276001 on 2017/01/27 by Alan.Noon
Migrated Immediate Mode Minion Ragdoll Content to GDC AnimTech Project. Updated DefaultInput.ini
none
Change 3276596 on 2017/01/28 by Aaron.McLeran
Removing unused #ifdef
Change 3276597 on 2017/01/28 by Aaron.McLeran
Getting rid of static analysis warning
Change 3277354 on 2017/01/30 by Lukasz.Furman
fixed custom navlink Id collisions
#ue4
Change 3277356 on 2017/01/30 by Lukasz.Furman
fixed comments in GameplayDebugger.h
#jira UE-41103
Change 3277371 on 2017/01/30 by mason.seay
Test map for spawn sound/force feedback bug.
Change 3277445 on 2017/01/30 by Lukasz.Furman
fixed compilation warning
#ue4
Change 3277560 on 2017/01/30 by Danny.Bouimad
Made checkin to Fix Crash that occured due to bad content.
Change 3277567 on 2017/01/30 by Ori.Cohen
Fix immediate mode crashing when joint is empty.
#JIRA UE-41026
Change 3277928 on 2017/01/30 by Ori.Cohen
Turn on immediate mode plugin by default
Change 3278433 on 2017/01/30 by Ori.Cohen
Immediate mode supports heightfield collision.
Change 3278449 on 2017/01/30 by Ori.Cohen
Fix immediate mode cache not being initialized properly.
Change 3278787 on 2017/01/31 by James.Golding
Fix CIS error in ImmediatePhysicsSimulation.cpp
Change 3279303 on 2017/01/31 by mason.seay
Assets for RigidBody node bug
Change 3279352 on 2017/01/31 by Benn.Gallagher
Fixed inertia blends on self collision cloth assets as we now only have local space simulation and these values weren't used before
Change 3279377 on 2017/01/31 by Alan.Noon
GDC AnimTech Demo: adjusted minion physics assets
none
Change 3279425 on 2017/01/31 by james.cobbett
Updating QA-Physics map.
Made one of the simulated physics objects more user-friendly, able to enable/disable physics on key-press now.
Change 3279436 on 2017/01/31 by Benn.Gallagher
Fixed inertia scales on Owen mesh
Change 3279480 on 2017/01/31 by Benn.Gallagher
Fixes for clothing behavior changes
#jira UE-41092
Change 3279495 on 2017/01/31 by Ori.Cohen
Remove unneeded cache clearing when contact pairs are not skipped, but there is no collision.
Change 3279579 on 2017/01/31 by james.cobbett
Added new scenario to QA-Physics map.
Moving platforms (up/down, left/right) with physics objects on them.
Change 3279695 on 2017/01/31 by mason.seay
RigidBody node test asset
Change 3280105 on 2017/01/31 by Ori.Cohen
Prevent query only ragdolls from simulating if their bodysetup is marked as simulated. Also remove slow check in term body for owning components. This is not true for destructibles or immediate mode
Change 3280148 on 2017/01/31 by mason.seay
First round of assets for force feedback testing
Change 3280860 on 2017/02/01 by James.Golding
Merge CL 3280853 to Dev-Framework
Fix crash with null CurrentSkeleton on AnimInstance when using Re-import button in SkelMesh Editor
Change 3281172 on 2017/02/01 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3281156
Change 3281210 on 2017/02/01 by james.cobbett
Updated QA-Physics map
Added cube that starts off with physics enabled, then disables. Made physics toggleable on that and another cube.
Change 3281211 on 2017/02/01 by James.Golding
Details customization for editing PoseDriver targets list
Change 3281332 on 2017/02/01 by Marc.Audy
Fix bad merge
Fix file types
Change 3281388 on 2017/02/01 by mason.seay
Updated Force Feedback asset
Change 3281396 on 2017/02/01 by mason.seay
moving asset
Change 3281987 on 2017/02/01 by Benn.Gallagher
Fixed project generation failing after main merge
Change 3282047 on 2017/02/01 by Marc.Audy
Fix up Target and build cs files after changes from Dev-Build
Change 3282214 on 2017/02/01 by Ori.Cohen
Expose radial forces to immediate mode
Change 3282221 on 2017/02/01 by Alan.Noon
Immediate Mode GDC demo content: development on minion anim B, refined Orbital Laser Pawn controls, tweaked laser parameters
none
Change 3282273 on 2017/02/01 by Ori.Cohen
Fix crash when recompiling animbp of immediate mode due to null pointer.
Change 3282368 on 2017/02/01 by Ori.Cohen
Quick iteration on minion demo
Change 3282824 on 2017/02/02 by James.Golding
Fix for CIS in RBFSolver.h
Change 3282829 on 2017/02/02 by James.Golding
Fix CIS in PoseDriverDetails.cpp
Fix list UI not refreshing after copying targets from PoseAsset
Change 3282834 on 2017/02/02 by Danny.Bouimad
Adding Pose driver additive assets
Change 3282863 on 2017/02/02 by James.Golding
Add Mambo mesh and Skeleton
Change 3282892 on 2017/02/02 by James.Golding
Copy Aurora (Ice) and Mambo meshes/materials/some anims from Dev-General to AnimTechDemo project in Dev-Framework
Change 3283157 on 2017/02/02 by Mieszko.Zielinski
Cook Orion Win64 fix #UE4
Had to change the Extent param of K2_ProjectPointToNavigation. Updated the error causing Orion BP
Change 3283159 on 2017/02/02 by Marc.Audy
Additional CIS fixes
Change 3283179 on 2017/02/02 by Marc.Audy
More CIS fixes
Change 3283197 on 2017/02/02 by Jurre.deBaare
Fix for issues importing Fornite geometry cache assets
#fix Use actual import number of frames instead of total number of frames in the Alembic Cache
Change 3283201 on 2017/02/02 by Marc.Audy
Keep fixing CIS
Change 3283270 on 2017/02/02 by James.Golding
Merging CL 3276013 to Dev-Framework
- fix issue with additive pose preview applying twice
Change 3283499 on 2017/02/02 by Marc.Audy
More CIS fixes
Change 3283543 on 2017/02/02 by Jon.Nabozny
Update comment on AActor::GetActorBounds to properly reflect ChildActorComponents aren't included in the calculation.
Change 3283663 on 2017/02/02 by Ori.Cohen
Fix potential null dereference in ragdoll node
Change 3283757 on 2017/02/02 by Marc.Audy
May fix remaining CIS issues
Change 3283984 on 2017/02/02 by Marc.Audy
Fix linux CIS
Change 3284039 on 2017/02/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3283913
Change 3284067 on 2017/02/02 by Marc.Audy
Fixup mistakes in converting redirects
Change 3284187 on 2017/02/02 by Ori.Cohen
Immediate mode works with radial force (not just radial impulse)
Change 3284358 on 2017/02/02 by Ori.Cohen
Update arcblade phys asset for immediate mode
Change 3284667 on 2017/02/02 by Marc.Audy
Arguments is an array not a string now. Fixing commented out code.
Change 3284684 on 2017/02/02 by Marc.Audy
Move AVIWriter out in to its own module to avoid any possible unity build issues where xwindows.h got indirectly included through the DirectShow third party library and caused FGenericWindow::IsMaximized and IsMinimized to conflict with a macro.
Change 3284707 on 2017/02/02 by Marc.Audy
Fix AVIWriter module compilation on Mac
Change 3285012 on 2017/02/03 by Benn.Gallagher
Fixes for Dx NvCloth shader warnings
Change 3285016 on 2017/02/03 by Marc.Audy
Fix missing include
Change 3285048 on 2017/02/03 by Benn.Gallagher
Fixed Persona needing a restart when changing number of clothing assets (import/delete)
#jira UE-41323
Change 3285325 on 2017/02/03 by Marc.Audy
Properly implement AVIWriter module
Change 3285538 on 2017/02/03 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3285499
Change 3285735 on 2017/02/03 by Jon.Nabozny
Add IsInAir method to UVehicleWheel.
#jira UE-38369
Change 3285862 on 2017/02/03 by Aaron.McLeran
UE-41435 Fixing PIE audio
- Fixing PIE audio. Recent change to editor preferences from Dev-Editor branch (CL 3234495) caused all audio to be muted in PIE.
Change 3285914 on 2017/02/03 by danny.bouimad
RecomputeTangents Test Assets
Change 3286246 on 2017/02/03 by Mieszko.Zielinski
Changes to game-specific BPs containing calls to deprecated NavigationSystem functions #UE4
#jira UE-41527
#jira UE-41518
Change 3286308 on 2017/02/03 by Ori.Cohen
Make sure physx trimesh scale is never too small. Fix box clamping being ignored. Fixes cook warnings for Odin.
#JIRA UE-41529
Change 3286396 on 2017/02/03 by Ori.Cohen
Fix CIS
Change 3286479 on 2017/02/03 by Ori.Cohen
Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)
Change 3287421 on 2017/02/06 by James.Golding
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3286819
Change 3287427 on 2017/02/06 by James.Golding
Fix PoseBlendNode to 'pass through' if no poses are activated
Change 3287430 on 2017/02/06 by James.Golding
- Add support to PoseDriver for evaluating source bone in the space of a different bone
- Fix driven bone adding a scale of 1
- Fix posedriver values 'sticking' (reset all weights to zero each frame)
- Move CopyTargetsFromPoseAsset and AutoSetTargetScales from FAnimNode_PoseDriver to UAnimGraphNode_PoseDriver (not required outside editor)
- Tranlsation targets now draw larger when selected
- 'Copy from pose asset' now also auto-sets radius for you
- Remove spammy warnings for missing poses/curves
- Add UPoseAsset::GetNumTracks and ::GetFullPose
- Remove unused ExtractionContext from UPoseAsset::GetBaseAnimationPose
- Remove bIncludeRefPoseAsNeutralPose option (not really useful since we no longer always normalize weights to 1.0)
Change 3287496 on 2017/02/06 by Chad.Garyet
fixing busted quotes around defaultvalues
Change 3287569 on 2017/02/06 by Mieszko.Zielinski
Orion BP fixed after deprecating NavigationSystem's BP API #Orion
Change 3287595 on 2017/02/06 by Benn.Gallagher
BuildPhysX.Automation: Deploying PhysX & NvCloth Win64 Win32 PS4 libs.
Built for new NvCloth upgrade
Change 3287598 on 2017/02/06 by Benn.Gallagher
NvCloth Upgrade to 21604115
Added Linux+Mac support
Change 3287710 on 2017/02/06 by Lukasz.Furman
added option to disable navlink polys at the end of generated paths
#ue4
Change 3287857 on 2017/02/06 by Benn.Gallagher
Fixed NvCloth module files to correctly set up linux and mac hopefully
Change 3287894 on 2017/02/06 by Benn.Gallagher
Another fix to NvCloth build files, didn't get picked up in VS for some reason.
Change 3287917 on 2017/02/06 by Lina.Halper
Copy from CharacterRigging to Dev-Framework
#code review:Thomas.Sarkanen, Martin.Wilson, James.Golding, Andrew.Rodham
Change 3287938 on 2017/02/06 by Thomas.Sarkanen
Fix crash opening a media sound wave
#jira UE-41582 - Editor crashes when running Automation test
Change 3287942 on 2017/02/06 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3287682
Change 3288035 on 2017/02/06 by James.Golding
Remove C++ GameMode and pawn classes (replace with floating BP instead)
Resave anims to remove Orion refs
Add simple AnimBP and map for Mambo testing
Change 3288036 on 2017/02/06 by Benn.Gallagher
Fix to BuildPhysX task to trigger Mac and Linux builds properly
Change 3288125 on 2017/02/06 by Ori.Cohen
Change PhysXCommon back to dylib
Change 3288127 on 2017/02/06 by Benn.Gallagher
Fixed project file identification not working for NvCloth under XCode
Change 3288156 on 2017/02/06 by Benn.Gallagher
Disable "expansion-to-defined" warning in Linux NvCloth builds
Change 3288159 on 2017/02/06 by Lina.Halper
potential compile fix for Ocean Editor
#code review:Thomas.Sarkanen
Change 3288190 on 2017/02/06 by Ori.Cohen
Link against static PhysXCommon for mac
Change 3288200 on 2017/02/06 by Marc.Audy
Fix CIS
Change 3288270 on 2017/02/06 by Lina.Halper
fix compile error
#code review:Thomas.Sarkanen, Marc.Audy
Change 3288302 on 2017/02/06 by Thomas.Sarkanen
Fixed ensure when deselecting bones in anim BP editor
#jira UE-41274 - Ensure when clicking in the viewport of an animation blueprint
Change 3288348 on 2017/02/06 by Lina.Halper
- Enabled control rig
- Changed plugin name to be Control Rig
Change 3288490 on 2017/02/06 by Benn.Gallagher
Fixes for Mac attempting static links against NvCloth and failing to load dynamic libraries. Worked with MasonS to get Mac editor up and running.
Change 3288511 on 2017/02/06 by Lina.Halper
compile fix
Change 3288513 on 2017/02/06 by Lina.Halper
Check in content to work with
Change 3288615 on 2017/02/06 by Ori.Cohen
Fix skeletal mesh not simulating when using an aggregate.
#JIRA UE-41593
Change 3288791 on 2017/02/06 by thomas.sarkanen
Exposed transforms to cinematics so they can be animated
Change 3288795 on 2017/02/06 by Ori.Cohen
Fix lock warnings for physx
#JIRA UE-41591
Change 3288817 on 2017/02/06 by Charles.Anderson
GDC Arcblade setup tests.
Change 3288825 on 2017/02/06 by Lina.Halper
Fix build issue of shadow variable
Change 3289058 on 2017/02/06 by Ori.Cohen
Fix crash when immediate mode constraint generates 0 rows. This is a potentially temporary fix until NVIDIA replies with a better solution.
#JIRA UE-41026
Change 3289348 on 2017/02/06 by Lina.Halper
fix compile issue
Change 3289369 on 2017/02/06 by Lina.Halper
Renamed leg control to limb control and will be used for arm/feet.
- changed vars.
- has unused variables that will be used soon but want to check in so that i don't block content change on BaseHuman.
#code review:Thomas.Sakanen
Change 3289422 on 2017/02/06 by Lina.Halper
Fixed IK sinking issue - or moving
#code review:Thomas.Sarkanen
Change 3289433 on 2017/02/06 by Lina.Halper
Fixed real shadow error
Change 3289485 on 2017/02/06 by Lina.Halper
fixed build issue
Change 3289657 on 2017/02/07 by thomas.sarkanen
Added rig bone mapping to Ice's skeletal mesh
Change 3289658 on 2017/02/07 by thomas.sarkanen
Added ControlRig map with Ice setup to pose
Change 3289662 on 2017/02/07 by Thomas.Sarkanen
Fixed up static analysis warning
Change 3289663 on 2017/02/07 by Thomas.Sarkanen
Fixed crash when attempting to bind to skeletal mesh with already-set anim BP
Anim instance may not have actually been created when binding, so dont dereference it
Change 3289717 on 2017/02/07 by Benn.Gallagher
Switch Linux NvCloth to static for Linux builds. Adjust lib directory to match actual directory
Change 3289718 on 2017/02/07 by Benn.Gallagher
BuildPhysX.Automation: Deploying NvCloth Linux_x86_64-unknown-linux-gnu libs.
Change 3289744 on 2017/02/07 by Benn.Gallagher
Fixed missing masses causing crash initialising clothing actors
#jira UE-41599
Change 3289746 on 2017/02/07 by Danny.Bouimad
Adding Some Content for JamesG he wanted some nicer looking Pose driver test files.
Change 3289756 on 2017/02/07 by danny.bouimad
Changing the asset for JamesG.
Change 3289785 on 2017/02/07 by James.Golding
Replace old PoseDrive test with Danny's new one
Change 3289858 on 2017/02/07 by Lina.Halper
fixed issue with undo transaction buffer
Change 3289860 on 2017/02/07 by Benn.Gallagher
Fixed crash after reimporting a clothing asset with the clothing config open and then changing the confg
#jira UE-41655
Change 3289912 on 2017/02/07 by Thomas.Sarkanen
Merging using Raven_To_Dev-Framework
Originally from CLs 3249471, 3258522, 3260271, 3273791:
Sequencer: More work supporting array properties more generically
+ fixes
Change 3289962 on 2017/02/07 by James.Golding
Add thickness option to DrawWireDiamond
Change 3289963 on 2017/02/07 by James.Golding
Add spin option to VectorInputBox
Change 3289966 on 2017/02/07 by James.Golding
Add weight bar chart to PoseDriver details
Stop drawing pose weight text in viewport
Fix position targets not drawing larger when selected
Change 3290094 on 2017/02/07 by Thomas.Sarkanen
Fixed typo in filename (fallout from search and replace)
Change 3290119 on 2017/02/07 by Thomas.Sarkanen
Manipulators can now have their IK/FK space set on them
They are not drawn when the space for the chain that they control is not the same as their setting
Also fixed a crash with invalid objects when reloading maps.
Change 3290145 on 2017/02/07 by Thomas.Sarkanen
CIS fix for fallout from Raven changes
#jira UE-41670 - Mac editor fails to compile with PropertyTrackEditor errors
Change 3290319 on 2017/02/07 by Marc.Audy
Make sound player nodes hard reference the assets unless they are in a chain below a quality node.
Change 3290484 on 2017/02/07 by Richard.Hinckley
Fixing grammar in popup messages.
Change 3290533 on 2017/02/07 by Marc.Audy
Make GetAIController BlueprintPure
#jira UE-41654
Change 3290624 on 2017/02/07 by Marc.Audy
Reorder header to avoid include tool warnings
Change 3290697 on 2017/02/07 by Lina.Halper
- support FK manipulator being in local space
- fixed FK key spamming issue for making blend weight to be not keyable - this creates conflicts with enum
#code review: Thomas.Sarkanen
Change 3290748 on 2017/02/07 by Ori.Cohen
Touch immediate mode file to force physx re-link
Change 3290807 on 2017/02/07 by Richard.Hinckley
#jira UE-39891
Updates to assist in automatic documentation generation.
Change 3290946 on 2017/02/07 by Lina.Halper
Fix issue of notify looping.
#jira: UE-31463
#Code review:Martin.Wilson
Change 3291553 on 2017/02/07 by Lina.Halper
Rename/move file(s)
- modified mesh mapping controller window to be Control Rig
Change 3291571 on 2017/02/07 by Lina.Halper
added set up spine option
#code review:Thomas.Sarkanen
Change 3291581 on 2017/02/07 by Ori.Cohen
Temporarily turn off phat immediate mode preview which crashes.
Change 3291949 on 2017/02/08 by James.Golding
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3291819
Change 3291966 on 2017/02/08 by Lina.Halper
Fix issue with notify looping bug
#jira: UE-31463
Change 3292247 on 2017/02/08 by Marc.Audy
Clean up bad merge caused by Fortnite integration to main
Change 3292326 on 2017/02/08 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3292313
Change 3292409 on 2017/02/08 by Marc.Audy
Resubmit FortPawn.cpp with proper code even though perforce doesn't think there is a difference since when you sync it, the contents are wrong.
Change 3292481 on 2017/02/08 by Ori.Cohen
Fix for convex hull cooking (from Josh.S)
#JIRA UE-41656
Change 3292492 on 2017/02/08 by Mieszko.Zielinski
Redone replacement of deprecated navigation system's BP functions in Fortnite BPs #Fortnite
Change 3292778 on 2017/02/08 by Ori.Cohen
Touch physx DDC key for new cooking.
#JIRA UE-41656
[CL 3293329 by Marc Audy in Main branch]
2017-02-08 17:53:41 -05:00
|
|
|
#include "TrackEditors/PropertyTrackEditors/TransformPropertyTrackEditor.h"
|
2018-04-12 16:57:51 -04:00
|
|
|
#include "TrackEditors/PropertyTrackEditors/EulerTransformPropertyTrackEditor.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 "TrackEditors/PropertyTrackEditors/VisibilityPropertyTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/PropertyTrackEditors/ActorReferencePropertyTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/PropertyTrackEditors/StringPropertyTrackEditor.h"
|
2015-09-03 13:26:05 -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 "TrackEditors/TransformTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/CameraCutTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/CinematicShotTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/SlomoTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/SubTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/AudioTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/SkeletalAnimationTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/ParticleTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/ParticleParameterTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/AttachTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/EventTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/PathTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/MaterialTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/FadeTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/SpawnTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/LevelVisibilityTrackEditor.h"
|
2021-06-16 10:42:51 -04:00
|
|
|
#include "TrackEditors/DataLayerTrackEditor.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 "TrackEditors/CameraAnimTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/CameraShakeTrackEditor.h"
|
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3379190)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3342222 on 2017/03/10 by Nick.Darnell
UMG - Adding a GetContent to the UContentWidget.
Change 3342228 on 2017/03/10 by Nick.Darnell
Project Launcher - Always consume mouse wheel vertically so it stops scrolling to the right.
Change 3342310 on 2017/03/10 by Nick.Darnell
UMG - Cleaning up some extra class references.
Change 3343382 on 2017/03/13 by Jamie.Dale
Applying optimization to FChunkManifestGenerator::ContainsMap
Change 3343523 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing"
- Enabling this allows you to see every property on selected objects that belong to a simulating world, even non-visible and non-editable properties. Very useful for inspection and debugging.
- Remember to change World Outliner to show you actors in the "Play World" if you want to select and inspect those objects first!
- This setting is saved for your entire project, similar to "Show All Advanced"
Change 3343573 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing" (part 2)
- Fixed missing include / unity issue
Change 3343709 on 2017/03/13 by Jamie.Dale
Some fixes for gathering cached dependency data
- We no longer load dependency data that doesn't have the correct package name.
- We no longer populate the dependency results when bGatherDependsData is false.
Change 3343900 on 2017/03/13 by Alexis.Matte
fix crash when creating too much LOD at import
#jira UE-42785
Change 3344104 on 2017/03/13 by Alexis.Matte
Add a boolean to the static mesh socket so we know if the socket was imported or created in UE4. This allow us to not impact editor socket when we re-import a fbx
#jira UE-42736
Change 3344802 on 2017/03/14 by Michael.Dupuis
#jira UE-42244 : added missing nullptr so render thread wont try to access global var when we're no longer in landscape mode
Changed the sync method between graphic resource from render thread and game thread to prevent desync
Change 3346061 on 2017/03/14 by Jamie.Dale
Adding const& and && overloads of FText::Format
Change 3346192 on 2017/03/14 by Arciel.Rekman
Linux: fix VHACD to retain bincompat with the baseline (UE-42895).
- It is now compiled against libc++ instead of libstdc++ in the toolchain.
Change 3347083 on 2017/03/15 by Andrew.Rodham
Fixed crash when changing anchors on a background blur widget
Change 3347359 on 2017/03/15 by Michael.Dupuis
#jira UE-38193:
Added Rename, Delete, New Folder, Size Map, Show In Explorer for folder and asset in the path view and asset view
Change 3347382 on 2017/03/15 by Michael.Dupuis
missing include incremental
Change 3347500 on 2017/03/15 by Alex.Delesky
#jira UE-41231 - Selecting multiple text widgets in UMG will now allow you to set their value correctly, and the "Multiple Values" text will no longer be set in the widgets instead.
Change 3347920 on 2017/03/15 by Jamie.Dale
Fixing some places passing tooltips as FString rather than FText
#jira UE-42603
Change 3347925 on 2017/03/15 by Jamie.Dale
Re-saving some assets so their tooltips can be gathered
#jira UE-42603
Change 3348788 on 2017/03/15 by Jamie.Dale
Updated the Windows platform to use the newer Vista+ style browser dialogs, rather than the older XP style dialogs
Change 3349187 on 2017/03/16 by Andrew.Rodham
Sequencer: Added the ability to specify additional event receivers for level sequence actors
- Such actors will receive events from event tracks
Change 3349194 on 2017/03/16 by Andrew.Rodham
Sequencer: Reset compiled templates on load in the editor, and ensure correct serialization of generation ledger
- Resetting on load means that we guarantee up-to-date templates, even if underlying compilation logic changes.
#jira UE-42198
#jira UE-40969
Change 3349210 on 2017/03/16 by Andrew.Rodham
Sequencer: Event tracks can now be defined to trigger events at the start of evaluation, after objects are spawned, or at the end of evaluation
Change 3349211 on 2017/03/16 by Andrew.Rodham
Sequencer: Add ability to retrieve bound objects from blueprint
Change 3349398 on 2017/03/16 by Nick.Darnell
UMG - Fixing a flashing hierarchy view. Looks like assets continuing to stream in causing the object change notification to continue to fire, and the widget designer refreshed any time it happened. Now limit to only if widgets are changing.
Change 3349420 on 2017/03/16 by Alex.Delesky
#jira UE-40720 - Multiline editable text boxes can now be set to Read-Only.
Change 3349548 on 2017/03/16 by Alexis.Matte
Fbx importer, when importing a staticmesh with combine mesh option check and the fbx file contain some "MultiSub Material" the materialinstance are now always hook properly.
Change 3349818 on 2017/03/16 by Cody.Albert
Fixed constructor for FNavigationMetaData
Change 3350047 on 2017/03/16 by Cody.Albert
Removed unneeded check so that children actors are never orphaned when their parent is moved into a newly created folder in the world outliner
Change 3350072 on 2017/03/16 by Arciel.Rekman
ShaderCompiler: make sure strings are at least 4-byte aligned.
- Can crash wcscpy() under Linux otherwise (reported by a licensee).
Change 3350146 on 2017/03/16 by Arciel.Rekman
Fix CodeLite project generation (UE-42921).
- Reportedly causes a crash in CodeLite 10.x
Change 3350235 on 2017/03/16 by Arciel.Rekman
Fix memory leak in address symbolication on Linux.
- Makes MallocProfiler work again.
- Also add progress update in MallocProfiler since symbolication is still slow.
Merging CL 3338764 from Fortnite to Dev-Editor.
Change 3350382 on 2017/03/16 by Arciel.Rekman
Linux: fix incorrect cast of rlimit in i686.
Change 3350471 on 2017/03/16 by Jamie.Dale
Enabling loc dashboard by default for new projects
Change 3350516 on 2017/03/16 by Jamie.Dale
Enabling content hot-reloading by default
Change 3350582 on 2017/03/16 by Cody.Albert
Corrected Widget Interaction Component to use current impact point instead of last impact point
Change 3350945 on 2017/03/16 by Jamie.Dale
Gave FConfigFile::FindOrAddSection API linkage
Change 3351441 on 2017/03/17 by Michael.Dupuis
#jira UE-42843: Fixed Transaction begin/end order issue happening with min slider passing max slider value
Add support for multiple selection value display
Change 3351558 on 2017/03/17 by Michael.Dupuis
#jira UE-42845: Always refresh the detail panel to properly update for selection change, delete, etc.
Change 3351657 on 2017/03/17 by Matt.Kuhlenschmidt
Adding USD Third Party dependencies
Change 3351665 on 2017/03/17 by Matt.Kuhlenschmidt
Added experimental USD Importer Plugin
This plugin supports basic static mesh importing and scene creation of actors using static meshes
Change 3351682 on 2017/03/17 by Matt.Kuhlenschmidt
Enabling USD importer in engine test project for automation tests
Change 3351749 on 2017/03/17 by Alexis.Matte
Make sure the selection proxy is off for the skeletal mesh component. UE4 use the selection outline instead
#jira UE-41677
Change 3351831 on 2017/03/17 by Michael.Dupuis
#jira UETOOL-1102:
Added HSV controls to Color Grading
Some look improvement for RGV/HSV
Color Grading refactor
Group Reset bug fix (relevant only to color grading)
Change 3352041 on 2017/03/17 by Matt.Kuhlenschmidt
Updated USD plugin whitelisting
Change 3352093 on 2017/03/17 by Michael.Dupuis
when FREEZERENDERING is called, stop the foliage culling too
Change 3352211 on 2017/03/17 by Alexis.Matte
Fix the physic asset missing skeleton warning
#jira UE-43006
Change 3352336 on 2017/03/17 by Alexis.Matte
We now allow a negative W value of the ScreenPoint vector in the ScreenToPixel function. In this case we simply reverse the W value to kept the manipulator direction on the good side.
#jira UE-37458
Change 3352947 on 2017/03/17 by Phillip.Kavan
#jira UE-42510 - Instanced static mesh transform edits are now reflected in the Blueprint editor's preview scene.
Change summary:
- Added IPropertyHandle::GetValueBaseAddress() (interface).
- Modified IPropertyHandle::NotifyPostChange() to include EPropertyChangeType as an optional input.
- Added FPropertyHandleBase::GetValueBaseAddress() (implementation).
- Modified FPropertyHandleBase::NotifyPostChange() to include the optional input arg in the property change event.
- Modified FPropertyHandleBase::CreatePropertyNameWidget() to clear the override text after temporarily replacing display name/tooltip text for the creation of the SPropertyNameWidget. This was done to allow for transactions to be named according to the property that's being modified.
- Modified FMathStructProxyCustomization::OnValueCommitted() to only apply the input value while not interactively editing via spinbox as well as when not post-processing an undo/redo (which can trigger a focus loss).
- Modified the FMathStructProxyCustomization::OnEndSliderMovement() delegate to include property handle and proxy value input parameters, as well as to call FlushValues() as part of the implementation.
- Modified FlushValues() for each of FMatrixStructCustomization, FTransformStructCustomization and FQuatStructCustomization to explicitly handle both propagation and transaction processing.
- Modified UInstancedStaticMeshComponent::UpdateInstanceTransform() to call Modify() prior to applying changes (so that the previous state is recorded when inside a transaction context).
- Modified FInstanceStaticMeshSCSEditorCustomization::HandleViewportDrag() to propagate changes to all instances of the ISMC archetype.
Known issues:
- Using the spinbox to edit instanced mesh transform values in the Blueprint editor will not apply the change to instances in the level editor until after you release the mouse button (i.e. - it will not be shown as a "live" update).
Change 3353678 on 2017/03/20 by Michael.Dupuis
properly unfreeze the culling of foliage when toggling the freezerendering command
Change 3353747 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3372: Git plugin: fix update status on directories hotfix (still) slightly broken in master (UE4.16) (Contributed by SRombauts)
Change 3353749 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3373: Git Plugin: hotfix for regression off Visual Diffs with older version of Git in master (UE4.16) (Contributed by SRombauts)
Change 3353754 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3390: Allow OBJ imports to change if materials and textures are also imported (Contributed by mmdanggg2)
Change 3353909 on 2017/03/20 by Matt.Kuhlenschmidt
Fixed actors showing thumbnails in details panel and made a few other tweeks to thumbnail displays in details panels
- The color of the accepted type is now shown properly
- All object based properties now have thumbnails on by default.
Change 3353948 on 2017/03/20 by Nick.Darnell
UMG - Updating the background blur widget's upgrade code to use the custom version, and handling older cases that were continuing to generate blur slots, even when already upgraded.
Change 3354335 on 2017/03/20 by Nick.Darnell
Paragon - Excluding Archetype objects from reporting references, which causes crashes in the fast template mode.
Change 3354495 on 2017/03/20 by Nick.Darnell
Core - Making it so order that outers are discovered does not matter, initializing the chain of outers if hasn't been created when instancing subobjects.
Change 3354578 on 2017/03/20 by Nick.Darnell
Slate - There's now a console variable option, Slate.VerifyHitTestVisibility (off by default) which enables additional visibility checks for widgets. Normally this isn't nessesary, but if you're changing the visibility of widgets during a frame, and several hit tests need to be performed that frame there's a chance that a button could be clicked twice in one frame. Enabling this mode will make all hit testing more expensive, so for now it's off by default, but available for licensees that need the extra testing.
Change 3354737 on 2017/03/20 by Nick.Darnell
Core - Adding a fix to Dev-Editor from that enables objects in the same package being requested to also be loaded. This came about during async streaming callbacks alerting that a requested class was done loading, but there were still other assets in the package 'not loaded' but were available, just needed post load called on them.
Change 3355923 on 2017/03/21 by Yannick.Lange
VR Editor: - Remove unnecessary cleanup functions.
- Initialize with VR Mode and remove SetOwner function, since it shouldn't be possible to reset the VR Mode afterwards.
Change 3355959 on 2017/03/21 by Yannick.Lange
VR Editor: - Rename VREditorWorldInteraction to VREditorPlacement, to avoid confusion with ViewportWorldInteraction. VREditorPlacement will only handle placing objects from content browser in the VR Mode.
- Removed SnapSelectedActorsToGround to VREditorMode.
Change 3355965 on 2017/03/21 by Yannick.Lange
VR Editor: Forgot to add files to previous submit 3355959.
Change 3355977 on 2017/03/21 by Yannick.Lange
VR Editor: Remove function to add a new extension with TSubclassOf<UEditorWorldExtension>.
Change 3356017 on 2017/03/21 by Yannick.Lange
VR Editor: - UI system check owner VRMode.
- UI system fix check on VRMode on shutdown.
Change 3356028 on 2017/03/21 by Nick.Darnell
Slate - SButton now correctly releases mouse capture even if it becomes disabled while pressed, but before 'click' has been fired.
#jira UE-42777
Change 3356071 on 2017/03/21 by Yannick.Lange
VR Editor: Copy of change 3353663.
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Cleanup FLandscapeToolInteractorPosition.
- Change from 3353663: Use TStrokeClass::UseContinuousApply and TimeSinceLastInteractorMove to decide when to apply ToolStroke on tick.
Change 3356180 on 2017/03/21 by Michael.Dupuis
Added ShowFlag Foliage Occlusion Bounds
Fixed non initialized variable
Expose changing Min Occlusion Bounds instead of assuming 6
#rn none
Change 3356347 on 2017/03/21 by Nick.Darnell
UMG - Introducing a faster CreateWidget. When cooking, the widget compiler now generates a widget template/archetype that is stored in the same package as the generated blueprint class. During compiling we generate a nearly fully initialized widget tree including all sub userwidgets and their trees, hookup all member variables, initialize named slots, setup any animations...etc. This nearly fully constructed widget can be instanced using it as an archetype in the NewObject call, and does not have to use the correspondingly slow StaticDuplicateObject path. There are restrictions on this method, part of the compiling step for widgets now inspects if the instancing would be successful, or if there would be GLEO references after instancing because a user forgot to setup Instanced on a subobject property. Luckily that should be few and far between, all UVisuals (Widgets & Slots) are now DefaultToInstanced, which takes care of the overwhelming cases that demand the instanced flag. Especially given the bulk of cases using BindWidget in native code.
UMG - Removing a lot of deprecated functions from 4.8 on UUserWidget.
Change 3356357 on 2017/03/21 by Nick.Darnell
Build - Fixing some IWYU issues on the incremental build.
Change 3356461 on 2017/03/21 by Nick.Darnell
Build - Fixing linux build errors.
Change 3356468 on 2017/03/21 by Jamie.Dale
STextPropertyEditableTextBox now handles empty texts correctly
Change 3356916 on 2017/03/21 by Matt.Kuhlenschmidt
Fixed a crash when a material render proxy on a preview node is deleted when it is in flight on the render thread
#jira UE-40556
Change 3357033 on 2017/03/21 by Alexis.Matte
Fix crash when importing file with import commandlet
Make sure path are combine properly to avoid crash
Add some missing pointer check
Make sure the asset are save when there is no source control
#jira UE-42334
Change 3357176 on 2017/03/21 by Alex.Delesky
#jira UE-42445 - TMaps now support editing the values of structs that act as map keys. TMaps with struct keys will now show the types of their elements in the details panel as well, and structs will now also display numbers next to set elements.
Change 3357197 on 2017/03/21 by Alex.Delesky
#jira none - Fixing build issue for TMap key struct change.
Change 3357205 on 2017/03/21 by Michael.Dupuis
Forgot to reset min granularity to 6 from testing
Change 3357340 on 2017/03/21 by Arciel.Rekman
Mark FMallocAnsi (standard libc malloc) thread-safe on Linux.
Change 3357413 on 2017/03/21 by matt.kuhlenschmidt
Added '/Game/Effects/Fort_Effects/Materials/Smoke/M_Main_Smoke_Puff.M_Main_Smoke_Puff' to collection 'MattKTest'
Upgraded collection 'MattKTest' (was version 1, now version 2)
Change 3357505 on 2017/03/21 by Alexis.Matte
Fix to avoid changing the CDO of FbxAssetImportData. The UI was saving the Config which was saving the CDO. But already serialized data will be reload badly if the CDO change since we serialize only the diff.
#jira UE-42947
Change 3357825 on 2017/03/21 by Arciel.Rekman
Clean up the large thread pool on exit.
- Seems like the destruction was missed in the original CL 2785131 (12/1/15).
- Fixes problems when threads were allocated in memory that is being cleaned up in another place on exit.
Change 3358086 on 2017/03/22 by Yannick.Lange
VR Editor: - Fix gizmo scaling down when dragging the world.
- Fix gizmo scaling down when dragging rotation handle.
Change 3358175 on 2017/03/22 by Andrew.Rodham
Sequencer: Made ALevelSequenceActor::AdditionalEventReceivers advanced display
Change 3358367 on 2017/03/22 by tim.gautier
Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters
Change 3358457 on 2017/03/22 by Yannick.Lange
VR Editor: Deleting unused UI assets.
Change 3358801 on 2017/03/22 by Matt.Kuhlenschmidt
Guard against crash if the level editor is shut down when the object system has already been shut down
#jira UE-35605
Change 3358897 on 2017/03/22 by matt.barnes
Checking in WIP test content for UEQATC-1635 (UMG Navigation)
Change 3358976 on 2017/03/22 by Alex.Delesky
#jira none - Fixing an issue where ItemPropertyNode could potentially dereference a null property
Change 3358987 on 2017/03/22 by Yannick.Lange
VR Editor: Fix warning: Can't find file for asset '/Engine/VREditor/UI/VRButtonBackground' while loading ../../../Engine/Content/VREditor/Devices/Vive/VivePreControllerMaterial.uasset.
Change 3359067 on 2017/03/22 by Yannick.Lange
VR Editor: Fix Radial Menu remains on controller after exiting VR Preview
#jira UE-42885
Change 3359179 on 2017/03/22 by Matt.Kuhlenschmidt
Fixed "Multiple Values" in Body Setup when single bone has multiple bodies
#jira UE-41546
Change 3359626 on 2017/03/22 by Arciel.Rekman
Linux: pool OS allocations.
- Add a TMemoryPool and TMemoryPoolArray classes that can be used with any type of OS allocator functions.
- Add ability to bypass CachedOSPageAllocator for given sizes. Also, corrected the condition on AllocImpl to match one on FreeImpl.
- Switch Linux to pool mmap()/munmap() by default (helps 32-bit Linux and also speeds up 64-bit one), except 64-bit servers.
- Add a test to TestPAL to check performance and thread safety.
- Misc. fixes.
Change 3359989 on 2017/03/23 by Andrew.Rodham
Sequencer: Binding overrides improvements
- Added the ability to override spawnable bindings
- Added the ability to override bindings in sub sequences
- Deprecated "Get Sequence Bindings" node in favor of "Get Sequence Binding", which is more robust, and provides a better UI/UX for selecting single bindings
#jira UE-42470
Change 3360369 on 2017/03/23 by Alexis.Matte
Fix the staticmesh conversion from UE4 4.13 to earlier UE4 versions
#jira UE-42731
Change 3360556 on 2017/03/23 by Andrew.Rodham
Sequencer: Added drag/drop support for binding overrides
- You can now drag and drop sequencer object binding nodes into blueprint graphs (to create 'Get Sequence Binding' nodes), and onto binding overrides specified on level sequence actors.
Change 3360618 on 2017/03/23 by Arciel.Rekman
Make Binned2 work on Mac.
- Game/server will use Binned2 by default.
Change 3360838 on 2017/03/23 by Nick.Darnell
CommonUI - Making the SingleMaterialStyleMID property transient. It had been serialized mistakenly onto several widgets when it appears the intent is to dynamically allocate it upon demand.
Change 3360841 on 2017/03/23 by Nick.Darnell
UMG - Updating the editor to use DuplicateAndInitializeFromWidgetTree, so that Initialize is properly called when duplicating sub widget trees.
Change 3362561 on 2017/03/24 by Matt.Kuhlenschmidt
Fixed text outlines being cropped at large sizes
#jira UE-42647
Change 3362565 on 2017/03/24 by Matt.Kuhlenschmidt
Added automation test for font outlines
Change 3362567 on 2017/03/24 by Matt.Kuhlenschmidt
Resaved this file to fix 0 engine version warnings
Change 3362582 on 2017/03/24 by Yannick.Lange
VR Editor: - Fix log warnings when teleporting.
- Fix undo/redo when using teleport scaling.
- Improved teleport scaling and push/pull input.
#jira UE-43214
Change 3362631 on 2017/03/24 by Jamie.Dale
Split the monolithic culture concept in UE4
UE4 has historically only supported the concept of a single monolithic "culture" that applied to both text localization and internationalization, as well as all asset localization. Typically the "culture" was set to the "locale" of the OS, however that could be undesirable or incorrect on platforms (such as newer versions of Windows) that have a distinct concept of "language" (for localization) and "locale" (for internationalization).
This change splits the concept of "culture" into "language" and "locale", and also adds the concept of "asset groups". The language is now used to work out which localization we should use, and the locale is used to control how numbers/dates/times/etc are formatted within our internationalization library.
Asset groups expand on the language used by asset localization and allow you to create a group of asset classes that can be assigned a different culture than the main game language. A typical use-case of this would be creating an "audio" group that could, for example, be set to Japanese while the rest of the game runs in English.
If your game doesn't care about the distinction between language and locale, and doesn't need to use asset groups, then you're able to continue to use "culture" as you always have. If, however, you do care about those things, then you'll likely want to avoid using the "culture" directly (as it's now a very aggressive setting that overrides all others), and instead favor using language/locale (games will typically treat these as the same) and asset groups as separate concepts (both in settings, and in your in-game UI).
The language or locale for a game can be controlled by settings within the "Internationalization" section of your configs (this would typically be set in your GameUserSettings config, in the same way that "culture" works), eg)
[Internationalization]
language=fr
locale=fr
The asset groups for a game can be controlled by settings within the "Internationalization.AssetGroupClasses" and "Internationalization.AssetGroupCultures" sections of your configs (the asset group class definition would typically be set in your DefaultGame config, and the cultures the groups use would typically be set in your GameUserSettings config), eg)
[Internationalization.AssetGroupClasses]
+Audio=SoundWave
+Audio=DialogueWave
[Internationalization.AssetGroupCultures]
+Audio=ja
#jira UE-38418
#jira UE-43014
Change 3362798 on 2017/03/24 by Nick.Darnell
UMG - Putting the finishing touches on the hardware cursor system. Can now load them from blueprints, and there are options for setting them up in the project settings.
UMG - Deprecating the old properties for software widget cursors. They've been moved into a map that can handle any of the mouse cursors as the enum key, which was always the intent/desire but maps couldn't be used as UProperties then.
Change 3362805 on 2017/03/24 by Jamie.Dale
PR #3397: Allow empty source to override display string (Contributed by jorgenpt)
Change 3363039 on 2017/03/24 by Jamie.Dale
Use the pre-scaled font height where possible to avoid an extra multiply
Change 3363188 on 2017/03/24 by Joe.Graf
Added support for -iterate for content plugins that require path remapping during cook/packaging
#CodeReview: matt.kuhlenschmidt
#rb: matt.kuhlenschmidt
Change 3363355 on 2017/03/24 by Nick.Darnell
UMG - Removing the CookAdditionalFiles function in UserInterfaceSettings.
Change 3363672 on 2017/03/24 by Matt.Kuhlenschmidt
Material thumbnails now respect used particle system sprites flag and show a quad insead of a sphere by default. For this change I added the ability to have per asset type override for the default thumbnail shape and I added a way to reset thumbnails to default. All existinging particle system materials that have not had a custom thumbnail will have to be reloaded and resaved for this to work
#jira UE-42410
Change 3363699 on 2017/03/24 by Mike.Fricker
VR Editor: Improved extensibility (for mesh editor)
- This was merged from CL 3352612 and re-opened for edit before commit
- All mesh editor changes were stripped before merging
Change 3363784 on 2017/03/24 by Matt.Barnes
Adding content for tests following UEQATC-3548
Change 3363872 on 2017/03/24 by Arciel.Rekman
Linux: require user to setup clang/clang++ for building hlslcc.
- Earlier we tried to handle most common scenarios since libhlslcc needed to be built during the setup. Now that we supply a prebuilt version we don't need to be as user friendly, especially given that the attempts to second guess the compiler started to look complicated.
Change 3364089 on 2017/03/24 by Matt.Kuhlenschmidt
Fix CIS
Change 3364381 on 2017/03/24 by JeanMichel.Dignard
UV Packing optim
- Use horizontal segments instead of checking texel by texel to fit source chart in layout.
- Skip a couple of rasterize by flipping either the X texels or the Y texels when possible.
- Keep the best chart raster so that we don't need to reraster when adding the chart to the layout.
- Added a lightmap UV version in StaticMesh so that we don't invalidate the lighting cache. Only use the new lightmap UV generation when going through UStaticMesh::Build which invalidates the lighting.
Change 3364587 on 2017/03/24 by Arciel.Rekman
Fix ordered comparison warning from clang 4.0.
Change 3364596 on 2017/03/24 by Arciel.Rekman
Linux: fix editor being stuck (hack).
- Rebuilt hlslcc in Debug.
Change 3364863 on 2017/03/25 by Max.Chen
Sequencer: Fixed crash when deactivating a section in sequencer
#jira UE-39880
Change 3364864 on 2017/03/25 by Max.Chen
Sequencer: Integrating fix from licensee to ensure FVirtualTrackArea::HitTestSection checks the row of the section
Change 3364865 on 2017/03/25 by Max.Chen
Cine Camera: Default post process depth of field method to CircleDOF and use that setting in UpdateCameraLens.
#jira UE-40621
Change 3364866 on 2017/03/25 by Max.Chen
GitHub #3183: Conversion to base class is inaccessible.
Change 3364869 on 2017/03/25 by Max.Chen
Sequencer: Changed the time snapping interval in the toolbar ui so that it no longer additionally updates the sequencer setting. The setting is only used to initialize the time snapping interval of the level sequence. Added translate keys with ctrl and left-right arrows.
#jira UE-41009
#jira UE-41210
Change 3364870 on 2017/03/25 by Max.Chen
Sequencer: Added translate keys with ctrl and left-right arrows.
#jira UE-41210
Change 3364871 on 2017/03/25 by Max.Chen
Sequencer: Add level sequence actor customization to open sequencer from the details panel. For matinee parity.
#jira UE-41459
Change 3364879 on 2017/03/25 by Max.Chen
Sequencer: Duplicate shot should put the duplicate on the next available row, keeping the start/end times the same.
#jira UE-41289
Change 3364880 on 2017/03/25 by Max.Chen
Sequencer: Opening the API for MovieSceneAudio-related classes along with some minor functionality additions:
- Adding _API specifiers to MovieSceneAudioTrack, MovieSceneAudioSection, and FAudioTrackEditor so they can be subclassed in other modules.
- Made GetSoundDuration function in MovieSceneAudioTrack.cpp a member function so it's functionaliy could be reused by subclasses.
- Adding ability to specify delegates for OnQueueSubtitles, OnAudioFinished, and OnAudioPlaybackPercent in a MovieSceneAudioSection, and have them automatically assigned to any AudioComponents that are played by the MovieSceneAudioTemplate
Change 3364884 on 2017/03/25 by Max.Chen
Sequencer fbx import
- Removed the PostRotation compensation as it was setuped for 3ds max.
- On import, add a rotation to camera and light animation keys like we do on export.
- Merge the component local transform with the ActorNode transform when exporting only one component that isn't the root component in fbx since we're not creating child nodes in that case.
#jira UE-34692
Change 3364885 on 2017/03/25 by Max.Chen
Sequence Recorder: Fix crash when clearing properties to record.
#jira UE-41873
Change 3364886 on 2017/03/25 by Max.Chen
Sequencer: Add error when attempting to add a circularly dependent level sequence
#jira UE-22358
Change 3364890 on 2017/03/26 by Max.Chen
Sequencer: Added ability to specify a 'notify' function to property instance bindings
- When specified, the (parameterless) function will be called after a property is set
Change 3364891 on 2017/03/26 by Max.Chen
Sequencer: Various fixes to thumbnails
- Fixed alpha blending being used when presenting the full screen quad for thumbnails
Change 3364892 on 2017/03/26 by Max.Chen
Sequencer: PreRoll and PostRoll is now exposed at the section level, for all sections
- For the majority of sections this will be unimplemented, but it will allow for some tracks to set up their data ahead of time
Change 3364896 on 2017/03/26 by Max.Chen
Sequencer: Add segment flags to equality operator for movie scene evaluation segments
- This prevents them from being accumulated into adjacent segments of the same index and forced time, but differing flags
Change 3364897 on 2017/03/26 by Max.Chen
Sequencer: Fixed "Evaluate in preroll" and "Evaluate in Postroll" options
- Pre and postroll flags now come through on compiled segments, so the previous manual logic for sub sections is obsolete; we can just use the compiled segment data directly.
Change 3364898 on 2017/03/26 by Max.Chen
Sequencer: Moved track options to be accessible on all nodes, and operate on all selected tracks
Change 3364902 on 2017/03/26 by Max.Chen
Sequencer: Ensure evaluation flags are considered when compiling segments from external sequences
- This ensures that preroll regions in sub sequences are correctly evaluated when their parent section has preroll
- Changed high pass blending to always allow preroll
Change 3364903 on 2017/03/26 by Max.Chen
Engine: Moved proxy mesh transform update out of camera view computation code
- GetCameraView can happen as part of end of frame updates, which will assert if any changes of transform happen during its processing
Change 3364908 on 2017/03/26 by Max.Chen
Sequencer: Added visualization of pre and postroll on sections
Change 3364909 on 2017/03/26 by Max.Chen
Sequencer: Prevent MovieSceneCompiler from removing preroll segments
Change 3364910 on 2017/03/26 by Max.Chen
Sequencer: MediaPlayer PreRoll/PostRoll fix
- Handle PreRoll/PostRoll on sub scenes that have a start offset
Change 3364922 on 2017/03/26 by Max.Chen
Sequencer: Add check for valid property before dereferencing.
#jira UE-40951
Change 3364923 on 2017/03/26 by Max.Chen
Sequencer: Fix MovieScene preroll so that it seeks to the start correct frame before the preroll.
Change 3364924 on 2017/03/26 by Max.Chen
Sequencer - change default behavior for pre/post roll evaluation
- MovieSceneTracks are NOT evaluated by default
Change 3364925 on 2017/03/26 by Max.Chen
Sequencer: Shot track rows now consider pre and post roll when being compiled
Change 3364926 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to define shared execution tokens, identifyable with a unique identifier, and sortable based on a sort order (<=0: before standard tokens, >0: after other tokens)
Change 3364927 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to selectively restore state for specific anim type IDs for a given object
- This allows us to specifically restore one particular type of animation for a given object (ie, transform, skeletal animation control, or motion blur)
Change 3364928 on 2017/03/26 by Max.Chen
Sequencer: Fixed sub-sub tracks not being present in master sequences
- In order to correctly handle preroll in inner-inner sequences, we need to have access to those tracks when compiling intermediate sub sections. By caching off all the inner templates, we can have access to these tracks to check whether they want to be evaluated in pre/post roll in the master sequence
Change 3364937 on 2017/03/26 by Max.Chen
Sequencer: Update cine camera component debug focus plane on tick, rather than in GetCameraView
#jira UE-41332
Change 3364938 on 2017/03/26 by Max.Chen
Sequencer: Fix crash inserting a level sequence with an invalid shot.
#jira UE-41481
Change 3364940 on 2017/03/26 by Max.Chen
Sequencer: Made handling of pre and post roll more consistent between explicit section pre/post roll and pre/post roll inherited from an outer sub section
Change 3364942 on 2017/03/26 by Max.Chen
Movie Scene Capture: Move EDL generation to setup instead of close to ensure it gets written out when capturing as a separate process.
#jira UE-41703
Change 3364943 on 2017/03/26 by Max.Chen
Sequencer: Prevent capturing movies in editor while a PIE session is running
#jira UE-41399
Change 3364944 on 2017/03/26 by Max.Chen
CIS fixes
Change 3364951 on 2017/03/26 by Max.Chen
Sequencer: Fix autokey not setting a keyframe for slate color with specified color.
#jira UE-41645
Change 3364952 on 2017/03/26 by Max.Chen
Sequencer: Level sequence frame snapshots now take account of fixed-frame interval offsets, and overlapping shot sections on the same row
#jira UE-41684
Change 3364953 on 2017/03/26 by Max.Chen
Sequencer: Fix edl so that it doesn't write out when a shot is out of range. Also fixed not writing the EDL with the correct frame rate when exporting from the track. Reworked the cmx EDL so that its encoded in the same edit time space, including a blank slug at the beginning of the edit.
#jira UE-41925
Change 3364954 on 2017/03/26 by Max.Chen
Sequencer - Allow animating parameters on cascade effect components which aren't owned by an AEmitter.
Change 3364955 on 2017/03/26 by Max.Chen
Sequencer: Fixed sequencer anim instance not being used in the case where one was requested, but a different anim instance was already set
This fixes an issue when rendering in seaprate process, animations that were set up to use the sequencer instance would be controlled using montage animation instead.
Change 3364963 on 2017/03/26 by Max.Chen
Sequencer: Fix filtering to include child nodes.
#jira UE-42068
Change 3364964 on 2017/03/26 by Max.Chen
Sequencer: Enable UseCustomStartFrame and UseCustomEndFrame when rendering a single shot from the menu.
#jira UE-42021
Change 3364965 on 2017/03/26 by Max.Chen
Sequencer: Set the fade color in the track display
Change 3364966 on 2017/03/26 by Max.Chen
Sequencer: Show actor attached to label in attach section.
Change 3364967 on 2017/03/26 by Max.Chen
Sequencer: Fix static analysis warnings
Change 3364968 on 2017/03/26 by Max.Chen
Sequencer: Fix crash on converting to spawnable.
The previous implementation purported to allow null objects to set up spawnable defaults but it actually needed to compare the spawned object to the supported type. This new mechanism now allows the spawner to indicate that it accepts null objects and doesn't crash.
#jira UE-42069
Change 3364969 on 2017/03/26 by Max.Chen
Sequencer: Fixed crash caused by holding onto stale properties through a raw ptr
#jira UE-42072
Change 3364977 on 2017/03/26 by Max.Chen
Sequencer: Convert FLinearColor to FColor for fade.
#jira UE-41990
Change 3364978 on 2017/03/26 by Max.Chen
Sequencer: Limit GetAllSections to the sections that actually correspond to the track
#jira UE-42167
Change 3364979 on 2017/03/26 by Max.Chen
Sequencer: Filter root nodes too
#jira UE-42068
Change 3364980 on 2017/03/26 by Max.Chen
Sequencer: Filter relevant material parameters
#jira UE-40712
Change 3364982 on 2017/03/26 by Max.Chen
Sequencer: Remove audio range bounds which clamps to the section bounds (needed for evaluating in pre and post roll)
Change 3364983 on 2017/03/26 by Max.Chen
Sequencer: Add socket name to attach track section.
Change 3364984 on 2017/03/26 by Max.Chen
Sequencer: Fix sub track node deletion so that all the sub tracks aren't deleted, only the row being requested.
#jira UE-40955
Change 3364988 on 2017/03/26 by Max.Chen
Sequencer: Invalidate expired objects when blueprints are compiled. Fix actor references now handles sections that need to have their guids updated (ie. attach tracks).
Change 3364994 on 2017/03/26 by Max.Chen
Sequencer: Audio waveforms now show peak samples with smoothed RMS in the center
- Audio row heights are now also resizable by dragging on the bottom end of the track lane in the track area view
Change 3364995 on 2017/03/26 by Max.Chen
UMG: Fix crash on undo
#jira UE-42210
Change 3365000 on 2017/03/26 by Max.Chen
Sequencer: Fix crash from GetCurrentValue.
Change 3365001 on 2017/03/26 by Max.Chen
Sequencer: Split "Snap to the Dragged Key" option into two options, pressed key and dragged key.
#jira UE-42382
Change 3365002 on 2017/03/26 by Max.Chen
Sequencer: Downgraded check to ensure for FMovieSceneEvalTemplateBase::GetScriptStructImpl()
Change 3365003 on 2017/03/26 by Max.Chen
Sequencer: Fixed section template script struct
- Because the cpp is not parsed by UHT, the empty template had its parent struct, rather than its own
- We now just return null, and handle empty segments correctly in the segment remapper as part of the track compilation
Change 3365013 on 2017/03/26 by Max.Chen
Sequencer: Added data validation on compiled template loads, and extra guards against misuse of movie scene types
Change 3365014 on 2017/03/26 by Max.Chen
Sequencer: Sequencer now re-evaluates when starting PIE or Simulate
- This can be disabled by disabling "Bind Sequencer to PIE" and "Bind Sequencer to Simulate" in PIE advanced settings
Change 3365015 on 2017/03/26 by Max.Chen
Sequencer: Fix edl files so that they don't write out empty range shots
Change 3365017 on 2017/03/26 by Max.Chen
Sequencer: Set max tick rate when in game.
#jira UE-41078
Change 3365018 on 2017/03/26 by Max.Chen
Sequencer: When finishing a scrub, playback status is now correctly set to stopped rather than stepping
- This fixes a hack that was previously in place from the old PostTickRenderFixup that caused it to run that step after scrubbing bad finished. This is no longer necessary, and actually breaks clicking to set the scrub position, as it now means that we step across the entire range between the previous and current time.
Change 3365022 on 2017/03/26 by Max.Chen
Sequencer: Insert shot now creates a shot at the current time and puts it on the next available row.
#jira UE-41480, UE-27699
Change 3365023 on 2017/03/26 by Max.Chen
Sequencer: Add loop selection range. If there is no selection range, loop mode is restricted to loop or no loop.
#jira UE-42285
Change 3365029 on 2017/03/26 by Max.Chen
Sequencer: Add hotkeys to set the selection range to the next and previous shot (page up, page down). Also, added hotkey to set the playback range to all the shots (end)
Change 3365030 on 2017/03/26 by Max.Chen
Sequencer: Fix particle system restore state so that it gets the proper initial active state of the particle system.
#jira UE-42861, UE-42859
Change 3365031 on 2017/03/26 by Max.Chen
Sequencer: Snap time when changing time snapping intervals.
#jira UE-42590
Change 3365032 on 2017/03/26 by Max.Chen
Sequencer: Add When Finished state to sections. By default, sections now restore state.
#jira UE-41991, UE-31569
Change 3365033 on 2017/03/26 by Max.Chen
#jira UE-42028 "DialogueWave playback calls OnQueueSubtitles multiple times"
Only queue subtitles once per wave instance playback
Change 3365041 on 2017/03/26 by Max.Chen
Sequencer: Subscene hierarchical bias
Tracks can now be prioritized based on their subscene hierarhical bias value. Higher bias values take precedence.
#jira UE-42078
Change 3365042 on 2017/03/26 by Max.Chen
Sequencer: Generic paste menu for master (root) tracks.
Change 3365043 on 2017/03/26 by Max.Chen
Sequencer: Hierarchical bias for level visibility track
#jira UE-43024
Change 3365044 on 2017/03/26 by Max.Chen
Sequencer: Prevent throttling on editing keys/sections.
Change 3365045 on 2017/03/26 by Max.Chen
Sequencer: Set sequencer audio components bIsUISound to false so that they don't continue playing when the game is paused.
#jira UE-39391
Change 3365046 on 2017/03/26 by Max.Chen
Sequencer: Add missing BindLevelEditorCommands()
Change 3365049 on 2017/03/26 by Max.Chen
Sequencer: Set tick prerequites for spawnables when they are spawned.
#jira UE-43009
Change 3365050 on 2017/03/26 by Max.Chen
Sequencer: Jump to Start and End of playback shortcuts.
Rewind renamed to Jump to Start. Shortcut - up arrow.
Jump to End Shortcut - ctrl up arrow.
#jira UE-43224
Change 3365051 on 2017/03/26 by Max.Chen
Sequencer: Add last range to playback
Change 3365057 on 2017/03/26 by Max.Chen
Sequencer: Fix master sequence subscene generation times.
Change 3365058 on 2017/03/26 by Max.Chen
Sequencer: Fix paste so that it doesn't paste both onto object nodes and master tracks.
Change 3365059 on 2017/03/26 by Max.Chen
Sequencer: Fix crash pasting audio track.
Change 3365060 on 2017/03/26 by Max.Chen
Sequencer: Cache player fade state so that restore state will return the values to the pre animated state.
#jira UE-43313
Change 3365061 on 2017/03/26 by Max.Chen
Sequencer: Filter hidden functions. This fixes a bug where the field of view property for a cinematic camera appears to be animatable. It should be hidden just like it is in the property editor.
#jira UE-41461
Change 3365065 on 2017/03/26 by Max.Chen
Sequencer: Support component hierarchies when drawing animation paths
#jira UE-39500
Change 3365066 on 2017/03/26 by Max.Chen
Sequencer: Refine pause behaviour in sequencer to always evaluate the next frame
- This ensures that we get a full frame's worth of evaluation so that the paused frame is of a good quality (and avoids us evaluating a tiny range)
Change 3365075 on 2017/03/26 by Max.Chen
Sequencer: Fix add shot not setting next row.
Change 3365076 on 2017/03/26 by Max.Chen
Sequencer: Export MovieSceneTrackEditor
#jira UE-41641
Change 3365472 on 2017/03/27 by Yannick.Lange
VR Editor landscape. Back out changelist 3356071 with new proper fixes.
CL 3356071 introduced another bug and it wasn't correct because of removing FLandscapeToolInteractorPosition. This changelist fixes the same and additional bugs for VREditor Landscape mode.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Fix VREditor Landscape Texture Painting does not paint continuously
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Removed Interactor parameter from BeginTool.
#jira UE-42780, UE-42779
Change 3365497 on 2017/03/27 by Matt.Kuhlenschmidt
Fix texture importing when an FBX file incorrectly reports absolute path as relative. First we try absolute, then we try fbx reported relative, then we try relative to parent FBX file.
Change 3365498 on 2017/03/27 by Matt.Kuhlenschmidt
Fix attempting to load a package in FBX scene import when the import path is empty. This greatly reduces FBX scene import time
Change 3365504 on 2017/03/27 by Yannick.Lange
VR Editor landscape fix ensure in when starting to paint/sculpt. Mousemove on tool should only be called when the tool is actually active, not when hovering.
Change 3365551 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3425: Added Scrollbar customization to SComboBox (Contributed by Altrue)
#jira UE-43338
Change 3365580 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3409: Add support for per-Category filtering in Output Log (Contributed by thagberg)
Change 3365672 on 2017/03/27 by Andrew.Rodham
Sequencer: Preanimated state producers can now produce null tokens
- Doing so implies no preanimated state should be saved
Change 3365791 on 2017/03/27 by Andrew.Rodham
Sequencer: Added Material Parameter Collection track
Change 3365806 on 2017/03/27 by Max.Chen
Sequencer: Add option to instance sub sequences.
#jira UE-43307
Change 3365822 on 2017/03/27 by Matt.Kuhlenschmidt
Subdue the output log font color a bit
Change 3365846 on 2017/03/27 by Jamie.Dale
Added package redirection on load/find
Change 3365852 on 2017/03/27 by Jamie.Dale
Adding a way to mark a package as no longer missing
Change 3365896 on 2017/03/27 by Jamie.Dale
Adding GlobalNotification to Slate
This is the guts of the GlobalEditorNotification, so it can be used by code that doesn't link to UnrealEd.
Change 3365900 on 2017/03/27 by Jamie.Dale
Prevent the default cooked sandbox from trying to read non-cooked assets
Change 3366550 on 2017/03/27 by Max.Chen
Sequencer: Fix case
Change 3367301 on 2017/03/28 by Andrew.Rodham
Tests: Added test actor with a variety of properties for testing purposes
Change 3367303 on 2017/03/28 by Andrew.Rodham
Tests: Enabled ActorSequenceEditor plugin in EngineTest project
Change 3367304 on 2017/03/28 by Andrew.Rodham
Tests: Added several functional testing maps for sequencer
- SequencerTest_Properties - tests animating various property types
- SequencerTest_Events - tests basic event triggering functionality (including additional event receivers and event ordering)
- SequencerTest_BindingOverrides - tests overriding possessable and spawnable bindings, along with bindings in sub sequences
- SequencerTest_ActorSequence - tests basic actor sequence functionality
Change 3367465 on 2017/03/28 by Max.Chen
Sequencer: Set Bind Sequencer to PIE off by default, Bind Sequencer to Simulate remains on by default.
Change 3367515 on 2017/03/28 by Matt.Kuhlenschmidt
Guard against visual studio accessor crash
#jira UE-43368
Change 3368118 on 2017/03/28 by Alexis.Matte
Fix the staticmesh conversion from 4.13. There was a error in the LOD loop we where not remapping the LOD 0.
#jira UE-42731
Change 3368485 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for MacOSX 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368495 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for Windows 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368501 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - SVN Build instructions for Windows and Mac 64-bit libraries, and license files for Mac libraries
Change 3368782 on 2017/03/28 by Nick.Darnell
UMG - Improving some logging for fast widget creation.
Change 3368826 on 2017/03/28 by Nick.Darnell
Slate - Slate Application now maintains seperate tracking for each pointer being utilized for drag drop, so now multiple fingers on multiple widgets can now simultaneously be attempting a drag, however once one of them becomes successful, we clear all state of all other tracking since only one Drag Drop operation is possible at a time.
Slate - bFoldTick is now removed from the codebase, we haven't supported the other (non-folded) code path for awhile, so there was no point in maintaining the switch.
Slate - Users have noticed issues where the cursor does not appear when changing visibility (through toggling the way the cursor appears). This was rooted in how the OS requested cursor changes, WM_SETCURSOR on Windows only asks for new cursors when the mouse moves, but often cursors change just because mouse capture changes. So now the path has been centralized in Slate Tick to only handle the cursor changes in one place, and several places that need to refresh the cursor state, now set a flag to handle it on next tick.
#jira UE-40486
Change 3368917 on 2017/03/28 by Arciel.Rekman
Linux: allow building with clang 4.0.
Change 3369074 on 2017/03/28 by Nick.Darnell
UMG - Fixing some spelling on the hardware cursor tip.
UMG - Changed some checks to ensure now that users can input the wrong data from the editor. Adding some clamping to the editor interface so that users are not tempted to enter incorrect hotspot ranges for their cursors.
#jira UE-43419
#jira UE-43425
Change 3369137 on 2017/03/28 by Max.Chen
Sequencer: Add given master track sets the outer to the movie scene.
Change 3369360 on 2017/03/29 by Andrew.Rodham
Sequencer: Reconciled 3349194 and 3365041 with animphys merge
Change 3369410 on 2017/03/29 by Alexis.Matte
Fix the select filename in the FileDialog "Desktop window platform"
#jira UE-43319
Change 3369475 on 2017/03/29 by Nick.Darnell
PR #3413: UE-37710: Proper scaling of WebBrowserViewport (Contributed by projectgheist)
Modified - you can't use the clip rect to decide on how large you should be.
#jira UE-37710
Change 3369775 on 2017/03/29 by Max.Chen
ControlRig: Fix crash on exit.
#jira UE-43411
Change 3370466 on 2017/03/29 by Nick.Darnell
AsyncLoading - Adding USoundBase to the set of CDOs that have a particular fixed boot order.
StreamableManager - Only showing the duplicate load error in debug builds, it's not a real error.
#jira UE-43409
Change 3370570 on 2017/03/29 by Nick.Darnell
Slate - Fixing a bug with ZOrder being discarded on the SOverlay Slot.
#jira UE-43431
Change 3370644 on 2017/03/29 by Andrew.Rodham
Temporarily disabling sequencer functional test "Event Position"
Change 3370713 on 2017/03/29 by Nick.Darnell
PR #3399: UE-42831: Anchor text ignores scale (Contributed by projectgheist)
#jira UE-43156
#jira UE-42831
Change 3371243 on 2017/03/30 by Arciel.Rekman
Linux: scale OS allocation pool to match memory size.
- Number of distinct VMAs (contiguous virtual memory areas, i.e. mappings done via mmap()) is rather low (~64k)
and we can run out of VMAs earlier than we will run into available memory. Larger pool makes this less likely.
Change 3371262 on 2017/03/30 by Arciel.Rekman
Linux: fix custom present.
- PR #3383 contributed by yaakuro.
Change 3371301 on 2017/03/30 by Arciel.Rekman
Linux: fix copying to a non-existent directory during Setup.
Change 3371307 on 2017/03/30 by Andrew.Rodham
Editor: Added "Resave All" functionality to content browser folders
Change 3371364 on 2017/03/30 by Andrew.Rodham
Sequencer: Level streaming improvements
- Tick prerequisites are now set up when any object binding is resolved, not at the start of the sequence. This unifies code between spawnables and possessables, and allows tick prerequisites to still be set up when levels are streamed in
- Actor references are no longer resolved when a PIEInstance is specified on the package, and it cannot be fixed up to a different ptr than the original. This stops us resolving actors from one world into another.
- Fixed level visibility request getting cleared when the cumulative total was 0 (it should only do this if there are no requests left)
#jira UE-43225
Change 3371365 on 2017/03/30 by Andrew.Rodham
Tests: Sequencer level streaming tests
Change 3371493 on 2017/03/30 by Nick.Darnell
PR #3408: UE-19980: Added FCanExecuteAction to prevent keyboard shortcut. (Contributed by projectgheist)
Change 3371524 on 2017/03/30 by Nick.Darnell
PR #2938: Minor UMG code fixups (Contributed by projectgheist), accepted most of the changes.
Change 3371545 on 2017/03/30 by Nick.Darnell
UMG - Fixing some minor issues with WidgetComponents not properly limiting input depending on what is supported with reguard to hardware input.
Change 3371576 on 2017/03/30 by Matt.Kuhlenschmidt
PR #3433: Fix for the Standalone D3D Slate Shader using the wrong value for the. (Contributed by megasjay)
Change 3371590 on 2017/03/30 by Nick.Darnell
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's camera. The widgets should now show up in the right locations.
Change 3371625 on 2017/03/30 by Alexis.Matte
Fix the merge tool material id assignment
#jira UE-43246
Change 3371666 on 2017/03/30 by Nick.Darnell
UMG - Reducing logging, don't need to tell everyone all the time we're using the fast widget path.
Change 3371687 on 2017/03/30 by Arciel.Rekman
Linux: switch to new managed filehandles.
Change 3371778 on 2017/03/30 by Matt.Kuhlenschmidt
Fixed the animation to play property on skeletal meshes being too small to read anything
#jira UE-43327
Change 3372709 on 2017/03/30 by Matt.Kuhlenschmidt
Made slate loading widget / movie play back more thread safe by eliminating Slate applicaiton or the main window from being ticked directly on another thread. We now have a separate virtual window for ticking and painting the loading screen widgets in isolation
Change 3372757 on 2017/03/30 by Nick.Darnell
Paragon - Fixing cases where people were using PostLoad() where really it should have done when the widget was constructed or created. This is a side effect of the FastWidget creation path 'PostLoad()' is not called on newly constructed widgets, though it did before because part of duplicating the WidgetTree, required serialization, which would have called it.
Change 3372777 on 2017/03/30 by Nick.Darnell
Fixing fast widget template cooking so that it does the same logic as Initialize did, centralizing the code to find the first widgetblueprintclass.
Change 3372949 on 2017/03/30 by Nick.Darnell
UMG - Fixing some cooking crashes for the super class.
Change 3373139 on 2017/03/30 by Jeff.Farris
Added TimingPolicy option to WidgetComponent, so widgets can optionally tick in game time rather than real time.
(Copy of CL 3279699 from Robo Recall to Dev-Editor)
Change 3373235 on 2017/03/30 by Nick.Darnell
Fixing a cooking issue, accidentally removed code that was properly loading some needed assets.
Change 3373266 on 2017/03/30 by Matt.Kuhlenschmidt
Made GetMoviePlayer thread safe. Simply accessing GetMoviePlayer is safe now as is checking IsLoadingFinished. However, most of the functions on movie player are only safe from the game thread!
Change 3374026 on 2017/03/31 by Andrew.Rodham
Sequencer: Moved evaluation group registration to IMovieSceneModule
#jira UE-43420
Change 3374060 on 2017/03/31 by Yannick.Lange
VR Editor: Collision on motion controllers in simulate.
Change 3374185 on 2017/03/31 by Nick.Darnell
Attempting to fix the build.
Change 3374232 on 2017/03/31 by Max.Chen
Sequencer: Fix audio not playing in editor
#jira UE-43514
Change 3374322 on 2017/03/31 by Nick.Darnell
UMG - SafeZone widget now has comments, and useful tips. Using the debugging console commands now trigger the broadcast that will cause controls like the SSafeZone widget to resample the display metrics to learn the new safezone ratio.
Change 3374424 on 2017/03/31 by Max.Chen
Updated test content so that the door animation is now set to "Keep State" for the When Finished property.
#jira UE-43519
Change 3374447 on 2017/03/31 by Max.Chen
Sequencer: Notify streaming system prior to camera cuts
By default, this does nothing. Users will need to enable the preroll section of camera cuts for the streaming system to activate prior to cutting to cameras.
#jira UE-42406
Change 3374571 on 2017/03/31 by Andrew.Rodham
Sequencer: Unified global and object-bound pre animated state, added InitializeObjectForAnimation method to state producers
Change 3374578 on 2017/03/31 by Andrew.Rodham
Sequencer: Added unit tests for pre-animated state
Change 3374592 on 2017/03/31 by Max.Chen
Color Customization: Set curve color names.
#jira UE-43405
Change 3374596 on 2017/03/31 by Andrew.Rodham
Corrected documentation comment
Change 3374671 on 2017/03/31 by Matt.Kuhlenschmidt
Fix movie scene audio track not compiling outside of editor
Change 3374689 on 2017/03/31 by Matt.Kuhlenschmidt
Remove the slate thread masquerading as the game thread in IsInGameThread
Change 3374730 on 2017/03/31 by Max.Chen
Sequencer: Add check for null loaded level.
Change 3374732 on 2017/03/31 by Max.Chen
Sequencer: Remove null tracks on postload.
Change 3374737 on 2017/03/31 by tim.gautier
- Updated UMG_Optimization: Adjusted Variable names to resolve compile errors due to Widget Components and Variables sharing names (cannot be done with new compile improvements)
- Set Level Blueprint for TM-UMG back to AllPalettes
Change 3374987 on 2017/03/31 by Nick.Darnell
UMG - Introducing a way to inform the widgets more information about the designer. There's now a DesignerChanged event sent to all design time widgets letting them know things like the current screen size and DPI scale.
UMG - The SafeZone widget will now show the correct safe zone amount if you use the safezone command line options, which are now documented in the comment for the USafeZone class.
Change 3375599 on 2017/03/31 by Max.Chen
Cine Camera: Update camera debug plane when property changes, rather rely soley on tick. This fixes a bug where sliding the value on the details panel doesn't update the debug plane in the viewport simultaneously.
#jira UE-43543
Change 3375601 on 2017/03/31 by Arciel.Rekman
Linux: switch to v9 cross-toolchain.
Change 3375856 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed 'formal parameter with requested alignment of 16 won't be aligned'
Change 3375870 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed explicit template instantiation ocurring before the complete definition of type's members
- This resulted such members not being instantiated (and hence exported) when compiled with clang
Change 3376114 on 2017/04/02 by Arciel.Rekman
Linux: make source code accessor aware of clang 3.9 and 4.0.
Change 3376138 on 2017/04/02 by Arciel.Rekman
Linux: add clang to fedora deps (UE-42123).
- PR #3273 submitted by cpyarger.
Change 3376159 on 2017/04/02 by Arciel.Rekman
Linux: some support for building on Debian Sid or Stretch (UE-35841).
- Basd on PR #2790 by haimat.
Change 3376163 on 2017/04/02 by Arciel.Rekman
Linux: install latest clang on Arch (UE-42341).
- This undoes PR #1905.
- PR #2897 by SiebenCorgie.
- PR #3302 by awesomeness872.
- PR #3341 by patrickelectric.
Change 3376167 on 2017/04/02 by Arciel.Rekman
Add FreeBSD mem info (courtesy support for the out of tree build) (UE-42994).
- PR #3378 by mdcasey.
Change 3376168 on 2017/04/02 by Arciel.Rekman
Linux: fixed VHACD Makefile on a case sensitive fs (UE-42905).
- PR #3381 by slonopotamus.
Change 3376177 on 2017/04/02 by Arciel.Rekman
SlateDlg: case-insensitive comparison of filter extensions (UE-39477).
- PR #3019 by aknarts.
Change 3376178 on 2017/04/02 by Arciel.Rekman
WebRTC: only x86_64 version exists for Linux.
Change 3376245 on 2017/04/03 by Andrew.Rodham
Sequencer: Re-enabled event order test
Change 3376339 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash during loading movie playback on DX12 due to not ever cleaning up old resources
#jira UE-27026
Change 3376481 on 2017/04/03 by Alex.Delesky
#jira UE-43495 - TMaps will now support customized key properties correctly.
Change 3376741 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash flushing font cache when loading a movie. This is no longer save on the slate movie thread
#jira UE-43567
Change 3376763 on 2017/04/03 by Shaun.Kime
Material Reroute nodes do not work for Texture Object Parameters as they return a base output type. Modified logic to now support this node type.
#jira UE-43521
Change 3376836 on 2017/04/03 by Jamie.Dale
Fixed text format history being clobbered by reference collection
#jira UE-37513
Change 3376852 on 2017/04/03 by Nick.Darnell
Paragon - Found a case where a user had marked a BindWidget property as Transient which prevents serializing the property binding now for widget fast mode.
#jira UE-43564
Change 3377207 on 2017/04/03 by Jamie.Dale
Desktop platform directory pickers are expected to return absolute paths
File pickers return relative paths though, and we should make this consistent at some point.
#jira UE-43588
Change 3377214 on 2017/04/03 by Matt.Kuhlenschmidt
Fix movie player shutdown crash in non-editor builds
#jira UE-43577
Change 3377299 on 2017/04/03 by Michael.Dupuis
#jira UE-43586 : properties should be non transactional
#jira UE-43559
Change 3378333 on 2017/04/04 by Michael.Dupuis
#jira UE-43585
#jira UE-43586
Revert back to purple color
Change 3378633 on 2017/04/04 by Matt.Kuhlenschmidt
Resaved this asset to avoid zero engine version warnings
Change 3378958 on 2017/04/04 by Nick.Darnell
Automation - Fixing the race condition to finish compiling shaders on screenshots for UI.
[CL 3379345 by Matt Kuhlenschmidt in Main branch]
2017-04-04 15:35:21 -04:00
|
|
|
#include "TrackEditors/MaterialParameterCollectionTrackEditor.h"
|
2018-11-14 19:05:13 -05:00
|
|
|
#include "TrackEditors/ObjectPropertyTrackEditor.h"
|
|
|
|
|
#include "TrackEditors/PrimitiveMaterialTrackEditor.h"
|
2020-02-20 13:42:45 -05:00
|
|
|
#include "TrackEditors/CameraShakeSourceShakeTrackEditor.h"
|
2022-01-27 14:37:04 -05:00
|
|
|
#include "TrackEditors/CVarTrackEditor.h"
|
2014-03-14 14:13:41 -04:00
|
|
|
|
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164)
#lockdown Nick.Penwarden
#rb none
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3433074 by Matt.Kuhlenschmidt
Fix crash when clicking on certian tutorial blueprints.
#jira UE-44593
Change 3433075 by Matt.Kuhlenschmidt
Remove hittest grid log spam. The underlying problem causing this has been fixed
Change 3433077 by Matt.Kuhlenschmidt
Fix lighting becoming unbuilt when mesh painting
#jira UE-44837
Change 3433081 by Matt.Kuhlenschmidt
PR #3553: Crashfix for static array properties (Contributed by Pierdek)
Change 3433104 by Alexis.Matte
Make sure re-import skeletal mesh follow the import morph option
#jira UE-42846
Change 3434825 by Matt.Kuhlenschmidt
Fix crash when GC happens while the vr editor radial menu is open.
Change 3434831 by Matt.Kuhlenschmidt
Added missing file
Change 3434868 by Shaun.Kime
If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node.
#jira ue-44670
Change 3434998 by Alexis.Matte
Meshes editors material/section panel are now fully transactional
- Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name
- Skeletal mesh editor: material slot instance, material slot name
Also fix some transaction description
#jira UE-44462
Change 3435195 by Jamie.Dale
Fixed incorrect handling of some LTR scripts that require shaping
These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly.
#jira UE-44767
Change 3435199 by Jamie.Dale
Fixed some crashes/artifacts with bidirectional text
It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly.
Change 3435200 by Jamie.Dale
Fixed a grapheme cluster metrics issue in the font editor viewport
The viewport also now respects the default shaping method CVar.
Change 3435771 by Alexis.Matte
Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import
(PhysicAsset API change, adding 1 function)
#jira UE-44609
Change 3436856 by Jamie.Dale
Added some missing Unicode block ranges
Change 3436914 by Jamie.Dale
Adding some missing combining character ranges to the text shaper
Change 3436923 by Alexis.Matte
PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79)
#jira UE-43764
Change 3436948 by Jamie.Dale
Updated the Portal to use the predefined Unicode block ranges
Change 3436961 by Max.Chen
Sequencer: Show camera shake/anim track menus even if there aren't any assets.
Change 3437244 by Max.Chen
Sequencer: Clear locked cameras when releasing Sequencer.
#jira UE-44967
Change 3437515 by Arciel.Rekman
UBT: improvements for LocalExecutor.
- Larger number of parallel jobs on 16GB+ machines.
- Use WaitForExit() instead of polling.
- Tested on Linux and Mac.
Change 3437629 by Matt.Kuhlenschmidt
Improve asset import data display in static and skeletal meshes
Change 3438047 by Arciel.Rekman
Fix overlapping ranges being passed to memcpy().
Change 3438822 by Yannick.Lange
ViewportInteraction: Move gizmo handle files to make them private.
Change 3438906 by Matt.Kuhlenschmidt
PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts)
Change 3438907 by Matt.Kuhlenschmidt
PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift)
Change 3438908 by Matt.Kuhlenschmidt
PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist)
Change 3439393 by Matt.Kuhlenschmidt
Force highest LOD for highres screenshots
Change 3439819 by Matt.Kuhlenschmidt
Turned FAssetData into a struct for some upcoming script exposure of FAssetData
Change 3439949 by Arciel.Rekman
Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable.
- Allows disabling libc++ by setting the variable to 0.
- Pull request #3576 contributed by jared-improbable.
Change 3441078 by Jamie.Dale
The culture/language/locale console commands are now available in all build configs
Change 3441109 by Jamie.Dale
Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode
This is needed as the kerning-only shaping code assumes that everything is within the BMP
Change 3441275 by Matt.Kuhlenschmidt
Disable spinning on location and scale. These dont work because we have no notion of infinite spinning
Change 3442748 by Yannick.Lange
ViewportInteraction: Remove unused console variables.
Change 3442775 by James.Golding
Add support for editing MaterialFunctions to MaterialEditingLibrary
Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial
Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util
Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary
Added test content for Material/MaterialFunction editing
Add needed BlueprintReadWrite to expressions (constants, function input/output)
Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType
Change 3442779 by James.Golding
Fix header order
Change 3442817 by Yannick.Lange
ViewportInteraction: Add can execute checks for level editor commands.
Change 3443038 by Michael.Dupuis
#jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor
Only permit moving foliage instance if there is some selected
Change 3443855 by Michael.Dupuis
#jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed
Change 3446096 by Max.Chen
Sequencer: Add OnFinished() event when a level sequence completes playback
#jira UE-45173
Change 3446097 by Max.Chen
Sequencer: Evaluate one last time before the sequence is torn down and reset
#jira UE-45174
Change 3446242 by Jamie.Dale
Fixed caret not appearing in empty text layouts
Caret selections have no range, and therefore have no width
Change 3446361 by Matt.Kuhlenschmidt
Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR
Change 3446457 by Alexis.Matte
Polish the speed tree import dialog
#jira UE-44963
Change 3446946 by Michael.Trepka
Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates
#jira UE-37934
Change 3447543 by Arciel.Rekman
Reduce VMAs on Linux.
- Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas).
This decreases possibility to run into vm.max_map_count limit on Linux.
- Tested on Linux and Mac.
Change 3448468 by Arciel.Rekman
Fix race condition during creation of GMalloc.
- On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread.
Change 3449012 by Max.Chen
Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors.
#jira UE-45089
Change 3449018 by Max.Chen
Sequencer: Add OnCameraCut event that fires when there is a camera cut.
#jira UE-45137
Change 3449195 by Max.Chen
Sequencer: Add setting for limit scrubbing to playback range.
#jira UE-43502
Change 3449198 by Max.Chen
Sequencer: Reorder hierarchical bias so that group priority takes precedence.
Change 3449217 by Max.Chen
Sequencer: Add setting to activate realtime viewports when in sequencer.
Change 3449219 by Max.Chen
Sequencer: Focus on search boxes when opened.
Change 3449238 by Max.Chen
Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class.
Change 3449239 by Max.Chen
Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections.
Change 3449241 by Max.Chen
Sequencer: Restore section selection after full tree rebuild.
Change 3449279 by Max.Chen
Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot"
Change 3449280 by Max.Chen
Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current.
#jira UE-44552
Change 3449294 by Max.Chen
Sequencer: Null check for sequencer ed mode crash.
Change 3449297 by Max.Chen
Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately.
#jira UE-42866
Change 3449542 by Max.Chen
Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges.
#jira UE-44569
Change 3451507 by Matt.Kuhlenschmidt
Fix extra slate uv coords not functioning on ES2
Change 3451510 by Matt.Kuhlenschmidt
PR #3595: Fixed wrong colour for level status (Contributed by ronve)
Change 3451529 by Alexis.Matte
fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute.
#jira UE-34410
Change 3451611 by Yannick.Lange
ViewportInteraction: Dragging gizmo without second pass for snapped calculations.
Change 3452134 by Jamie.Dale
Fixed constant font cache flushing if a widget had no font set
Change 3452239 by Jamie.Dale
Fixed constant font measure flushing if a widget had no font set
Change 3452243 by Jamie.Dale
Removed deprecated code for creating fonts from bulk data
Change 3452277 by Jamie.Dale
The concept of "stale" composite fonts is now editor-only
Change 3452358 by Alexis.Matte
Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick.
#jira UE-45232
Change 3452678 by Max.Chen
Sequencer: Fix crash on export if there's no shot data.
Change 3453057 by Matt.Kuhlenschmidt
Exposed asset exporting to script
Change 3453782 by Andrew.Rodham
Sequencer: Fixed deterministic cooking issues with movie scene data
- Movie scene signatures are now initialized in PostInitProperties
- A warning is now presented when attempting to cook old data that was never serialized with a signature.
- Removed redundant legacy data upgrade logic that could dirty level sequences on load.
#jira UE-44912
Change 3453788 by Yannick.Lange
ViewportInteraction: Custom scene proxy for gizmo handles.
Change 3453938 by Max.Chen
Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot
#jira UE-45119
Change 3454058 by Michael.Dupuis
Fixed StaticAnalysis
Change 3454077 by Max.Chen
Sequencer: Fix not saving the pre-animated track value when creating a track/key.
On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc)
Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used.
#jira UE-45130
Change 3454108 by Nick.Darnell
UMG - Fixing the WIC to properly record cursor delta so that scrollbars work.
Change 3454109 by Jamie.Dale
Cache the text layout source info in non-shipping builds so you can inspect it in the debugger
Change 3454202 by Matt.Kuhlenschmidt
Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material
Change 3454390 by Yannick.Lange
Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary.
#jira UE-45035
Change 3454564 by Matt.Kuhlenschmidt
#rnx Fix deprecation warnings
Change 3455471 by Yannick.Lange
ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport.
#jira UE-44965
Change 3456183 by Max.Chen
Sequencer: Auto key, auto track refactor.
Auto key - create a key when the property changes and there's an existing track.
Auto track - create a track when the property changes. This is only exposed in the level sequence editor.
All - create a key and a track when the property changes. This is only exposed in VR Editor.
None - do nothing.
#jira UE-43469
Change 3456349 by Andrew.Rodham
Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO
Change 3456678 by Alexis.Matte
Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number.
#jira UE-45306
Change 3456945 by Max.Chen
UMG: Add restore state to 2d transform section.
#jira UE-45372
Change 3457196 by Arciel.Rekman
Linux: serialize allocations from the memory pool.
Change 3458434 by Max.Chen
Sequencer: Remove obsolete set tick prerequites functions.
Change 3458671 by James.Golding
Added MIC editing support to MaterialEditingLibrary
Fix static analysis warning
Change 3458888 by Matt.Kuhlenschmidt
PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist)
Change 3458893 by Matt.Kuhlenschmidt
PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist)
Change 3458895 by Matt.Kuhlenschmidt
Fix typo
Change 3458902 by Matt.Kuhlenschmidt
PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist)
Change 3458917 by Matt.Kuhlenschmidt
Fix crash with invalid object properties in the class picker
#jira UE-39000
Change 3458939 by Matt.Kuhlenschmidt
Fix compile error
Change 3458984 by andrew.porter
QAGame: Initial check in of sequencer smoke test map
Change 3459510 by Matt.Kuhlenschmidt
Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map.
#jira UE-45052
Change 3460985 by Max.Chen
Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance.
#jira UE-45090
Change 3461698 by Arciel.Rekman
Avoid using ARRAY_COUNT in Vulkan.
- Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array.
Change 3462053 by Max.Chen
Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables.
#jira UE-43470
Change 3462139 by Max.Chen
Property Editor: Add objects to FPropertyAndParent
Change 3462202 by Arciel.Rekman
Fix FSocket::Recv() blocking with Peek when there's no data.
Change 3462253 by Nick.Darnell
Slate - New Clipping System
Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together.
Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip.
/**
* This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped.
*/
Inherit,
/**
* This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area.
*/
ClipToBounds,
/**
* This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping
* state. Effectively allowing it to render outside the bounds of hierarchy that does clip.
*
* NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always].
*/
ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"),
/**
* This widget clips to its bounds. It intersects those bounds with any previous clipping area.
*
* NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers
* in the UI where you never want animations or other effects to break this region.
*/
ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"),
/**
* This widget clips to its bounds when it's Desired Size is larger than the allocated geometry
* the widget is given. If that occurs, it behaves like [Yes].
*
* NOTE: This mode was primarily added for Text, which is often placed into containers that eventually
* are resized to not be able to support the length of the text. So rather than needing to tag every
* container that could contain text with [Yes], which would result in almost no batching, this mode
* was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand,
* is because not every panel returns a Desired Size that matches what it plans to render at.
*/
OnDemand UMETA(DisplayName = "On Demand (Advanced)")
- Large API Change -
All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see.
If you were previously trying to determine if you should cull widgets, by doing something like this,
if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) )
That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below,
if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget))
To assist in debugging efforts, there are several new debugging console flags in Slate,
Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive).
Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw.
Slate.ShowTextDebugging 1 - Show debugging painting for text rendering.
I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes.
Slate.Feathering 1
If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass.
Slate.EnableDrawEvents 1
#jira UE-4659
#rn
Change 3462714 by Nick.Darnell
Fixing a few more compiler issues with the clipping changes.
Change 3462726 by Max.Chen
Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct.
#jira UE-45431
Change 3462801 by Nick.Darnell
Adding a UMG dependency to EngineTestBuild.
Change 3462914 by Max.Chen
Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138
#jira UE-30007
#jira UE-39003
Change 3462946 by Nick.Darnell
Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test.
Automation - Adding a blur widget test.
Change 3462987 by Matt.Kuhlenschmidt
Back out changelist 3458893
Change 3464774 by Matt.Kuhlenschmidt
PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster)
Change 3464785 by Nick.Darnell
Fixing some clipping stuff in the editor.
Change 3464830 by andrew.porter
QAGame: Second pass on sequencer smoke test map
Change 3464902 by Nick.Darnell
Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen.
Change 3464988 by Max.Chen
Sequencer: Add attenuation settings for attached audio components.
#jira UE-33080
Change 3465024 by Nick.Darnell
MoviePlayer - Impoving the playback mode displaynames.
Change 3465074 by Arciel.Rekman
Fix shadowing issues of GraphicsPSOInit.
Change 3465097 by Matt.Kuhlenschmidt
Some refactoring of the details panel
Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property.
Refactored the API for adding rows to details panels to make it more consistent\
AddChildCustomBuilder->AddCustomBuilder
AddChildGroup->AddGroup
AddChildContent->AddCustomRow
AddChildPropert->AddProperty
AddChildStructure->AddExternalStructureProperty
AddStructure->AddAllExternalStructureProperties
AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty
Change 3465186 by Max.Chen
Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved.
#jira UE-43780
Change 3465315 by Matt.Kuhlenschmidt
Fix Fortnite and Orion details panel customization warnings
Change 3465424 by Nick.Darnell
Automation - Moving the step for setting the link to the automation reports to be set before we start the engine.
Change 3465488 by Nick.Darnell
Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test.
Change 3466277 by Arciel.Rekman
Linux: fix window drift when dragging (UE-40380).
- Change by Cengiz Terzibas.
Change 3466370 by Nick.Darnell
UMG - Fixing the colors for the resize handle in the designer.
Change 3466372 by Nick.Darnell
UMG - Fixing the ruler ticks sometimes not being drawn.
Change 3466374 by Nick.Darnell
UMG - Fixing the designer showing multiple options for sequencer.
Change 3466377 by Nick.Darnell
UMG - Cleaning up some clipping bits.
Change 3467025 by Andrew.Rodham
Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning.
If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes.
(CIS step 62283298, jobId 7773146)
(CIS step 62283297, jobId 7773146)
Change 3467099 by Max.Chen
Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid.
Change 3467172 by Max.Chen
Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables.
#jira UE-43690
Change 3467192 by Matt.Kuhlenschmidt
Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes
#jira UE-45527
Change 3467251 by Yannick.Lange
ViewportInteraction: Fix scale and rotation snap while dragging with two lasers.
#jira UE-43489
Change 3467331 by Matt.Kuhlenschmidt
Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders
Change 3467335 by Matt.Kuhlenschmidt
Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it.
Change 3467558 by Max.Chen
Scene Outliner: Generic support to add default columns to a scene outliner.
Change 3467565 by Jamie.Dale
Removing old screenshot data for test
Change 3467589 by Nick.Darnell
Editor - Random cleanup.
Change 3467596 by Nick.Darnell
Progress Bar - Exposing Border Padding to UMG.
Change 3467600 by Nick.Darnell
Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes.
Change 3467601 by Max.Chen
Property Editor: Fix static analysis warning
Change 3467662 by Nick.Darnell
Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data.
Change 3467674 by Max.Chen
Property Editor: Fix static analysis warning
Change 3467737 by Max.Chen
Sequencer: Added OnMovieSceneBindingsChanged delegate
Change 3468053 by tim.gautier
QAGame: Updating Editor Smoke Map
- Updated landscapes into Stations for testing
- Added Foliage Sublevel
Change 3468194 by Arciel.Rekman
Linux: fix problems communicating with various STL-using libs.
- Stop hiding global new/delete signatures.
- Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng.
Change 3468678 by Max.Chen
Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag.
Change 3469314 by tim.gautier
QAGame: Added Painted Foliage / Spline section to EditorSmoke map
Change 3469377 by Nick.Darnell
Slate - Fixing some warnings in a couple of sample games due to the clipping changes.
#rnx
Change 3469767 by Max.Chen
Sequencer: Outliner column and sequencer binding data
#jira UE-43470
Change 3469974 by Arciel.Rekman
Fix code projects not working in Linux installed build.
Change 3470082 by Nick.Darnell
Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread.
Change 3470174 by Nick.Darnell
Slate - Get the last widget in a widget path utility.
Change 3470176 by Nick.Darnell
UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects.
Change 3470261 by Nick.Darnell
Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread.
Change 3470286 by Max.Chen
Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template.
Change 3470366 by Nick.Darnell
Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new.
Change 3470649 by Matt.Kuhlenschmidt
Fix deprecation warnings
Change 3470695 by Matt.Kuhlenschmidt
Fixed typo
#jira UE-45580
Change 3470721 by Matt.Kuhlenschmidt
Fix static analysis
Change 3471254 by Michael.Dupuis
#jira UE-42952: Keep occlusion result per view
Change 3471287 by Nick.Darnell
UMG - Render Focus Rule now defaults to never.
Change 3471291 by Nick.Darnell
Slate - Fixing FSlateRenderer* change fallout.
Change 3471299 by Nick.Darnell
Slate - Fixing FSlateRenderer* change.
Change 3471323 by Nick.Darnell
Automation - Fixing automation and Static Analysis warning.
Change 3471413 by andrew.porter
QAGame: Added test content for anim blending and material parameteres to sequencer smoke level
Change 3471649 by Max.Chen
Sequencer: Modify the track when adding animation
#jira UE-45618
Change 3471659 by Matt.Kuhlenschmidt
Added a way to check if a movie is playing from the engine.
Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing
Change 3471734 by Matt.Kuhlenschmidt
Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings
Change 3472176 by Nick.Darnell
UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button.
Change 3472740 by Max.Chen
Sequencer: Add GetThisFrameMetaData accessor
Change 3472748 by Max.Chen
Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates
Change 3472753 by Max.Chen
Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate
Change 3472870 by Nick.Darnell
Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT.
Change 3473340 by Max.Chen
Scene Outliner: Add ability to register additional filters
Change 3473348 by Max.Chen
Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate)
Change 3473441 by Max.Chen
Sequencer: Autokey Refactor Part 2.
Autokey is now a single toggleable state.
Allow Edits Mode has 3 states:
Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties.
Allow Sequencer Edits Only - All edits will produce either a track or a key.
Allow Level Edits Only - Properties in the details panel will be disabled if they have a track.
#jira UE-45229
Change 3473670 by Nick.Darnell
Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers.
#rn
Change 3473711 by Nick.Darnell
Disabling the ensure in the module manager.
Change 3473747 by Max.Chen
Sequencer: Fix tooltip
Change 3474091 by Jamie.Dale
Added a warning when cooking a UFontFace that is outered to a UFont asset
These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions)
Change 3475052 by Yannick.Lange
VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor.
#jira UE-45415
Change 3475054 by Yannick.Lange
Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state.
#jira UE-45574
Change 3475263 by Nick.Darnell
Fixing some additional cases of IModuleInteface SharedPtr usage.
Change 3475268 by Max.Chen
Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped.
#jira UE-45654
Change 3475269 by Max.Chen
Scene Outliner: Additional filters should only apply to actor browsing mode
Change 3475407 by Nick.Darnell
Fixing some clipping / module shared ptr changes in the launcher code.
Change 3475542 by Max.Chen
Sequencer: Update thumbnail and section highlighting to use new clipping behavior.
#jira UE-45692
#jira UE-45689
Change 3475743 by Michael.Dupuis
#jira UE-45183: When updating phyx region take into account simple collision mip
Change 3475949 by Arciel.Rekman
Remove PhysX deoptimization (no longer needed).
- OR-24947 has been closed three months ago.
Change 3476022 by Michael.Dupuis
#jira UE-45560: Make sure we're not going out of range
Change 3476063 by Michael.Dupuis
#jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component
Change 3476168 by Michael.Trepka
Added handling of directory symlinks to FApplePlatformFile::IterateDirectory
#jira UE-43704
Change 3476172 by Nick.Darnell
Fixing a Imoduleinterface change.
Change 3476183 by Jamie.Dale
Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text
Change 3476385 by Arciel.Rekman
Linux: handle symlinks when iterating directories.
Change 3476522 by Michael.Trepka
Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case.
Change 3476806 by Nick.Darnell
UMG - Focus the designer after dropping a widget onto the surface.
Change 3476809 by Nick.Darnell
Curve Editor - Enable Clipping on the curve editor.
Change 3477475 by Nick.Darnell
Fixing a module interface shared ptr usage in UT.
Change 3477553 by Yannick.Lange
VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor.
Change 3477734 by Yannick.Lange
VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale.
#jira UE-44933
Change 3477761 by Jamie.Dale
Some improvements to avoid loading the native .locres files twice when we don't need to
Change 3477780 by Nick.Darnell
PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist)
Change 3477786 by Nick.Darnell
PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz)
Change 3477795 by Nick.Darnell
PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist)
Change 3478092 by Nick.Darnell
PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey)
Engine Edit - Made some small changes to the enum type, and some naming.
Change 3478450 by Nick.Darnell
Fixing some uninitialized variable errors.
Change 3479827 by Andrew.Rodham
Sequencer: Addressed serialization issues with some struct types
Change 3479874 by Jamie.Dale
Fixed "NativeGameLanguage" not being used correctly during localization initialization
Change 3480012 by Andrew.Rodham
Sequencer: Fixed loading tagged properties as native for track identifiers
#jira UE-45823
Change 3480337 by Alexis.Matte
Fix morph target crash missing some valid index check
Change 3480804 by Alexis.Matte
Fix crash with ColorGradingMode custom detail
#jira UE-45638
Change 3480892 by Andrew.Rodham
Sequencer: Ensure that movie scene sequences know about the editor object version
#jira UE-45842
Change 3481073 by Nick.Darnell
Fix the shader compiler error from main in Slate.
Change 3481303 by Nick.Darnell
UMG - Fixing a bug with the drag handle not working correctly in HDPI mode.
Change 3481308 by Nick.Darnell
Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect.
Change 3481629 by Max.Chen
Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer()
#jira UE-45785
Change 3481899 by Yannick.Lange
VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode.
Change 3481984 by Michael.Dupuis
#jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools
Change 3482047 by Nick.Darnell
Slate - Adding some comments to IsWidgetCulled.
Change 3482110 by Nick.Darnell
Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled.
Change 3482136 by Jamie.Dale
The CamelCase break iterator now treats digits around character tokens as part of the identifier
Change 3482138 by Michael.Dupuis
#jira UE-45854: Properly unregister during undo operation
Change 3482150 by Michael.Dupuis
#jira UE-45845 : Add missing nullcheck for GetStaticMesh
Change 3482153 by Nick.Darnell
Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled.
Change 3482180 by Nick.Darnell
UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main.
Change 3482273 by Nick.Darnell
UMG - Tweaking some more things about the widget component box outline.
Change 3482308 by Alexis.Matte
Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group.
#jira UE-45696
Change 3482327 by Nick.Darnell
UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor.
Change 3482705 by Andrew.Rodham
Resaving assets that contain legacy data to suppress CIS warnings.
- If conflicts arise in these assets, please take game-side changes and ignore these.
Change 3484245 by Max.Chen
Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed.
#jira UE-45905
Change 3484263 by Max.Chen
Sequencer: Fix crash on forcing refresh of details panel on release.
#jira UE-45911
Change 3484431 by Andrew.Rodham
Resaving assets that contain legacy data to suppress CIS warnings.
- If conflicts arise in these assets, please take game-side changes and ignore these.
Change 3484474 by Alexis.Matte
Fix the morph target animation curve name matching.
#jira UE-20294
Change 3484475 by Alexis.Matte
When removing a LOD, make sure we remove all morph target data associate to the LOD.
Change 3484489 by Nick.Darnell
PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist)
#jira UE-45908
Change 3484692 by Nick.Darnell
Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better.
Change 3484703 by Nick.Darnell
Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS.
#jira UE-43213
Change 3484918 by Jamie.Dale
Fixed font measuring regression with RTL text
RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work).
Change 3485718 by Nick.Darnell
Editor - Removing Super Search & User Feedback button.
Change 3485719 by Nick.Darnell
Portal - Removing SuperSearch.
Change 3485751 by Matt.Kuhlenschmidt
Fix crash accessing platformer game menu if the menu is open during a console based load
#jira UE-45950
Change 3486047 by Arciel.Rekman
Linux: add OpenEXR implementation (UE-40270).
#jira UE-40270
Change 3486467 by Max.Chen
Sequencer: Reset max tick rate when destroyed.
#jira UE-45956
Change 3486477 by Max.Chen
Sequencer: Refresh outliner when column is removed.
#jira UE-45891
Change 3486667 by Andrew.Rodham
Added missing include
Change 3486724 by Andrew.Rodham
Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties
- Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform
Change 3486730 by Alexis.Matte
In the Auto-Reimport options, hide the mout point only for the default /Game/ folder
#UE-45684
Change 3486749 by Alexis.Matte
Make sure the parent window of the monitor directory browse folder is set properly
#jira UE-45682
Change 3486805 by Matt.Kuhlenschmidt
Additional safety against invalid objects being accessed by slate
Change 3486848 by Alexis.Matte
Make sure Monitor folder feature support root mount point map folder
During auto import, give priority to asset import factory over the scene import factory
#jira UE-45691
Change 3486879 by Andrew.Rodham
Removing obsolete QA assets
Change 3486950 by Nick.Darnell
PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon)
Review - made some adjustments from the original.
Change 3486954 by Nick.Darnell
Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone.
Change 3486967 by Nick.Darnell
Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up.
Change 3486970 by Andrew.Rodham
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
#jira UE-45937
Change 3486984 by Andrew.Rodham
Sequencer: Improved blending type iconography
Change 3486996 by Nick.Darnell
UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked.
UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead.
Change 3487070 by Andrew.Rodham
Sequencer: Added graphics for key areas that represent empty space
Change 3487195 by Andrew.Rodham
Sequencer: Changed evaluation groups to always flush implicitly
- Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks
- This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation
Change 3487322 by Nick.Darnell
PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro)
Change 3487363 by Nick.Darnell
PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25)
Change 3487439 by Nick.Darnell
PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe)
Change 3487500 by Arciel.Rekman
Removed LinuxNativeDialogs.
- No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago).
Change 3487630 by Lauren.Ridge
Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds
#jira UE-44885
Change 3487864 by Matt.Kuhlenschmidt
Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts
AssetRegistry is now a UInterface object.
Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object
C++ users should still continue to use IAssetRegistry.
Change 3487879 by Matt.Kuhlenschmidt
Renamed asset tools uobject helper to UAssetToolsHelpers
Change 3487926 by Lauren.Ridge
Fixing reset to default not showing up for custom widgets
#jira UE-44164
Change 3488184 by Matt.Kuhlenschmidt
PR #3656: Make References/Referencers List copyable (Contributed by user37337)
#jira UE-45763
Change 3488240 by Matt.Kuhlenschmidt
Fix compiler issue
Change 3488350 by Lauren.Ridge
Landscape info map transactional state is based on its world's transactional state
#jira UE-44885
#jira UE-46019
Change 3488412 by Matt.Kuhlenschmidt
Fix reset to default showing up in two different places for some customizations
Change 3488413 by Matt.Kuhlenschmidt
Fix slate font customization
Change 3488414 by Matt.Kuhlenschmidt
Fix slate font customization
Change 3488415 by Matt.Kuhlenschmidt
Missed file
Change 3488565 by Arciel.Rekman
Add pretty printers for gdb (UETOOL-1171).
- Committing shelf by Cengiz.Terzibas, with some modifications.
#jira UETOOL-1171
Change 3489094 by Nick.Darnell
Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture.
Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file.
Change 3489095 by Nick.Darnell
PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner)
Review - Fixed spacing.
Change 3489108 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3489120 by Nick.Darnell
PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung)
Change 3489147 by Andrew.Rodham
Sequencer: Adding return value to function to appease static analysis
- This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that
Change 3489264 by Nick.Darnell
Testing - Finishing the thought behind an enum comment.
Change 3489265 by Nick.Darnell
PR #2750: UE-35164: Button padding (Contributed by projectgheist)
Change 3489267 by Nick.Darnell
PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist)
Change 3489632 by Arciel.Rekman
Correctness changes to MallocPoisonProxy.
- Missing forwarding functions added. Incorrect comment removed.
- Change by Steve.Robb, doing here so it is in 4.17.
Change 3489689 by Arciel.Rekman
More MallocPoisonProxy changes I missed in previous CL.
Change 3489751 by Matt.Kuhlenschmidt
Moved editor performance settings out of per-project settings so they can be shared across projects
Change 3489837 by Lauren.Ridge
Keyboard shortcut for entering/leaving VR Mode is now Alt+V
Change 3491082 by Arciel.Rekman
Linux: better fix for the crash due to name collision (UE-46040).
- Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace.
- Undid change in the SceneOutliner module.
#jira UE-46040
Change 3491096 by Arciel.Rekman
Fix UAT compilation on the newest mono.
Change 3491240 by Max.Chen
Sequencer: Disable key button when allow level edits only is on.
#jira UE-46060
Change 3491406 by Yannick.Lange
Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded.
#jira UE-45806
Change 3491559 by Alexis.Matte
Make sure we use the good preview mesh when doing a preview
#jira UE-45963
Change 3491563 by Alexis.Matte
Fix crash with staticmesh editor LodLevel selection
Change 3491564 by Nick.Darnell
UMG - Fixing an offset with the grab handles in HDPI mode.
Change 3491595 by Nick.Darnell
Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor.
Change 3491604 by Nick.Darnell
Back out changelist 3489265
Change 3491615 by Arciel.Rekman
Added malloc replay proxy (Linux only for now).
- Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems.
Change 3491684 by Arciel.Rekman
Added FMalloc functions I missed.
- Also moved function bodies into the .cpp file, this does not make a difference in performance in this case.
Change 3491692 by Matt.Kuhlenschmidt
Some minor fixes to the static mesh editor
- Fix UV combo button looking non-standard on the toolbar
- Fix a few combo buttons in the details panel looking too big.
Change 3491702 by Arciel.Rekman
Do not compile replay proxy-specific code when not used.
Change 3491717 by Michael.Dupuis
#jira UE-35083:
The component is now the owner of the PerInstanceRenderData instead of the proxy
Add an Update path to only update specified instances range
Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree
Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent
Expose a new property to decide if we require dynamic instance buffer
Change 3491758 by Matt.Kuhlenschmidt
Fix crash on static mesh editor shutdown
Change 3491873 by Cody.Albert
Fixed clipping issue in Sequencer curve editor
#rnx
Change 3491956 by Matt.Kuhlenschmidt
Fix crash opening the Previewing sub-menu in the level editor settings menu
#jira UE-46095
Change 3492046 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492076 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492165 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492222 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492274 by Michael.Dupuis
#jira UE-46105: Fixed Clang warning
Change 3492338 by andrew.porter
QAGame: Testing ensure when submitting
Change 3492371 by Nick.Darnell
UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution.
Change 3492462 by Matt.Kuhlenschmidt
Fix ensure checking in files through perforce
Change 3492491 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492505 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492517 by Jamie.Dale
The package localization ID is no longer used at all at runtime, and is now truly editor-only
This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it.
After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs.
Change 3492630 by Nick.Darnell
UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta.
#jira UE-46124
Change 3492692 by Matt.Kuhlenschmidt
Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color
Change 3492714 by Matt.Kuhlenschmidt
Added outline with drop shadow to font automation test
Change 3492737 by Matt.Kuhlenschmidt
Fix linux
Change 3492992 by tim.gautier
Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings
#jira UE-46132
Change 3493089 by Jamie.Dale
Ensure that the composite font of a font asset is flushed when the font object is GC'd
Change 3493322 by Jamie.Dale
Fixing null crash
#jira UE-45758
Change 3494467 by Andrew.Rodham
Fix Xbox warning
Change 3494852 by tim.gautier
QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded
Change 3494853 by Nick.Darnell
Another attempt at fixing the automation blueprint SA warning.
Change 3494896 by Arciel.Rekman
Fix possible null pointer access during Vulkan init.
- May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else.
#jira UE-46142
Change 3494987 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3495010 by Matt.Kuhlenschmidt
Adding additional logging to track down html5 issue
Change 3495212 by Michael.Dupuis
#jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite)
Change 3495536 by Jamie.Dale
Updating UGameEngine to call its Super::PreExit after performing its own teardown
This prevents UEngine cleaning up resources that UGameEngine still needs.
#jira UE-46159
Change 3495551 by Arciel.Rekman
Another attempt to fix analyzer problem (UE-46142).
Change 3495794 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3495905 by Matt.Kuhlenschmidt
Fix USD crash when importing a meshwith no material
[CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
|
|
|
#include "MovieSceneBuiltInEasingFunctionCustomization.h"
|
2017-04-26 08:28:56 -04:00
|
|
|
#include "MovieSceneObjectBindingIDCustomization.h"
|
2018-07-13 06:25:54 -04:00
|
|
|
#include "MovieSceneEventCustomization.h"
|
2015-11-12 12:38:50 -05:00
|
|
|
#include "SequencerClipboardReconciler.h"
|
|
|
|
|
#include "ClipboardTypes.h"
|
2016-02-08 13:35:28 -05:00
|
|
|
#include "ISettingsModule.h"
|
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3003857)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945755 on 2016/04/15 by Frank.Fella
Sequencer - Fix issues with level visibility.
+ Don't mark sub-levels as dirty when the track evaluates.
+ Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails.
+ Null check for when an objects world is null but the track is still evaluating.
+ Remove UnrealEd references.
Change 2947197 on 2016/04/18 by Max.Chen
Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages.
#jira UE-29516
Change 2948468 on 2016/04/19 by Max.Chen
Sequencer: Fix particles not firing on loop.
#jira UE-27881
Change 2948590 on 2016/04/19 by Max.Chen
Sequencer: Fix spawnables not getting default tracks.
#jira UE-29644
Change 2955993 on 2016/04/26 by Max.Chen
Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording.
#jira UE-29841
Change 2958567 on 2016/04/27 by Max.Preussner
RHI: Made SetReferencedTexture public, so that the referenced texture can be set
Change 2958718 on 2016/04/28 by Max.Chen
Sequencer: Folder colors. Right click on a folder and choose "Set Color"
#jira UE-28669
Change 2960172 on 2016/04/28 by Max.Preussner
Slate: Slate Remote Server (for the iOS touch input app) is now disabled by default, so we don't open up the socket unless desired by the user
Change 2960411 on 2016/04/28 by Max.Chen
Sequencer: Don't remove label if it's not being used.
#jira UE-24283
Change 2960414 on 2016/04/28 by Max.Chen
Matinee: Don't automatically turn frustums on/off when entering and exiting Matinee.
#jira UE-1020
Change 2962784 on 2016/05/02 by Max.Chen
Sequencer: Add master sequence
#jira UE-29799
Change 2964399 on 2016/05/03 by Andrew.Rodham
Sequencer: Added ability to apply cook-time optimization to tracks and objects
- For now, if a spawnable has a spawn track that is disabled, or will never spawn, the entire spawnable object will be removed from a cooked package.
- Possessables also afford the same optimization, although none is currently implemented
- We could, in future, also remove any tracks that are completely disabled
- Deprecated UMovieSceneBoolSection::DefaultValue in favor of the default stored on FIntegralCurve
Change 2967549 on 2016/05/05 by Max.Chen
Sequencer: Fix crash converting possessable to spawnable when the possessable doesn't exist.
#jira UE-30360
Change 2967670 on 2016/05/05 by Max.Chen
Sequencer: Set ui min/max for sequencer settings
#jira UE-30344
Change 2978969 on 2016/05/16 by Max.Chen
Sequencer: Restore state when focusing on a shot level sequence. This fixes issues where tracks in the movie scene that are active before switching to the new movie scene need to return to
their initial state. For example, setting a fade track in the master sequence and switching into a shot should disable the effects of the fade track in the master sequence.
#jira UE-30798
Change 2983237 on 2016/05/19 by Andrew.Rodham
Protocol settings for movie captures are now set up correctly when a capture type is specified on the command line
Thanks to original github author, yuhe00
#pr
#2257
Change 2991115 on 2016/05/26 by Andrew.Rodham
Sequencer: Added {shot} and {shot_frame} format args for movie captures
- Additionally, rendering out movie scenes as videos will now generate a new video for each unique filename it encounters. This allows us to render out a video per shot by using {shot} as
the output format.
- Frame numbers are now zero-padded as per the sequencer setting.
Change 2991920 on 2016/05/26 by Max.Chen
Sequencer: Fix movie scene getting dirtied unnecessarily when the fixed frame interval changes.
#jira UE-31343
Change 2992387 on 2016/05/26 by Max.Chen
Sequencer: Fix crash when getting the color key properties of a collapsed key that doesn't have all channels keyed.
#jira UE-31392
Change 2993553 on 2016/05/27 by Andrew.Rodham
Sequencer: Added the ability to add burn-ins to level sequences
- A default burn-in is provided which hosts a great level of flexibility
- 6 regions (L/C/R + T/B) on a 30% black border allow positioning of a range of frame statistics such as shot name ({ShotName}), frame numbers ({MasterFrame}, {ShotFrame}), and other
information.
- Watermark is provided by default (currently no tiling is exposed)
- Users can use the default built in UMG widget as a guideline for their own custom implementations.
Change 2993554 on 2016/05/27 by Andrew.Rodham
Sequencer: Default level sequence burn ins
- Also made a font asset out of our fixed width font shipped with the engine
Change 2993856 on 2016/05/30 by Max.Chen
Sequencer: Import/Export EDL
- Added a new option in the render movie dialog to export an Edit Decision List (EDL) in cmx and rv formats if there is a shot track. The default is true.
- Added "Import EDL" to shot track right click menu which imports a cmx EDL and conforms the shot order and cut information to it.
- Added "Export EDL" to shot track right click menu which exports EDLs in cmx and rv formats.
- Added "Render Shot" to shot right click menu which loads up the render movie dialog with the start and end frames of the selected shot.
#jira UETOOL-829, UETOOL-830
Change 2994761 on 2016/05/31 by Max.Chen
Sequence Recorder: Add a setting to allow recording of actors that are spawned by sequencer itself.
Change 2995648 on 2016/06/01 by HaarmPieter.Duiker
Sequencer EXR output gamut controls
Change 2996241 on 2016/06/01 by Frank.Fella
Sequencer - Add a small epsilon when "force fixed frame interval" is enabled, to make sure we're in the start of the next frame.
Change 2996244 on 2016/06/01 by Frank.Fella
Sequencer - Set the tick prerequisite for all components, not just the root.
Change 2997865 on 2016/06/02 by Max.Preussner
Sequencer: Fixed Crash in Sequencer play rate track when setting negative play rate (UE-31431)
#jira UE-31431
Change 2999631 on 2016/06/03 by Frank.Fella
Sequencer - At runtime, make sure to stop playing skeletal animations to prevent them from being double updated each frame, once by sequencer, and then again by tick.
Change 3000820 on 2016/06/03 by Max.Chen
Sequencer: Add hotkey (ctrl-T) to toggle between showing frame numbers and time.
#jira UE-31497
Change 3001056 on 2016/06/05 by Max.Chen
Sequencer: Fix fade color section crash by using an inline color picker in the details panel instead of a popup color picker.
#jira UE-31647
Change 3001057 on 2016/06/05 by Max.Chen
Movie Capture: Fix audio getting disabled after recording a movie.
Change 3001690 on 2016/06/06 by Andrew.Rodham
Sequencer: Fixed recording video sequences when not overwriting existing videos
Change 3001823 on 2016/06/06 by Max.Chen
Sequencer: Fix filtered nodes in folders so that other unfiltered children aren't visible.
#jira UE-31499
#lockdown Nick.Penwarden
[CL 3003974 by Max Chen in Main branch]
2016-06-07 11:03:52 -04:00
|
|
|
#include "PropertyEditorModule.h"
|
2016-07-20 10:38:29 -04:00
|
|
|
#include "IMovieSceneTools.h"
|
2020-09-24 00:43:27 -04:00
|
|
|
#include "IMovieSceneToolsTrackImporter.h"
|
2016-07-20 10:38:29 -04:00
|
|
|
#include "MovieSceneToolsProjectSettings.h"
|
|
|
|
|
|
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3801826 by Max.Chen
PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster)
Change 3801828 by Max.Chen
PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster)
Change 3801837 by Max.Chen
Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when
converting back and forth from possessable to spawnable.
#jira UE-52400
Change 3801841 by Max.Chen
Sequencer: Make spacer nodes not selectable.
PR #4194: Improvements to Sequencer (Contributed by projectgheist)
#jira UE-53117
#jira UE-52139
Change 3804183 by Max.Preussner
MediaAssets: Added missing lock in media sound component
Change 3805414 by Max.Preussner
MediaAssets: Setting valid GUID when initializing media texture resource
Change 3819578 by Max.Chen
PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike)
#jira UE-53647
Change 3823414 by Max.Chen
Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected.
#jira UE-53591
Change 3826406 by Max.Chen
Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the
hud/player visibility was getting stomped on later.
#jira UE-52772
Change 3827044 by Max.Preussner
MediaAssets: Added sprite visualization to media sound component
#jira UE-53594
Change 3827988 by Max.Preussner
MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together
#jira UE-53532
Change 3828506 by Max.Preussner
MediaPlayerEditor: Added attenuation visualizer for media sound components
#jira UE-53594
Change 3832590 by andrew.porter
EngineTest: Added a keep state check in Property Animation sequencer test
Change 3833053 by andrew.porter
EngineTest: Adding Hierarchical Bias test
Change 3835683 by andrew.porter
EngineTest: Adding UMG Animation screenshot test
Change 3836076 by Max.Chen
Sequencer: Fix audio volume and pitch multiplier deprecation.
Change 3836230 by andrew.porter
EngineTest: Adding Sequence Bone Position automation test
Change 3836347 by Max.Chen
Sequencer: Fixes to shot name parsing.
When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber].
When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment
properly.
#jira UE-51868
Change 3836552 by Max.Chen
Sequencer: Sub section now has a takes menu
Change 3838094 by Max.Chen
UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished.
#jira UE-52285
Change 3838708 by Max.Chen
Sequencer: Add notification when the blend type is changed.
#jira UE-54046
Change 3840295 by Max.Chen
Sequencer: Fix copy/paste crash for lights
#jira UE-54084
Change 3840957 by Mike.Zyracki
Added Show Only Keyable and Show Only Animated to the filter list in the property editor.
Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which
is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer
binding, releasing also, so this seemed best way.
One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain
properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing
up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle
this.
#jira UESEQ-328
Change 3841756 by Max.Chen
Sequencer: Fix unbound possessable components when pasting spawnables.
#jira UE-54104
Change 3843950 by andrew.porter
EngineTest: Renaming LevelStreaming tests/content to LevelVisibility
Change 3844082 by Mike.Zyracki
Missing file for animated filter in property editor.
When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular
property. So we don't set a class for it and just search by it's ID and name.
#jira UESEQ-328
Change 3846902 by Max.Preussner
ImgMedia: Fixed image media player never finished initialization if loading failed
#jira UE-54247
Change 3849820 by Mike.Zyracki
Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation
on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism
(OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note
that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is
active. We could move to this mechanism there also.
#jira UE-53163
Change 3852211 by Max.Chen
UMG: Indicate name of the property that is not bound.
#jira UE-54350
Change 3854120 by Max.Chen
Sequencer: Fix sibling folders being allowed to have the same folder name.
#jira UE-54363
Change 3854627 by Max.Chen
Sequencer: Step to next/previous key should work for all tracks if there aren't any selected.
#jira UESEQ-391
Change 3855825 by andrew.porter
EngineTest: Adding animation blending automation test
Change 3855950 by andrew.porter
EngineTest: Adding correct expected valuues to animation blending test
Change 3856237 by Matt.Hoffman
UESEQ-336 - Sequencer Track Reordering
Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the
ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was
under legacy behavior.
Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and
ontop of.
Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row
if the item says the drop happened ontop of the item, and not above or below it like it previously did.
Change 3856503 by andrew.porter
EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer
Change 3857875 by Max.Chen
Sequencer: Assign the sequence id after the template is compiled.
#jira UE-54462
Change 3858344 by Max.Chen
Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized
horizontal box. Also, added close button to the goto box.
PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist)
#jira UE-54210
Change 3860566 by andrew.porter
MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default
Change 3860654 by andrew.porter
EngineTest: Enabling Camera Cut + FOV test
Change 3860981 by andrew.porter
EngineTest: Updating skeletal mesh tests with a delay after set playback position
Change 3861256 by Max.Chen
Sequencer: Add all bindings if none selected.
#jira-54440
Change 3862154 by Andrew.Rodham
Added TimeManagement module
Change 3862424 by andrew.porter
EngineTest: Turned on the test Bone Positions with Blend Multi Node
Change 3862573 by andrew.porter
EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP
Change 3865117 by Max.Chen
Sequencer: Stop auto scroll on mouse release of movement.
#jira UE-31212
Change 3865303 by Max.Chen
Sequencer: Add drag and drop transactions
#jira UE-54662
Change 3865304 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Change 3865361 by Max.Chen
Sequencer: Don't change the camera/shot lock button when popping out of a sequence.
#jira UE-54665
Change 3865412 by Max.Chen
Sequencer: Determine whether a transform track is for a camera by using the spawned object or template
#jira UE-54666
Change 3865685 by Max.Chen
Sequencer: Clear autoscrub offset when stopping autoscroll
#jira UE-31212
Change 3865886 by Max.Chen
Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while
recording.
#jira UE-48715
Change 3866925 by Andrew.Porter
MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576
Change 3867705 by andrew.porter
QAGame: Adding Audio Sort Sequence to dev folder
Change 3867890 by andrew.porter
QAGame: Adding a sequence for testing a sorting crash to my dev folder
Change 3872628 by Max.Chen
Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when
the movie scene capture warmups up vs. shot boundaries.
Change 3873131 by Matt.Hoffman
UE-54732 - Crash reordering a folder with a track.
This was caused by folders being the only type of track to check if someone was putting a parent track into a child track.
Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children.
This also fixed a typo in the localization keys.
#jira UE-54732
Change 3873301 by Mike.Zyracki
Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do
this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the
current euler angle.
Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one
to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value
that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler
after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips.
I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and
just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to
numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation
mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add
some FMath::IsNearlyZero checks, with less performance.
Note we only do this special filtering when applying delta's to actors or components in the editors, which then call
UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows
us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent
functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound.
In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting
changed and re-normalized if just translate happens.
In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding
check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do
about this .
Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations
value are now unbound.
This review now includes fixes suggested by Zak.
#jira UE-UE-22228
Change 3873483 by Matt.Hoffman
Sequencer Tracks can now be inserted above the spacer at the bottom of the tree.
#jira UE-54706
Change 3873899 by Max.Chen
Sequencer: Add section selection throbbing
Change 3873908 by Max.Chen
Movie Scene Capture: Added logging per frame
Change 3873924 by Matt.Hoffman
Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles
store the Actor Recordings so the settings for each actor should carry with them.
#jira UESEQ-339
Change 3874726 by Matt.Hoffman
Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up
between each row.
#jira UE-54706
Change 3874862 by Matt.Hoffman
Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order
index when normalizing indexes.
#jira UE-54727
Change 3875905 by Matt.Hoffman
Disable Fade Track UI if a fade track already exists in the sequence.
#jira UESEQ-393
Change 3876163 by Max.Chen
Sequencer: Swap the camera object to the camera component's owner if it's not the same.
#jira UE-54874
Change 3876971 by Andrew.Porter
EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image.
Change 3877040 by Max.Chen
Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties
in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible.
#jira UE-54192
Change 3877763 by Max.Chen
Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification,
otherwise all loaded curves were getting notified that they were changed.
#jira UE-54951
Change 3878234 by Matt.Hoffman
Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding
Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node.
#jira UE-54743
Change 3879359 by Mike.Zyracki
If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active
logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to
how the active state actually works, e.g if you have two sections and only one is active the track is still active above it.
#jira UESEQ-388
Change 3879462 by Max.Chen
Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly
created section. Newly created sections are now selected and throbbed to draw attention to themselves.
#jira UE-54664
Change 3879464 by Max.Chen
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would
potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed
that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field,
and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3879590 by Matt.Hoffman
Items that are now added to the Sequencer via the "+Track" menu will be selected after being added.
Items can now be added inside of folders instead of just to the root level.
#jira UE-27397
Change 3879612 by Mike.Zyracki
Display Nodes with no children are always active.
#jira UESEQ-388
Change 3879730 by Matt.Hoffman
Sequence Recorder's actor recording groups now remove items from the group when removed via the UI.
#jira UESEQ-339
Change 3880256 by Mike.Zyracki
Fix issue with inactive display with folders and other track nodes.
#jira UESEQ-388
Change 3883491 by Max.Chen
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
Copy from Release-4.19
#jira UE-51323
Change 3883603 by Max.Chen
Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior).
#jira UE-51898
Change 3885074 by Max.Preussner
MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code
Change 3887220 by Max.Preussner
MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases)
Change 3887478 by Matt.Hoffman
Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being
evaluated.
#jira UE-51469
Change 3888985 by Max.Chen
Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1.
#jira UE-55136
Change 3893519 by Max.Chen
Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the
ActorFilter.
#jira UE-55238
Change 3893546 by Max.Chen
Sequence Recorder: If a selected actor already has a recording, add a blank recording.
#jira UE-55239
Change 3894044 by Max.Preussner
MediaCompositing: Added support for seeking into a media section
Change 3894310 by andrew.porter
MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content
Change 3894426 by Max.Preussner
MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset
Change 3895717 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3897388 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897452 by Max.Chen
Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is
not 1 or 2.
#jira UE-55223
Change 3897619 by Max.Preussner
MediaCompositing: Removed commented out code
Change 3898072 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3898272 by Max.Preussner
MediaPlayerEditor: Made slate brush constants static
Change 3898704 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3899855 by Max.Preussner
MediaCompositingEditor: Added cache state visualization to media track
Change 3900300 by Max.Preussner
MediaCompositingEditor: Added loop indicators to media sections
Change 3900694 by Max.Preussner
ImfMedia: Looping cache only when player is looping
Change 3900892 by Max.Preussner
Stats: Added stats category for media framework
Change 3900954 by Max.Preussner
MediaCompositing: Don't evaluate at the end of media section
Change 3901348 by Max.Preussner
Core: Replaced TLruCache autos for better readability
Change 3901655 by Max.Preussner
ImgMedia: Added more perf stats to EXR reader
Change 3901972 by Max.Preussner
MediaAssets: Added getter for media player in media sound components
Change 3902233 by Max.Preussner
MediaAssets: Enabling media textures to receive samples right after player is assigned
Change 3902238 by Max.Preussner
MediaCompositing: Working around init/shutdown idiosyncracies in sequencer
Change 3904045 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene
spawn register.
#jira UE-55314
Change 3905605 by Max.Chen
Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of.
#jira UE-55429
Change 3906550 by Max.Chen
Sequencer: Add media track icon
#jira UE-55480
Change 3907101 by Max.Chen
Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level
sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not
create a level sequence.
Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording
displays, etc should function if IsRecording() and not based on whether a level sequence is created.
#jira UE-55485
Change 3907247 by Max.Chen
Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing
it, and then opening or creating a level.
Change 3910343 by Max.Preussner
Core: Added async helper for executing functions on a given thread pool
Change 3910346 by Max.Preussner
ImgMedia: Added separate thread pools for loading/decoding and deleting image frames
Change 3910829 by Max.Preussner
Profiler: Increased visible range of profiler graph
Change 3910841 by Max.Preussner
MediaCompositing: Displaying asset name instead of full media source path in media section
Change 3910870 by Max.Preussner
ImgMedia: Using deallocation thread pool only in debug builds
Change 3919642 by Max.Chen
Sequence Recorder: Clarify active tooltip
#jira UE-55661
Change 3919660 by Max.Chen
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved
but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the
master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
#jira UE-55490
Change 3921825 by Max.Chen
Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content
author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled.
Change 3922232 by Max.Chen
Sequence Recorder: Reset countdelay on stop.
#jira UE-55755
Change 3922306 by Max.Chen
Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user
toggled it off to warn that the resulting animation might not match gameplay.
#jira UE-55758
Change 3922912 by Max.Chen
Sequence Recorder: Fix refresh next sequence name
#jira UE-55757
Change 3927654 by Max.Chen
Movie Scene Capture: Added format mapping for the name of the current camera
#jira UE-55769
PR #4537
Change 3927658 by Max.Chen
Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance"
#jira UE-55782
Change 3932022 by Max.Chen
Sequencer: Add import animation track section to next available row index.
#jira UE-55892
Change 3933919 by Max.Chen
Sequencer: Jump to playback start frame and not 0 to start playback for recording.
#jira UE-55933
Change 3934307 by Andrew.Rodham
Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation
fields
This fixes an issue where the same sequence is instantiated multiple times in a sequence.
If the source sequence was saved, its template would be wiped, which would invalidate the template ID
When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the
hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions
later (or earlier) on in the sequence
When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't
actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it
thought, but the *template* has changed)
This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence
signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed.
#jira UE-55934
Change 3936327 by Andrew.Rodham
Sequencer: Removed increment when trimming right
UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we
can trim a section to the right, and insert another section without changing the time to create adjacent sections.
#jira UE-42652
Change 3936328 by Andrew.Rodham
Fixed KeyFrameManipulator assignment operators and copy/move constructors
- These types are potentially self-referential so cannot use default constructors/assignment
Change 3936330 by Andrew.Rodham
Converted UMGSequencePlayer to use frames internally
#jira UE-54878
Change 3936726 by Max.Chen
Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent
object binding node. Without this, the binding to the external value fails.
#jira UE-55931
Change 3936775 by Max.Chen
Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime.
The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and
have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100.
#jira UE-55933
Change 3936935 by Matt.Hoffman
Easing Curves are now represented in Play Rate resolution instead of internal resolution.
#jira UE-55937
Change 3937069 by Matt.Hoffman
Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges.
#jira UE-55891
Change 3937516 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
#jira UE-55986
Change 3937826 by Max.Preussner
MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled
Change 3937997 by Max.Chen
Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom.
#jira UE-55935
Change 3938000 by Max.Chen
Sequencer: Stop all sounds before generating audio waveforms.
#jira UE-55951
Change 3938376 by Max.Preussner
XGEController: Disabled XGE Controller in single-threaded apps to prevent crash
Change 3938444 by Max.Preussner
Core: Added async support for single-threaded applications
Change 3938445 by Max.Preussner
Networking: Added support for single-threaded applications in UDP socket sender/receiver
Change 3938447 by Max.Preussner
Messaging: Added support for single-threaded applications
Change 3939432 by Max.Chen
Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor.
#jira UE-55798
Change 3940229 by Andrew.Rodham
Added prospective display rate upgrade to UMovieScene::PostLoad
- There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused
in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data.
- Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer
settings, but we no longer look at these.
- The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a
fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults.
- This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for
a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in
UMovieScene
#jira UE-55919
Change 3940277 by Andrew.Rodham
Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences
Change 3940378 by Andrew.Rodham
Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers
Change 3940559 by Andrew.Rodham
Reinstated primed or recording sequence color
Change 3940642 by Max.Preussner
ImagePlate: Removed image plate media playback functionality
Change 3940843 by Max.Preussner
Core: Made TCircularQueue actually thread-safe; improved code comments
Change 3940860 by Max.Chen
Sequencer: Changed StructNameToKey to StructPathToKey
Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as
considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can
determine the desired struct path and channels to key.
#jira UE-52966
Change 3941292 by Mike.Zyracki
Fix for trajectories out of range not showing up.
1) If we had no key data we would pop the time, so wouldn't get the section ranges.
2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound.
3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly.
4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as
dashed we would do so incorrectly around section end points.
#jira UE-55929
Change 3941424 by Max.Chen
Curve Editor: Change Zoom to Fit to use TArrayView
Change 3941498 by Max.Preussner
Core: Added FMath::DivideAndRoundNearest function
Change 3942097 by Matt.Hoffman
Drop Frame Timecode Support for NTSC rates.
Change 3942104 by Matt.Hoffman
Sequence Recorder Group is no longer visible inside the World Outliner after using one.
#jira 55266
Change 3942107 by Max.Chen
Sequencer: Resurrect logic to find or extend an existing section when adding keys.
Change 3942330 by Max.Chen
Sequence Recorder: Better tooltip for default animation settings.
#jira UE-55636
Change 3942339 by Max.Chen
Sequence Recorder: Better tooltip for default animation settings.
#jira UE-55636
Change 3942507 by Andrew.Rodham
Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level
- The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way
Change 3942509 by Andrew.Rodham
Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render
- This stops us from rendering keys that are within the view range, but outside the section range
Change 3942512 by Andrew.Rodham
Added transactions to some sequencer details customizations
Change 3942513 by Andrew.Rodham
Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use
SetRange
Change 3942560 by Andrew.Rodham
Pass by rvalue reference to appease error C2719 on Win32
('InChannels': formal parameter with requested alignment of 8 won't be aligned)
Change 3942697 by Andrew.Rodham
Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all
integer rates + 23.976)
Change 3942700 by Andrew.Rodham
Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution
Change 3942989 by Max.Preussner
Core: Fixed circular queue count calculation
Change 3943538 by Max.Preussner
MediaAssets: Reverted workaround for procedural audio log spam in HTML5
(Actor component initialization cannot be skipped if the component is used in a level)
Change 3944071 by Max.Preussner
QAGame: Fixed Media Texture keeps last frame of Media when PIE ends
#jira UE-53360
Change 3944292 by Max.Chen
Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences
#jira UE-56113
Change 3944364 by Max.Chen
Sequencer: Prevent circular shot/master tracks.
Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button.
#jira UE-56091
Change 3944422 by Max.Chen
Sequence Recorder: Disable transform recording if off.
#jira UE-56061
Change 3944745 by Andrew.Rodham
Sequencer: Key rendering fixes
- Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being
slightly larger TimeOverlapThreshold
- Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset
- Added missing documentation to MovieSceneTimeHelpers.h
#jira UE-56107
Change 3945231 by Andrew.Rodham
Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication
#jira UE-56089
Change 3945301 by Andrew.Rodham
Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges
#jira UE-56125
Change 3946627 by Max.Preussner
Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called
#jira UE-56144
[CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
|
|
|
#include "ISequencerChannelInterface.h"
|
|
|
|
|
#include "SequencerChannelInterface.h"
|
|
|
|
|
#include "Channels/BuiltInChannelEditors.h"
|
2018-11-14 19:05:13 -05:00
|
|
|
#include "Channels/MovieSceneObjectPathChannel.h"
|
2018-07-13 06:25:54 -04:00
|
|
|
#include "Channels/MovieSceneEventChannel.h"
|
2020-03-05 13:46:17 -05:00
|
|
|
#include "Channels/MovieSceneCameraShakeSourceTriggerChannel.h"
|
This is a significant overhaul to the Curve Editor used by Sequencer which adds a plugin-based architecture and extensibility. New tools and toolbar buttons can be added to all usages of the curve editor via user plugins, and the different views for data can be created modularly so new implementations of the editor can register their own way of drawing their data and the tools should just work. Additionally, you can now write your own filters to operate on curve editor data for custom implementations of smoothing, key generation, etc.
The curve editor supports three view types by default - an absolute view (default, matches old behavior), a stacked view and a normalized view. Stacked views draw each curve separately (so non-overlapping) and normalized against their own min/max values. The normalized view draws all curves overlapping with each one normalized against its own min/max values.
A tree view has been added to help effectively manage large numbers of curves. Selecting curves in the treeview controls which curves are visible in the view area. The treeview also supports pinning curves. These pinned curves will always be visible regardless of your selection in the tree view.
A transform tool and a retiming tool have been implemented (via a plugin) which is enabled by default. The transform tool allows you to do a marquee selection of keys and then translate and scale the positions of these keys. The retiming tool allows you to create a 1 dimensional lattice to adjust the timing of your keys with a linear falloff between each lattice point. These tools work across multiple views at the same time which is especially useful if you are representing one dimensional data (such as event keys) in a view, as it allows you to adjust this data at the same time as your animation curves. A smoothing filter has been implemented (via a plugin) to allow running highpass and lowpass filters on your keys.
Opening the curve editor in Sequencer/UMG now creates a separate dockable tab which can be resized and docked as desired. A time slider has been added to the Curve Editor which is synchronized to the playback time in Sequencer. This allows you to scrub time in the curve editor without having to find the Sequencer window and adjust time there while looking at your keys and previewing your animation in the viewport at the same time.
Rudimentary support has been added for saving and later restoring a set of curves in your current session. This allows you to do a rudimentary copy/paste of entire curves but can also be useful for saving a curve, making adjustments to it and then deciding you want to go back - simply reapply the saved curve! Each curve added supports an intention name (such as "Location.X" or "FieldOfView"), and these intention names will be used when trying to apply curves. This allows you to reliably take all of the curves of a transform on one object and apply them to another object (and ensure that Location.X gets applied to the new Location.X, etc.) this can be helpful if you have a mixed set of curves buffered (such as a location and a field of view). In the event that no curves match by intention you can store and apply a single curve at a time from any intention to any other intention.
The Curve Asset editors (float, vector and color curve assets) have been changed to use the new editor. They support the same treeviews, filtering and tools that the Sequencer editor does. In addition, the Color Curve asset editor adds an additional view which provides a 1 dimensional gradient editor as an easier way to visualize and edit colors instead of the channels individually.
#rb Max.Chen, Andrew.Rodham
#ROBOMERGE-SOURCE: CL 6631811 via CL 6633746
#ROBOMERGE-BOT: (vundefined-6620334)
[CL 6633863 by matt hoffman in Main branch]
2019-05-24 14:42:05 -04:00
|
|
|
#include "Channels/EventChannelCurveModel.h"
|
|
|
|
|
#include "Channels/SCurveEditorEventChannelView.h"
|
2022-02-25 09:59:46 -05:00
|
|
|
#include "Channels/MovieSceneAudioTriggerChannel.h"
|
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3801826 by Max.Chen
PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster)
Change 3801828 by Max.Chen
PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster)
Change 3801837 by Max.Chen
Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when
converting back and forth from possessable to spawnable.
#jira UE-52400
Change 3801841 by Max.Chen
Sequencer: Make spacer nodes not selectable.
PR #4194: Improvements to Sequencer (Contributed by projectgheist)
#jira UE-53117
#jira UE-52139
Change 3804183 by Max.Preussner
MediaAssets: Added missing lock in media sound component
Change 3805414 by Max.Preussner
MediaAssets: Setting valid GUID when initializing media texture resource
Change 3819578 by Max.Chen
PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike)
#jira UE-53647
Change 3823414 by Max.Chen
Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected.
#jira UE-53591
Change 3826406 by Max.Chen
Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the
hud/player visibility was getting stomped on later.
#jira UE-52772
Change 3827044 by Max.Preussner
MediaAssets: Added sprite visualization to media sound component
#jira UE-53594
Change 3827988 by Max.Preussner
MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together
#jira UE-53532
Change 3828506 by Max.Preussner
MediaPlayerEditor: Added attenuation visualizer for media sound components
#jira UE-53594
Change 3832590 by andrew.porter
EngineTest: Added a keep state check in Property Animation sequencer test
Change 3833053 by andrew.porter
EngineTest: Adding Hierarchical Bias test
Change 3835683 by andrew.porter
EngineTest: Adding UMG Animation screenshot test
Change 3836076 by Max.Chen
Sequencer: Fix audio volume and pitch multiplier deprecation.
Change 3836230 by andrew.porter
EngineTest: Adding Sequence Bone Position automation test
Change 3836347 by Max.Chen
Sequencer: Fixes to shot name parsing.
When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber].
When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment
properly.
#jira UE-51868
Change 3836552 by Max.Chen
Sequencer: Sub section now has a takes menu
Change 3838094 by Max.Chen
UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished.
#jira UE-52285
Change 3838708 by Max.Chen
Sequencer: Add notification when the blend type is changed.
#jira UE-54046
Change 3840295 by Max.Chen
Sequencer: Fix copy/paste crash for lights
#jira UE-54084
Change 3840957 by Mike.Zyracki
Added Show Only Keyable and Show Only Animated to the filter list in the property editor.
Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which
is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer
binding, releasing also, so this seemed best way.
One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain
properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing
up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle
this.
#jira UESEQ-328
Change 3841756 by Max.Chen
Sequencer: Fix unbound possessable components when pasting spawnables.
#jira UE-54104
Change 3843950 by andrew.porter
EngineTest: Renaming LevelStreaming tests/content to LevelVisibility
Change 3844082 by Mike.Zyracki
Missing file for animated filter in property editor.
When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular
property. So we don't set a class for it and just search by it's ID and name.
#jira UESEQ-328
Change 3846902 by Max.Preussner
ImgMedia: Fixed image media player never finished initialization if loading failed
#jira UE-54247
Change 3849820 by Mike.Zyracki
Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation
on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism
(OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note
that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is
active. We could move to this mechanism there also.
#jira UE-53163
Change 3852211 by Max.Chen
UMG: Indicate name of the property that is not bound.
#jira UE-54350
Change 3854120 by Max.Chen
Sequencer: Fix sibling folders being allowed to have the same folder name.
#jira UE-54363
Change 3854627 by Max.Chen
Sequencer: Step to next/previous key should work for all tracks if there aren't any selected.
#jira UESEQ-391
Change 3855825 by andrew.porter
EngineTest: Adding animation blending automation test
Change 3855950 by andrew.porter
EngineTest: Adding correct expected valuues to animation blending test
Change 3856237 by Matt.Hoffman
UESEQ-336 - Sequencer Track Reordering
Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the
ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was
under legacy behavior.
Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and
ontop of.
Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row
if the item says the drop happened ontop of the item, and not above or below it like it previously did.
Change 3856503 by andrew.porter
EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer
Change 3857875 by Max.Chen
Sequencer: Assign the sequence id after the template is compiled.
#jira UE-54462
Change 3858344 by Max.Chen
Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized
horizontal box. Also, added close button to the goto box.
PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist)
#jira UE-54210
Change 3860566 by andrew.porter
MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default
Change 3860654 by andrew.porter
EngineTest: Enabling Camera Cut + FOV test
Change 3860981 by andrew.porter
EngineTest: Updating skeletal mesh tests with a delay after set playback position
Change 3861256 by Max.Chen
Sequencer: Add all bindings if none selected.
#jira-54440
Change 3862154 by Andrew.Rodham
Added TimeManagement module
Change 3862424 by andrew.porter
EngineTest: Turned on the test Bone Positions with Blend Multi Node
Change 3862573 by andrew.porter
EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP
Change 3865117 by Max.Chen
Sequencer: Stop auto scroll on mouse release of movement.
#jira UE-31212
Change 3865303 by Max.Chen
Sequencer: Add drag and drop transactions
#jira UE-54662
Change 3865304 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Change 3865361 by Max.Chen
Sequencer: Don't change the camera/shot lock button when popping out of a sequence.
#jira UE-54665
Change 3865412 by Max.Chen
Sequencer: Determine whether a transform track is for a camera by using the spawned object or template
#jira UE-54666
Change 3865685 by Max.Chen
Sequencer: Clear autoscrub offset when stopping autoscroll
#jira UE-31212
Change 3865886 by Max.Chen
Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while
recording.
#jira UE-48715
Change 3866925 by Andrew.Porter
MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576
Change 3867705 by andrew.porter
QAGame: Adding Audio Sort Sequence to dev folder
Change 3867890 by andrew.porter
QAGame: Adding a sequence for testing a sorting crash to my dev folder
Change 3872628 by Max.Chen
Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when
the movie scene capture warmups up vs. shot boundaries.
Change 3873131 by Matt.Hoffman
UE-54732 - Crash reordering a folder with a track.
This was caused by folders being the only type of track to check if someone was putting a parent track into a child track.
Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children.
This also fixed a typo in the localization keys.
#jira UE-54732
Change 3873301 by Mike.Zyracki
Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do
this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the
current euler angle.
Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one
to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value
that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler
after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips.
I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and
just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to
numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation
mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add
some FMath::IsNearlyZero checks, with less performance.
Note we only do this special filtering when applying delta's to actors or components in the editors, which then call
UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows
us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent
functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound.
In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting
changed and re-normalized if just translate happens.
In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding
check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do
about this .
Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations
value are now unbound.
This review now includes fixes suggested by Zak.
#jira UE-UE-22228
Change 3873483 by Matt.Hoffman
Sequencer Tracks can now be inserted above the spacer at the bottom of the tree.
#jira UE-54706
Change 3873899 by Max.Chen
Sequencer: Add section selection throbbing
Change 3873908 by Max.Chen
Movie Scene Capture: Added logging per frame
Change 3873924 by Matt.Hoffman
Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles
store the Actor Recordings so the settings for each actor should carry with them.
#jira UESEQ-339
Change 3874726 by Matt.Hoffman
Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up
between each row.
#jira UE-54706
Change 3874862 by Matt.Hoffman
Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order
index when normalizing indexes.
#jira UE-54727
Change 3875905 by Matt.Hoffman
Disable Fade Track UI if a fade track already exists in the sequence.
#jira UESEQ-393
Change 3876163 by Max.Chen
Sequencer: Swap the camera object to the camera component's owner if it's not the same.
#jira UE-54874
Change 3876971 by Andrew.Porter
EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image.
Change 3877040 by Max.Chen
Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties
in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible.
#jira UE-54192
Change 3877763 by Max.Chen
Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification,
otherwise all loaded curves were getting notified that they were changed.
#jira UE-54951
Change 3878234 by Matt.Hoffman
Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding
Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node.
#jira UE-54743
Change 3879359 by Mike.Zyracki
If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active
logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to
how the active state actually works, e.g if you have two sections and only one is active the track is still active above it.
#jira UESEQ-388
Change 3879462 by Max.Chen
Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly
created section. Newly created sections are now selected and throbbed to draw attention to themselves.
#jira UE-54664
Change 3879464 by Max.Chen
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would
potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed
that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field,
and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3879590 by Matt.Hoffman
Items that are now added to the Sequencer via the "+Track" menu will be selected after being added.
Items can now be added inside of folders instead of just to the root level.
#jira UE-27397
Change 3879612 by Mike.Zyracki
Display Nodes with no children are always active.
#jira UESEQ-388
Change 3879730 by Matt.Hoffman
Sequence Recorder's actor recording groups now remove items from the group when removed via the UI.
#jira UESEQ-339
Change 3880256 by Mike.Zyracki
Fix issue with inactive display with folders and other track nodes.
#jira UESEQ-388
Change 3883491 by Max.Chen
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
Copy from Release-4.19
#jira UE-51323
Change 3883603 by Max.Chen
Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior).
#jira UE-51898
Change 3885074 by Max.Preussner
MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code
Change 3887220 by Max.Preussner
MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases)
Change 3887478 by Matt.Hoffman
Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being
evaluated.
#jira UE-51469
Change 3888985 by Max.Chen
Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1.
#jira UE-55136
Change 3893519 by Max.Chen
Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the
ActorFilter.
#jira UE-55238
Change 3893546 by Max.Chen
Sequence Recorder: If a selected actor already has a recording, add a blank recording.
#jira UE-55239
Change 3894044 by Max.Preussner
MediaCompositing: Added support for seeking into a media section
Change 3894310 by andrew.porter
MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content
Change 3894426 by Max.Preussner
MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset
Change 3895717 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3897388 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897452 by Max.Chen
Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is
not 1 or 2.
#jira UE-55223
Change 3897619 by Max.Preussner
MediaCompositing: Removed commented out code
Change 3898072 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3898272 by Max.Preussner
MediaPlayerEditor: Made slate brush constants static
Change 3898704 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3899855 by Max.Preussner
MediaCompositingEditor: Added cache state visualization to media track
Change 3900300 by Max.Preussner
MediaCompositingEditor: Added loop indicators to media sections
Change 3900694 by Max.Preussner
ImfMedia: Looping cache only when player is looping
Change 3900892 by Max.Preussner
Stats: Added stats category for media framework
Change 3900954 by Max.Preussner
MediaCompositing: Don't evaluate at the end of media section
Change 3901348 by Max.Preussner
Core: Replaced TLruCache autos for better readability
Change 3901655 by Max.Preussner
ImgMedia: Added more perf stats to EXR reader
Change 3901972 by Max.Preussner
MediaAssets: Added getter for media player in media sound components
Change 3902233 by Max.Preussner
MediaAssets: Enabling media textures to receive samples right after player is assigned
Change 3902238 by Max.Preussner
MediaCompositing: Working around init/shutdown idiosyncracies in sequencer
Change 3904045 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene
spawn register.
#jira UE-55314
Change 3905605 by Max.Chen
Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of.
#jira UE-55429
Change 3906550 by Max.Chen
Sequencer: Add media track icon
#jira UE-55480
Change 3907101 by Max.Chen
Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level
sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not
create a level sequence.
Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording
displays, etc should function if IsRecording() and not based on whether a level sequence is created.
#jira UE-55485
Change 3907247 by Max.Chen
Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing
it, and then opening or creating a level.
Change 3910343 by Max.Preussner
Core: Added async helper for executing functions on a given thread pool
Change 3910346 by Max.Preussner
ImgMedia: Added separate thread pools for loading/decoding and deleting image frames
Change 3910829 by Max.Preussner
Profiler: Increased visible range of profiler graph
Change 3910841 by Max.Preussner
MediaCompositing: Displaying asset name instead of full media source path in media section
Change 3910870 by Max.Preussner
ImgMedia: Using deallocation thread pool only in debug builds
Change 3919642 by Max.Chen
Sequence Recorder: Clarify active tooltip
#jira UE-55661
Change 3919660 by Max.Chen
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved
but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the
master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
#jira UE-55490
Change 3921825 by Max.Chen
Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content
author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled.
Change 3922232 by Max.Chen
Sequence Recorder: Reset countdelay on stop.
#jira UE-55755
Change 3922306 by Max.Chen
Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user
toggled it off to warn that the resulting animation might not match gameplay.
#jira UE-55758
Change 3922912 by Max.Chen
Sequence Recorder: Fix refresh next sequence name
#jira UE-55757
Change 3927654 by Max.Chen
Movie Scene Capture: Added format mapping for the name of the current camera
#jira UE-55769
PR #4537
Change 3927658 by Max.Chen
Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance"
#jira UE-55782
Change 3932022 by Max.Chen
Sequencer: Add import animation track section to next available row index.
#jira UE-55892
Change 3933919 by Max.Chen
Sequencer: Jump to playback start frame and not 0 to start playback for recording.
#jira UE-55933
Change 3934307 by Andrew.Rodham
Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation
fields
This fixes an issue where the same sequence is instantiated multiple times in a sequence.
If the source sequence was saved, its template would be wiped, which would invalidate the template ID
When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the
hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions
later (or earlier) on in the sequence
When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't
actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it
thought, but the *template* has changed)
This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence
signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed.
#jira UE-55934
Change 3936327 by Andrew.Rodham
Sequencer: Removed increment when trimming right
UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we
can trim a section to the right, and insert another section without changing the time to create adjacent sections.
#jira UE-42652
Change 3936328 by Andrew.Rodham
Fixed KeyFrameManipulator assignment operators and copy/move constructors
- These types are potentially self-referential so cannot use default constructors/assignment
Change 3936330 by Andrew.Rodham
Converted UMGSequencePlayer to use frames internally
#jira UE-54878
Change 3936726 by Max.Chen
Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent
object binding node. Without this, the binding to the external value fails.
#jira UE-55931
Change 3936775 by Max.Chen
Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime.
The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and
have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100.
#jira UE-55933
Change 3936935 by Matt.Hoffman
Easing Curves are now represented in Play Rate resolution instead of internal resolution.
#jira UE-55937
Change 3937069 by Matt.Hoffman
Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges.
#jira UE-55891
Change 3937516 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
#jira UE-55986
Change 3937826 by Max.Preussner
MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled
Change 3937997 by Max.Chen
Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom.
#jira UE-55935
Change 3938000 by Max.Chen
Sequencer: Stop all sounds before generating audio waveforms.
#jira UE-55951
Change 3938376 by Max.Preussner
XGEController: Disabled XGE Controller in single-threaded apps to prevent crash
Change 3938444 by Max.Preussner
Core: Added async support for single-threaded applications
Change 3938445 by Max.Preussner
Networking: Added support for single-threaded applications in UDP socket sender/receiver
Change 3938447 by Max.Preussner
Messaging: Added support for single-threaded applications
Change 3939432 by Max.Chen
Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor.
#jira UE-55798
Change 3940229 by Andrew.Rodham
Added prospective display rate upgrade to UMovieScene::PostLoad
- There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused
in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data.
- Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer
settings, but we no longer look at these.
- The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a
fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults.
- This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for
a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in
UMovieScene
#jira UE-55919
Change 3940277 by Andrew.Rodham
Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences
Change 3940378 by Andrew.Rodham
Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers
Change 3940559 by Andrew.Rodham
Reinstated primed or recording sequence color
Change 3940642 by Max.Preussner
ImagePlate: Removed image plate media playback functionality
Change 3940843 by Max.Preussner
Core: Made TCircularQueue actually thread-safe; improved code comments
Change 3940860 by Max.Chen
Sequencer: Changed StructNameToKey to StructPathToKey
Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as
considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can
determine the desired struct path and channels to key.
#jira UE-52966
Change 3941292 by Mike.Zyracki
Fix for trajectories out of range not showing up.
1) If we had no key data we would pop the time, so wouldn't get the section ranges.
2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound.
3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly.
4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as
dashed we would do so incorrectly around section end points.
#jira UE-55929
Change 3941424 by Max.Chen
Curve Editor: Change Zoom to Fit to use TArrayView
Change 3941498 by Max.Preussner
Core: Added FMath::DivideAndRoundNearest function
Change 3942097 by Matt.Hoffman
Drop Frame Timecode Support for NTSC rates.
Change 3942104 by Matt.Hoffman
Sequence Recorder Group is no longer visible inside the World Outliner after using one.
#jira 55266
Change 3942107 by Max.Chen
Sequencer: Resurrect logic to find or extend an existing section when adding keys.
Change 3942330 by Max.Chen
Sequence Recorder: Better tooltip for default animation settings.
#jira UE-55636
Change 3942339 by Max.Chen
Sequence Recorder: Better tooltip for default animation settings.
#jira UE-55636
Change 3942507 by Andrew.Rodham
Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level
- The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way
Change 3942509 by Andrew.Rodham
Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render
- This stops us from rendering keys that are within the view range, but outside the section range
Change 3942512 by Andrew.Rodham
Added transactions to some sequencer details customizations
Change 3942513 by Andrew.Rodham
Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use
SetRange
Change 3942560 by Andrew.Rodham
Pass by rvalue reference to appease error C2719 on Win32
('InChannels': formal parameter with requested alignment of 8 won't be aligned)
Change 3942697 by Andrew.Rodham
Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all
integer rates + 23.976)
Change 3942700 by Andrew.Rodham
Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution
Change 3942989 by Max.Preussner
Core: Fixed circular queue count calculation
Change 3943538 by Max.Preussner
MediaAssets: Reverted workaround for procedural audio log spam in HTML5
(Actor component initialization cannot be skipped if the component is used in a level)
Change 3944071 by Max.Preussner
QAGame: Fixed Media Texture keeps last frame of Media when PIE ends
#jira UE-53360
Change 3944292 by Max.Chen
Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences
#jira UE-56113
Change 3944364 by Max.Chen
Sequencer: Prevent circular shot/master tracks.
Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button.
#jira UE-56091
Change 3944422 by Max.Chen
Sequence Recorder: Disable transform recording if off.
#jira UE-56061
Change 3944745 by Andrew.Rodham
Sequencer: Key rendering fixes
- Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being
slightly larger TimeOverlapThreshold
- Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset
- Added missing documentation to MovieSceneTimeHelpers.h
#jira UE-56107
Change 3945231 by Andrew.Rodham
Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication
#jira UE-56089
Change 3945301 by Andrew.Rodham
Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges
#jira UE-56125
Change 3946627 by Max.Preussner
Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called
#jira UE-56144
[CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
|
|
|
#include "Sections/MovieSceneEventSection.h"
|
|
|
|
|
|
2019-10-01 20:41:42 -04:00
|
|
|
#include "MovieSceneEventUtils.h"
|
|
|
|
|
|
2020-09-01 14:07:48 -04:00
|
|
|
#include "EntitySystem/MovieSceneEntityManager.h"
|
2020-09-24 00:43:27 -04:00
|
|
|
#include "EditorModeManager.h"
|
|
|
|
|
#include "EditModes/SkeletalAnimationTrackEditMode.h"
|
|
|
|
|
|
2022-05-03 19:50:52 -04:00
|
|
|
#include "ClassViewerFilter.h"
|
|
|
|
|
#include "ClassViewerModule.h"
|
|
|
|
|
|
2022-04-21 13:12:26 -04:00
|
|
|
#include "LevelSequence.h"
|
|
|
|
|
#include "LevelSequenceAnimSequenceLink.h"
|
|
|
|
|
#include "AnimSequenceLevelSequenceLink.h"
|
|
|
|
|
#include "EditorAnimUtils.h"
|
2015-11-12 12:38:50 -05:00
|
|
|
|
2016-02-08 13:35:28 -05:00
|
|
|
#define LOCTEXT_NAMESPACE "FMovieSceneToolsModule"
|
2015-07-22 10:59:40 -04:00
|
|
|
|
2020-09-01 14:07:48 -04:00
|
|
|
#if !IS_MONOLITHIC
|
|
|
|
|
UE::MovieScene::FEntityManager*& GEntityManagerForDebugging = UE::MovieScene::GEntityManagerForDebuggingVisualizers;
|
|
|
|
|
#endif
|
|
|
|
|
|
2019-01-10 17:26:53 -05:00
|
|
|
void FMovieSceneToolsModule::StartupModule()
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2019-10-01 20:41:42 -04:00
|
|
|
if (GIsEditor)
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2019-10-01 20:41:42 -04:00
|
|
|
if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings"))
|
|
|
|
|
{
|
|
|
|
|
SettingsModule->RegisterSettings("Project", "Editor", "Level Sequences",
|
|
|
|
|
LOCTEXT("RuntimeSettingsName", "Level Sequences"),
|
|
|
|
|
LOCTEXT("RuntimeSettingsDescription", "Configure project settings relating to Level Sequences"),
|
|
|
|
|
GetMutableDefault<UMovieSceneToolsProjectSettings>()
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ISequencerModule& SequencerModule = FModuleManager::Get().LoadModuleChecked<ISequencerModule>( "Sequencer" );
|
|
|
|
|
|
|
|
|
|
// register property track editors
|
|
|
|
|
BoolPropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FBoolPropertyTrackEditor>();
|
|
|
|
|
BytePropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FBytePropertyTrackEditor>();
|
|
|
|
|
ColorPropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FColorPropertyTrackEditor>();
|
|
|
|
|
FloatPropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FFloatPropertyTrackEditor>();
|
2021-08-23 18:26:59 -04:00
|
|
|
DoublePropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FDoublePropertyTrackEditor>();
|
2019-10-01 20:41:42 -04:00
|
|
|
IntegerPropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FIntegerPropertyTrackEditor>();
|
2021-08-23 18:26:59 -04:00
|
|
|
FloatVectorPropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FFloatVectorPropertyTrackEditor>();
|
|
|
|
|
DoubleVectorPropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FDoubleVectorPropertyTrackEditor>();
|
2019-10-01 20:41:42 -04:00
|
|
|
TransformPropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FTransformPropertyTrackEditor>();
|
|
|
|
|
EulerTransformPropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FEulerTransformPropertyTrackEditor>();
|
|
|
|
|
VisibilityPropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FVisibilityPropertyTrackEditor>();
|
|
|
|
|
ActorReferencePropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FActorReferencePropertyTrackEditor>();
|
|
|
|
|
StringPropertyTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FStringPropertyTrackEditor>();
|
|
|
|
|
ObjectTrackCreateEditorHandle = SequencerModule.RegisterPropertyTrackEditor<FObjectPropertyTrackEditor>();
|
|
|
|
|
|
|
|
|
|
// register specialty track editors
|
|
|
|
|
AnimationTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FSkeletalAnimationTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
AttachTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &F3DAttachTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
AudioTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FAudioTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
EventTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FEventTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
ParticleTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FParticleTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
ParticleParameterTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FParticleParameterTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
PathTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &F3DPathTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
CameraCutTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FCameraCutTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
CinematicShotTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FCinematicShotTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
SlomoTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FSlomoTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
SubTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FSubTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
TransformTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &F3DTransformTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
ComponentMaterialTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FComponentMaterialTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
FadeTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FFadeTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
SpawnTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FSpawnTrackEditor::CreateTrackEditor ) );
|
|
|
|
|
LevelVisibilityTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FLevelVisibilityTrackEditor::CreateTrackEditor ) );
|
2021-06-16 10:42:51 -04:00
|
|
|
DataLayerTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor( FOnCreateTrackEditor::CreateStatic( &FDataLayerTrackEditor::CreateTrackEditor ) );
|
2019-10-01 20:41:42 -04:00
|
|
|
CameraAnimTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor(FOnCreateTrackEditor::CreateStatic(&FCameraAnimTrackEditor::CreateTrackEditor));
|
|
|
|
|
CameraShakeTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor(FOnCreateTrackEditor::CreateStatic(&FCameraShakeTrackEditor::CreateTrackEditor));
|
|
|
|
|
MPCTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor(FOnCreateTrackEditor::CreateStatic(&FMaterialParameterCollectionTrackEditor::CreateTrackEditor));
|
|
|
|
|
PrimitiveMaterialCreateEditorHandle = SequencerModule.RegisterTrackEditor(FOnCreateTrackEditor::CreateStatic(&FPrimitiveMaterialTrackEditor::CreateTrackEditor));
|
2020-02-20 13:42:45 -05:00
|
|
|
CameraShakeSourceShakeCreateEditorHandle = SequencerModule.RegisterTrackEditor(FOnCreateTrackEditor::CreateStatic(&FCameraShakeSourceShakeTrackEditor::CreateTrackEditor));
|
2022-01-27 14:37:04 -05:00
|
|
|
CVarTrackCreateEditorHandle = SequencerModule.RegisterTrackEditor(FOnCreateTrackEditor::CreateStatic(&FCVarTrackEditor::CreateTrackEditor));
|
2019-10-01 20:41:42 -04:00
|
|
|
|
|
|
|
|
RegisterClipboardConversions();
|
|
|
|
|
|
|
|
|
|
// register details customization
|
|
|
|
|
FPropertyEditorModule& PropertyModule = FModuleManager::LoadModuleChecked<FPropertyEditorModule>("PropertyEditor");
|
|
|
|
|
PropertyModule.RegisterCustomClassLayout("MovieSceneToolsProjectSettings", FOnGetDetailCustomizationInstance::CreateStatic(&FMovieSceneToolsProjectSettingsCustomization::MakeInstance));
|
|
|
|
|
PropertyModule.RegisterCustomClassLayout("MovieSceneBuiltInEasingFunction", FOnGetDetailCustomizationInstance::CreateLambda(&MakeShared<FMovieSceneBuiltInEasingFunctionCustomization>));
|
|
|
|
|
PropertyModule.RegisterCustomPropertyTypeLayout("MovieSceneObjectBindingID", FOnGetPropertyTypeCustomizationInstance::CreateLambda(&MakeShared<FMovieSceneObjectBindingIDCustomization>));
|
|
|
|
|
PropertyModule.RegisterCustomPropertyTypeLayout("MovieSceneEvent", FOnGetPropertyTypeCustomizationInstance::CreateStatic(&FMovieSceneEventCustomization::MakeInstance));
|
2022-01-27 14:37:04 -05:00
|
|
|
PropertyModule.RegisterCustomPropertyTypeLayout("MovieSceneCVarOverrides", FOnGetPropertyTypeCustomizationInstance::CreateStatic(&UE::MovieScene::FCVarOverridesPropertyTypeCustomization::MakeInstance));
|
2019-10-01 20:41:42 -04:00
|
|
|
|
|
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneBoolChannel>();
|
|
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneByteChannel>();
|
|
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneIntegerChannel>();
|
|
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneFloatChannel>();
|
2021-08-23 18:26:59 -04:00
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneDoubleChannel>();
|
2019-10-01 20:41:42 -04:00
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneStringChannel>();
|
|
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneParticleChannel>();
|
|
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneActorReferenceData>();
|
|
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneEventSectionData>();
|
|
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneObjectPathChannel>();
|
|
|
|
|
|
2022-02-25 09:59:46 -05:00
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneAudioTriggerChannel>();
|
|
|
|
|
|
2019-10-01 20:41:42 -04:00
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneEventChannel>();
|
|
|
|
|
|
2020-03-05 13:46:17 -05:00
|
|
|
SequencerModule.RegisterChannelInterface<FMovieSceneCameraShakeSourceTriggerChannel>();
|
|
|
|
|
|
2019-10-01 20:41:42 -04:00
|
|
|
ICurveEditorModule& CurveEditorModule = FModuleManager::LoadModuleChecked<ICurveEditorModule>("CurveEditor");
|
|
|
|
|
|
|
|
|
|
FEventChannelCurveModel::EventView = CurveEditorModule.RegisterView(FOnCreateCurveEditorView::CreateStatic(
|
|
|
|
|
[](TWeakPtr<FCurveEditor> WeakCurveEditor) -> TSharedRef<SCurveEditorView>
|
|
|
|
|
{
|
|
|
|
|
return SNew(SCurveEditorEventChannelView, WeakCurveEditor);
|
|
|
|
|
}
|
|
|
|
|
));
|
2019-01-10 17:26:53 -05:00
|
|
|
}
|
2016-02-08 13:35:28 -05:00
|
|
|
|
2019-10-01 20:41:42 -04:00
|
|
|
FixupPayloadParameterNameHandle = UMovieSceneEventSectionBase::FixupPayloadParameterNameEvent.AddStatic(FixupPayloadParameterNameForSection);
|
2019-11-12 21:52:54 -05:00
|
|
|
UMovieSceneEventSectionBase::UpgradeLegacyEventEndpoint.BindStatic(UpgradeLegacyEventEndpointForSection);
|
2020-09-01 14:07:48 -04:00
|
|
|
UMovieSceneEventSectionBase::PostDuplicateSectionEvent.BindStatic(PostDuplicateEventSection);
|
2021-10-12 21:21:22 -04:00
|
|
|
UMovieSceneEventSectionBase::RemoveForCookEvent.BindStatic(RemoveForCookEventSection);
|
2022-05-03 19:50:52 -04:00
|
|
|
UMovieScene::IsTrackClassAllowedEvent.BindStatic(IsTrackClassAllowed);
|
2022-04-21 13:12:26 -04:00
|
|
|
ULevelSequence::PostDuplicateEvent.BindStatic(PostDuplicateEvent);
|
2020-08-11 01:36:57 -04:00
|
|
|
|
|
|
|
|
auto OnObjectsReplaced = [](const TMap<UObject*, UObject*>& ReplacedObjects)
|
|
|
|
|
{
|
|
|
|
|
// If a movie scene signed object is reinstanced, it has to be marked as modified
|
|
|
|
|
// so that the data gets recompiled properly.
|
|
|
|
|
// @todo: this might cause cook non-determinism, but we need to verify that separately
|
|
|
|
|
for (const TTuple<UObject*, UObject*>& Pair : ReplacedObjects)
|
|
|
|
|
{
|
|
|
|
|
if (UMovieSceneSignedObject* SignedObject = Cast<UMovieSceneSignedObject>(Pair.Value))
|
|
|
|
|
{
|
|
|
|
|
SignedObject->MarkAsChanged();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2021-02-13 14:49:21 -04:00
|
|
|
OnObjectsReplacedHandle = FCoreUObjectDelegates::OnObjectsReplaced.AddLambda(OnObjectsReplaced);
|
2020-09-24 00:43:27 -04:00
|
|
|
|
|
|
|
|
FEditorModeRegistry::Get().RegisterMode<FSkeletalAnimationTrackEditMode>(
|
|
|
|
|
FSkeletalAnimationTrackEditMode::ModeName,
|
|
|
|
|
NSLOCTEXT("SkeletalAnimationTrackEditorMode", "SkelAnimTrackEditMode", "Skeletal Anim Track Mode"),
|
|
|
|
|
FSlateIcon(),
|
|
|
|
|
false);
|
2019-01-10 17:26:53 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FMovieSceneToolsModule::ShutdownModule()
|
|
|
|
|
{
|
2019-10-01 20:41:42 -04:00
|
|
|
UMovieSceneEventSectionBase::FixupPayloadParameterNameEvent.Remove(FixupPayloadParameterNameHandle);
|
2019-11-12 21:52:54 -05:00
|
|
|
UMovieSceneEventSectionBase::UpgradeLegacyEventEndpoint = UMovieSceneEventSectionBase::FUpgradeLegacyEventEndpoint();
|
2020-09-01 14:07:48 -04:00
|
|
|
UMovieSceneEventSectionBase::PostDuplicateSectionEvent = UMovieSceneEventSectionBase::FPostDuplicateEvent();
|
2021-10-12 21:21:22 -04:00
|
|
|
UMovieSceneEventSectionBase::RemoveForCookEvent = UMovieSceneEventSectionBase::FRemoveForCookEvent();
|
2022-05-03 19:50:52 -04:00
|
|
|
UMovieScene::IsTrackClassAllowedEvent = UMovieScene::FIsTrackClassAllowedEvent();
|
2022-04-21 13:12:26 -04:00
|
|
|
ULevelSequence::PostDuplicateEvent = ULevelSequence::FPostDuplicateEvent();
|
2019-10-01 20:41:42 -04:00
|
|
|
|
This is a significant overhaul to the Curve Editor used by Sequencer which adds a plugin-based architecture and extensibility. New tools and toolbar buttons can be added to all usages of the curve editor via user plugins, and the different views for data can be created modularly so new implementations of the editor can register their own way of drawing their data and the tools should just work. Additionally, you can now write your own filters to operate on curve editor data for custom implementations of smoothing, key generation, etc.
The curve editor supports three view types by default - an absolute view (default, matches old behavior), a stacked view and a normalized view. Stacked views draw each curve separately (so non-overlapping) and normalized against their own min/max values. The normalized view draws all curves overlapping with each one normalized against its own min/max values.
A tree view has been added to help effectively manage large numbers of curves. Selecting curves in the treeview controls which curves are visible in the view area. The treeview also supports pinning curves. These pinned curves will always be visible regardless of your selection in the tree view.
A transform tool and a retiming tool have been implemented (via a plugin) which is enabled by default. The transform tool allows you to do a marquee selection of keys and then translate and scale the positions of these keys. The retiming tool allows you to create a 1 dimensional lattice to adjust the timing of your keys with a linear falloff between each lattice point. These tools work across multiple views at the same time which is especially useful if you are representing one dimensional data (such as event keys) in a view, as it allows you to adjust this data at the same time as your animation curves. A smoothing filter has been implemented (via a plugin) to allow running highpass and lowpass filters on your keys.
Opening the curve editor in Sequencer/UMG now creates a separate dockable tab which can be resized and docked as desired. A time slider has been added to the Curve Editor which is synchronized to the playback time in Sequencer. This allows you to scrub time in the curve editor without having to find the Sequencer window and adjust time there while looking at your keys and previewing your animation in the viewport at the same time.
Rudimentary support has been added for saving and later restoring a set of curves in your current session. This allows you to do a rudimentary copy/paste of entire curves but can also be useful for saving a curve, making adjustments to it and then deciding you want to go back - simply reapply the saved curve! Each curve added supports an intention name (such as "Location.X" or "FieldOfView"), and these intention names will be used when trying to apply curves. This allows you to reliably take all of the curves of a transform on one object and apply them to another object (and ensure that Location.X gets applied to the new Location.X, etc.) this can be helpful if you have a mixed set of curves buffered (such as a location and a field of view). In the event that no curves match by intention you can store and apply a single curve at a time from any intention to any other intention.
The Curve Asset editors (float, vector and color curve assets) have been changed to use the new editor. They support the same treeviews, filtering and tools that the Sequencer editor does. In addition, the Color Curve asset editor adds an additional view which provides a 1 dimensional gradient editor as an easier way to visualize and edit colors instead of the channels individually.
#rb Max.Chen, Andrew.Rodham
#ROBOMERGE-SOURCE: CL 6631811 via CL 6633746
#ROBOMERGE-BOT: (vundefined-6620334)
[CL 6633863 by matt hoffman in Main branch]
2019-05-24 14:42:05 -04:00
|
|
|
if (ICurveEditorModule* CurveEditorModule = FModuleManager::GetModulePtr<ICurveEditorModule>("CurveEditor"))
|
|
|
|
|
{
|
|
|
|
|
CurveEditorModule->UnregisterView(FEventChannelCurveModel::EventView);
|
|
|
|
|
}
|
|
|
|
|
|
2019-01-10 17:26:53 -05:00
|
|
|
if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings"))
|
|
|
|
|
{
|
|
|
|
|
SettingsModule->UnregisterSettings("Project", "Editor", "Level Sequences");
|
|
|
|
|
}
|
|
|
|
|
|
2021-02-13 14:49:21 -04:00
|
|
|
FCoreUObjectDelegates::OnObjectsReplaced.Remove(OnObjectsReplacedHandle);
|
2020-08-11 01:36:57 -04:00
|
|
|
|
2019-01-10 17:26:53 -05:00
|
|
|
if (!FModuleManager::Get().IsModuleLoaded("Sequencer"))
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ISequencerModule& SequencerModule = FModuleManager::Get().GetModuleChecked<ISequencerModule>( "Sequencer" );
|
|
|
|
|
|
|
|
|
|
// unregister property track editors
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( BoolPropertyTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( BytePropertyTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( ColorPropertyTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( FloatPropertyTrackCreateEditorHandle );
|
2021-08-23 18:26:59 -04:00
|
|
|
SequencerModule.UnRegisterTrackEditor( DoublePropertyTrackCreateEditorHandle );
|
2019-01-10 17:26:53 -05:00
|
|
|
SequencerModule.UnRegisterTrackEditor( IntegerPropertyTrackCreateEditorHandle );
|
2021-08-23 18:26:59 -04:00
|
|
|
SequencerModule.UnRegisterTrackEditor( FloatVectorPropertyTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( DoubleVectorPropertyTrackCreateEditorHandle );
|
2019-01-10 17:26:53 -05:00
|
|
|
SequencerModule.UnRegisterTrackEditor( TransformPropertyTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( EulerTransformPropertyTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( VisibilityPropertyTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( ActorReferencePropertyTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( StringPropertyTrackCreateEditorHandle );
|
2020-02-20 13:42:45 -05:00
|
|
|
SequencerModule.UnRegisterTrackEditor( CameraShakeSourceShakeCreateEditorHandle );
|
2019-01-10 17:26:53 -05:00
|
|
|
|
|
|
|
|
// unregister specialty track editors
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( AnimationTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( AttachTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( AudioTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( EventTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( ParticleTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( ParticleParameterTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( PathTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( CameraCutTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( CinematicShotTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( SlomoTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( SubTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( TransformTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( ComponentMaterialTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( FadeTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( SpawnTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( LevelVisibilityTrackCreateEditorHandle );
|
2021-06-16 10:42:51 -04:00
|
|
|
SequencerModule.UnRegisterTrackEditor( DataLayerTrackCreateEditorHandle );
|
2019-01-10 17:26:53 -05:00
|
|
|
SequencerModule.UnRegisterTrackEditor( CameraAnimTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( CameraShakeTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( MPCTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( ObjectTrackCreateEditorHandle );
|
|
|
|
|
SequencerModule.UnRegisterTrackEditor( PrimitiveMaterialCreateEditorHandle );
|
2022-01-27 14:37:04 -05:00
|
|
|
SequencerModule.UnRegisterTrackEditor( CVarTrackCreateEditorHandle );
|
2019-01-10 17:26:53 -05:00
|
|
|
|
|
|
|
|
if (FModuleManager::Get().IsModuleLoaded("PropertyEditor"))
|
|
|
|
|
{
|
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3003857)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945755 on 2016/04/15 by Frank.Fella
Sequencer - Fix issues with level visibility.
+ Don't mark sub-levels as dirty when the track evaluates.
+ Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails.
+ Null check for when an objects world is null but the track is still evaluating.
+ Remove UnrealEd references.
Change 2947197 on 2016/04/18 by Max.Chen
Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages.
#jira UE-29516
Change 2948468 on 2016/04/19 by Max.Chen
Sequencer: Fix particles not firing on loop.
#jira UE-27881
Change 2948590 on 2016/04/19 by Max.Chen
Sequencer: Fix spawnables not getting default tracks.
#jira UE-29644
Change 2955993 on 2016/04/26 by Max.Chen
Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording.
#jira UE-29841
Change 2958567 on 2016/04/27 by Max.Preussner
RHI: Made SetReferencedTexture public, so that the referenced texture can be set
Change 2958718 on 2016/04/28 by Max.Chen
Sequencer: Folder colors. Right click on a folder and choose "Set Color"
#jira UE-28669
Change 2960172 on 2016/04/28 by Max.Preussner
Slate: Slate Remote Server (for the iOS touch input app) is now disabled by default, so we don't open up the socket unless desired by the user
Change 2960411 on 2016/04/28 by Max.Chen
Sequencer: Don't remove label if it's not being used.
#jira UE-24283
Change 2960414 on 2016/04/28 by Max.Chen
Matinee: Don't automatically turn frustums on/off when entering and exiting Matinee.
#jira UE-1020
Change 2962784 on 2016/05/02 by Max.Chen
Sequencer: Add master sequence
#jira UE-29799
Change 2964399 on 2016/05/03 by Andrew.Rodham
Sequencer: Added ability to apply cook-time optimization to tracks and objects
- For now, if a spawnable has a spawn track that is disabled, or will never spawn, the entire spawnable object will be removed from a cooked package.
- Possessables also afford the same optimization, although none is currently implemented
- We could, in future, also remove any tracks that are completely disabled
- Deprecated UMovieSceneBoolSection::DefaultValue in favor of the default stored on FIntegralCurve
Change 2967549 on 2016/05/05 by Max.Chen
Sequencer: Fix crash converting possessable to spawnable when the possessable doesn't exist.
#jira UE-30360
Change 2967670 on 2016/05/05 by Max.Chen
Sequencer: Set ui min/max for sequencer settings
#jira UE-30344
Change 2978969 on 2016/05/16 by Max.Chen
Sequencer: Restore state when focusing on a shot level sequence. This fixes issues where tracks in the movie scene that are active before switching to the new movie scene need to return to
their initial state. For example, setting a fade track in the master sequence and switching into a shot should disable the effects of the fade track in the master sequence.
#jira UE-30798
Change 2983237 on 2016/05/19 by Andrew.Rodham
Protocol settings for movie captures are now set up correctly when a capture type is specified on the command line
Thanks to original github author, yuhe00
#pr
#2257
Change 2991115 on 2016/05/26 by Andrew.Rodham
Sequencer: Added {shot} and {shot_frame} format args for movie captures
- Additionally, rendering out movie scenes as videos will now generate a new video for each unique filename it encounters. This allows us to render out a video per shot by using {shot} as
the output format.
- Frame numbers are now zero-padded as per the sequencer setting.
Change 2991920 on 2016/05/26 by Max.Chen
Sequencer: Fix movie scene getting dirtied unnecessarily when the fixed frame interval changes.
#jira UE-31343
Change 2992387 on 2016/05/26 by Max.Chen
Sequencer: Fix crash when getting the color key properties of a collapsed key that doesn't have all channels keyed.
#jira UE-31392
Change 2993553 on 2016/05/27 by Andrew.Rodham
Sequencer: Added the ability to add burn-ins to level sequences
- A default burn-in is provided which hosts a great level of flexibility
- 6 regions (L/C/R + T/B) on a 30% black border allow positioning of a range of frame statistics such as shot name ({ShotName}), frame numbers ({MasterFrame}, {ShotFrame}), and other
information.
- Watermark is provided by default (currently no tiling is exposed)
- Users can use the default built in UMG widget as a guideline for their own custom implementations.
Change 2993554 on 2016/05/27 by Andrew.Rodham
Sequencer: Default level sequence burn ins
- Also made a font asset out of our fixed width font shipped with the engine
Change 2993856 on 2016/05/30 by Max.Chen
Sequencer: Import/Export EDL
- Added a new option in the render movie dialog to export an Edit Decision List (EDL) in cmx and rv formats if there is a shot track. The default is true.
- Added "Import EDL" to shot track right click menu which imports a cmx EDL and conforms the shot order and cut information to it.
- Added "Export EDL" to shot track right click menu which exports EDLs in cmx and rv formats.
- Added "Render Shot" to shot right click menu which loads up the render movie dialog with the start and end frames of the selected shot.
#jira UETOOL-829, UETOOL-830
Change 2994761 on 2016/05/31 by Max.Chen
Sequence Recorder: Add a setting to allow recording of actors that are spawned by sequencer itself.
Change 2995648 on 2016/06/01 by HaarmPieter.Duiker
Sequencer EXR output gamut controls
Change 2996241 on 2016/06/01 by Frank.Fella
Sequencer - Add a small epsilon when "force fixed frame interval" is enabled, to make sure we're in the start of the next frame.
Change 2996244 on 2016/06/01 by Frank.Fella
Sequencer - Set the tick prerequisite for all components, not just the root.
Change 2997865 on 2016/06/02 by Max.Preussner
Sequencer: Fixed Crash in Sequencer play rate track when setting negative play rate (UE-31431)
#jira UE-31431
Change 2999631 on 2016/06/03 by Frank.Fella
Sequencer - At runtime, make sure to stop playing skeletal animations to prevent them from being double updated each frame, once by sequencer, and then again by tick.
Change 3000820 on 2016/06/03 by Max.Chen
Sequencer: Add hotkey (ctrl-T) to toggle between showing frame numbers and time.
#jira UE-31497
Change 3001056 on 2016/06/05 by Max.Chen
Sequencer: Fix fade color section crash by using an inline color picker in the details panel instead of a popup color picker.
#jira UE-31647
Change 3001057 on 2016/06/05 by Max.Chen
Movie Capture: Fix audio getting disabled after recording a movie.
Change 3001690 on 2016/06/06 by Andrew.Rodham
Sequencer: Fixed recording video sequences when not overwriting existing videos
Change 3001823 on 2016/06/06 by Max.Chen
Sequencer: Fix filtered nodes in folders so that other unfiltered children aren't visible.
#jira UE-31499
#lockdown Nick.Penwarden
[CL 3003974 by Max Chen in Main branch]
2016-06-07 11:03:52 -04:00
|
|
|
FPropertyEditorModule& PropertyModule = FModuleManager::LoadModuleChecked<FPropertyEditorModule>("PropertyEditor");
|
2019-01-10 17:26:53 -05:00
|
|
|
PropertyModule.UnregisterCustomClassLayout("MovieSceneToolsProjectSettings");
|
|
|
|
|
PropertyModule.UnregisterCustomClassLayout("MovieSceneBuiltInEasingFunction");
|
|
|
|
|
PropertyModule.UnregisterCustomPropertyTypeLayout("MovieSceneObjectBindingID");
|
|
|
|
|
PropertyModule.UnregisterCustomPropertyTypeLayout("MovieSceneEvent");
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
2020-09-24 00:43:27 -04:00
|
|
|
|
|
|
|
|
FEditorModeRegistry::Get().UnregisterMode(FSkeletalAnimationTrackEditMode::ModeName);
|
|
|
|
|
|
2019-01-10 17:26:53 -05:00
|
|
|
}
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2020-09-01 14:07:48 -04:00
|
|
|
void FMovieSceneToolsModule::PostDuplicateEventSection(UMovieSceneEventSectionBase* Section)
|
2019-10-01 20:41:42 -04:00
|
|
|
{
|
2020-09-01 14:07:48 -04:00
|
|
|
UMovieSceneSequence* Sequence = Section->GetTypedOuter<UMovieSceneSequence>();
|
|
|
|
|
FMovieSceneSequenceEditor* SequenceEditor = FMovieSceneSequenceEditor::Find(Sequence);
|
|
|
|
|
UBlueprint* SequenceDirectorBP = SequenceEditor ? SequenceEditor->FindDirectorBlueprint(Sequence) : nullptr;
|
|
|
|
|
|
|
|
|
|
if (SequenceDirectorBP)
|
|
|
|
|
{
|
|
|
|
|
// Always bind the event section onto the blueprint to ensure that we get another chance to upgrade when the BP compiles if this try wasn't successful
|
|
|
|
|
FMovieSceneEventUtils::BindEventSectionToBlueprint(Section, SequenceDirectorBP);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-12 21:21:22 -04:00
|
|
|
void FMovieSceneToolsModule::RemoveForCookEventSection(UMovieSceneEventSectionBase* Section)
|
|
|
|
|
{
|
|
|
|
|
UMovieSceneSequence* Sequence = Section->GetTypedOuter<UMovieSceneSequence>();
|
|
|
|
|
FMovieSceneSequenceEditor* SequenceEditor = FMovieSceneSequenceEditor::Find(Sequence);
|
|
|
|
|
UBlueprint* SequenceDirectorBP = SequenceEditor ? SequenceEditor->FindDirectorBlueprint(Sequence) : nullptr;
|
|
|
|
|
|
|
|
|
|
if (SequenceDirectorBP)
|
|
|
|
|
{
|
|
|
|
|
FMovieSceneEventUtils::RemoveEndpointsForEventSection(Section, SequenceDirectorBP);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-04-21 13:12:26 -04:00
|
|
|
//When we duplicate a ULevelSequence we check to see if there are any linked UAnimSequences in the asset user data,
|
|
|
|
|
//if so we make a copy of the anim sequence, and then set the links to the copies.
|
|
|
|
|
void FMovieSceneToolsModule::PostDuplicateEvent(ULevelSequence* LevelSequence)
|
|
|
|
|
{
|
|
|
|
|
if (LevelSequence && LevelSequence->GetClass()->ImplementsInterface(UInterface_AssetUserData::StaticClass()))
|
|
|
|
|
{
|
|
|
|
|
if (IInterface_AssetUserData* AssetUserDataInterface = Cast< IInterface_AssetUserData >(LevelSequence))
|
|
|
|
|
{
|
|
|
|
|
ULevelSequenceAnimSequenceLink* LevelAnimLink = AssetUserDataInterface->GetAssetUserData< ULevelSequenceAnimSequenceLink >();
|
|
|
|
|
if (LevelAnimLink)
|
|
|
|
|
{
|
|
|
|
|
for (FLevelSequenceAnimSequenceLinkItem& Item : LevelAnimLink->AnimSequenceLinks)
|
|
|
|
|
{
|
|
|
|
|
if (UAnimSequence* AnimSequence = Item.ResolveAnimSequence())
|
|
|
|
|
{
|
|
|
|
|
TArray<UAnimSequence*> AnimSequencesToDuplicate;
|
|
|
|
|
AnimSequencesToDuplicate.Add(AnimSequence);
|
|
|
|
|
UPackage* DestinationPackage = AnimSequence->GetPackage();
|
|
|
|
|
EditorAnimUtils::FNameDuplicationRule NameRule;
|
|
|
|
|
NameRule.FolderPath = FPackageName::GetLongPackagePath(AnimSequence->GetPathName()) / TEXT("");
|
|
|
|
|
TMap<UAnimSequence*, UAnimSequence*> DuplicatedAnimAssets = EditorAnimUtils::DuplicateAssets<UAnimSequence>(AnimSequencesToDuplicate, DestinationPackage, &NameRule);
|
|
|
|
|
for (TPair<UAnimSequence*, UAnimSequence*>& Duplicates : DuplicatedAnimAssets)
|
|
|
|
|
{
|
|
|
|
|
if (UAnimSequence* NewAnimSequence = Duplicates.Value)
|
|
|
|
|
{
|
|
|
|
|
Item.PathToAnimSequence = FSoftObjectPath(NewAnimSequence);
|
|
|
|
|
if (IInterface_AssetUserData* AnimAssetUserData = Cast< IInterface_AssetUserData >(NewAnimSequence))
|
|
|
|
|
{
|
|
|
|
|
UAnimSequenceLevelSequenceLink* AnimLevelLink = AnimAssetUserData->GetAssetUserData< UAnimSequenceLevelSequenceLink >();
|
|
|
|
|
if (AnimLevelLink)
|
|
|
|
|
{
|
|
|
|
|
AnimLevelLink->SetLevelSequence(LevelSequence);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-09-01 14:07:48 -04:00
|
|
|
bool FMovieSceneToolsModule::UpgradeLegacyEventEndpointForSection(UMovieSceneEventSectionBase* Section)
|
|
|
|
|
{
|
|
|
|
|
UMovieSceneSequence* Sequence = Section->GetTypedOuter<UMovieSceneSequence>();
|
|
|
|
|
FMovieSceneSequenceEditor* SequenceEditor = FMovieSceneSequenceEditor::Find(Sequence);
|
|
|
|
|
UBlueprint* SequenceDirectorBP = SequenceEditor ? SequenceEditor->FindDirectorBlueprint(Sequence) : nullptr;
|
|
|
|
|
|
|
|
|
|
if (!SequenceDirectorBP)
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2019-11-12 21:52:54 -05:00
|
|
|
// Always bind the event section onto the blueprint to ensure that we get another chance to upgrade when the BP compiles if this try wasn't successful
|
2020-09-01 14:07:48 -04:00
|
|
|
FMovieSceneEventUtils::BindEventSectionToBlueprint(Section, SequenceDirectorBP);
|
2019-11-12 21:52:54 -05:00
|
|
|
|
|
|
|
|
// We can't do this upgrade if we any of the function graphs are RF_NeedLoad
|
2020-09-01 14:07:48 -04:00
|
|
|
for (UEdGraph* EdGraph : SequenceDirectorBP->FunctionGraphs)
|
2019-11-12 21:52:54 -05:00
|
|
|
{
|
|
|
|
|
if (EdGraph->HasAnyFlags(RF_NeedLoad))
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// All the function graphs have been loaded, which means this is a good time to perform legacy data upgrade
|
2019-10-01 20:41:42 -04:00
|
|
|
for (FMovieSceneEvent& EntryPoint : Section->GetAllEntryPoints())
|
|
|
|
|
{
|
2020-09-01 14:07:48 -04:00
|
|
|
UK2Node* Endpoint = CastChecked<UK2Node>(EntryPoint.WeakEndpoint.Get(), ECastCheckedType::NullAllowed);
|
2019-10-01 20:41:42 -04:00
|
|
|
if (!Endpoint)
|
|
|
|
|
{
|
2020-09-01 14:07:48 -04:00
|
|
|
if (UK2Node_FunctionEntry* LegacyFunctionEntry = Cast<UK2Node_FunctionEntry>(EntryPoint.FunctionEntry_DEPRECATED.Get()))
|
2019-10-01 20:41:42 -04:00
|
|
|
{
|
2020-09-01 14:07:48 -04:00
|
|
|
EntryPoint.WeakEndpoint = Endpoint = LegacyFunctionEntry;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// If we don't have an endpoint but do have legacy graph or node guids, we do the manual upgrade
|
|
|
|
|
if (!Endpoint && EntryPoint.GraphGuid_DEPRECATED.IsValid())
|
|
|
|
|
{
|
|
|
|
|
if (EntryPoint.NodeGuid_DEPRECATED.IsValid())
|
|
|
|
|
{
|
2021-09-09 10:07:44 -04:00
|
|
|
if (TObjectPtr<UEdGraph> const* GraphPtr = Algo::FindBy(SequenceDirectorBP->UbergraphPages, EntryPoint.GraphGuid_DEPRECATED, &UEdGraph::GraphGuid))
|
2020-09-01 14:07:48 -04:00
|
|
|
{
|
2021-09-09 10:07:44 -04:00
|
|
|
TObjectPtr<UEdGraphNode> const* NodePtr = Algo::FindBy((*GraphPtr)->Nodes, EntryPoint.NodeGuid_DEPRECATED, &UEdGraphNode::NodeGuid);
|
2020-09-01 14:07:48 -04:00
|
|
|
if (NodePtr)
|
|
|
|
|
{
|
|
|
|
|
UK2Node_CustomEvent* CustomEvent = Cast<UK2Node_CustomEvent>(*NodePtr);
|
|
|
|
|
if (ensureMsgf(CustomEvent, TEXT("Encountered an event entry point node that is bound to something other than a custom event")))
|
|
|
|
|
{
|
|
|
|
|
CustomEvent->OnUserDefinedPinRenamed().AddUObject(Section, &UMovieSceneEventSectionBase::OnUserDefinedPinRenamed);
|
|
|
|
|
EntryPoint.WeakEndpoint = Endpoint = CustomEvent;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// If the node guid is invalid, this must be a function graph on the BP
|
2021-09-09 10:07:44 -04:00
|
|
|
else if (TObjectPtr<UEdGraph> const* GraphPtr = Algo::FindBy(SequenceDirectorBP->FunctionGraphs, EntryPoint.GraphGuid_DEPRECATED, &UEdGraph::GraphGuid))
|
2020-09-01 14:07:48 -04:00
|
|
|
{
|
2021-09-09 10:07:44 -04:00
|
|
|
TObjectPtr<UEdGraphNode> const* NodePtr = Algo::FindByPredicate((*GraphPtr)->Nodes, [](UEdGraphNode* InNode){ return InNode && InNode->IsA<UK2Node_FunctionEntry>(); });
|
2020-09-01 14:07:48 -04:00
|
|
|
if (NodePtr)
|
|
|
|
|
{
|
|
|
|
|
UK2Node_FunctionEntry* FunctionEntry = CastChecked<UK2Node_FunctionEntry>(*NodePtr);
|
|
|
|
|
FunctionEntry->OnUserDefinedPinRenamed().AddUObject(Section, &UMovieSceneEventSectionBase::OnUserDefinedPinRenamed);
|
|
|
|
|
EntryPoint.WeakEndpoint = Endpoint = FunctionEntry;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Endpoint)
|
|
|
|
|
{
|
|
|
|
|
// Discover its bound object pin name from the node
|
|
|
|
|
for (UEdGraphPin* Pin : Endpoint->Pins)
|
|
|
|
|
{
|
|
|
|
|
if (Pin->Direction == EGPD_Output && (Pin->PinType.PinCategory == UEdGraphSchema_K2::PC_Object || Pin->PinType.PinCategory == UEdGraphSchema_K2::PC_Interface) )
|
|
|
|
|
{
|
|
|
|
|
EntryPoint.BoundObjectPinName = Pin->PinName;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-10-01 20:41:42 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Set the compiled function name so that any immediate PostCompile steps find the correct function name
|
2020-09-01 14:07:48 -04:00
|
|
|
if (Endpoint)
|
|
|
|
|
{
|
|
|
|
|
EntryPoint.CompiledFunctionName = Endpoint->GetGraph()->GetFName();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// If the BP has already been compiled (eg regenerate on load) we must perform PostCompile fixup immediately since
|
|
|
|
|
// We will not have had a chance to generate function entries. In this case we just bind directly to the already compiled functions.
|
|
|
|
|
if (SequenceDirectorBP->bHasBeenRegenerated)
|
|
|
|
|
{
|
|
|
|
|
Section->OnPostCompile(SequenceDirectorBP);
|
2019-10-01 20:41:42 -04:00
|
|
|
}
|
2019-11-12 21:52:54 -05:00
|
|
|
|
|
|
|
|
return true;
|
2019-10-01 20:41:42 -04:00
|
|
|
}
|
|
|
|
|
|
2022-05-03 19:50:52 -04:00
|
|
|
bool FMovieSceneToolsModule::IsTrackClassAllowed(UClass* InClass)
|
|
|
|
|
{
|
|
|
|
|
if (!InClass)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FClassViewerModule& ClassViewerModule = FModuleManager::LoadModuleChecked<FClassViewerModule>("ClassViewer");
|
|
|
|
|
const TSharedPtr<IClassViewerFilter>& GlobalClassFilter = ClassViewerModule.GetGlobalClassViewerFilter();
|
|
|
|
|
TSharedRef<FClassViewerFilterFuncs> ClassFilterFuncs = ClassViewerModule.CreateFilterFuncs();
|
|
|
|
|
FClassViewerInitializationOptions ClassViewerOptions = {};
|
|
|
|
|
|
|
|
|
|
if (GlobalClassFilter.IsValid())
|
|
|
|
|
{
|
|
|
|
|
return GlobalClassFilter->IsClassAllowed(ClassViewerOptions, InClass, ClassFilterFuncs);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-01 20:41:42 -04:00
|
|
|
void FMovieSceneToolsModule::FixupPayloadParameterNameForSection(UMovieSceneEventSectionBase* Section, UK2Node* InNode, FName OldPinName, FName NewPinName)
|
|
|
|
|
{
|
|
|
|
|
check(Section && InNode);
|
|
|
|
|
|
|
|
|
|
for (FMovieSceneEvent& EntryPoint : Section->GetAllEntryPoints())
|
|
|
|
|
{
|
2020-09-01 14:07:48 -04:00
|
|
|
if (EntryPoint.WeakEndpoint.Get() != InNode)
|
2019-10-01 20:41:42 -04:00
|
|
|
{
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (EntryPoint.BoundObjectPinName == OldPinName)
|
|
|
|
|
{
|
|
|
|
|
EntryPoint.BoundObjectPinName = NewPinName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (FMovieSceneEventPayloadVariable* Variable = EntryPoint.PayloadVariables.Find(OldPinName))
|
|
|
|
|
{
|
|
|
|
|
EntryPoint.PayloadVariables.Add(NewPinName, MoveTemp(*Variable));
|
|
|
|
|
EntryPoint.PayloadVariables.Remove(OldPinName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2019-01-10 17:26:53 -05:00
|
|
|
void FMovieSceneToolsModule::RegisterClipboardConversions()
|
|
|
|
|
{
|
|
|
|
|
using namespace MovieSceneClipboard;
|
|
|
|
|
|
|
|
|
|
DefineImplicitConversion<int32, uint8>();
|
|
|
|
|
DefineImplicitConversion<int32, bool>();
|
|
|
|
|
|
|
|
|
|
DefineImplicitConversion<uint8, int32>();
|
|
|
|
|
DefineImplicitConversion<uint8, bool>();
|
|
|
|
|
|
|
|
|
|
DefineExplicitConversion<int32, FMovieSceneFloatValue>([](const int32& In) -> FMovieSceneFloatValue { return FMovieSceneFloatValue(In); });
|
|
|
|
|
DefineExplicitConversion<uint8, FMovieSceneFloatValue>([](const uint8& In) -> FMovieSceneFloatValue { return FMovieSceneFloatValue(In); });
|
|
|
|
|
DefineExplicitConversion<FMovieSceneFloatValue, int32>([](const FMovieSceneFloatValue& In) -> int32 { return In.Value; });
|
|
|
|
|
DefineExplicitConversion<FMovieSceneFloatValue, uint8>([](const FMovieSceneFloatValue& In) -> uint8 { return In.Value; });
|
|
|
|
|
DefineExplicitConversion<FMovieSceneFloatValue, bool>([](const FMovieSceneFloatValue& In) -> bool { return !!In.Value; });
|
|
|
|
|
|
2021-08-23 18:26:59 -04:00
|
|
|
DefineExplicitConversion<int32, FMovieSceneDoubleValue>([](const int32& In) -> FMovieSceneDoubleValue { return FMovieSceneDoubleValue(In); });
|
|
|
|
|
DefineExplicitConversion<uint8, FMovieSceneDoubleValue>([](const uint8& In) -> FMovieSceneDoubleValue { return FMovieSceneDoubleValue(In); });
|
|
|
|
|
DefineExplicitConversion<FMovieSceneDoubleValue, int32>([](const FMovieSceneDoubleValue& In) -> int32 { return In.Value; });
|
|
|
|
|
DefineExplicitConversion<FMovieSceneDoubleValue, uint8>([](const FMovieSceneDoubleValue& In) -> uint8 { return In.Value; });
|
|
|
|
|
DefineExplicitConversion<FMovieSceneDoubleValue, bool>([](const FMovieSceneDoubleValue& In) -> bool { return !!In.Value; });
|
|
|
|
|
|
2019-01-10 17:26:53 -05:00
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("Location.X", "R");
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("Location.Y", "G");
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("Location.Z", "B");
|
|
|
|
|
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("Rotation.X", "R");
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("Rotation.Y", "G");
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("Rotation.Z", "B");
|
|
|
|
|
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("Scale.X", "R");
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("Scale.Y", "G");
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("Scale.Z", "B");
|
|
|
|
|
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("X", "R");
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("Y", "G");
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("Z", "B");
|
|
|
|
|
FSequencerClipboardReconciler::AddTrackAlias("W", "A");
|
|
|
|
|
}
|
|
|
|
|
|
2021-02-02 23:14:10 -04:00
|
|
|
void FMovieSceneToolsModule::RegisterAnimationBakeHelper(IMovieSceneToolsAnimationBakeHelper* InBakeHelper)
|
|
|
|
|
{
|
|
|
|
|
checkf(!BakeHelpers.Contains(InBakeHelper), TEXT("Bake Helper is already registered"));
|
|
|
|
|
BakeHelpers.Add(InBakeHelper);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FMovieSceneToolsModule::UnregisterAnimationBakeHelper(IMovieSceneToolsAnimationBakeHelper* InBakeHelper)
|
|
|
|
|
{
|
|
|
|
|
checkf(BakeHelpers.Contains(InBakeHelper), TEXT("Bake Helper is not registered"));
|
|
|
|
|
BakeHelpers.Remove(InBakeHelper);
|
|
|
|
|
}
|
|
|
|
|
|
2019-01-10 17:26:53 -05:00
|
|
|
void FMovieSceneToolsModule::RegisterTakeData(IMovieSceneToolsTakeData* InTakeData)
|
|
|
|
|
{
|
|
|
|
|
checkf(!TakeDatas.Contains(InTakeData), TEXT("Take Data is already registered"));
|
|
|
|
|
TakeDatas.Add(InTakeData);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FMovieSceneToolsModule::UnregisterTakeData(IMovieSceneToolsTakeData* InTakeData)
|
|
|
|
|
{
|
|
|
|
|
checkf(TakeDatas.Contains(InTakeData), TEXT("Take Data is not registered"));
|
|
|
|
|
TakeDatas.Remove(InTakeData);
|
|
|
|
|
}
|
|
|
|
|
|
2020-09-24 00:43:27 -04:00
|
|
|
void FMovieSceneToolsModule::RegisterTrackImporter(IMovieSceneToolsTrackImporter* InTrackImporter)
|
|
|
|
|
{
|
|
|
|
|
checkf(!TrackImporters.Contains(InTrackImporter), TEXT("Track Importer is already registered"));
|
|
|
|
|
TrackImporters.Add(InTrackImporter);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FMovieSceneToolsModule::UnregisterTrackImporter(IMovieSceneToolsTrackImporter* InTrackImporter)
|
|
|
|
|
{
|
|
|
|
|
checkf(TrackImporters.Contains(InTrackImporter), TEXT("Take Importer is not registered"));
|
|
|
|
|
TrackImporters.Remove(InTrackImporter);
|
|
|
|
|
}
|
|
|
|
|
|
2019-09-10 11:35:20 -04:00
|
|
|
bool FMovieSceneToolsModule::GatherTakes(const UMovieSceneSection* Section, TArray<FAssetData>& AssetData, uint32& OutCurrentTakeNumber)
|
2019-01-10 17:26:53 -05:00
|
|
|
{
|
|
|
|
|
for (IMovieSceneToolsTakeData* TakeData : TakeDatas)
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2019-09-10 11:35:20 -04:00
|
|
|
if (TakeData->GatherTakes(Section, AssetData, OutCurrentTakeNumber))
|
2016-02-08 13:35:28 -05:00
|
|
|
{
|
2019-01-10 17:26:53 -05:00
|
|
|
return true;
|
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3003857)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945755 on 2016/04/15 by Frank.Fella
Sequencer - Fix issues with level visibility.
+ Don't mark sub-levels as dirty when the track evaluates.
+ Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails.
+ Null check for when an objects world is null but the track is still evaluating.
+ Remove UnrealEd references.
Change 2947197 on 2016/04/18 by Max.Chen
Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages.
#jira UE-29516
Change 2948468 on 2016/04/19 by Max.Chen
Sequencer: Fix particles not firing on loop.
#jira UE-27881
Change 2948590 on 2016/04/19 by Max.Chen
Sequencer: Fix spawnables not getting default tracks.
#jira UE-29644
Change 2955993 on 2016/04/26 by Max.Chen
Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording.
#jira UE-29841
Change 2958567 on 2016/04/27 by Max.Preussner
RHI: Made SetReferencedTexture public, so that the referenced texture can be set
Change 2958718 on 2016/04/28 by Max.Chen
Sequencer: Folder colors. Right click on a folder and choose "Set Color"
#jira UE-28669
Change 2960172 on 2016/04/28 by Max.Preussner
Slate: Slate Remote Server (for the iOS touch input app) is now disabled by default, so we don't open up the socket unless desired by the user
Change 2960411 on 2016/04/28 by Max.Chen
Sequencer: Don't remove label if it's not being used.
#jira UE-24283
Change 2960414 on 2016/04/28 by Max.Chen
Matinee: Don't automatically turn frustums on/off when entering and exiting Matinee.
#jira UE-1020
Change 2962784 on 2016/05/02 by Max.Chen
Sequencer: Add master sequence
#jira UE-29799
Change 2964399 on 2016/05/03 by Andrew.Rodham
Sequencer: Added ability to apply cook-time optimization to tracks and objects
- For now, if a spawnable has a spawn track that is disabled, or will never spawn, the entire spawnable object will be removed from a cooked package.
- Possessables also afford the same optimization, although none is currently implemented
- We could, in future, also remove any tracks that are completely disabled
- Deprecated UMovieSceneBoolSection::DefaultValue in favor of the default stored on FIntegralCurve
Change 2967549 on 2016/05/05 by Max.Chen
Sequencer: Fix crash converting possessable to spawnable when the possessable doesn't exist.
#jira UE-30360
Change 2967670 on 2016/05/05 by Max.Chen
Sequencer: Set ui min/max for sequencer settings
#jira UE-30344
Change 2978969 on 2016/05/16 by Max.Chen
Sequencer: Restore state when focusing on a shot level sequence. This fixes issues where tracks in the movie scene that are active before switching to the new movie scene need to return to
their initial state. For example, setting a fade track in the master sequence and switching into a shot should disable the effects of the fade track in the master sequence.
#jira UE-30798
Change 2983237 on 2016/05/19 by Andrew.Rodham
Protocol settings for movie captures are now set up correctly when a capture type is specified on the command line
Thanks to original github author, yuhe00
#pr
#2257
Change 2991115 on 2016/05/26 by Andrew.Rodham
Sequencer: Added {shot} and {shot_frame} format args for movie captures
- Additionally, rendering out movie scenes as videos will now generate a new video for each unique filename it encounters. This allows us to render out a video per shot by using {shot} as
the output format.
- Frame numbers are now zero-padded as per the sequencer setting.
Change 2991920 on 2016/05/26 by Max.Chen
Sequencer: Fix movie scene getting dirtied unnecessarily when the fixed frame interval changes.
#jira UE-31343
Change 2992387 on 2016/05/26 by Max.Chen
Sequencer: Fix crash when getting the color key properties of a collapsed key that doesn't have all channels keyed.
#jira UE-31392
Change 2993553 on 2016/05/27 by Andrew.Rodham
Sequencer: Added the ability to add burn-ins to level sequences
- A default burn-in is provided which hosts a great level of flexibility
- 6 regions (L/C/R + T/B) on a 30% black border allow positioning of a range of frame statistics such as shot name ({ShotName}), frame numbers ({MasterFrame}, {ShotFrame}), and other
information.
- Watermark is provided by default (currently no tiling is exposed)
- Users can use the default built in UMG widget as a guideline for their own custom implementations.
Change 2993554 on 2016/05/27 by Andrew.Rodham
Sequencer: Default level sequence burn ins
- Also made a font asset out of our fixed width font shipped with the engine
Change 2993856 on 2016/05/30 by Max.Chen
Sequencer: Import/Export EDL
- Added a new option in the render movie dialog to export an Edit Decision List (EDL) in cmx and rv formats if there is a shot track. The default is true.
- Added "Import EDL" to shot track right click menu which imports a cmx EDL and conforms the shot order and cut information to it.
- Added "Export EDL" to shot track right click menu which exports EDLs in cmx and rv formats.
- Added "Render Shot" to shot right click menu which loads up the render movie dialog with the start and end frames of the selected shot.
#jira UETOOL-829, UETOOL-830
Change 2994761 on 2016/05/31 by Max.Chen
Sequence Recorder: Add a setting to allow recording of actors that are spawned by sequencer itself.
Change 2995648 on 2016/06/01 by HaarmPieter.Duiker
Sequencer EXR output gamut controls
Change 2996241 on 2016/06/01 by Frank.Fella
Sequencer - Add a small epsilon when "force fixed frame interval" is enabled, to make sure we're in the start of the next frame.
Change 2996244 on 2016/06/01 by Frank.Fella
Sequencer - Set the tick prerequisite for all components, not just the root.
Change 2997865 on 2016/06/02 by Max.Preussner
Sequencer: Fixed Crash in Sequencer play rate track when setting negative play rate (UE-31431)
#jira UE-31431
Change 2999631 on 2016/06/03 by Frank.Fella
Sequencer - At runtime, make sure to stop playing skeletal animations to prevent them from being double updated each frame, once by sequencer, and then again by tick.
Change 3000820 on 2016/06/03 by Max.Chen
Sequencer: Add hotkey (ctrl-T) to toggle between showing frame numbers and time.
#jira UE-31497
Change 3001056 on 2016/06/05 by Max.Chen
Sequencer: Fix fade color section crash by using an inline color picker in the details panel instead of a popup color picker.
#jira UE-31647
Change 3001057 on 2016/06/05 by Max.Chen
Movie Capture: Fix audio getting disabled after recording a movie.
Change 3001690 on 2016/06/06 by Andrew.Rodham
Sequencer: Fixed recording video sequences when not overwriting existing videos
Change 3001823 on 2016/06/06 by Max.Chen
Sequencer: Fix filtered nodes in folders so that other unfiltered children aren't visible.
#jira UE-31499
#lockdown Nick.Penwarden
[CL 3003974 by Max Chen in Main branch]
2016-06-07 11:03:52 -04:00
|
|
|
}
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
2019-01-10 17:26:53 -05:00
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2019-09-10 11:35:20 -04:00
|
|
|
bool FMovieSceneToolsModule::GetTakeNumber(const UMovieSceneSection* Section, FAssetData AssetData, uint32& OutTakeNumber)
|
2019-01-10 17:26:53 -05:00
|
|
|
{
|
|
|
|
|
for (IMovieSceneToolsTakeData* TakeData : TakeDatas)
|
2015-11-12 12:38:50 -05:00
|
|
|
{
|
2019-09-10 11:35:20 -04:00
|
|
|
if (TakeData->GetTakeNumber(Section, AssetData, OutTakeNumber))
|
2019-01-10 17:26:53 -05:00
|
|
|
{
|
2019-09-10 11:35:20 -04:00
|
|
|
return true;
|
2019-01-10 17:26:53 -05:00
|
|
|
}
|
2015-11-12 12:38:50 -05:00
|
|
|
}
|
|
|
|
|
|
2019-09-10 11:35:20 -04:00
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FMovieSceneToolsModule::SetTakeNumber(const UMovieSceneSection* Section, uint32 InTakeNumber)
|
|
|
|
|
{
|
|
|
|
|
for (IMovieSceneToolsTakeData* TakeData : TakeDatas)
|
|
|
|
|
{
|
|
|
|
|
if (TakeData->SetTakeNumber(Section, InTakeNumber))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
2019-01-10 17:26:53 -05:00
|
|
|
}
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2020-09-24 00:43:27 -04:00
|
|
|
bool FMovieSceneToolsModule::ImportAnimatedProperty(const FString& InPropertyName, const FRichCurve& InCurve, FGuid InBinding, UMovieScene* InMovieScene)
|
|
|
|
|
{
|
|
|
|
|
for (IMovieSceneToolsTrackImporter* TrackImporter : TrackImporters)
|
|
|
|
|
{
|
|
|
|
|
if (TrackImporter->ImportAnimatedProperty(InPropertyName, InCurve, InBinding, InMovieScene))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FMovieSceneToolsModule::ImportStringProperty(const FString& InPropertyName, const FString& InStringValue, FGuid InBinding, UMovieScene* InMovieScene)
|
|
|
|
|
{
|
|
|
|
|
for (IMovieSceneToolsTrackImporter* TrackImporter : TrackImporters)
|
|
|
|
|
{
|
|
|
|
|
if (TrackImporter->ImportStringProperty(InPropertyName, InStringValue, InBinding, InMovieScene))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
IMPLEMENT_MODULE( FMovieSceneToolsModule, MovieSceneTools );
|
2016-02-08 13:35:28 -05:00
|
|
|
|
|
|
|
|
#undef LOCTEXT_NAMESPACE
|
|
|
|
|
|