Commit Graph

482 Commits

Author SHA1 Message Date
Lina Halper
b0bdc590d5 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim)
#lockdown: thomas.sarkanen
#fyi: Laurent.Delayen
#rb: none

[CL 6861656 by Lina Halper in Dev-Anim branch]
2019-06-06 12:33:54 -04:00
matt hoffman
6cdb644209 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-OWNER: lina.halper
#ROBOMERGE-AUTHOR: matt.hoffman
#ROBOMERGE-SOURCE: CL 6631811 via CL 6633746 via CL 6633863
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468)

[CL 6751117 by matt hoffman in Dev-Anim branch]
2019-05-31 18:19:48 -04:00
ben marsh
83bd3cd7c6 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 6631504 in //UE4/Main/...
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468)

[CL 6748759 by ben marsh in Dev-Anim branch]
2019-05-31 18:06:13 -04:00
max chen
784507b2a8 Sequencer: Change save icon and add * to breadcrumb to indicate when the asset is dirty and needs to be saved.
#jira UE-74685
#rb louise.rasmussen

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 6608303 via CL 6609185 via CL 6609314
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468)

[CL 6736276 by max chen in Dev-Anim branch]
2019-05-31 16:18:13 -04:00
thomas sarkanen
953c447204 Copying //Tasks/Fortnite/Dev-AnimSubInstances to Main (//Fortnite/Main)
Adds:
- New sub-instance functionality (dynamic setting, inline evaluation)
- Animation layers (experimental)

#rb Jurre.deBaare
[FYI] Laurent.Delayen
#rnx

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 6604742 via CL 6605911 via CL 6605970
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v364-6709755)

[CL 6719637 by thomas sarkanen in Dev-Anim branch]
2019-05-31 14:37:25 -04:00
patrick enfedaque
2c8bc3d5f0 - Landscape Layer System: New Heightmap Erase Tool (in sculpt mode)
#rb richard.malo
[FYI] michael.dupuis
#rnx

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 6339992 via CL 6340091 via CL 6340095
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 6340657 by patrick enfedaque in Dev-Anim branch]
2019-05-07 09:03:43 -04:00
patrick enfedaque
2862426e29 New Foliage Type: Blueprint Actor
- Allows using the Foliage Editing mode to paint Actors instead of StaticMesh

#jira UE-72590,UE-72588,UE-72587,UE-72586
#rb richard.malo, michael.dupuis

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 5820961 via CL 5826476 via CL 5826477
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5852059 by patrick enfedaque in Dev-Anim branch]
2019-04-12 13:34:30 -04:00
helge mathee
82a3a4357f Merging //Tasks/Fortnite/Dev-UEA-ControlRig/... to //Fortnite/Main/...
#UEA-425 - Support for node colors within Control Rig
#UEA-387 - Mutable and Non-Mutable nodes (with or without execute pin)
#UEA-390 - Passing the hierarchy as part of the execute pin
#UEA-385 - Control Rig Execution Stack UI
#UEA-381 - Remove notion of base hierarchy for now - simplify hierarchy passing
#UEA-398 - Use execute pin icon for execute pins
#UEA-399 - New Get / Set bone transform units for Control Rig
#UEA-402 - Default to show rig graph when opening Control Rig Editor
#UEA-404 - Prettify labels in Execution Stack view
#UEA-405 - New Bone Name Searchable Combo box
#UEA-406 - Unify terminology from "joint" to "bone"
#UEA-407 - Removed Control Rig variable UI
#UEA-408 - Support for compiler warnings & errors on nodes
#UEA-409 - Unit tests for topological editing of graph
#UEA-411 - Support for keyword based search when looking for nodes
#UEA-413 - Refactored all math nodes & added unit tests per node
#UEA-415 - Set opacity on nodes based on execution state (non-executing nodes are faded)
#UEA-434 - Show compiler warnings / errors in execution stack view
#UEA-440 - Support for drag&drop from hierarchy view into graph view

#rb: Thomas.Sarkanen, Helge.Mathee
[FYI] Thomas.Sarkanen, Helge.Mathee
#jira: many

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: lina.halper
#ROBOMERGE-SOURCE: CL 5685272 via CL 5686776 via CL 5686808
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)

[CL 5690133 by helge mathee in Dev-Anim branch]
2019-04-02 14:41:34 -04:00
Thomas Sarkanen
bb193db1aa Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 5356908
#rb none

