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 #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.
+
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">
Line 17: Line 17:
 
|-
 
|-
 
! style="width: 10%;" | Node Parameter !! Description !! style="width: 10%;" | Default Value
 
! style="width: 10%;" | Node Parameter !! Description !! style="width: 10%;" | Default Value
|-  
+
|-
 
| id="paramType" | Type
 
| id="paramType" | Type
 +
| Defines the amount of variants and toggle default behavior when it's checked on
 +
*'''Toggle''': Two variants are created and toggle is on when checked on
 +
*'''Toggle Off''': Two variants are created and toggle is off when checked on
 +
*'''Keyword Enum''': Up to 10 variants ( 9 keywords ) can be created.
 +
| Toggle
 +
|-
 +
| id="paramMode" | Mode
 +
| Specify if node creates the specified keyword or uses an already defined one
 +
* '''Create:''' Creates specified keywords
 +
* '''Fetch:''' Doesn't create keywords. The '''#if/#elif''' directives makes use of keywords assuming they're already created elsewhere.
 +
|-
 +
| id="paramKeywordType" | Keyword Type
 
| Type of keyword to be specified
 
| 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.
 
*'''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.
 
*'''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
 
| Shader Feature Keyword
 +
|-
 +
| id="paramAutoRegister" | Auto-Register
 +
| If toggled on, keyword registry is done independently if node is connected to an output node.
 +
| False
 
|-
 
|-
 
| id="paramMaterialToggle" | Material Toggle
 
| id="paramMaterialToggle" | Material Toggle
Line 29: Line 44:
 
| True
 
| True
 
|-
 
|-
| id="paramToggleType" | Toggle Type
+
| id="paramMaterialValue" | Material Value
| Defines the toggle default behavior when it's checked on
+
| Selects current activated keyword. This can be either shown by a toggle or a multiple item dropdown depending on the selected [[#paramType|Type]].
*'''Toggle''': Toggle is on when checked on
+
| Off
*'''Toggle Off''': Toggle is off when checked on
 
| Toggle
 
 
|- style="background: #e5e5e5;" |
 
|- style="background: #e5e5e5;" |
 
| id="paramDefaultValue" | Default Value
 
| id="paramDefaultValue" | Default Value
Line 39: Line 52:
 
| False
 
| False
 
|-
 
|-
 +
| colspan="3" style="background:white; text-align: center; font-size: 11px;"| Keyword Enum
 +
|- style="background: #e5e5e5;" |
 +
| id="paramAmount" | Amount
 +
| Amount of keywords to generate
 +
| 2
 +
|- style="background: #e5e5e5;" |
 +
| id="paramItem#" | Item
 +
| Name of the current keyword
 +
| Key#
 +
|-
 
| colspan="3" style="background:white; text-align: center; font-size: 11px;"| Shader Feature/Multi Compile
 
| colspan="3" style="background:white; text-align: center; font-size: 11px;"| Shader Feature/Multi Compile
 
|- style="background: #e5e5e5;" |
 
|- style="background: #e5e5e5;" |

Revision as of 14:24, 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 Defines the amount of variants and toggle default behavior when it's checked on
  • Toggle: Two variants are created and toggle is on when checked on
  • Toggle Off: Two variants are created and toggle is off when checked on
  • Keyword Enum: Up to 10 variants ( 9 keywords ) can be created.
Toggle
Mode Specify if node creates the specified keyword or uses an already defined one
  • Create: Creates specified keywords
  • Fetch: Doesn't create keywords. The #if/#elif directives makes use of keywords assuming they're already created elsewhere.
Keyword 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.
Shader Feature Keyword
Auto-Register If toggled on, keyword registry is done independently if node is connected to an output node. False
Material Toggle If activated, creates a Toggle property so keyword can be set via the material inspector. True
Material Value Selects current activated keyword. This can be either shown by a toggle or a multiple item dropdown depending on the selected Type. Off
Default Value Defines the default value for the Material Toggle property. This property is only visible if Material Toggle is turned on. False
Keyword Enum
Amount Amount of keywords to generate 2
Item Name of the current keyword Key#
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