wiki.sine.space | sinespace

Difference between revisions of "Scripting/SMaterial"

From wiki.sine.space
Jump to: navigation, search
(Replaced content with "This page has moved to: https://docs.sine.space/v/scripting/client-scripting/types/smaterial")
 
Line 1: Line 1:
The SMaterial class provides a wrapper around Materials used for rendering
+
This page has moved to: https://docs.sine.space/v/scripting/client-scripting/types/smaterial
 
+
==Members==
+
{{ScriptFunction|void|SetFloat|(string name, float value);|Sets a shader property to value|5=
+
''-- Let's set the Metallic property to 0.75:''<br>
+
local obj = Space.Host.ExecutingObject;<br>
+
obj.Renderer.Material.SetFloat("_Metallic", 0.75);}}
+
 
+
{{ScriptFunction|float|GetFloat|(string name);|Gets the current value of a shader property.|5=
+
''-- Let's find out the current Glosiness level''<br>
+
local obj = Space.Host.ExecutingObject;<br>
+
Space.Log(obj.Renderer.Material.GetFloat("_Glossiness"));<br>
+
''-- prints "0.5" (by default) to the console.''}}
+
 
+
{{ScriptFunction|void|SetColor|(string name, SColor color);|Sets a shader colour to the required one.|5=
+
''-- Let's change the Color to red:''<br>
+
local obj = Space.Host.ExecutingObject;<br>
+
local newColor = Color.New(1, 0, 0, 1);<br>
+
obj.Renderer.Material.SetColor("_Color", newColor);}}
+
 
+
{{ScriptFunction|void|SetColor|(string name, float r, float g, float b, float a);|Sets a shader colour to value (HDR variant, 0..1 values)|5=
+
''-- Let's change the Color to purple:''<br>
+
local obj = Space.Host.ExecutingObject;<br>
+
obj.Renderer.Material.SetColor("_Color", 0.5,0,0.5,1);}}
+
 
+
{{ScriptFunction|void|SetColor32|(string name, byte r, byte g, byte b, byte a);|Sets a shader colour to value (32-bit, 0..255 values)|5=
+
''-- Let's change the Color to light blue:''<br>
+
local obj = Space.Host.ExecutingObject;<br>
+
obj.Renderer.Material.SetColor32("_Color", 53,172,232,255);}}
+
 
+
{{ScriptFunction|void|SetInt|(string name, int value);|Sets a shader property to value. This can be a convenient way to work with Boolean values.|5=
+
''-- For example, let's disable Specular Highlights (enabled by default in the Standard shader):''<br>
+
local obj = Space.Host.ExecutingObject;<br>
+
obj.Renderer.Material.SetInt("_SpecularHighlights", 0);}}
+
 
+
{{ScriptFunction|int|GetInt|(string name);|Gets the current value of a shader property. This can be a convenient way to work with Boolean values.|5=
+
''-- Let's find out if the Reflections property is enabled:''<br>
+
local obj = Space.Host.ExecutingObject;<br>
+
Space.Log(obj.Renderer.Material.GetInt("_GlossyReflections"));<br>
+
''-- prints "1" (by default) to the console, which means that the Reflections property is indeed enabled.''}}
+
 
+
{{ScriptFunction|void|SetTexture|(string name, SResource texture);|Sets a object's specified texture map (specified in parameter 1) to the texture provided as a resource in parameter #2. The example script must be in a object with a '_MainTex' map, and that object should be set as a resource on the scripting runtime. Additionally, that object should be called 'dispobj'.<br><br>note also that this function can be used to set any of the texture maps by varying the value of the first parameter accordingly.|5 = function hithere()<br>
+
  image = "mrlee.jpg"<br>
+
  server = "https://middleware.systems/"<br>
+
  obj = Space.Host.GetReference("dispobj")<br>
+
  resrc = Space.WebServices.GetImage(server .. image)<br>
+
  obj.Renderer.Material.SetTexture("_MainTex", resrc)<br>
+
end<br>
+
}}
+
{{ScriptFunction|void|SetTextureOffset|(string name, float x, float y);|Sets a texture offset to a value. '''IF USING FOR SCROLLING ANIMATION PLEASE US A ANIMATION NOT A SCRIPT'''}}
+
{{ScriptFunction|void|SetTextureScale|(string name, float x, float y);|Sets a texture scale to a value. '''IF USING FOR SCROLLING ANIMATION PLEASE US A ANIMATION NOT A SCRIPT'''}}
+
{{ScriptFunction|void|SetVector|(string name, SVector value);|Sets a shader property to value}}
+
 
+
{{ScriptFunction|SMaterial|Instantiate|();|Return a new SMaterial from old.|5=
+
local cube=Space.Host.ExecutingObject<br>
+
local cube2=cube.Children[1]<br>
+
local mat1=cube.Renderer.Material<br>
+
local newMat=mat1.Instantiate()
+
newMat.SetColor("_Color",Color.Red)
+
cube2.Renderer.Material=newMat
+
''--at this moment, cube2 will turn to red but cube will keep original color.''
+
}}
+
 
+
==Properties==
+
{{ScriptFunction|string|Name|(get; set;)|Return a new SMaterial from old.|5=
+
local cube=Space.Host.ExecutingObject<br>
+
local mat=cube.Renderer.Material<br>
+
Space.Log(mat.Name)
+
}}
+
 
+
{{ScriptFunction|string|Shader|(get;)|Return the shader name of current SMaterial.|5=
+
local cube=Space.Host.ExecutingObject<br>
+
local mat=cube.Renderer.Material<br>
+
Space.Log(mat.Shader)
+
}}
+
 
+
{{Scripting Navbox}}
+

Latest revision as of 08:02, 19 September 2022

This page has moved to: https://docs.sine.space/v/scripting/client-scripting/types/smaterial