ä»å解説ããã®ã¯ Unlit/Transparent ã Unlit/Texture ã¨åæ§ã«ã©ã¤ãã£ã³ã°ã®åæ ç¡ãã®ããããã·ã³ãã«ãªã·ã§ã¼ãã§ãã Unlit/Texture ã¨ã®éãã¯éæ(Transparent)ã«å¯¾å¿ãã¦ããæã§ãããã¯ã¹ãã£ç»åã®ã¢ã«ãã¡å¤ãã¡ããã¨åæ ããééããã¾ãã
ã·ã§ã¼ãã®å ¨ã³ã¼ã
// Unlit alpha-blended shader. // - no lighting // - no lightmap support // - no per-material color Shader "Unlit/Transparent" { Properties { _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} } SubShader { Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"} LOD 100 ZWrite Off Blend SrcAlpha OneMinusSrcAlpha Pass { Lighting Off SetTexture [_MainTex] { combine texture } } } }
解説
çµæ§ååã¨åãé¨åãå¤ãã®ã§åãé¨åã®è§£èª¬ã¯çç¥ãã¾ãããã®é¨åã«ã¤ãã¦ã¯前回の記事ãåç §ãã¦ä¸ããã
Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
ååã«æ¯ã¹ã¦ Tags ã«æå®ããã¦ãããã©ã¡ã¼ã¿ãå¤ãã§ããã
"Queue" ã¯ã¬ã³ããªã³ã°ã®é çªãæå®ãã¾ããä»å㯠Transparent ãªã·ã§ã¼ããªã®ã§ "Transparent" ãæå®ãã¦æãã¾ãã
"IgnoreProjector" 㯠Projector ã®æå½±ãç¡è¦(Ignore)ãããã©ãããæå®ãã¾ããä»åã¯ç¡è¦ããã®ã§ "True" ãæå®ãã¦æãã¾ãã
å ã¿ã« Projector ã¨ã¯この記事で紹介したæ§ã«å½±ãå°é¢ã«æå½±ãããããªãã¸ã§ã¯ãã«å¯¾ãè¡ãããæå½±å¦çã§ãã
"RenderType" ã¯ååãåºã¦ãã¾ãããä»åã¯éæã«å¯¾å¿ãã¦ããã®ã§ "Transparent" ãæå®ããã¦ãã¾ãã
ZWrite Off
Zãããã¡ã¸ã®æ¸ãè¾¼ã¿ã¯OFFã«è¨å®ã
Zãããã¡ã¸ã®æ¸ãè¾¼ã¿ã¯OFFã«ããã¨åå¾é¢ä¿ãæ£ããæç»ãããªããªãã¨æãããç¥ãã¾ãããéæãªé¨åãæã¤ãªãã¸ã§ã¯ãã¯Zå¤(ãªãã¸ã§ã¯ãã®ä¸å¿ã®Zå¤)ã大ãã(ã«ã¡ã©ããé ã)ãã®ããé çªã«æç»ãããçºã大ä½åé¡ç¡ãã¬ã³ããªã³ã°ããã¾ãã
ããã§ä»åã®ã·ã§ã¼ãã§æç»ãããã®ã¨ ZWrite ã On ã«ãããã®ã§ã¬ã³ããªã³ã°ããããçµæããã£ããã£ãããã®ãæ¯è¼ãã¦ã¿ã¾ãã
ããã§ã¯æ¨ª(+Xæ¹å)ããè¦ãæã«ä»¥ä¸æ§ã«è¦ããæ§ã«å¾ãã2ã¤ã® Plane ãæºåãã両æ¹ã« ZWrite ã Off ã®ã·ã§ã¼ããè¨å®ããæ㨠On ã®ã·ã§ã¼ããè¨å®ããæã®2ã¤ã®ã¬ã³ããªã³ã°çµæããã£ããã£ãã¾ããã
â»ç»é¢ä¸é¨(-Yæ¹å)ã®æããéã® Plane ãåã«åºã¦ããæ§ã«èµ¤ã¨éã® Plane ã交差ãã¦ãã¾ãã
2ã¤ã®ã·ã§ã¼ãã®ã¬ã³ããªã³ã°çµæãè¦ã㨠ZWrite ã On ã«ãããã®ã¯éã® Plane ã®ä¸é¨ãåé¢ã«åºã¦ããç¶æ ã§æç»ããã¦ãã¾ãã
åå¾é¢ä¿ã®äºãèãã㨠ZWrite ã On ã«ããæ¹ãæ£ããã¬ã³ããªã³ã°ããã¦ããæ§ã«æãã¾ããå³å¯ã«è¦ãã¨éã® Plane ã®ééãã¦ããé¨åãã赤㮠Plane ãè¦ããªãã¨ããã¾ãããè¦ãã¦ãã¾ããã
ã¨ããäºã§å®ã¯ã©ã¡ããå³å¯ã«ã¯3D空éãæ£ããã¬ã³ããªã³ã°ãã¦ã¯ãã¾ããããããå ã®èª¬æã§ã大ä½åé¡ç¡ãã¬ã³ããªã³ã°ããã¾ããã¨è¨ã£ãçç±ã§ãã
ããããã©ã¡ããã¨ãã㨠ZWrite ã Off ã«ããæ¹ãè¦ãç®ããã·ã«ãªãã®ã§ããã§ã¯ Off ã«è¨å®ãã¦ããã®ã ã¨æãã¾ãã
ã¾ãããã®æ§ã«æ£ããã¬ã³ããªã³ã°ãããªãã®ã¯ä»åã®æ§ã«äº¤å·®ããå ´åãªã©ããéãããç¶æ ã®å ´åã ããªã®ã§å®éã®ã²ã¼ã ä¸ã¯ã»ã¨ãã©çºçããªãã£ãããçºçãã¦ãä¸ç¬ãªã®ã§å¤§ããªåé¡ã«ãªãäºã¯å°ãªãã§ãã
Blend SrcAlpha OneMinusSrcAlpha
Blend ã¯ã¢ã«ãã¡ãã¬ã³ãã®è¨ç®æ¹æ³ãæå®ãã¾ãã
Blend ã¯è¤æ°ã®ãã©ã¡ã¼ã¿ã®æå®æ¹æ³ãæãã¾ãããããã§ã¯ä¸è¨ã®ã¿ã¤ãã使ããã¦ãã¾ãã
Blend ã®å¾ã«ç¶ãããã©ã¡ã¼ã¿ã¯ä»¥ä¸ã®è¦ç´ ã¨é¢é£ãæãã¾ãã
Blend SrcFactor DstFactor
SrcFactor ã Sourceã®è¦ç´ (ããããã¬ã³ããªã³ã°ããããã¯ã»ã«)ã2ã¤ç®ã«æå®ããã®ã Destinationã®è¦ç´ ( æ¢ã«ã¬ã³ããªã³ã°ããã¦ãã)ãæå®ãã¾ãã
ããã§ã¯ SrcFactor ã« SrcAlpha ã DstFactor ã« OneMinusSrcAlpha ãæå®ãã¦æãã¾ãããã®çºããã®ã·ã§ã¼ãã§ã¯ä»¥ä¸ã®è¨ç®å¼(â»Wikipediaããå¼ç¨)ã§ã¢ã«ãã¡ãã¬ã³ããè¡ããã¾ãã
ã¢ã«ãã¡ãã¬ã³ã - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AB%E3%83%95%E3%82%A1%E3%83%96%E3%83%AC%E3%83%B3%E3%83%89
Unity - Unity Manual
http://docs-jp.unity3d.com/Documentation/Components/SL-Blend.html
é¢é£æ å ±
nakamura001 @ ã¦ã£ã - ããããã¼ã¸/Unity(Unity3D)/å èµã·ã§ã¼ãã®ã½ã¼ã¹ã³ã¼ã
http://www32.atwiki.jp/nakamura001/pages/178.html