Commit Graph

89 Commits

Author SHA1 Message Date
alexis matte
5ef80ec310 Fix a possible deadlock when building skeletalmesh
#jira UE-189048
#rb jeanluc.corenthin
#rnx

[CL 26717213 by alexis matte in ue5-main branch]
2023-07-31 15:16:30 -04:00
balazs toereki
64d909ddc6 LODUtilities MatchImportedMaterials fix for skeletal with no material re-imports
#jira UE-188497
#rb Alexis.Matte

[CL 26368765 by balazs toereki in ue5-main branch]
2023-07-05 09:04:15 -04:00
robert millar
94c717a93c Add extra info in message when skin weight profiles don't match
#rb none

[CL 26294482 by robert millar in ue5-main branch]
2023-06-28 14:58:28 -04:00
halfdan ingvarsson
9c3950900b Skelmesh: Optimize import of alternative skin weights.
#jira UE-186957
#preflight 646e950df85111e06cc68d00
#rb alexis.matte

[CL 25635967 by halfdan ingvarsson in ue5-main branch]
2023-05-25 20:47:10 -04:00
Alexis Matte
a922921aee Fix material rematch when re-importing skeletalmesh
#jira none
#rb jeanluc.corenthin
#rnx
#preflight 646e2bbd6c2a2532b1e12c57

[CL 25604611 by Alexis Matte in ue5-main branch]
2023-05-24 11:43:05 -04:00
halfdan ingvarsson
d9d24a10d6 Skeletal Mesh: Allow creation, use and cooking of arbitrary per-vertex attributes on skeletal meshes.
#jira UE-141809
#rb alexis.matte, josie.yang
#preflight 643f3b0b8d0bcde49c23411f

[CL 25099619 by halfdan ingvarsson in ue5-main branch]
2023-04-18 21:22:54 -04:00
Alexis Matte
f4e1b59c90 Rematch material on re-import for both the static mesh and the skeletal mesh.
Add a new factory step call ImportAssetObjectFinalize_GameThread so we can call some UI on the game thread when importing an asset.

#jira UE-174377
#rb jeanluc.corenthin
#rnx
#preflight 64235271a86ae7cbcccfa4af

[CL 24835626 by Alexis Matte in ue5-main branch]
2023-03-29 10:19:22 -04:00
Alexis Matte
9d316ac34d Fix assert when showing alternate skinning
#jira UE-169693
#rb halfdan.ingvarsson
#rnx
#preflight 63bc7ff4763c6c10644743d1

[CL 23619555 by Alexis Matte in ue5-main branch]
2023-01-09 16:08:03 -05:00
danny couture
0438d336d2 Allow skinned mesh reduction to use parallelfor when running from workers
#rnx
#rb trivial
#fyi Alexis.Matte
#preflight skip

[CL 23486256 by danny couture in ue5-main branch]
2022-12-12 21:15:18 -05:00
henry falconer
c5c0048993 Added support for setting r.GPUSkin.UnlimitedBoneInfluences and r.GPUSkin.UnlimitedBoneInfluencesThreshold per platform
#rb josie.yang,jeremy.moore
#preflight 6391c6970236bc17ce1f98f8

[CL 23448049 by henry falconer in ue5-main branch]
2022-12-08 11:50:34 -05:00
henry falconer
4510b454c4 Allow users to limit the number of bone influences per vertex below what the project supports.
BoneInfluencesLimit can be set on each LOD of an asset. DefaultBoneInfluencesLimit is a per-platform global default that can be set from the project settings.

This allows you to, for example, enable Unlimited Bone Influences on a project while ensuring that meshes don't use more than 8 influences by default, even if they've been imported with more.

#rb alexis.matte,josie.yang
#preflight 6380959cf514e1ded907774d

[CL 23265588 by henry falconer in ue5-main branch]
2022-11-25 08:32:25 -05:00
JeanMichel Dignard
787ba83f48 LODUtilities: Fixed potential dereferenting null pointers in SetCustomLOD.
#jira UE-169914
#rb none
#fyi alexis.matte
#preflight 6372b70dee4d25f90ae1db86

[CL 23127530 by JeanMichel Dignard in ue5-main branch]
2022-11-14 17:00:27 -05:00
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
halfdan ingvarsson
b0d6046e6a Fix truncation warnings in SkeletalMeshUtilitiesCommon & SkeletalMeshDescription.
#jira UE-166264
#rb alexis.matte
#preflight 6346d903045315f96a7fc8dd
#rnx

