Commit Graph

49 Commits

Author SHA1 Message Date
halfdan ingvarsson
974a7351f4 Fix System.AnimationCore.BoneWeights.Settings test to match reality.
#jira none
#rnx
#preflight 63cb17d8b91ac945f533e682

[CL 23798609 by halfdan ingvarsson in ue5-main branch]
2023-01-20 17:45:27 -05:00
rinat abdrashitov
1da1ecb3f0 -Added a new flag (bBlendZeroInfluence) to the FBoneWeightSettings to allow control over how zero-influence bones are treated during the blend. The Blend method will now consider the flag when performing the interpolation.
-Added a Blend function overload that handles barycentric interpolation of 3 skin weights.
-Refactored SetBoneWeightsFromBary (in DynamicVertexSkinWeightsAttribute.h) and ConstructVertexSkinWeightsAttribute (in SelectiveTessellate.cpp) functions to use the newly added Blend function for barycentric interpolation.
-Since the default Blend behavior has changed, make sure that unit tests in BoneWeightTests.cpp are refactored. Added more tests for cases when bBlendZeroInfluence is set to true and when using Blend for barycentric interpolation.

#rb halfdan.ingvarsson
#jira None
#preflight 6361de120c2e7c8f91668a75

[CL 22921407 by rinat abdrashitov in ue5-main branch]
2022-11-02 13:53:31 -04:00
jaime cifuentes
39bb9b978b Truncation fixes for AnimationGraphRuntime module
#rb @thomas.sarkanen
#jira UE-166634
#preflight 63591a0a764df4711e65c76e

[CL 22776099 by jaime cifuentes in ue5-main branch]
2022-10-26 07:34:18 -04:00
jaime cifuentes
bbd23fff36 Truncation fixes for AnimationCore module
#rb @halfdan.ingvarsson
#jira UE-166631
#preflight 634e5c746543aa1c1ac2592e

[CL 22595141 by jaime cifuentes in ue5-main branch]
2022-10-18 04:02:23 -04:00
halfdan ingvarsson
e2210cb024 Support for 16-bit skin weights on the skelmesh.
The main change is that FSoftSkinVertex, used by FSkeletalMeshLODModel, in now stores weights as 16-bit after conversion from the import data. This increases the size of each FSoftSkinVertex from 144 bytes to 160 bytes (about 10% increase). By default render meshes still use 8-bit skin weights, with weights downshifted from the 16-bit modeling data, so no change in GPU memory consumption there. However, the vertex buffer will automatically return a 16-bit skin weights when requested from the GPU side (e.g. for CPU skinning and viewing tangents).

This change in the model data and vertex buffer CPU-side query, resulted in many changes throughout the codebase and will have an effect on licensees who are actively reading from and writing to these two storage locations.

The GPU skin cache shader has had one more permutation added when not using unlimited skin weights. The vertex factory is not affected.

#jira UE-164386
#rb alexis.matte, josie.yang
#preflight 632c0c5ab4515b7e22b4804d

[CL 22215219 by halfdan ingvarsson in ue5-main branch]
2022-09-27 19:48:05 -04:00
marc audy
311f7464bf Updated ../Engine/Source/Runtime/... to inline gen.cpp files
Before:
3648 unity files
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds

After:
3548 unity files
Total CPU Time: 46643.828125 s
Total time in Parallel executor: 486.06 seconds

#jira
#preflight

[CL 22173263 by marc audy in ue5-main branch]
2022-09-24 13:57:58 -04:00
jack cai
4b9882c776 AnimationCore: relax the condition for checking the singularity a bit, use 1 - KINDA_SMALL_NUMBER instead of 1 - SMALL_NUMBER
#jira none
#rb halfdan.ingvarsson, sara.schvartzman, benoit.gadreau,
#preflight https://horde.devtools.epicgames.com/job/6319972f2b7fe03eb697f5a6

[CL 21979461 by jack cai in ue5-main branch]
2022-09-13 02:08:52 -04:00
Helge Mathee
b9150e2620 Control Rig: Support for preferred euler angles
- Removed implicit casts between FEulerTransform and FTransform
- moved interrogator and tokens inside of sequencer to use FEulerTransform
- added the notion of a preferred rotator for Controls. transform takes precedence for runtime solves, but UI / sequencer relies on the preferred rotator

