|
|
| (同じ利用者による、間の11版が非表示) |
| 行1: |
行1: |
| − | ==作成==
| + | [[Unity/Shader/基本]] |
| − | #Assetsの下に、適当な画像ファイルを用意する
| + | |
| − | #Assetsの下で、Create/Shader/UnlitShaderを選択して、TestUnlitShader作成
| + | |
| − | #Assetsの下で、Create/Materialを選択して、作成
| + | |
| − | #作成したMaterialを選択して、Shaderに、上で作った、TestUnlitShaderを入れる。
| + | |
| − | #作成したMaterialのinspector内のTextureに、用意した画像ファイルを入れる。
| + | |
| − | #ヒエラルキーに3DObject/Cubeを作成して、MeshRendererのMaterialsに、Unlit_TestUnlitShaderを追加する
| + | |
| | | | |
| − | 作成されたTestUnlitShader.shader
| + | [[Unity/Shader/標準Shaderソース]] |
| − | <pre>
| + | |
| − | Shader "Unlit/TestUnlitShader" | + | |
| − | {
| + | |
| − | Properties
| + | |
| − | {
| + | |
| − | _MainTex ("Texture", 2D) = "white" {}
| + | |
| − | }
| + | |
| − | SubShader
| + | |
| − | {
| + | |
| − | Tags { "RenderType"="Opaque" }
| + | |
| − | LOD 100
| + | |
| | | | |
| − | Pass
| + | [[Unity/Shader/skybox]] [dir] |
| − | {
| + | |
| − | CGPROGRAM
| + | |
| − | #pragma vertex vert
| + | |
| − | #pragma fragment frag
| + | |
| − | // make fog work
| + | |
| − | #pragma multi_compile_fog
| + | |
| | | | |
| − | #include "UnityCG.cginc"
| + | [[Unity/Shader/Lod]] |
| | | | |
| − | struct appdata
| + | [[Unity/Shader/Fog]] |
| − | {
| + | |
| − | float4 vertex : POSITION;
| + | |
| − | float2 uv : TEXCOORD0;
| + | |
| − | };
| + | |
| | | | |
| − | struct v2f
| + | [[Unity/VideoPlayer/クロマキー]] [ショートカット] |
| − | {
| + | |
| − | float2 uv : TEXCOORD0;
| + | |
| − | UNITY_FOG_COORDS(1)
| + | |
| − | float4 vertex : SV_POSITION;
| + | |
| − | };
| + | |
| − | | + | |
| − | sampler2D _MainTex;
| + | |
| − | float4 _MainTex_ST;
| + | |
| − | | + | |
| − | v2f vert (appdata v)
| + | |
| − | {
| + | |
| − | v2f o;
| + | |
| − | o.vertex = UnityObjectToClipPos(v.vertex);
| + | |
| − | o.uv = TRANSFORM_TEX(v.uv, _MainTex);
| + | |
| − | UNITY_TRANSFER_FOG(o,o.vertex);
| + | |
| − | return o;
| + | |
| − | }
| + | |
| − | | + | |
| − | fixed4 frag (v2f i) : SV_Target
| + | |
| − | {
| + | |
| − | // sample the texture
| + | |
| − | fixed4 col = tex2D(_MainTex, i.uv);
| + | |
| − | // apply fog
| + | |
| − | UNITY_APPLY_FOG(i.fogCoord, col);
| + | |
| − | return col;
| + | |
| − | }
| + | |
| − | ENDCG
| + | |
| − | }
| + | |
| − | }
| + | |
| − | }
| + | |
| − | </pre>
| + | |
| − | | + | |
| − | 参考:https://qiita.com/nekoco/items/592ac7109106aef97522
| + | |
| − | | + | |
| − | ==Textureプロパティにアクセス==
| + | |
| − | <pre>
| + | |
| − | Material material;
| + | |
| − | material.SetTexture(“_MainTex”, texture);
| + | |
| − | </pre>
| + | |
| − | 公式:https://docs.unity3d.com/ja/2019.4/ScriptReference/Material.SetTexture.html
| + | |
| − | | + | |
| − | ==色プロパティにアクセス==
| + | |
| − | <pre>
| + | |
| − | Material material;
| + | |
| − | material.SetColor(0, new Color(1f, 1f, 0f));
| + | |
| − | // カスタム値にアクセスしたい場合
| + | |
| − | material.SetColor("_HogeColor", new Color(1f, 1f, 0f));
| + | |
| − | </pre>
| + | |
| − | 公式:https://docs.unity3d.com/ja/2019.4/ScriptReference/Material.SetColor.html
| + | |