Component:RenderTransformOverride: Difference between revisions

From Resonite Wiki
Add more information on Usage and the fields available
Wrapped this section as a danger note. crashes are bad.
Line 3: Line 3:
It can be used, for instance, to scale a player's head to zero locally to effectively hide it from the user's view while it still being visible in mirrors, cameras and by other players.
It can be used, for instance, to scale a player's head to zero locally to effectively hide it from the user's view while it still being visible in mirrors, cameras and by other players.


It is suspected that this component is currently the cause of multiple crashes<ref>[https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/269 forceMatrixRecalculationPerRender causes RenderTransformOverride to cause a Unity crash #269]</ref>, though it was improved in [[Beta 2024.1.12.1336]]. Until those crashes are solved, it is recommended to use the [[AvatarRenderSettings (Component) | AvatarRenderSettings]] component for avatar operations.
{{Note|It is suspected that this component is currently the cause of multiple crashes<ref>[https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/269 forceMatrixRecalculationPerRender causes RenderTransformOverride to cause a Unity crash #269]</ref>, though it was improved in [[Beta 2024.1.12.1336]]. Until those crashes are solved, it is recommended to use the [[AvatarRenderSettings (Component) | AvatarRenderSettings]] component for avatar operations.|danger}}


== Fields ==
== Fields ==

Revision as of 04:13, 20 July 2024

The RenderTransformOverride component is used to scale, transform or rotate a Slot following a specific rendering context. A SkinnedMeshRenderer can also be overridden but will need to be added onto the SkinnedMeshRenderers list for it to be recalculated correctly.

It can be used, for instance, to scale a player's head to zero locally to effectively hide it from the user's view while it still being visible in mirrors, cameras and by other players.

It is suspected that this component is currently the cause of multiple crashes[1], though it was improved in Beta 2024.1.12.1336. Until those crashes are solved, it is recommended to use the AvatarRenderSettings component for avatar operations.

Fields

Fields
Name Type Description
persistent Bool Determines whether or not this item will be saved to the server.
UpdateOrder Int Controls the order in which this component is updated.
Enabled Bool Controls whether or not this component is enabled.
Context RenderingContext The Context when rendering from to apply this override.
PositionOverride Nullable`1<Float3> If not null, will override the position of the slot this component is on.
RotationOverride Nullable`1<FloatQ> If not null, will override the rotation of the slot this component is on.
ScaleOverride Nullable`1<Float3> If not null, will override the scale of the slot this component is on.
SkinnedMeshRenderers list of SkinnedMeshRenderer List of SkinnedMeshRenderers that need to be recalculated and overridden.