[CL 5360337 by Thomas Sarkanen in Dev-Anim branch]
2019-03-11 12:18:32 -04:00
Thomas Sarkanen
474bc576ee Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 5236305
#rb none
#jira none

[CL 5236785 by Thomas Sarkanen in Dev-Anim branch]
2019-02-28 04:41:36 -05:00
Lina Halper
f7baa58bc9 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim)
#fyi: Laurent.Delayen, James.Hopkin
#rb: none

[CL 4923303 by Lina Halper in Dev-Anim branch]
2019-02-06 14:35:56 -05:00
Thomas Sarkanen
fdcba8f624 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 4822026
#rb none
#jira none

[CL 4822205 by Thomas Sarkanen in Dev-Anim branch]
2019-01-28 05:55:22 -05:00
Thomas Sarkanen
cc942a3341 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 4768627
#rb none
#jira none

[CL 4769629 by Thomas Sarkanen in Dev-Anim branch]
2019-01-22 06:48:04 -05:00
Thomas Sarkanen
e0f6136524 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 4704791
#rb none
#jiira none

[CL 4708070 by Thomas Sarkanen in Dev-Anim branch]
2019-01-11 04:11:30 -05:00
Jurre deBaare
385ddd93e5 Back out incorrectly included changes from changelist 4688641 to fix CIS
#jira none
#rb none

[CL 4688684 by Jurre deBaare in Dev-Anim branch]
2019-01-08 11:17:04 -05:00
Jurre deBaare
7253f4b730 Animation sharing plugin:
- Moving Animation Sharing plugin file(s) to Engine
- Added debug materials to plugin and enabled plugin content
- Added BP exposed functionality for using the system
- Improved and or added detail customization with the lack of a dedicated editor
- Cleaned up (on-screen) debug information
- Added post-load to AnimationSharingSetup to ensure assets are loaded for editing
- Re-ordered, cleaned up and commented UProperties in various type classes
#jira UE-66228
#rb none

[CL 4688641 by Jurre deBaare in Dev-Anim branch]
2019-01-08 11:10:13 -05:00
Thomas Sarkanen
7088a2f273 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 4683693
#rb none
#jira none

[CL 4684302 by Thomas Sarkanen in Dev-Anim branch]
2019-01-07 05:38:46 -05:00
Thomas Sarkanen
8ba3c4c087 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 4643671
#rb none
#jira none

[CL 4665410 by Thomas Sarkanen in Dev-Anim branch]
2018-12-17 06:31:16 -05:00
Thomas Sarkanen
c51a339259 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 4574801
#jira none
#rb none

[CL 4575789 by Thomas Sarkanen in Dev-Anim branch]
2018-11-19 07:03:18 -05:00
Thomas Sarkanen
c10504dff2 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 4464877
#rb none

[CL 4466533 by Thomas Sarkanen in Dev-Anim branch]
2018-10-15 08:04:28 -04:00
max chen
9a366c047d Sequencer: Added back in ScrubHandleUp/Down for the VisualLoggerTimeSliderController to fix missing brush warning
#jira UE-64994
#rb none

#ROBOMERGE-SOURCE: CL 4442724 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)

[CL 4442725 by max chen in Staging-4.21 branch]
2018-10-09 17:32:44 -04:00
Marc Audy
af90b7bcd4 Copying //UE4/Fortnite-Staging to Dev-Main (//UE4/Dev-Main) @ 4395008
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4395058 by Marc Audy in Main branch]
2018-09-25 10:11:35 -04:00
Thomas Sarkanen
e697c18236 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 4353110
#rb none
#jira none

[CL 4354089 by Thomas Sarkanen in Dev-Anim branch]
2018-09-10 05:10:47 -04:00
JeanMichel Dignard
e6d45383d5 Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4341740)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 4280523 by Patrick.Boutot

	Add option in AjaCustomTimeStep to wait until the frame to be ready. Previously, the frame was there but not yet processed so it was possible that it was not ready by the time we wanted to read it. It won't work with interlaced because the 2 fields are processed at the same time. In interlaced, will get a 30fps behaviour when we actually want a 60fps.
	Fix bug that didn't set and reset bIsOwned properly when it was first initialized as not owned.

Change 4280526 by Patrick.Boutot

	Add accessor to get the leaf media source or output.

Change 4280624 by Patrick.Boutot

	Add timecode acessor to media samples

