Commit Graph

459 Commits

Author SHA1 Message Date
ennorehling
664320eb6b PR #9375: Common typo: doens't -> doesn't (Contributed by ennorehling)
#preflight 62f27e1a0264595302eefa12
#jira UE-158763
#rb trivial

[CL 21292281 by ennorehling in ue5-main branch]
2022-08-09 13:21:24 -04:00
chris caulfield
0c36c1d8e1 RBAN - change warning to a log to prevent new CIS breaks
#rb trivial

#ROBOMERGE-AUTHOR: chris.caulfield
#ROBOMERGE-SOURCE: CL 21202017 via CL 21202104 via CL 21202177
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21204039 by chris caulfield in ue5-main branch]
2022-07-21 13:31:01 -04:00
chris caulfield
8a874eebd3 RBAN - add warning when using a bone-space simulation with an invalid base bone
#rb none
#preflight 62d869fac0180d8071e4f5b1

#ROBOMERGE-AUTHOR: chris.caulfield
#ROBOMERGE-SOURCE: CL 21197201 via CL 21197206 via CL 21197208
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21197505 by chris caulfield in ue5-main branch]
2022-07-20 23:51:33 -04:00
Bryan sefcik
b4a6e947d8 Ran IWYU on Public headers under Engine/Source/Runtime/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira

#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -04:00
Marc Audy
5b28f37a7c Follow up to CL# 21088391
Remove properties and functions so that redirectors can do their job
Add redirector for function paramter
#preflight
#codereview jaime.cifuentes, thomas.sarkanen, john.vanderburg

[CL 21140261 by Marc Audy in ue5-main branch]
2022-07-17 12:55:54 -04:00
jaime cifuentes
2c16e8a3b3 Uninitialized vars fix
#jira UE-159400
#review @thomas.sarkanen
#preflight 62d03b8cdc4397d384059f9f

[CL 21091809 by jaime cifuentes in ue5-main branch]
2022-07-14 12:05:04 -04:00
jaime cifuentes
7fabb99aaf Inclusive Terminology Push - Part of UE-158645, UE-158525, UE-158532
Renamed / deprecated master/slave terms at SkinnedMeshComponent and SkeletalMeshComponent (plus all the users)

#jira UE-158645, UE-158525, UE-158532
#review @thomas.sarkanen @john.vanderburg
#preflight 62ced88af324cee189e48d43
#tests Verified the properties transfer correctly after modifying them without the fix and loading the character with the component with the fix applied
#preflight 62cfc490c36afd11ef07c9ab

[CL 21088391 by jaime cifuentes in ue5-main branch]
2022-07-14 03:55:26 -04:00
jaime cifuentes
86c8b3ddab AnimNode_Rigidbody MasterAlpha rename. Part of UE-158645
Adding the old property as deprecated, so the c++ continues compiling for external users of the engine

#jira UE-158645
#review @thomas.sarkanen
#fyi @benn.gallagher
#preflight 62cd75d33f422700272a0e11

[CL 21055821 by jaime cifuentes in ue5-main branch]
2022-07-12 10:03:15 -04:00
jaime cifuentes
7f89f01ffa AnimNode_Rigidbody MasterAlpha rename. Part of UE-158645
#jira UE-158645
#review @thomas.sarkanen @benn.gallagher
#preflight 62cc4bcabc36fc75cc5d6d72

[CL 21054114 by jaime cifuentes in ue5-main branch]
2022-07-12 05:30:52 -04:00
charles lefebvre
c2e5e76435 Fix non unity build errors
#test compile cpp

#ROBOMERGE-AUTHOR: charles.lefebvre
#ROBOMERGE-SOURCE: CL 20982633 via CL 20982637 via CL 20982646
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 20984580 by charles lefebvre in ue5-main branch]
2022-07-07 11:35:25 -04:00
chris caulfield
3f19a5e6ee Chaos
- add PhysicsAsset option to select linear or non-linear joint solver for RBAN (old assets default to non-linear, new to linear)
- optimize joint SLerp drive (asin approximation and quaternion to axes)
- add unit tests for AsinEst

#jira UE-157785
#rb cedric.caillaud, michael.forot
#preflight 62bcadcfb447118888a10aaf

#ROBOMERGE-OWNER: chris.caulfield
#ROBOMERGE-AUTHOR: chris.caulfield
#ROBOMERGE-SOURCE: CL 20881652 via CL 20881788 via CL 20882418
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20885785 by chris caulfield in ue5-main branch]
2022-06-29 19:01:50 -04:00
ben woodhouse
c790d47e04 Fix RBAN memory stomp due to out of bounds array access
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 20829351 via CL 20829358 via CL 20829359 via CL 20829368 via CL 20829372 via CL 20829373
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20830138 by ben woodhouse in ue5-main branch]
2022-06-27 09:50:43 -04:00
dorgonman
fb81035f0d GitHub #8712 : [AnimNotify] Implement GetNotifyName for PlayMontageNotify
#review @thomas.sarkanen, @jose.villarroel
#jira UE-137332
#preflight 62b34ae8d97fa3f39fa938d5

