Commit Graph

34 Commits

Author SHA1 Message Date
Lina Halper
0f59150df1 #ANIM: Montage supports more than linear blending
- It uses same blend set up as blend list
 - Because of this, now we're not testing weight <ZERO_ANIMWEIGHT, but we test Blend.IsComplete
 - Now we still advance montage since if the custom curve contains longer 0, anim is likely to pause if he comes back from 0. (I had wacky test case)

 #ANIM: Single node instance's inconsistency of montage weight has been resolved

- This also contains montage update change where now montage advance prior to node update
- Also made new function for node update, so that single node instance can use that function instead of nativeupdateanimation, which happens prior to weight update causing all inconsistency
- Enabled node weight debuging define for montage, so that we can see if any other case is causing it
- This also fixes crash when montage gets terminated after weight has been updated

Merging

//depot/UE4-Orion/...

to //depot/UE4-Orion/...

[CL 2687868 by Lina Halper in Main branch]
2015-09-11 10:26:57 -04:00
Mike Fricker
65e7557229 [INTEGRATE] Compile times: Working on eliminating <Module>Classes.h header files
- This checkin eliminates use of all <Module>Classes.h files in Engine, with the exception of UnrealEdClasses.h
- Compilation speed-ups for all of the modules affected, now that they are including what they use
- No effective changes other than C++ includes

[CL 2686054 by Mike Fricker in Main branch]
2015-09-10 08:48:03 -04:00
Lina Halper
5786808b67 #ANIM: Trail node
- at the end, no change on the data because this guarantees frame independent.
- Added help and renamed variable to speed, so that it knows it is speed.

Merging

//depot/UE4-Orion/Engine/...

to //depot/UE4-Orion/Engine/...

[CL 2683714 by Lina Halper in Main branch]
2015-09-08 16:50:42 -04:00
Lina Halper
9bd36fbc1f #ANIM: Better fix for kurohane crash due to inconsistent weight of montages
- Now it gets weight data and use that weight data without recalc in eval
- Also made montage instance's members to be private
- changed single node to get weight and use that weight for eval - same as normal anim BP
- changed update weight of montage to happen before native update animation

Merging

//depot/UE4-Orion/Engine/Source/...

to //depot/UE4/Engine/Source/...

[CL 2682922 by Lina Halper in Main branch]
2015-09-08 09:01:12 -04:00
Lina Halper
f125e5f42f #ANIM : Fix for slot node weight inconsistency issue
Merging

//depot/UE4-Orion/Engine/Source/Runtime/Engine/Private/Animation/AnimNode_Slot.cpp

to //depot/UE4/Engine/Source/Runtime/AnimGraphRuntime/Private/AnimNodes/AnimNode_Slot.cpp

[CL 2682911 by Lina Halper in Main branch]
2015-09-08 08:54:46 -04:00
Marc Audy
d25958e352 Use SizeSquared comparisons instead of Size where trivially replaceable
[CL 2681970 by Marc Audy in Main branch]
2015-09-06 12:42:18 -04:00
Zak Middleton
50599f7ed2 #ue4 - Fix for crash running QAGame PIE 100% of the time in anim node code in debug.
#codereview Thomas.Sarkanen, Lina.Halper

[CL 2679501 by Zak Middleton in Main branch]
2015-09-03 18:11:12 -04:00
Thomas Sarkanen
2878a344ae Anim Blueprint compiler can now access member variables directly instead of thunking to the VM
Optimization is enabled by default but is an engine setting in case it needs to be disabled (bOptimizeAnimBlueprintMemberVariableAccess).
Expanded FExposedValueHandler to also contain an array of source & dest properties (copy records) to copy between. These are resolved to read/write addresses on init & a simple memcpy at runtime instead of calling the usual generated custom event.
Custom events are not added at all if all properties use copy records. The event may still be added & called however as mixed-mode access is still supported (i.e. a thunk and a memcpy to different pin properties).
Unfortunately this required initialization of all ExposedValueHandlers (as I didnt want to add the branch overhead of lazy init) so all the anim nodes have needed a small change to call their base class Initialize().

[CL 2678504 by Thomas Sarkanen in Main branch]
2015-09-03 09:55:41 -04:00
Benn Gallagher
5315048ee4 [Merging using UE4-Orion-To-UE4] - Added Blend Profiles to USkeleton - Per-Bone blending scales for blend list nodes and state machine transitions.
[CL 2676948 by Benn Gallagher in Main branch]
2015-09-02 10:20:31 -04:00
Lina Halper
dcc9fa889c Merging
//depot/UE4-Orion/Engine/Source/Runtime/AnimGraphRuntime/Private/BoneControllers/AnimNode_Trail.cpp

to //depot/UE4/Engine/Source/Runtime/AnimGraphRuntime/Private/BoneControllers/AnimNode_Trail.cpp

[CL 2671622 by Lina Halper in Main branch]
2015-08-27 17:47:15 -04:00
Lina Halper
aa5c71dc02 #ANIM: Trail joint - converted TrailRelaxation to curve to support multiple joint chain
Merging

//depot/UE4-Orion/Engine/Source/...