Change 4280626 by Patrick.Boutot

	Rework the timing for AJA Media Player. Previously, we took the timing of the frame. That was a bad idea because if 2 incomings video frames were coming a the same time, you would only show one. Making the buffering system useless.
	That affects the Custom Time Step since it was waiting for the interrupt signal and in some behavior we would like the frame to be ready to be used by UE. Same the timecode in the MediaSample because we may not used it to stamps the frame.

Change 4283022 by Patrick.Boutot

	[EditorScriptingUtilitites] Check folder names invalid characters separatly from the object's name.
	#jira UE-59886,  UE-62333

Change 4283112 by Patrick.Boutot

	Remove MediaFrameworkUtilititesModule dependency to the Settings module at runtime.
	Rename TimemanagemenetEditor module names.

Change 4283426 by JeanLuc.Corenthin

	Fix crash with FBX file

	#jira UE-62501

Change 4284940 by Patrick.Boutot

	A widget that let you select a single permutation from a list. It groups the values into categories and removes duplicates inside that category.

Change 4285471 by Patrick.Boutot

	Remove MediaFrameworkUtilititesModule dependency to the Settings module at runtime.

Change 4286925 by Patrick.Boutot

	[AJA] Add support to read LTC from the reference In.
	Add more detail on video format and the device.
	MediaSource use the Permutations Selection widget to select his mode and device.
	Remove debugging option to trigger an AJA custom time step and timecode provider.
	Remove the UYVY pixel option from AJA. It's better do to the conversion on the AJA card that on the GPU.
	Change the tooltip and category for some AjaMediaSource properties.

Change 4287026 by Julien.StJean

	Modifed the file STimeCodeProviderTab.cpp to fix the position of a SComboButton that wasn't properly place.

Change 4287663 by Jon.Nabozny

	Add timecode messages into nDisplay, and sync those between Master and Slave

Change 4287884 by Jon.Nabozny

	Create a TimecodeProvider for SystemTime and introduce a notion for DefaultTimecodeProvider in Engine.

Change 4288050 by Jon.Nabozny

	Rework the TimeSynchronization implementation for usability and functionality.

Change 4288283 by Jon.Nabozny

	Fixed swapped MetaClass and DisplayName options on UEngine::DefaultTimecodeProviderClassName;

Change 4288352 by Jon.Nabozny

	Set TimecodeProviderClassName and DefaultTimecodeProviderClassName in BaseEngine.ini

Change 4288378 by Jon.Nabozny

	Fixup some issues in TimecodeSynchronizer where code was reset improperly due to multiple unshelves / resolves.

Change 4288394 by Jon.Nabozny

	Add TimeSync functionality into LiveLink. Also add test cases for this. This should allow us to easily synchronize multiple LiveLink sources together, as well as synchronize those to anything else using the sync system (Relies on CL-4235417)

Change 4288899 by Patrick.Boutot

	Fix initialization order of FMediaIOCorePlayerBase variables

Change 4289157 by Patrick.Boutot

	Allow the user to change the source of a capture without stopping the current capture.
	[AJA] AjaMediaCapture, add support for UpdateSceneViewport & UpdateRenderTarget
	@made by julien.stjean

Change 4291328 by Jon.Nabozny

	Report the Skeleton Guid with TimeSyncData and track sync state in LiveLinkTimeSynchronizationSource.
	This prevents a crash that can happen if a source is quickly cleared and reset before the next tick of Time Synchronization.

Change 4296294 by Jon.Nabozny

	Fixup errors when TimecodeProviderClassName is empty. It's valid to leave this empty.

Change 4297122 by Patrick.Boutot

	Media Profile with timecode provider & custom time step

Change 4301855 by Austin.Crismore

	Fix for movment scaling and virtual joystick controls. Movement scaling in for truck and dolly is locked to the world xy plane, and virtual joysticks use their own method for movement scaling now.

	#jira UE-61762, UE-62187

Change 4301856 by Austin.Crismore

	Virtual sequence level controller now listens to on object spawned, so that it can intercept the camera actor and disable attatching to HMD to prevent camera movement that isn't from the level sequence

	#jira UE-61766

Change 4301860 by Austin.Crismore

	Fix for touch scrubbing. Added default values back in. Added logic to only allow scrubbing when touch focus was off.

	#jira UE-61865

Change 4302294 by Jamie.Dale

	Added functions to get your the localized spoken and subtitle text from a dialogue wave

Change 4304393 by Jamie.Dale

	Added support for BlueprintAssignable properties in Python

Change 4305852 by Jamie.Dale

	Removed hard-dependency between EditorScriptingUtilities and PythonScriptPlugin

	Backed-out changelist 4259264 and query Python availability based on whether anything is available to handle the command

	#jira UE-62318

