2013-09-24 15 views
6

Sto scrivendo uno shader per Unity3D e voglio specificare le proprietà di shader in IE come -come impostare una proprietà booleana in unity3d CG shambcrogrammo?

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 
} 

Ma queste proprietà sono per il colore, gamma, galleggiano ecc ma voglio inserire un valore booleano come posso farlo ho provato qualcosa come-

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 

ma questo non funziona io non sono in grado di ottenere la proprietà booleana "_isBending" e ottengo un errore invece nella linea

_isBending("is Bending",bool) = true 

risposta

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

o

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

Almeno si avrà un pulsante di commutazione visiva.

Problemi correlati