add rendertransformoverride component |
not a component stub |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
The RenderTransformOverride component is used to scale, transform or rotate a [[SkinnedMeshRenderer (Component) | SkinnedMeshRenderer]] | The RenderTransformOverride component is used to scale, transform or rotate a [[Slot]] following a specific rendering context. A [[SkinnedMeshRenderer (Component) |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 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 == | ||
{{Table ComponentFields | {{Table ComponentFields | ||
|Context|Context| | |Context|RenderingContext|The Context when rendering from to apply this override.|PositionOverride|'''[[Type:Nullable`1|Nullable`1]]<[[Type:Float3|Float3]]>'''|TypeAdv1=true|If not null, will override the position of the slot this component is on.|RotationOverride|'''[[Type:Nullable`1|Nullable`1]]<[[Type:FloatQ|FloatQ]]>'''|TypeAdv2=true|If not null, will override the rotation of the slot this component is on.|ScaleOverride|'''[[Type:Nullable`1|Nullable`1]]<[[Type:Float3|Float3]]>'''|TypeAdv3=true|If not null, will override the scale of the slot this component is on.|SkinnedMeshRenderers|{{RootFieldType|SyncRefList`1|[[Component:SkinnedMeshRenderer|SkinnedMeshRenderer]]}}|TypeAdv4=true|List of SkinnedMeshRenderers that need to be recalculated and overridden.}} | ||
| | |||
|RotationOverride|FloatQ| | [[Category:Components:Rendering{{#translation:}}|Render Transform Override]] | ||
|ScaleOverride|Float3| | [[Category:Components{{#translation:}}|Render Transform Override]] | ||
|SkinnedMeshRenderers|List | |||
}} |
Latest revision as of 22:53, 21 October 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.
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. |