Commit Graph

224 Commits

Author SHA1 Message Date
chris caulfield
adef3339d5 Chaos RBAN - Kinematic Targets
#rb none


#ROBOMERGE-SOURCE: CL 9550276 via CL 9550278
#ROBOMERGE-BOT: (v521-9539702)

[CL 9550281 by chris caulfield in Main branch]
2019-10-11 13:50:12 -04:00
andrew ladenberger
fb6b4b3597 Scoped stat counter for AnimNode_RigidBody init time
#rb Chris.Caulfield
[FYI] Jordan.Cristiano, Thomas.Sarkanen


#ROBOMERGE-SOURCE: CL 9424520 via CL 9424522 via CL 9424523
#ROBOMERGE-BOT: (v480-9420520)

[CL 9424524 by andrew ladenberger in Main branch]
2019-10-04 18:34:07 -04:00
chris caulfield
a033064f45 RigidBody Anim Node: Remove unnecessary transform initialization for PhysX
#rb andrew.ladenberger


#ROBOMERGE-SOURCE: CL 9424299 via CL 9424300
#ROBOMERGE-BOT: (v480-9420520)

[CL 9424304 by chris caulfield in Main branch]
2019-10-04 18:11:17 -04:00
michael lentine
acbc579509 Copy from //Fortnite/Dev-Physics
#rb none


#ROBOMERGE-OWNER: michael.lentine
#ROBOMERGE-AUTHOR: michael.lentine
#ROBOMERGE-SOURCE: CL 9374650 via CL 9374665
#ROBOMERGE-BOT: (v456-9359915)

[CL 9385990 by michael lentine in Main branch]
2019-10-02 17:27:26 -04:00
Lina Halper
3fd7f76532 Copying //UE4/Dev-Anim to Dev-Main (//UE4/Dev-Main)
#fyi: Laurent.Delayn, Marc.Audy
#rb: none

[CL 9321182 by Lina Halper in Main branch]
2019-10-01 16:59:31 -04:00
marc audy
328da8f207 Fix weight propgation over sub-instance boundaries
New Update* API now passes through context from a higher level. Old API calls deprecated & fixed up.
We were previously doing the right thing with regards weights on the way *out* of a linked graph (via a linked input pose). This addresses the way *into* a linked graph.

#rb Jurre.deBaare


#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 9036155 via CL 9043727 via CL 9043933
#ROBOMERGE-BOT: (v443-9013191)

Resolution in AnimInstanceProxy.cpp stomps Dev-Anim changes. Jira to be filed to revisit the consequences to inertial blending.
#codereview Thomas.Sarkanen, Braeden.Shosa

[CL 9046911 by marc audy in Main branch]
2019-09-24 14:10:35 -04:00
jordan cristiano
a7108f47d4 Removed allocation of ImmediateMode::FSimulation when p.RigidBodyNode=0.
This saves 350KB per disabled AnimNode_RigidBody.

This also involves moving p.RigidBodyNode out of scalability settings so it can be read only. Settings for p.RigidBodyNode were moved from scalability settings to device profiles.

#rb andrew.ladenberger, satchit.subramanian
[FYI] derek.ehrman


#ROBOMERGE-SOURCE: CL 8917184 via CL 8917189 via CL 8917664 via CL 8917738
#ROBOMERGE-BOT: (v427-8887818)

[CL 8917836 by jordan cristiano in Main branch]
2019-09-19 19:02:24 -04:00
Marc Audy
8df336162c Copying //UE4/Dev-Anim to Dev-Main (//UE4/Dev-Main) @ 8782600
#rb
#rnx

[CL 8783278 by Marc Audy in Main branch]
2019-09-17 19:12:19 -04:00
thomas sarkanen
ef46502ca2 Spawning optimizations
A collection of major and minor optimizations to anim instance initialization.