[CL 22479434 by halfdan ingvarsson in ue5-main branch]
2022-10-12 11:35:59 -04:00
Brian Karis
1b845f1def Remove doubles from mesh processing
#rb graham.wihlidal
#preflight 633b662e842f0d4c55e4b3d9

[CL 22319966 by Brian Karis in ue5-main branch]
2022-10-03 19:39:31 -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
jeanmichel dignard
b0b5ebab90 FLODUtilities::BuildMorphTargets
- Added checks to narrow down on a crash.
- Keep the async flag until we're done with the morph targets so that they don't get garbage collected.

#jira UE-163931
#rb alexis.matte
#preflight 632893203752284a313a0843

[CL 22087023 by jeanmichel dignard in ue5-main branch]
2022-09-19 21:57:11 -04:00
SungJJinKang
6fdbe650f6 PR #9527: Consider unreal's skeletal mesh bone naming when import non base lod skeletal mesh (Contributed by SungJJinKang)
#jira UE-162455
#misc also applied fix to LODUtilities implementation
#rb Alexis.Matte
#preflight 6315ce7ea20b67673be69059

[CL 21790664 by SungJJinKang in ue5-main branch]
2022-09-05 06:41:00 -04:00
kriss gossart
0422ca7705 Skeletal Mesh - Replace the newly created GetSkeletalMesh function by GetSkeletalMeshAsset so it matches the setter SetSkeletalMeshAsset function (which itself couldn't be named SetSkeletalMesh due to the function already existing and doing something else).
#rb Josie.Yang
#preflight 62fa2afeae3edb54c979492e
#jira none

[CL 21385959 by kriss gossart in ue5-main branch]
2022-08-15 09:26:50 -04:00
danny couture
88831798ee Fix potential fatal error when saving a package with skeletal mesh still being loaded asynchronously
#jira UE-160451
#rb PJ.Kack, Francis.Hurteau
#preflight 62f12822086f90bbc46e1542

[CL 21270851 by danny couture in ue5-main branch]
2022-08-08 12:57:01 -04:00
Josie Yang
f291e0d805 Refactor skeletal mesh DDC async compile logic to be generic for skinned asset type. Added async render data compilation for cloth asset.
#jira UE-157842
#rb kriss.gossart, danny.couture, alexis.matte
#preflight 62c84cfbf671e8d2fad0fac6

[CL 21057061 by Josie Yang in ue5-main branch]
2022-07-12 11:31:49 -04:00
Josie Yang
6b15506e58 Replace direct access to SkeletalMesh object from USkinnedMeshComponent with GetSkeletalMesh function
#rb kriss.gossart
#preflight 62aafc9ada0af39a4783930a

[CL 20686007 by Josie Yang in ue5-main branch]
2022-06-16 09:14:04 -04:00
Benn Gallagher
8757cb3641 Physics interface cleanup.
* Removed deprecated or dead code paths
* Simplified build system setup for physics support
* Deprecated build system flags and unsupported macros

#jira none
#rb Chris.Caulfield, Kriss.Gossart
#preflight 62963ec0fe779f23c8ea0c5e

[CL 20450744 by Benn Gallagher in ue5-main branch]
2022-06-01 06:59:18 -04:00
Alexis Matte
0a5bc2e83d - Alternate skinning now use interchange (if interchange is enabled)
- Custom LOD import now use interchange (if interchange is enabled)
- Add an InterchangeManager API function to retrieve per asset type extensions format
- Add an interchange mesh utilities to create a common place to add mesh import code.
- Add an interchange file picker interface which can be implemented by plugin
- Add an editor plugin that implement the file picker, The file picker can be customize to import specific asset type.

#jira UETOOL-5050
#jira UETOOL-5049
#rb jeanmichel.dignard
#preflight 626819fa430b9997ebe3bece
#rnx

[CL 19923170 by Alexis Matte in ue5-main branch]
2022-04-26 12:53:38 -04:00
Steve Robb
f4d1564ffe New BitCast<>() function which works like C++20's std::bit_cast<>().
Deprecation of FPlatformMath::IsNegative*() functions.
New FPlatformMath::IsNegativeOrNegativeZero().
Fix up of existing usage to either use < 0 or IsNegativeOrNegativeZero where appropriate.
Fixes for aliasing problems in various FMath functions, including IsNegative*().

Resubmission of CL# 19833778 with fixes for problematic Mac and Android toolchains, causing spurious errors while building PCHs.

#rb devin.doucette, charles.bloom, will.damon, chris.babcock
#jira UE-148435
#preflight 6260764d91376845adf9893f

[CL 19840896 by Steve Robb in ue5-main branch]
2022-04-20 19:05:47 -04:00