* ScreenSize option is now deduced from the meshes bounds and the draw distance.
#rb patrick.enfedaque
#preflight 633ef8ea174b138657d89507
[CL 22389969 by sebastien lussier in ue5-main branch]
ChildPropertyHandles are stored as TSharedRef, so there's no reason to convert them to an intermediate TWeakPtr.
[REVIEW] [at]patrick.boutot
#jira UE-165055
#preflight 6335314ee410691606a56208
[CL 22279103 by sebastian nordgren in ue5-main branch]
* Field is now hidden when edited from an HLOD Layer
* When building HLODs, retrieve the expected draw distance from the FHLODBuildContext object
#rb jeanfrancois.dube
#preflight 6335ef97c37844870abe3060
[CL 22264292 by sebastien lussier in ue5-main branch]
If this is set, and we are rendering a nanite mesh then we use the override material.
Removed nanite override materials from mesh components.
Material override serialization is specialized so that we don't cook out override materials on non-nanite platforms.
#rb jason.nadro, matt.peters, francis.hurteau
#preflight 6334554b665f6b8f7f770a9b
[CL 22240746 by jeremy moore in ue5-main branch]
* New automatic texture sizing options would show the "Texture Size" option, which was confusing
#rb patrick.enfedaque
#preflight skip
[CL 22146059 by sebastien lussier in ue5-main branch]
-Fix: Lighting Channels changes not applied to all selected rows
-Adjust spacing of light channel buttons
#jira UE-163703
#jira UE-162907
#rb Jason.Walter
#preflight https://horde.devtools.epicgames.com/job/63292c38b40000c8f049186d
[CL 22100355 by jared therriault in ue5-main branch]
This was a bug exposed because FPropertyRowGenerator previously ignored RequestRefresh() calls entirely, but now does a deferred refresh.
Since this was the only use of it, IEditableTextProperty and all its implementations have also had their RequestRefresh() methods removed.
[REVIEW] [at]jamie.dale, [at]vincent.gauthier
#preflight 632432a2cb23fcbbd8ef5dd2
[CL 22050354 by sebastian nordgren in ue5-main branch]
**Animation Data Model load/cook time and memory optimizations**
- Added SetKeysOnly to FMovieSceneFloatChannel, allowing to only set value/frames values and skip allocating key handles
- Added EvaluateWithCache to TMovieSceneCurveChannelImpl, allowing to evaluate multiple curves using a caching data structure holding the frame-indices resulting from the FrameTime -> indexes calculationg
- UFKControlRig::GetControlName/GetControlTargetName, added thread_local mapping cache and optimized FName generation
- Made the sequencer bone curve keys 'sparse' again, if constant it just sets the default value for the curve otherwise it is still uniform
- Only resample keys when compressing, and clear them on any significant model changes and when save-during-cook has been completed
- Routed ::Presave for AnimSequencerDataModel directly through to UMovieSceneSignedObject to skip compiling cooked sequencer that that will/should never cooked and packaged
- Added some significant pass-by-reference changes to AnimSequencerModel APIs (passing large arrays by value previously) :doh:
- Optimized GenerateLegacyBoneData
Original CL description:
**New**
- Engine
- IAnimationDataModel interface
- AnimationData plugin
- AnimSequencerDataModel, sequencer based implementation of IAnimationDataModel
- AnimSequencerDataController, controller for above (implementation of IAnimationDataController)
- Added FCompressedRichCurve::PopulateCurve, allowing users to convert back to a FRichCurve for validation/debugging
- Added DefaultFrameRate to AnimationSettings, this replaces the hardcoded 30FPS in code
- Added ::GetKeyIndicesFromTime which takes FFrameRate
- Added AnimSequenceBase::OnAnimModelLoaded, this is required for correct postloading behaviour of data model (specifically AnimSequencerDataModel, as it depends on data from its outer ? anim sequence)
- Added IAnimationDataModel ::Evaluate which now takes responsibility for evaluating raw animation bone, curve and attribute data. And moved all trackbased evaluation code into AnimDataModel.cpp
- Added a.ForceEvalRawData allowing to force evaluation of source data
- Added a.SkipDDC to force compressing animation data locally
**Changed**
- Reparent UAnimDataModel to IAnimationDataModel interface, and rejig behaviour
- AnimSequenceBase now reference AnimDataModel as IAnimationDataModel
- Upgrade path for legacy to IAnimationDataModel and existing UAnimDataModel to IAnimationDataModel through IAnimationDataController::PopulateWithExisting
- IAnimationDataModel data is now frame(number/rate/time) based rather than seconds/keyindices. This enforces frameborder aligned data from now on.
- Moved RichCurve evaluation code from RichCurve.cpp to separate file and consolidated all instances of copy-pasta behaviour
- Updated/removed deprecated EngineTests around AnimSequences
- Changed many instances to use a FFrameTime together with a known FFrameRate versus seconds and sequencelength in float involving frame \/ time calculations (including instances of FAnimKeyHelper)
- Switched anim sequence evaluation to use double in Extraction context for time value and patched up places with static\_cast\<double\>
- FRichCurve::Eval
- Make sure we always evaluate keys when T >= Key0.Time and T <= KeyN.Time to deal with crazy userweighted tangents
- Fixed WeightedKeyDataAdapter::GetKeyInterpMode/GetKeyTangentWeightMode retrieving invalid values, as it was indexing according to KeyIndex rather than KeyIndex\*2. This made it so that values were misinterpreted.
- Fixed WeightedEvalForTwoKeys for compressed data retrieving GetKeyInterpMode and GetKeyTangentWeightMode using the wrong index value. As they are not indexed using KeyDataHandle type.
- Fixed issue where compression could crash when containing zero-key scale additivebase track (tries to retrieve)
- Replaced instances of NULL with nullptr
- Moved required decompression information into FAnimSequenceDecompressionContext and reimplemented decompression within UE::Anim::Decompression namespace and new file
- Deprecated ::GetRawDataGuid and replaced with GetDataModel()->GenerateGuid()
- Fixed UAnimStreamable evaluation/compression (previously broken with MVC refactor)
- Updated Animation exporting pipeline to be frame-based rather than seconds
- Deprecated RetargetPose, replaced with FRetargetingScope (used within AnimModel::Evaluate)
- Fixed BaseAdditiveAnimation array become invalid/incorrect when removing zero-additve tracks during compression
- Updated EngineTest animation sequence related tests to new APIs (while maintaining deprecated path testing as well for now)
- AnimDataController / Animation Sequence tests now generate a USkeleton for the transient animation sequence (used to perform the test on)
**Removed**
- Unused file/class AnimData/AnimDataNotifyCollector.h
#rb Thomas.Sarkanen, Mike.Zyracki
#jira UE-131296
#preflight 631f6897a9331c69c3a34d1e
[CL 21980597 by Jurre deBaare in ue5-main branch]
Metal 2.3 removed, Metal 3.0 added for Mac
#jira UE-163352
#rb adam.kinge bertrand.carre
#preflight 631ea7eb94758d0bf2008668
[CL 21960671 by axel riffard in ue5-main branch]
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.
#jira
#preflight 631e283bec5b0c765fc0ffdb
[CL 21960084 by bryan sefcik in ue5-main branch]
- Change Pos, PriAxis and SecAxis property's catagory
- Only hide Pos properties when in PhAT
- Fix typo in LocText tag (unrealted to above)
#rmx
[CL 21907518 by nick brett in ue5-main branch]