imported>Mysticporo Created page with "<languages></languages> <translate> <!--T:1--> {{stub}} {{Infobox Component |Image=FurMaterialComponent.png |Name=Fur Material }} <!--T:2--> == Fields == {{Table ComponentFie..." |
Finally. I can complete the fields on a material page. |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 2: | Line 2: | ||
<translate> | <translate> | ||
<!--T:1--> | <!--T:1--> | ||
{{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--> | ||
== Fields == | == Fields == | ||
{{Table ComponentFields | {{Table ComponentFields | ||
|HighPriorityIntegration|Bool| | |HighPriorityIntegration|Bool|{{Asset HighPriorityIntegration Field}} | ||
|_shader| | |_shader|{{RootFieldType|AssetRef`1|[[Type:Shader|Shader]]}}|TypeAdv1=true| Internal. | ||
|Color|Color | |Color|ColorX| Color/Tint of the fur | ||
|SpecularColor| | |SpecularColor|ColorX| Specular Tint. Behaves like PBS Specular Tinting | ||
|Shininess|Float| | |Shininess|Float| Behaves like PBS Smoothness | ||
|Gloss|Float| | |Gloss|Float| Reflection Intensity. | ||
|RimColor|Color | |RimColor|ColorX| Rim Lighting Color | ||
|RimPower|Float| | |RimPower|Float| Rim Lighting Power | ||
|FurLength|Float| | |FurLength|Float| Length of the fur. Always applied in the force direction. | ||
|FurHardness|Float| | |FurHardness|Float| How Stiff the fur is. Biases fur to point in the mesh normal direction instead of the force direction. | ||
|FurThinness|Float| | |FurThinness|Float| How many times to re-iterate the fur noise map. Behaves similarly to texture scaling. | ||
|FurShading|Float| | |FurShading|Float| How much fake shading should be applied to the fur. | ||
|FurColoring|Float| | |FurColoring|Float| How much the color of the fur should take precedent over shading. | ||
|Base| | |Base|{{RootFieldType|AssetRef`1|[[Type:ITexture2D|ITexture2D]]}}|TypeAdv13=true| Albedo Texture. Alpha is Heightmap | ||
|NormalMap| | |NormalMap|{{RootFieldType|AssetRef`1|[[Type:ITexture2D|ITexture2D]]}}|TypeAdv14=true| Normal Map | ||
|Noise| | |Noise|{{RootFieldType|AssetRef`1|[[Type:ITexture2D|ITexture2D]]}}|TypeAdv15=true| Noise texture. This should always be on the alpha channel. This determines the pattern of the fur. | ||
|TextureScale|Float2| | |TextureScale|Float2| Texture Scale | ||
|TextureOffset|Float2| | |TextureOffset|Float2| Texture Offset | ||
|AlphaCutoff|Float| | |AlphaCutoff|Float| Alpha cutoff for the additional layers created by the shader based on the noise map. | ||
|ForceGlobal|Float4| | |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| | |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:Components{{#translation:}}|Fur Material]] | [[Category:Components{{#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
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
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.