Major:
- Added defered root node init. When an anim instance is set to init to refpose, this defers the first call to initialize the blend tree until just before the first Update() call, on a worker thread.
- Skip ConditionallyCacheBonesForState in state machines in the case where we would call CacheBones_AnyThread during first Initialize_AnyThread. This avoids duplicate work being done, as graph traversal counters will let through sychronization calls if they have yet to be updated (ie. their count is INDEX_NONE).
- Cache access to nodes that need pre-update, dynamic reset, one-time initialization, as well as state machines in the generated class to avoid iterating all anim nodes on initialization.

Minor:
- Cache access to node properties when re-linking nodes to avoid duplicate memory round-trips.
- Cache access to LUT size in FBaseBlendedCurve::GetValidElementCount, avoiding duplicate memory round-trips.
- Prevent FName rehashing from string (intended to strip whitespace) when initializing FBoneReferences.
- Cache access to AnimCurveMapping smart name container on USkeleton, preventing a TMap lookup every time we access the smart name container.
- USkeleton::GetCurveMetaData now uses a 'fast path' when accessing using smart name UID. In this case we can avoid the TMap lookup as the UID is always a direct index to metadata at runtime (slow path still applies in editor builds).
- Avoid calling FAnimNode_LayeredBoneBlend::ReinitializeBoneBlendWeights in Initialize_AnyThread, as CacheBones_AnyThread will be called straight after anyways.
- Cache access to curve UID count and LinkedBones array in FAnimNode_LayeredBoneBlend::ReinitializeBoneBlendWeights, avoiding duplicate memory round-trips.

Upgrade notes:
- Breaking change! Custom anim nodes that implement OnInitializeAnimInstance now need to return true for the new accessor NeedsOnInitializeAnimInstance to be called at init time.
- The meaning of HasPreUpdate and NeedsDynamicReset has changed slightly. Previously these were called at init time, so if their results were mutable it was possible to re-init an anim instance with new settings. Now they are called at CDO load time this is no longer possible.

#rb Martin.Wilson


#ROBOMERGE-SOURCE: CL 8686415 via CL 8686419 via CL 8689513
#ROBOMERGE-BOT: (v422-8689730)

[CL 8695271 by thomas sarkanen in Main branch]
2019-09-16 13:01:26 -04:00
Chris Gagnon
2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
Marc Audy
a7459b1afc Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 8292949
#rb
#rnx

[CL 8293622 by Marc Audy in Dev-Framework branch]
2019-08-26 10:30:04 -04:00
Ben Hoffman
c11e10eb9c Add 0 entries to animtion enums to prevent blueprint compiler warnings.
Enums affected:
- ESplineBoneAxis
- EAnimAssetCurveFlags

#rb Lina.Halper
#rnx
#jira UE-59679

[CL 8293282 by Ben Hoffman in Dev-Framework branch]
2019-08-26 09:50:02 -04:00
lina halper
0a9a38c68d Remove unused variables
#jira: UE-78921
#rb: Helge.Mathee
#lockdown cristina.riveron

#ROBOMERGE-SOURCE: CL 8062117 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v400-8057353)

[CL 8062123 by lina halper in Main branch]
2019-08-15 13:21:37 -04:00
Benn Gallagher
3a4873ef60 Copying //UE4/Dev-Physics to Dev-Main (//UE4/Dev-Main) @ 7703071
#rb
#rnx

[CL 7705805 by Benn Gallagher in Main branch]
2019-08-02 09:01:58 -04:00
Helge Mathee
bf2aef7b8f AnimNode_AnimDynamics: Build break on Mac
#jira UE-78044
#rb none

[CL 7651300 by Helge Mathee in Main branch]
2019-07-29 14:31:53 -04:00
lina halper
ee12621755 Crash fix on AD node with invalid set up
#jira: UE-77592
#rb:Laurent.Delayen

#ROBOMERGE-SOURCE: CL 7573040 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v372-7473910)

