Also disabled creating constraints from the PhysicsAssetUtils level by just checking if UPhysicsConstraintTemplate are allowed to be created. This allowed me to remove the code modifying the UPhysicsAssetGenerationSettings defaults at the ValkyrieEditor level.
#rb Sergio.Gardeazabal jeanluc.corenthin
[CL 26198225 by alex mcadams in 5.3 branch]
Firstly, improve the dirichlet weights on the surface when doing the poisson diffusion by only considering vertices with non-zero weights for the closest point calculation. Before, it was possible to get zero weights because the triangle mesh includes any triangle with non-zero weights.
Secondly, when renormalizing weights, set a higher threshold (0.1) for discarding weights.
Also added debug draw of the weights.
#preflight 63f941e4ae54ee4ce9209426
[CL 24426752 by Alex McAdams in ue5-main branch]
This adds a new Chaos Implicit Object TWeightedLatticeImplicitObject which can wrap any (bounded) rigid implicit object with a weighted lattice. The lattice deforms via Linear Blend Skinning and is used to approximate deformation of the wrapped rigid implicit object.
A new physics asset FKShapeElem type has been added: the FKSkinnedLevelSet which holds a TWeightedLatticeImplicitObject<FLevelSet>. The PhysicsAssetEditor has been updated to generate this for skeletal meshes. Skinned level sets can be generated from a subset of bones in the skeletal mesh. Weights are transferred by Poisson diffusing weights on the surface to the volumetric lattice points.
There is limited debug draw and the asset generation workflow likely will need iteration.
#preflight 63d9b7f48505ea6b1fd4abb4
#rb kriss.gossart
[CL 23950693 by Alex McAdams in ue5-main branch]
Chaos cloth (the primary user of level sets) can penetrate arbitrarily deep inside the collider and still needs a good Phi and Normal value, rather than only having accurate values within a narrow band. This makes calculating the levelset more expensive (a one time cost), but in practice, it's not really noticeable.
#preflight 63bcaae80b7fcef8b094135d
#rb tyson.brochu
[CL 23630951 by Alex McAdams in ue5-main branch]
Weights are now using uint16 but one variable was still uint8
#rb alex.mcadams
#preflight 636152b8397c7af89670c8a1
[CL 22885984 by tyson brochu in ue5-main branch]
- try to make the output grid resolution better match the specified input resolution
- don't try to render the grid if resolution is too high (debug rendering can really start to slow things down)
- fix a bug generating a mesh for solid rendering of the level set cells
#jira UE-167098
#preflight 634eee0a4d3101c0ea37ac6f
[CL 22608178 by tyson brochu in ue5-main branch]
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]
- Enable users to view and edit the parent and child frame transforms of constraints in the PhAT details panel
- Constraint transforms are represented as a position and a rotator in the details panel (internally they are represented as a position and a pair of orthonormal vectors)
- Constraint transforms can optionally be displayed in the frame of the assocaited bone OR relative to the default (snapped) transforms
- Allow parent / child transform position / orientation componenets to be 'snapped' to defaults individually
- Support using modifier keys to manipulate only the child frame transform via a viewport widget
#jira UE-119744
#jira UE-119741
#rb [at]Thomas.Sarkanen, [at]sebastian.nordgren
#preflight 62f13b9a23003b62a3d4c277
#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 21282618 via CL 21282632 via CL 21282638
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
[CL 21283069 by nick brett in ue5-main branch]
#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]
#preflight 61f277cbaf74b68515c0bd64
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18751911 in //UE5/Release-5.0/... via CL 18751924 via CL 18752067
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18752076 by andrew davidson in ue5-main branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
Also remove unnecessary allocations by allowing the async task to assume ownership of the vertex and index arrays passed to it.
#rb Andy.Davidson, Cedric.Caillaud
#jira UE-125187
#ROBOMERGE-AUTHOR: richard.talbotwatkin
#ROBOMERGE-SOURCE: CL 17448234 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17448242 by richard talbotwatkin in ue5-release-engine-test branch]