[CL 20828202 by dorgonman in ue5-main branch]
2022-06-27 03:27:27 -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
Marc Audy
de2c3cb8e0 [Backout] - CL20593017, 20594056, 20625634, 20645670, 20649179, 20649223, 20649380, 20658535
Add new custom version to specify a certain window of AnimSequences are not loadable
#fyi Jurre.deBaare
#robomerge EngineMerge
Original CL Desc
-----------------------------------------------------------------
**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, Martin.Wilson, Alexis.Matte, Mike.Zyracki
#jira UE-131296
#preflight 62a308a8b0150a87f9d6891b

[CL 20677979 by Marc Audy in ue5-main branch]
2022-06-15 18:24:46 -04:00
thomas sarkanen
aa58e3e999 Updated categories of animation nodes & functions
Reorganized and consolidated for easier navigation

#rb Jurre.deBaare,Lucas.Dower
#jira UE-156715
#preflight 62a9ac0f13004691f97cd9da

#ROBOMERGE-OWNER: thomas.sarkanen
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 20667777 via CL 20668358 via CL 20668456 via CL 20668474
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20669758 by thomas sarkanen in ue5-main branch]
2022-06-15 10:37:36 -04:00
keith yerex
3b10e76a02 Fix for SequenceEvaluator nodes not showing up in blend weights view
#rb Thomas.Sarkanen
#preflight 62a79e8df017fed6d24e642e

#ROBOMERGE-AUTHOR: keith.yerex
#ROBOMERGE-SOURCE: CL 20642100 via CL 20642107 via CL 20642108
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20644372 by keith yerex in ue5-main branch]
2022-06-14 06:50:13 -04:00
Jurre deBaare
e13fdba72c **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, Martin.Wilson, Alexis.Matte, Mike.Zyracki
#jira UE-131296
#preflight 62a308a8b0150a87f9d6891b

[CL 20593017 by Jurre deBaare in ue5-main branch]
2022-06-10 06:24:32 -04:00
jose villarroel
d81534ce45 Added looping flag to anim sequences and blend spaces. This is used to set the default loop value when creating asset player nodes
#review-20570757 @Aaron.Cox, @Braeden.Shosa, @Thomas.Sarkanen
#jira none
#preflight 62a246ceb17fd2cd5a9ed6da

[CL 20583427 by jose villarroel in ue5-main branch]
2022-06-09 15:43:57 -04:00
Keith Yerex
3f027d59aa Fix ExpectsAdditive in MakeDynamicAdditive Node
#rb Thomas.Sarkanen
#preflight 62a22fdf415407fc4cd627eb

[CL 20581863 by Keith Yerex in ue5-main branch]
2022-06-09 14:33:25 -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
thomas sarkanen
58c99c971c Fixed various issues with the revised re-instancing code path for anim BPs
Fixed RBAN not re-initialzing correctly on re-instancing - added a special case to reinit the simulation.
Made reinstancing handler virtual so users can add their own fallbacks in the future.
Fixed dynamic AnimGraphLayers not (un)linking correctly after live-recompile, as it was trying to link against the old (replaced) animation instance

#rb Jurre.deBaare
#preflight 628cf1dec97e4beea3a2f541

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 20349883 via CL 20349893 via CL 20349912
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20352477 by thomas sarkanen in ue5-main branch]
2022-05-24 14:26:39 -04:00
robert manuszewski
f8a812a32f Converting hardcoded short class/enum names to pathnames ahead of ANY_PACKAGE removal
#rb trivial
#jira UE-99463
#preflight 6288fd998828ea88c8aef3d0

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20314896 via CL 20314897 via CL 20314903 via CL 20314904
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20315214 by robert manuszewski in ue5-main branch]
2022-05-22 10:30:02 -04:00
frederick lupien
cde944102b Add GetRelevantAnimTimeRemaining & GetRelevantAnimTimeRemainingFraction to FAnimNode_StateMachine API
Add GetRelevantAnimTimeRemaining & GetRelevantAnimTimeRemainingFraction to AnimationStateMachineLibrary

[REVIEW] [at]Thomas.Sarkanen, [at]Aaron.Cox

#ROBOMERGE-OWNER: frederick.lupien
#ROBOMERGE-AUTHOR: frederick.lupien
#ROBOMERGE-SOURCE: CL 20278729 via CL 20278746 via CL 20278801 via CL 20278827
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20279575 by frederick lupien in ue5-main branch]
2022-05-19 09:57:01 -04:00
Max Chen
e26088ad53 Sequencer: Swap Root Bone with Component Root, Actor Root to put the root motion on the skeletal mesh component or the actor's root component.
#jira UE-113072
#preflight 626f2adf42539d7264367825
#rb mike.zyracki

[CL 20010505 by Max Chen in ue5-main branch]
2022-05-02 12:35:36 -04:00