Commit Graph

462 Commits

Author SHA1 Message Date
sara schvartzman
339fb58e04 Control Rig: Fix compile issue
#jira na
#rb trivial

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 21096155 in //UE5/Release-Engine-Staging/...
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21099282 by sara schvartzman in ue5-main branch]
2022-07-14 17:07:44 -04:00
sara schvartzman
8a614978b8 Control Rig: Fix ensure hit when openning rigs with FRigPose pins
#jira UE-159392
#rb helge.mathee
#preflight 62cfe0f6a4645cf7b0099ae7


#ROBOMERGE-OWNER: sara.schvartzman
#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 21091246 via CL 21091293 via CL 21091498 via CL 21095119
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21099193 by sara schvartzman in ue5-main branch]
2022-07-14 17:05:41 -04:00
sara schvartzman
44e04d8fe0 Control Rig: Fix ensure hit when openning rigs with FRigPose pins
#jira UE-159392
#rb helge.mathee
#preflight 62cfe0f6a4645cf7b0099ae7
#robomerge FNMain

[CL 21091246 by sara schvartzman in ue5-main branch]
2022-07-14 11:15:57 -04:00
sara schvartzman
075fe3c245 Control Rig: Fix crash when opening CR_Quinn_Example in ControlRigExample
#jira na
#rb helge.mathee
#preflight 62d016296f385a5639a7654c

[CL 21089919 by sara schvartzman in ue5-main branch]
2022-07-14 09:16:13 -04:00
sara schvartzman
eec59437e9 Control Rig: Collapse nodes with templates
#jira UE-146929
#rb helge.mathee
#preflight 62ced5dbd00f3c208e47c183

[CL 21089290 by sara schvartzman in ue5-main branch]
2022-07-14 06:53:37 -04:00
ronald koppers
12979e53c2 FMessageLog::CriticalError has been deprecated.
FMessageLog::CriticalError has a delay before throwing an assert to allow compositing of the message. As a result the assert isn't thrown at the location of the problem, but somewhere in the surrounding area, which makes the problem harder to debug and generates misleading log entries. Due to these problems FMessageLog::CriticalError and EMessageSeverity::CriticalError have been deprecated. It's recommended to use checkf instead.

When FMessageLog goes out of scope or is destroyed explicitly it will flush its messages to the log, which in turn means the log may immediately use the messages. In a few places a reference to the message was kept that outlived the lifetime of the owning FMessageLog in order to add arguments later on. The found cases have been updated to make sure FMessageLog doesn't outlive the addition of the arguments so the arguments are correctly passed to the log.

#jira: UE-155605
#rb brooke.hubert francis.hurteau jerome.delattre
#preflight 62cc4fca9922f7e5129e4e0a

[CL 21042765 by ronald koppers in ue5-main branch]
2022-07-11 12:58:26 -04:00
Helge Mathee
3449d306d4 RigVM: Correctly follow pins across the collapse node boundary
#rb na
#jira UE-158911
#preflight https://horde.devtools.epicgames.com/job/62c833581d0706bf24b746d5

[CL 21006383 by Helge Mathee in ue5-main branch]
2022-07-08 09:48:02 -04:00
Helge Mathee
8671edf67f RigVM: Support upgrading from struct to dispatch
#rb na
#jira na
#preflight https://horde.devtools.epicgames.com/job/62c802d1e060ecd065af7a49

[CL 21004729 by Helge Mathee in ue5-main branch]
2022-07-08 06:19:10 -04:00
Helge Mathee
2b4499e7a3 Control Rig: String conversion and print support
#rb jack.cai
#jira UE-138244 UE-157622
#preflight https://horde.devtools.epicgames.com/job/62c69c74a6654f9729c9add8

[CL 20982048 by Helge Mathee in ue5-main branch]
2022-07-07 06:09:12 -04:00
Helge Mathee
8b0318e6bc RigVM: Dispatch Factory Support
* Moved TypeIndex from int32 to typedef for easier debugging
* Implemented Dispatch Factory
* Factories stored under registry
* FindFunction to invoke dispatch
* Runtime Type checking on the memory handle
* Implemented dispatch rigvm node
* Unit testing for numeric add test both for low level + controller layer

#rb sara.schvartzman
#jira UE-157794
#preflight https://horde.devtools.epicgames.com/job/62c4541b2f31b87c6c89360a

[CL 20942948 by Helge Mathee in ue5-main branch]
2022-07-05 11:39:15 -04:00
sara schvartzman
71f7a3bafb Control Rig: Fix crash when connecting a cast node after resolving to a different type
#jira UE-157652
#rb helge.mathee
#preflight 62c2f2508d5e678759a11cf3

[CL 20939457 by sara schvartzman in ue5-main branch]
2022-07-05 04:39:56 -04:00
Helge Mathee
e2e7a91a39 RigVM: Only use array clone for top level properties
#rb na
#jira na
#preflight https://horde.devtools.epicgames.com/job/62bf19b1b4471188885630ee

[CL 20915592 by Helge Mathee in ue5-main branch]
2022-07-01 12:05:47 -04:00
Helge Mathee
8075120e8a RigVM: Use clone when copying an array into a variable
#rb benoit.gadreau
#preflight https://horde.devtools.epicgames.com/job/62bed138a3568e30669726a5
#jira UE-158141

