Component:FurMaterial: Difference between revisions

From Resonite Wiki
Automated: update 'HighPriorityIntegration' description
Finally. I can complete the fields on a material page.
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:
<translate>
<translate>
<!--T:1-->
<!--T:1-->
{{stub}}
{{Infobox Component
{{Infobox Component
|Image=FurMaterialComponent.png
|Image=FurMaterialComponent.png
|Name=Fur Material
|Name=Fur Material
}}
}}
The '''FurMaterial''' component is used to make multi layered geometry out of a mesh's original geometry that has a specified distance between layers. The number of layers is a constant 20. Combined with a map to create holes in the layers via alpha, this creates the illusion of depth and fur like properties. The geometry layers are instanced on the GPU.
Some players have reported lag when using Fur materials. This is due to either using too large of a texture, or due to an issue called Overdraw.
Overdraw is caused when the GPU generates pixels for a layer for where it appears on the screen in a stage in rendering called "Rasterization" when it is done, it renders the next layer, and has to draw that on top of the already drawn layer pixels. The drawing on top for the next 19 layers is called Overdraw.
This means that if a user looks very closely at a fur shader, or the shader covers their entire screen while all layers are in front of the camera, it will lag intensely. This is because the game is doing 20 drawing cycles on every pixel. Causing significant lag.


<!--T:2-->
<!--T:2-->
Line 12: Line 18:
{{Table ComponentFields
{{Table ComponentFields
|HighPriorityIntegration|Bool|{{Asset HighPriorityIntegration Field}}
|HighPriorityIntegration|Bool|{{Asset HighPriorityIntegration Field}}
|_shader|{{RootFieldType|AssetRef`1|[[Type:Shader|Shader]]}}|TypeAdv1=true|
|_shader|{{RootFieldType|AssetRef`1|[[Type:Shader|Shader]]}}|TypeAdv1=true| Internal.
|Color|ColorX| Color/Tint of the fur
|Color|ColorX| Color/Tint of the fur
|SpecularColor|ColorX| Specular Tint. Behaves like PBS Specular Tinting
|SpecularColor|ColorX| Specular Tint. Behaves like PBS Specular Tinting
Line 32: Line 38:
|ForceGlobal|Float4|The amount of displacement to apply in the world coordinate system.  The '''W''' value corresponds to a proportional affinity to point towards world origin.
|ForceGlobal|Float4|The amount of displacement to apply in the world coordinate system.  The '''W''' value corresponds to a proportional affinity to point towards world origin.
|ForceLocal|Float4|The amount of displacement to apply in the object's local coordinate system.
|ForceLocal|Float4|The amount of displacement to apply in the object's local coordinate system.
|RenderQueue|Int|
|RenderQueue|Int|{{Template:Material_RenderQueue_Desc}}
}}
}}


<!--T:3-->
<!--T:3-->
== Usage ==
== Usage ==
Insert into a [[Component:MeshRenderer]] or [[Component:SkinnedMeshRenderer]] with a mesh to view what the material looks like.


<!--T:4-->
<!--T:4-->
== Examples ==
== Examples ==
{{stub}}


<!--T:5-->
<!--T:5-->
== Related Components ==
== Related Components ==
</translate>
</translate>
[[Category:ComponentStubs]]
[[Category:Components{{#translation:}}|Fur Material]]
[[Category:Components{{#translation:}}|Fur Material]]
[[Category:Materials{{#translation:}}|Fur Material]]
[[Category:Materials{{#translation:}}|Fur Material]]
[[Category:Components:Assets:Materials{{#translation:}}|Fur Material]]
[[Category:Components:Assets:Materials{{#translation:}}|Fur Material]]

Latest revision as of 15:08, 21 November 2024

Component image 
Fur Material component as seen in the Scene Inspector

The FurMaterial component is used to make multi layered geometry out of a mesh's original geometry that has a specified distance between layers. The number of layers is a constant 20. Combined with a map to create holes in the layers via alpha, this creates the illusion of depth and fur like properties. The geometry layers are instanced on the GPU.

Some players have reported lag when using Fur materials. This is due to either using too large of a texture, or due to an issue called Overdraw.

Overdraw is caused when the GPU generates pixels for a layer for where it appears on the screen in a stage in rendering called "Rasterization" when it is done, it renders the next layer, and has to draw that on top of the already drawn layer pixels. The drawing on top for the next 19 layers is called Overdraw.

This means that if a user looks very closely at a fur shader, or the shader covers their entire screen while all layers are in front of the camera, it will lag intensely. This is because the game is doing 20 drawing cycles on every pixel. Causing significant lag.

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.
HighPriorityIntegration Bool If true, integrating this asset (e.g. processing procedural assets) gets higher priority than assets with this flag off. An example is user laser procedural meshes.
_shader Shader Internal.
Color ColorX Color/Tint of the fur
SpecularColor ColorX Specular Tint. Behaves like PBS Specular Tinting
Shininess Float Behaves like PBS Smoothness
Gloss Float Reflection Intensity.
RimColor ColorX Rim Lighting Color
RimPower Float Rim Lighting Power
FurLength Float Length of the fur. Always applied in the force direction.
FurHardness Float How Stiff the fur is. Biases fur to point in the mesh normal direction instead of the force direction.
FurThinness Float How many times to re-iterate the fur noise map. Behaves similarly to texture scaling.
FurShading Float How much fake shading should be applied to the fur.
FurColoring Float How much the color of the fur should take precedent over shading.
Base ITexture2D Albedo Texture. Alpha is Heightmap
NormalMap ITexture2D Normal Map
Noise ITexture2D Noise texture. This should always be on the alpha channel. This determines the pattern of the fur.
TextureScale Float2 Texture Scale
TextureOffset Float2 Texture Offset
AlphaCutoff Float Alpha cutoff for the additional layers created by the shader based on the noise map.
ForceGlobal Float4 The amount of displacement to apply in the world coordinate system. The W value corresponds to a proportional affinity to point towards world origin.
ForceLocal Float4 The amount of displacement to apply in the object's local coordinate system.
RenderQueue Int changes at which point a material renders on the render stack

Usage

Insert into a Component:MeshRenderer or Component:SkinnedMeshRenderer with a mesh to view what the material looks like.

Examples

This article or section is a Stub. You can help the Resonite Wiki by expanding it.


Related Components