to //depot/UE4/Engine/Source/...

[CL 2671585 by Lina Halper in Main branch]
2015-08-27 17:25:44 -04:00
Lina Halper
c86018fe0e #ANIM: Support StartPosition for BlendSpace player
Merging from Orion to Main

[CL 2667875 by Lina Halper in Main branch]
2015-08-25 13:16:27 -04:00
Martin Wilson
fe159e2c17 Marker based sync
Merged from 2660856

[CL 2662953 by Martin Wilson in Main branch]
2015-08-20 12:52:49 -04:00
Gil Gribb
b7d8b9603f Merging 2640056 (plus a few minor fixes)
//depot/UE4-Orion/...

to //depot/UE4/...

UE4 -  rollup of many performance changes

* increased max threads for task graph and added a way to reduce task threads at runtime for testing the optimal number
* added a way to track excessive allocation at runtime without using the memory profiler: LogGameThreadMallocChurn.Enable
* ps4: fixed a few problems with the platform properties, IsRunningGame was returning false
* added inline storage for one delegate in multicast delegates
* fixed excessive allocation on the script stack traceback
* fixed excessive malloc calls throughout the animation system
* added stats throughout the animation system
* reworked parallel queue ticks
* fixed excessive malloc calls in cloth and physics animation systems
* fixed GHitchThresholdCVar
* minor improvements to abtest
* added ability to change thread affinities on the fly so they can be tuned
* cvars to control animrate optimization and spew the results: EnableAnimRateOptimization, SpewAnimRateOptimization, DrawAnimRateOptimization, ForceAnimRate
* optimized malloc calls in cascade and gpu particles
* optimized malloc calls in input system
* removed visual logging and ability log from consoles and fixed a few compile errors related to doing that
* optimized gameplaytags
* added a few cvars to cause stalls in various parts of the pipeline to identify critical paths and bottlenecks: CriticalPathStall.*
* added console command to toggle all known outstanding perf tweaks: Orion.SetupPerfCVars

[CL 2642061 by Gil Gribb in Main branch]
2015-08-03 11:44:45 -04:00
Zak Middleton
1a9087ef99 #ue4 - Perf: Convert most uses of FQuat::FindBetween() to FQuat::FindBetweenNormals() where the inputs are known to be normalized.
[CL 2630172 by Zak Middleton in Main branch]
2015-07-23 01:31:03 -04:00
Lina Halper
178615c688 Renamed variable and deleted unused variable.
[CL 2629576 by Lina Halper in Main branch]
2015-07-22 16:56:58 -04:00
Lina Halper
bb3cbeb9d2 #ANIM: Moving available animnodes to AnimGraphRuntime module
[CL 2629295 by Lina Halper in Main branch]
2015-07-22 14:37:24 -04:00
Lina Halper
ba6ddeccb9 #ANIM: Created [copy pose from mesh] node.
Allows users to get a pose from one mesh to the other pose.

[CL 2629217 by Lina Halper in Main branch]
2015-07-22 13:59:07 -04:00
Michael Noland
7fec532e26 Animation: Added a remap range to the bone driven controller when clamping is enabled, and added a note about the driven bone space
[CL 2619198 by Michael Noland in Main branch]
2015-07-13 19:53:41 -04:00
Michael Noland
7705f9fc22 Animation: Added support for showing the position relative to the reference skeleton on the observe bone node
[CL 2619114 by Michael Noland in Main branch]
2015-07-13 19:02:51 -04:00
Benn Gallagher
c62cb8f218 Fixed confusing ordering of copy bone source and target bones
[CL 2616541 by Benn Gallagher in Main branch]
2015-07-10 08:44:53 -04:00
Michael Noland
60f2dd684d Animation: Regenerated the GUID for the animation custom version to avoid a collision
[CL 2607488 by Michael Noland in Main branch]
2015-07-01 10:58:48 -04:00
Michael Noland
4a67b7ffb1 Animation: Adding missing file for custom version
[CL 2607036 by Michael Noland in Main branch]
2015-06-30 23:27:14 -04:00
Michael Noland
2d953ade9f Animation: Improved bone driven controllers
- One driver value can now drive multiple components
- How a component is driven is now configurable (add to input, replace, add to ref pose and replace)
- The range limit is now defined on the input (before the multiplier is applied) rather than the output (existing ranges are fixed up on load)
- New details customization to make working with the node easier
- Individual scale components can now be a driver or one of the driven components, rather than just the max component of scale
- The node title now displays the driving equation (e.g., driven.rotation.z = -0.5 * driver.rotation.x)

Animation: Added a custom version for AnimGraph/AnimGraphRuntime usage

Upgrade Note: The exact behavior of the original node was not preserved, but there are now more configuration options, so please revisit any uses of bone driven controllers in your animation blueprints

[CL 2606968 by Michael Noland in Main branch]
2015-06-30 22:25:56 -04:00
Michael Noland
7d410e7509 Animation: Created an Observe Bone skeletal control that can be used to debug animations (prints out the current transform of a bone in the input pose as a bubble above the node)
[CL 2606949 by Michael Noland in Main branch]
2015-06-30 22:16:20 -04:00