Difference between revisions of "Unity Products:Amplify Shader Editor/Static Switch"

From Amplify Creations Wiki
Jump to: navigation, search
Line 3: Line 3:
 
== Static Node ==
 
== Static Node ==
  
The Static Switch node creates and/or uses shader keywords through '''#if #else #endif''' directives. Its input [[#paramTrue|True]] will be used inside the '''#if''' directive body while the [[#paramFalse|False]] input will be used on the '''#else''' directive.  
+
The Static Switch node creates and/or uses shader keywords through '''#if #elif/#else #endif''' directives. Its input [[#paramTrue|True]] will be used inside the '''#if''' directive body while the [[#paramFalse|False]] input will be used on the '''#else''' directive. If multiple keywords are defined on the [[#paramType|Type]] then an #elif directive will be created to each one of the middle items.
  
 
<img class="responsive-img" src="http://amplify.pt/NodeDetail/StaticSwitchNode.jpg">
 
<img class="responsive-img" src="http://amplify.pt/NodeDetail/StaticSwitchNode.jpg">

Revision as of 13:22, 12 July 2018

Back to Node List

Static Node

The Static Switch node creates and/or uses shader keywords through #if #elif/#else #endif directives. Its input True will be used inside the #if directive body while the False input will be used on the #else directive. If multiple keywords are defined on the Type then an #elif directive will be created to each one of the middle items.


Nodes used: Texture Sample, World Normal, Vertex To Fragment, Static Switch


Node Parameter Description Default Value
Type Type of keyword to be specified
  • Shader Feature Keyword: Unused variants wont be included into game build. Useful for keywords that will be set on the materials.
  • Multi Compile Keyword: All variants will be included into game build regardless of its usage. Useful for keywords that will be set from code globally.
  • Define Symbol: Doesn't create keywords. The #if directive makes use of a specified keyword assuming it's already created elsewhere.
Shader Feature Keyword
Material Toggle If activated, creates a Toggle property so keyword can be set via the material inspector. True
Toggle Type Defines the toggle default behavior when it's checked on
  • Toggle: Toggle is on when checked on
  • Toggle Off: Toggle is off when checked on
Toggle
Default Value Defines the default value for the Material Toggle property. This property is only visible if Material Toggle is turned on. False
Shader Feature/Multi Compile
Name Name of the keyword that will be created and used by the node. Keyword #
Property Name This is the variable name that contains the value which is automatically generated from the Name parameter, it's greyed out and not editable. The generation process removes special characters, whitespaces and adds an underscore at the beginning ( ie: "My Keyword Name" becomes "_MyKeywordName" ). _Keyword#
Keyword Name This is the generated keyword name which is automatically generated using the Name parameter, it's greyed out and not editable. The generation process removes special characters, whitespaces, adds an underscore(_) at the beginning, convert all characters to upper case and adds _ON at the end ( ie: "My Keyword Name" becomes "_MYKEYWORDNAME_ON" ). _Keyword#
Define Symbol
Keyword Allows to select already existing Unity keywords or select a new custom new one. This list will continuously grow according to community needs/feedback.
  • Custom: Define a custom keyword to be used
  • ETC1_EXTERNAL_ALPHA
  • PIXELSNAP_ON
  • (More to come)
Custom
Custom Write custom keyword to be used. This property is only visible if Keyword property is set to Custom.
Input Port Description Type
True Value to be outputted if selected keyword is being defined (#if body). Float [1]
False Value to be outputted if selected keyword is not being defined (#else body). Float [1]

  1. ^ Port automatically adapts to all connection types except Sampler types.

Back to Node List