2013-09-24 18 views
6

ich einen Shader für unity3d schreiben, und ich möchte die Eigenschaften des Shader in dh angeben wie -wie man eine boolsche Eigenschaft im unity3d CGprogram Shader einstellt?

Shader "GraphicsQuality/MediumScan" { 
Properties { 
    _Color ("Main Color", Color) = (1,1,1,1) 
    _SpecColor ("Specular Color", Color) = (0.5,0.5,0.5,1) 
    _Shininess ("Shininess", Range (0.01, 1)) = 0.078125 
    _MainTex ("Base (RGB) RefStrGloss (A)", 2D) = "white" {} 
    _BumpMap ("Normalmap", 2D) = "bump" {} 
    _RimColor ("Rim Color", Color) = (0.48,0.78,1.0,0.0) 
    _RimPower ("Rim Power", Range(0,8.0)) = 3.0 
} 

Aber diese Eigenschaften sind für Farbe, Reichweite, schwimmen etc, aber ich möchte Eingang einen Booleschen Wert, wie kann ich tun, es i wie-

etwas versucht
Properties{ 
    _MainTex ("Particle Texture", 2D) = "white" { 
    _isBending("is Bending",bool) = true 
} 
SubShader{ 
     Pass{ 
      CGPROGRAM 

       #pragma vertex vert 
       #pragma fragment frag 

       sampler2D _MainTex; 
       bool _isBending; 
.......continuing 

aber nicht funktioniert kann ich nicht die boolean-Eigenschaft „_isBending“ bekommen und ich einen Fehler, anstatt in der Linie erhalten

_isBending("is Bending",bool) = true 

Antwort

11
[MaterialToggle] _isBending("is Bending", Float) = 0 

oder

[Toggle] _isBending("is Bending", Float) = 0 

Mindestens finden Sie eine visuelle Umschaltknopf haben.