Commit Graph

83 Commits

Author SHA1 Message Date
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
Steve Robb
5c1f45e9a8 Undo //UE5/Main/Engine/... changelist 19833778 due to Mac and Android compilation failure.
#rb none
#jira none
#preflight none
#fyi will.damon

[CL 19835840 by Steve Robb in ue5-main branch]
2022-04-20 15:09:51 -04:00
Steve Robb
a9e89c3ed6 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*().

#rb devin.doucette, charles.bloom
#jira UE-148435
#preflight 625ece48f16e0d2accab15d9

[CL 19833778 by Steve Robb in ue5-main branch]
2022-04-20 13:38:10 -04:00
alexis matte
ec6d2418b9 Fix the alternate skinning build to adjust the section max bone influence count in case the alternate skinning use more influence then the base skinning.
#rb jurre.debaare
#preflight 62436a30470aff98e954b00a
#rnx

#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 19555524 via CL 19555528 via CL 19555535 via CL 19555539
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19561471 by alexis matte in ue5-main branch]
2022-03-30 14:39:21 -04:00
charles bloom
04ffabc485 ImageWrapper and import/export refactor
FImage is now the standard preferred type for a bag of pixels
FImageView can point at pixels without owning an allocation
ERawImageFormat (FImage) converts to ETextureSourceFormat
FImageUtils provides generic load/save and get/set from FImage
major cleanup in the ImageWrappers
new preferred API is through ImageWrapperModule Compress/Decompress
SetRaw/GetRaw functions cleaned up to not have undefined behavior on unexpected formats
ImageWrapper output added for HDR,BMP,TGA
RGBA32F format added and supported throughout import/export
EditorFactories import/export made more generic, most image types handled the same way using FImage now
Deprecate old TSF RGBA order pixel formats
Fix many crashes or bad handling of unusual pixel formats
Pixel access functions should be used instead of switches on pixel type

#preflight 6230ade7e65a7e65d68a187c
#rb julien.stjean,martins.mozeiko,dan.thompson,fabian.giesen

[CL 19397199 by charles bloom in ue5-main branch]
2022-03-15 18:29:37 -04:00
fred kimberley
7fbfaf57c8 Require explicit constructors/casts when converting between FVector, FVector3d, and FVector3f.
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build

#ROBOMERGE-AUTHOR: fred.kimberley
#ROBOMERGE-SOURCE: CL 18817999 in //UE5/Release-5.0/... via CL 18818012 via CL 18822871
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18824721 by fred kimberley in ue5-main branch]
2022-02-02 07:59:31 -05:00
andrew davidson
3debbbd465 Fix FVector2D variant casts
Submitted on behalf of fred.kimberley
#rb andy.davidson
#preflight 61f8719ea6632a34f35e654b

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18801709 in //UE5/Release-5.0/... via CL 18802160 via CL 18821533
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821619 by andrew davidson in ue5-main branch]
2022-02-02 01:45:23 -05:00