[CL 7573049 by lina halper in Main branch]
2019-07-23 15:57:16 -04:00
braeden shosa
a60e5fb0f3 Fixed pose exploding when chaining multiple Blend Multi nodes together. FAnimNode_MultiWayBlend uses scratch arrays to build up input pose data before blending all the poses together. But when multiple Blend Multi nodes were chained together they would stomp on each other by resetting the arrays on entry. Now the scratch arrays are treated like stacks and we push each source pose's data and pop what was added before leaving the evaluate call.
#rb Martin.Wilson
[FYI] Martin.Wilson,  Lina.Halper, Laurent.Delayen, Aaron.Cox
[RN] fix Animation Fixed bad pose output when chaining multiple Blend Multi nodes together.


#ROBOMERGE-OWNER: braeden.shosa
#ROBOMERGE-AUTHOR: braeden.shosa
#ROBOMERGE-SOURCE: CL 7325745 via CL 7325985 via CL 7342184
#ROBOMERGE-BOT: (v371-7306989)

[CL 7396026 by braeden shosa in Main branch]
2019-07-17 10:04:53 -04:00
helge mathee
a6a2a333c0 Final copy-up for Control Rig Task Stream.
Merging using Fortnite_Main<->Fortnite_ControlRig

#rb none


#ROBOMERGE-OWNER: helge.mathee
#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 7321580 via CL 7323175
#ROBOMERGE-BOT: (v371-7306989)

[CL 7323351 by helge mathee in Main branch]
2019-07-16 11:49:59 -04:00
mike zyracki
6c525fe7cd Add bWasCreated flag to BindToSkeletalMesh so when we know when we create the sequencer anim instance we should save the pose. This removes the need for control rig to override NativeInitialization. Also add some checks to make sure we save a valid pose.
#jira UE-76569

#rb max.chen

#ROBOMERGE-SOURCE: CL 7280102 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v369-7254125)

[CL 7280144 by mike zyracki in Main branch]
2019-07-11 15:56:39 -04:00
satchit subramanian
ecbdae5c54 Add asset info to AnimNode_Rigidbody.
#rb Michael.Lentine


#ROBOMERGE-SOURCE: CL 7041340 via CL 7042232 via CL 7047490
#ROBOMERGE-BOT: (v367-6836689)

[CL 7048351 by satchit subramanian in Main branch]
2019-06-17 13:58:21 -04:00
braeden shosa
eb090a4b0d Workaround for CurvePoseIndex out of bounds crash
[CODEREVIEW] Lina.Halper, Laurent.Delayen, Aaron.Cox
#rnx


#ROBOMERGE-SOURCE: CL 7014082 via CL 7016740 via CL 7016747 via CL 7016816 via CL 7020855
#ROBOMERGE-BOT: (v367-6836689)

[CL 7020952 by braeden shosa in Main branch]
2019-06-14 19:46:23 -04:00
aaron cox
3618478716 Reinitialize the Copy Pose From Mesh node when the target mesh changes.
Fixes animation pose breaking when dynamically changing between skeletal meshes that use the same animbp but have a different number of bones.
[CODEREVIEW] Laurent.Delayen, Lina.Halper


#ROBOMERGE-SOURCE: CL 6938273 via CL 6938276 via CL 6938281 via CL 6938283 via CL 6943622
#ROBOMERGE-BOT: (v366-6836689)

[CL 6946612 by aaron cox in Main branch]
2019-06-11 22:52:01 -04:00
Jeff Fisher
bcc5bcf128 Copying //UE4/Dev-VR to Main (//UE4/Main)
-Copy up for 4.23
#rb none

[CL 6911980 by Jeff Fisher in Main branch]
2019-06-10 12:22:13 -04:00
Michael Lentine
f9b3324b32 Copying //UE4/Dev-Physics to Dev-Main (//UE4/Dev-Main) @ 6903150
#rb none
#rnx

[CL 6903163 by Michael Lentine in Main branch]
2019-06-08 17:15:34 -04:00
Max Chen
58ed55be26 Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer)
#rb none
#lockdown nick.penwarden

[CL 6863746 by Max Chen in Dev-Sequencer branch]
2019-06-06 13:46:20 -04:00