[CL 20913840 by Helge Mathee in ue5-main branch]
2022-07-01 09:58:51 -04:00
Helge Mathee
685212d51b RigVM: Fix static analysis pattern in RigVMSelectNode.cpp
#rb na
#jira UE-158115
#preflight skip

[CL 20911918 by Helge Mathee in ue5-main branch]
2022-07-01 04:49:47 -04:00
Helge Mathee
3b54e73b5d RigVMTemplate to perform type loading lazily
#rb audit
#jira na
#preflight https://horde.devtools.epicgames.com/job/62bc4ffa3771c5710de96b40

[CL 20874075 by Helge Mathee in ue5-main branch]
2022-06-29 09:31:30 -04:00
Helge Mathee
3d20407084 RigVM: Refactor template type system to rely on integers rather than string comparisons
* Switching the FRigVMTemplateArgumentType to be backed up by FName instead of FString for faster comparison
* Adding a "Types" storage under the RigVMRegistry of all of the known supported types
* Have the FRigVMTemplateArgument refer to type indices rather than full type structures
* Have the resolval comparison code rely on comparing type indices rather than type structures
* Store relationship between the bool and the TArray<bool> type as an array / element lookup within the registry - to avoid string operations when doing lookups from element to array to 2 dimensional array for a type.
* The preferred types list on the template node is now stored as pairs of argument name and type index <FName, int32> rather than FString.
* Also we no longer support all types for the untyped nodes (such as reroute, select, if etc) - but instead we support all user defined types (non-native structs and enums) as well as all types ever used as a template argument. The reasoning here is that supporting a type that's not used by any node is pointless. This reduced the type set from 9876 to 237.

#rb halfdan.ingvarsson
#jira na
#preflight https://horde.devtools.epicgames.com/job/62b9c666ba62f4498a345be2

[CL 20861728 by Helge Mathee in ue5-main branch]
2022-06-28 13:41:23 -04:00
Helge Mathee
e13931f1a7 RigVM: Default values on array element pins don't propagate correctly.
#rb benoit.gadreau
#jira UE-144672
#preflight https://horde.devtools.epicgames.com/job/62b45c19c603be6148408c8f

[CL 20793302 by Helge Mathee in ue5-main branch]
2022-06-23 08:45:36 -04:00
benoit gadreau
b0b3bc6a23 Follow up to CL20773015
improved RefreshAllModels
- from 431.621 ms to  318.637 ms when first opening CR_Mannequin_Body
- from 6.930 sec to 3.390 sec for next openings


#jira UE-155783
#rb helge.mathee
#preflight 62b45cd1755c7d63a787d42b

[CL 20793285 by benoit gadreau in ue5-main branch]
2022-06-23 08:44:39 -04:00
Helge Mathee
0fc13a0aa8 RigVM: Remove the support for arrays of arrays
#rb benoit.gadreau
#jira UE-151324
#preflight https://horde.devtools.epicgames.com/job/62b44c897749ebd99d354dea

[CL 20792908 by Helge Mathee in ue5-main branch]
2022-06-23 08:13:39 -04:00
Helge Mathee
555783edcb Control Rig / RigVM: Improve asset loading performance
- Overall Loading time went from 21.439 seconds to 7.521 seconds
 - Improved Postload from 6.643 seconds to 0.915 seconds
 - Improved InitControlRigEditor from 13.422 seconds to 4.842 seconds

#jira UE-155783
#rb benoit.gadreau
#preflight https://horde.devtools.epicgames.com/job/62b2fe202c753858830d4b11

[CL 20773015 by Helge Mathee in ue5-main branch]
2022-06-22 08:37:48 -04:00
Helge Mathee
f6e4dd586e Control Rig: Export aggregate node properly
#rb benoit.gadreau
#jira UE-151729
#preflight https://horde.devtools.epicgames.com/job/62b189ce27718d2d48106113

[CL 20755316 by Helge Mathee in ue5-main branch]
2022-06-21 06:29:33 -04:00
benoit gadreau
ecb36507ec Fix use of IsChildOf with possible nullptr
#rb helge.mathee
#jira UE-157067
#preflight 62b18ac58e03312ad85bf601

[CL 20755070 by benoit gadreau in ue5-main branch]
2022-06-21 05:26:06 -04:00
Helge Mathee
5409f37548 Control Rig: Construction Event
Changes include
* renamed setup event to construction event
* new nodes to spawn bones, nulls, controls etc
* class settings to limit how many elements can be created procedurally
* lookup from procedural element to spawner node (who created this?)

#preflight https://horde.devtools.epicgames.com/job/62b0d9c62405b4ac9e774bf4
#jira UE-153500
#rb audit

[CL 20754666 by Helge Mathee in ue5-main branch]
2022-06-21 04:15:34 -04:00
Helge Mathee
10b6192609 Control Rig: Fix crash when connecting subpins of template nodes
#jira na
#rb sara.schvartzman
#preflight https://horde.devtools.epicgames.com/job/62b02d68a4631339e99ff77b

[CL 20734454 by Helge Mathee in ue5-main branch]
2022-06-20 04:40:24 -04:00
Helge Mathee
21e41be54a Control Rig: Fix crash when connecting to template node to other type
#jira UE-156578
#rb sara.schvartzman
#preflight 62ab47f91e0da10371e55e23

[CL 20734361 by Helge Mathee in ue5-main branch]
2022-06-20 04:14:02 -04:00