#rb mike.zyracki benoit.gadreau
#jira UE-150830
#preflight https://horde.devtools.epicgames.com/job/62875a58286cf1867a419989

[CL 20298666 by Helge Mathee in ue5-main branch]
2022-05-20 13:48:08 -04:00
helge mathee
efa54d2821 Control Rig: Move euler / rotation order conversion to AnimationCore
#rb jack.cai
#jira na
preflight https://horde.devtools.epicgames.com/job/6193dc759137c0a5bedd8645

#ROBOMERGE-AUTHOR: helge.mathee
#ROBOMERGE-SOURCE: CL 18208177 in //UE5/Release-5.0/... via CL 18208191
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18208247 by helge mathee in ue5-release-engine-test branch]
2021-11-16 12:12:41 -05:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00
halfdan ingvarsson
70de324805 Templatized FBoneWeight into TBoneWeight that can sit on top of an arbitrary array-like container.
Register new SkinWeights mesh descriptor attribute that combines weights and influence in a single attribute, that proxies TBoneWeight to allow setting bone weights in one shot with normalization, culling, etc.
Deprecated and removed InfluenceBones and InfluenceWeights and updated the calling code to use the new attribute.

#jira UE-93689
#rb Alexis.Matte
#rnx

[CL 15516471 by halfdan ingvarsson in ue5-main branch]
2021-02-24 13:31:48 -04:00
halfdan ingvarsson
7eda00912e Change FBoneWeight::MaxRawWeight to a constexpr function to satisfy Mac linkage issues.
#trivial
#rnx

[CL 15068830 by halfdan ingvarsson in ue5-main branch]
2021-01-13 13:14:44 -04:00
halfdan ingvarsson
940d1131b3 Templataize FBoneWeights so that it can be used on any dynamically sizeable container.
#rb none
#jira none
#rnx

[CL 15067624 by halfdan ingvarsson in ue5-main branch]
2021-01-13 11:54:11 -04:00
halfdan ingvarsson
331db0f7b4 Fix duplicate check to be separate checks. Added a test for it.
#jira none
#rb none
#rnx

[CL 14145714 by halfdan ingvarsson in ue5-main branch]
2020-08-19 14:06:31 -04:00
halfdan ingvarsson
fc97705f40 Build fix for Linux -- lambda argument shadows member variable.
#jira none
#rb none
#rnx

[CL 14132771 by halfdan ingvarsson in ue5-main branch]
2020-08-18 11:44:42 -04:00
halfdan ingvarsson
f09be305a8 New container to store per-vertex bone weights. Takes care of normalization, blending, capping weight counts, etc. while being lightweight and fast.
#jira UE-93689
#rb Alexis.Matte

[CL 14132466 by halfdan ingvarsson in ue5-main branch]
2020-08-18 11:16:00 -04:00
halfdan ingvarsson
8da0b15ed9 Remove unused function and nix dependency on Engine.
#jira none
#rb Lina.Halper
#rnx

[CL 13800643 by halfdan ingvarsson in ue5-main branch]
2020-06-30 17:10:13 -04:00
Lina Halper
44c1bb3292 COPY from //Dev-Anim to //Dev-Main
#rb: none
#fyi: Laurent.Delayen, Thomas.Sarkanen

[CL 11088765 by Lina Halper in Main branch]
2020-01-22 17:58:55 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05: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
Helge Mathee
4633735def RigVM - Rename/move file(s) - introduced new RigVM module
#rb none

[CL 7736102 by Helge Mathee in Dev-Anim branch]
2019-08-05 08:41:10 -04:00
Helge Mathee
2a8033db59 Multiplex: VM data structure starts to work - basic instructions implemented + unit tests
#fyi lina.halper
#rb none

[CL 7709785 by Helge Mathee in Dev-Anim branch]
2019-08-02 15:53:52 -04:00
Helge Mathee
dfe2eb2595 Multiplex: Support for struct alignment and copy assignment + unit tests
#rb none

[CL 7707749 by Helge Mathee in Dev-Anim branch]
2019-08-02 12:36:11 -04:00
Helge Mathee
7ca1aabae6 Multiplex: Support for strings and names + unit tests
#rb none

[CL 7706998 by Helge Mathee in Dev-Anim branch]
2019-08-02 11:23:59 -04:00