Change 4308550 by Jamie.Dale

	Fixed crash when passing a null world to Python actor iterators

Change 4311867 by Homam.Bahnassi

	Revit master material with exposed parameters matching the API when possible.

Change 4314428 by Francis.Hurteau

	Made the usage of the bBuildDeveloperTools switch independent of the bCompileAgainstEngine switch.
	Changed bBuildDeveloperTools TargetRule in UnrealBuildTool to a nullable to keep the old behavior in case where bBuildDeveloperTools wasn't explicitly set in TargetRules

Change 4315134 by Jamie.Dale

	Defer editable text focus selection until mouse-up to allow the user to make an initial selection

	#jira UE-58086

Change 4318615 by Johan.Duparc

	EditorFactories: consistent return values after asset import.

Change 4322459 by Jamie.Dale

	Made SequencerScripting an Editor plugin as it depends on PythonScriptPlugin which is an Editor plugin

	This was causing issues at runtime when SequencerScripting was enabled, as it failed to load PythonScriptPlugin (which hadn't been built).

Change 4323341 by Francis.Hurteau

	Implement proper message bus protocol version negociation with static nodes

Change 4323733 by Francis.Hurteau

	Fix VR Pausing Sequence Scrubbing just setting playback speed to 0.0

Change 4324319 by Jamie.Dale

	Exposed transactions to Blueprints

Change 4325847 by Alistair.White

	Copying //Tasks/UE4/Private-PixelStreaming@4325566 to Dev-Enterprise-Minimal (//UE4/Dev-Enterprise-Minimal)

	This adds the new experimental PixelStreaming plugin to allow streaming of an Unreal client's audio & video stream to a browser through the WebRTC protocol to support new uses for enterprise customers.

Change 4326282 by Simon.Tourangeau

	nDisplay native present handler

Change 4326581 by Jamie.Dale

	Replacing FDateTime with int64 Ticks value to workaround UE-63485

Change 4326599 by Homam.Bahnassi

	Moving texture coords outside UVEdit function to allow using different UV channels.

Change 4333250 by Francis.Hurteau

	Small TFuture changes:
	* cleans up TFuture::Then with usage of TUniqueFunction
	* added TFuture::Reset to invalidate it and remove continuation from a future shared state

Change 4333359 by Homam.Bahnassi

	Support scaling and rotating UVs around arbitrary pivot

Change 4333566 by Johan.Duparc

	Expose ProxyLOD functionalities to Scripting
	#jira UEENT-1788

Change 4333988 by Jamie.Dale

	Allow UHT to parse FText default parameter values

	INVTEXT, NSLOCTEXT, LOCTABLE, and FText::GetEmpty() are supported. LOCTEXT isn't as it relies on an external macro that is known to C++ but not to UHT (NSLOCTEXT can easily be used instead).

Change 4335020 by Francis.Hurteau

	Uncomment MessageBus::Send deprecation notice for 4.21
	Update MessageBus Send usage to new API

Change 4335195 by JeanMichel.Dignard

	Add a SetLodFromStaticMesh script utility function

	#jira UEENT-1789

Change 4335231 by Anousack.Kitisa

	Added functions to generate planar, cylindrical, box UV mapping.

	#jira UEENT-1598

Change 4335373 by Jamie.Dale

	Cleaned up some places creating empty literal texts

Change 4335458 by Jamie.Dale

	Allow UHT to parse FText() as an alias of FText::GetEmpty() when processing default values

Change 4335875 by Max.Chen

	Sequencer: Clear RF_Transient on pasted tracks/sections

	#jira UE-63537

Change 4336497 by Johan.Duparc

	ProxyLOD: Fix progress bar issue
	- removed duplicated code
	- removed duplicated LongTask object
	#jira UEENT-1788

Change 4336723 by Jamie.Dale

	Ensure that Python generated types create their CDO at the correct point

	#jira UE-62895

Change 4340594 by Ben.Marsh

	Fix manifest being invalidated when building two enterprise targets in a row. Fixes CIS error.

	#jira UE-63644

[CL 4342443 by JeanMichel Dignard in Main branch]
2018-09-04 16:35:02 -04:00
Lina Halper
50313944b6 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim)
#lockdown: Thomas.Sarkanen, Laurent.Delayen
#rb:none

[CL 4333379 by Lina Halper in Dev-Anim branch]
2018-08-30 14:40:41 -04:00