Problem is that when we select non-decal materials on a decal component, the renderer will drop back to default material which can be confusing for the user.
Three changes have been made:
* Filter the material selection list to decal only materials. Note that this requires us to iterate up the parent AssetData chain for material instances which is potentially slow. But testing on our largest asset registry, this was still very usable.
* Pop a toast when a decal component has a non-decal material. This tells the user about the issue, and gives hyperlink to edit the material. This is to surface the legacy case or the case where material's are changed after selection.
* Show a map check warning when a decal component has a non-decal material. This is another way to surface the legacy case.
#rb Jason.Nadro
[CL 32976874 by jeremy moore in ue5-main branch]
Added support for writing fixed color when baking SVT. This replaces the fixed "debug" function and allows us to use the feature outside of debug usage.
Fixed path that creates an SVT for displacement map. Here the fixed color can be used to effectively set a zero displacement for the low resolution mips.
Added r.VT.RVT.MipColors cvar which uses the fixed color support to generate RVT using debug mip colors. This is useful for debugging issues with materials sampling higher resolution mips than expected, putting pressure on the physical pools.
Removed r.VT.RVT.EnableVolumes cvar which is no longer required now that volumes can be enabled/disabled per platform without triggering page table or physical texture allocations.
Added support for custom expanding of bounds for RVT volume.
Tidied naming of categories and sections for the RVT components.
[CL 30550025 by jeremy moore in ue5-main branch]
-Moving much of engine/source/runtime/headmounteddisplay to a plugin mainly to reduce minimum UE executable size and memory use. But this is also nice for organization. The ideal would be to move everything except interfaces used by core engine. VREditor pulling in UMotionControllerComponent is the main blocker at this time. That dependency is expected to go away eventually at which point we can do the rest of this transfer.
-Added dependencies to XRBase plugin or module as necessary, refactored to avoid some dependencies, removed a few unnecessary dependencies.
-Stripped vestigial VR references from a few project templates. Mostly just unused HeadMountedDisplay module refs, but a tiny bit of code from TP_Puzzle.
-Fixed dependency cycle ignores related to MaterialShaderQualitySettings PIEPreviewDeviceProfileSelector and UnrealEd. For reasons I do not understand the HeadMountedDisplay dependency on AugmentedReality was preventing the detection of those, long existent, cycles.
#jira UE-181824
#review
#rb Robert.Srinivasiah
#preflight 642f3cbf4c3ccbbdf1990a1f 6434291c28551807175e1142
[CL 24984065 by Jeff Fisher in ue5-main branch]
- Added new compression and 'compiling' API/path
* Relies on newer DDC API
* Only fetches compressible data when data is not found in DDC
* Fetching data happens off the GT now (including Additive animation)
- Deprecated and replace AnimSequence API around compression
** AnimStreamable still relies on old, synchronous, compression path **
IAnimationDataModel
- Removed bone track data being stored as FBoneAnimationTrack
- Bone animation can now only be referenced by Name (not track index anymore)
- Deprecated any API relying on FBoneAnimationTrack
- Added API to retrieve FTransform(s) for given frame(s) with provided bone name
- Added API to lock model against modifications during evaluation (required for non-racing off-GT evaluation)
Animation Sequence
- Frame-rate is now stored on a per-platform basis, allowing for future replacement of frame-stripping (editing property is disabled for now)
- Now allows for storing _transient_ per-platform compressed animation data (required for multi-platform cook)
PerPlatformProperties
- Added per-platform FFrameRate implementation
#preflight 63999f102540a78d2778adb7
#rb Thomas.Sarkanen, Nicholas.Frechette, Devin.Doucette
#fyi Zousar.Shaker
[CL 23510521 by Jurre deBaare in ue5-main branch]
Upvotes from same cl in Release-5.1 stream https://p4-swarm.epicgames.net/reviews/23196426
#jira UE-126563 UE-168914
#rb jeff.fisher robert.srinivasiah
#preflight 639203b1c709c72756ade05f
[CL 23447130 by erica stella in ue5-main branch]
-Add PerQualityLeveleFloat type
-Add customization in LandscapeGrassType to enable or disable perquality/perplaform properties depending on the Project settings()
-Add the possibility to define the perQuality cvar in device profile
-Add new commandlet to convert grassType perPlatform data to perQuality levels
#rb [at]josh.Adams
#Preflight 22591463
[CL 22783444 by serge bernier in ue5-main branch]
Notes:
* Model used for the squeeze factor is HorizontalFocalLength = LensFocalLength / SqueezeFactor; VerticalFocalLength = LensFocalLength;
* The renderer renders the desqueezed image directly because of not wanting to add support to maintain non squared pixel.
* Squeeze factor is only hooked in to DOF's CoC.
* Squeeze factor currently also affects depth blur which it shouldn't in theory, requires dual CoC shader permutations in DOF algorithm to do that correctly.
* Crop's model fits an aspect ratio directly into the desqueezed full sensor image.
* Crop settings are directly applied to the camera's FOV calculation of the camera to avoid rendering extra pixels.
* Custom crop aspect ratios can be added into the project's DefaultEngine.ini
#rb colin.benoit, rod.bogart, pat.tubach
#fyi colin.benoit, rod.bogart, pat.tubach
#jira none
#preflight 62fcefe51e39eb26a08cede2
[CL 21424608 by Guillaume Abadie in ue5-main branch]
Add support for 32 and 64 bit variants of various int vector types.
IntVector2/3/4 - UPROPERTY support including auto-conversion of 32 and 64 bit variants of same signedness.
IntPoint - UPROPERTY support including auto-conversion of 32 and 64 bit variants of same signedness.
IntRect
#preflight 62d6c0a2d76ea4b503282a43
[CL 21162524 by Andrew Davidson in ue5-main branch]