Commit Graph

237 Commits

Author SHA1 Message Date
Rolando Caloca
e72619ab3b Merging //UE4/Main@10410794 to Dev-RenderPlat-Staging
#rb none
#rnx

[CL 10419692 by Rolando Caloca in Dev-RenderPlat-Staging branch]
2019-11-25 12:35:20 -05:00
chris caulfield
1633823d81 Chaos
- pair iterations for joint solver
- pair iterations for collision solver
- maintain accurate velocity in joint Apply step (required to work properly collisions)
- dense matrix for linear equations solving (runtime dimensioned with compile-time maximium)
- Cholesky factorizing and linear equation solver for dense matrix
- dense matrix units tests
- dense matrix natvis
- transient handle natvis

#rb none


#ROBOMERGE-SOURCE: CL 10262914 via CL 10262930 via CL 10262935
#ROBOMERGE-BOT: (v591-10236483)

[CL 10262943 by chris caulfield in Main branch]
2019-11-15 13:44:29 -05:00
Juan Canada
ee60030a97 Merging //UE4/Dev-Main@10113801 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 10114485 by Juan Canada in Dev-RenderPlat-Staging branch]
2019-11-12 14:05:17 -05:00
jose villarroel
63f0fb5b45 # Fix for crash when skeleton has missing bones on rigidbody initialize
[CODEREVIEW] Laurent.Delayen, Aaron.Cox
#rnx


#ROBOMERGE-SOURCE: CL 10082457 via CL 10082460 via CL 10082463 via CL 10082466
#ROBOMERGE-BOT: (v574-10069753)

[CL 10082604 by jose villarroel in Main branch]
2019-11-08 10:00:08 -05:00
chris caulfield
ddf75325d2 Fix RBAN body scale for PhysX skeletal mesh physics initialization
#rb none
[FYI] benn.gallagher, jose.villarroel, andrew.ladenberger


#ROBOMERGE-SOURCE: CL 10073217 via CL 10073223 via CL 10073226
#ROBOMERGE-BOT: (v574-10069753)

[CL 10074879 by chris caulfield in Main branch]
2019-11-07 15:27:44 -05:00
thomas sarkanen
1b8d1df751 Updated and expanded CSV Animation stats
#rb Martin.Wilson


#ROBOMERGE-SOURCE: CL 10070346 via CL 10070347 via CL 10070350 via CL 10070352
#ROBOMERGE-BOT: (v574-10069753)

[CL 10074387 by thomas sarkanen in Main branch]
2019-11-07 15:11:17 -05:00
chris caulfield
b94e152b59 Fix CIS for AnimNode_RigidBody_Chaos
#rb none


#ROBOMERGE-SOURCE: CL 9883364 via CL 9883543
#ROBOMERGE-BOT: (v553-9872581)

[CL 9883549 by chris caulfield in Main branch]
2019-10-29 13:57:48 -04:00
chris caulfield
2ba5ba2de6 Chaos 6dof joint
- add kinematic target interpolation
- fix non-cone swing axis index in joint solve
- disable velocity solve by default (Unit tests are set up for position solve. RBAN overrides it anyway)

#rb none


#ROBOMERGE-SOURCE: CL 9882611 via CL 9882624
#ROBOMERGE-BOT: (v553-9872581)

[CL 9882799 by chris caulfield in Main branch]
2019-10-29 13:35:01 -04:00
chris caulfield
07644fe820 Chaos RBAN joints
- Joint Velocity solve
- Fix capsule inertia
- Fix race condition in Evolution velocity update

#rb none


#ROBOMERGE-SOURCE: CL 9838329 via CL 9838331
#ROBOMERGE-BOT: (v546-9757112)

[CL 9838332 by chris caulfield in Main branch]
2019-10-25 08:35:55 -04:00
braeden shosa
3ccce0de2c Inertialization error logging.
- Inertialization requests made without the context of an ancestor inertialization node now log an error identifying the source of the request.
- Added an editor only table to map runtime nodes back to their source. This enables runtime node errors to identify the source.
- The log messages are text only for now, as this is a limitation of the current message log handling in AnimInstanceProxy. However, having the reverse map gets us halfway to runtime node messages with clickable hyperlinks.
- Don't log errors if anim graph blend time is zero. Anim graph times are allowed to be zero to cancel inertialziation, but there's no need to complain about a missing inertialization node in that case.
- Improved inertialization documentation
#jira UE-80532
#rb thomas.sarkanen
[FYI] thomas.sarkanen, laurent.delayen, zack.letters

#ROBOMERGE-SOURCE: CL 9827176 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v546-9757112)

[CL 9827179 by braeden shosa in Main branch]
2019-10-24 21:21:22 -04:00
max chen
bc8433e46c Sequencer: Correctly clear the active anim instance on a skeletal animation component when stopping a sequence.
This will stop any active anim-notifies when reverting to pre-animated state.

#jira UE-82283
#rb mike.zyracki
[FYI] ludovic.chabant

#ROBOMERGE-SOURCE: CL 9765069 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v545-9751379)

[CL 9765071 by max chen in Main branch]
2019-10-23 17:51:03 -04:00
chris caulfield
96b3d7991b Chaos 6dof joint
- adding projection (WIP)
- cleanup

#rb none


#ROBOMERGE-SOURCE: CL 9745742 via CL 9745745
#ROBOMERGE-BOT: (v542-9736015)

[CL 9745844 by chris caulfield in Main branch]
2019-10-22 11:12:17 -04:00
andrew ladenberger
36ebdf12a9 Added SkeletalMeshComponent option to disable rigid body anim nodes. Enables more selective rban use to save on memory and anim init time for distant meshes.
#rb jordan.cristiano, chris.caulfield, thomas.sarkanen
[FYI] ben.woodhouse, chris.bunner


#ROBOMERGE-SOURCE: CL 9603884 via CL 9603950 via CL 9603954
#ROBOMERGE-BOT: (v526-9587114)

[CL 9604203 by andrew ladenberger in Main branch]
2019-10-15 16:08:35 -04:00
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