Commit Graph

15 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Michael Noland
6a27c42041 Animation: Various improvements to the bone driven controller
- Added support for using a curve to map from input range to output range
- Added compilation warnings when a bone or component still needs to be selected
- Added a customization to hide the range/multipler when using a curve, and gated editing of the range based on bUseRange
- Minor optimization to evaluation speed
- Reorganized the properties into logical groups (Source/Driver, Mapping, Destination/Driven)

[CL 2591125 by Michael Noland in Main branch]
2015-06-17 18:54:05 -04:00
Michael Noland
10215d3649 Animation: Renamed AnimNodeSkeletalControlBase.cpp to AnimNode_SkeletalControlBase.cpp, so it matches the header and class name
[CL 2590713 by Michael Noland in Main branch]
2015-06-17 15:28:20 -04:00
Laurent Delayen
0df4e58911 Minor optimization from Github submission #1133
[CL 2587803 by Laurent Delayen in Main branch]
2015-06-15 16:16:55 -04:00
Lina Halper
df6b0a3b7a - Added Look up axis
[CL 2587364 by Lina Halper in Main branch]
2015-06-15 10:53:37 -04:00
Michael Noland
7c0f5172ac Animation: Started moving animation nodes out of Engine into a new AnimGraphRuntime module
- Moved all skeletal control nodes to start out

Upgrade Note: Modules containing custom animation nodes will need to have a dependency on the new "AnimGraphRuntime" module added to their Build.cs file
#codereview lina.halper

[CL 2582755 by Michael Noland in Main branch]
2015-06-10 10:57:15 -04:00