53564

[code]

    GetComponent<Renderer>().sharedMaterial.SetTextureOffset("_MainTex",offset);
    
[/code]

の引数の意味を公式リファレンスで調べたのですがその意味がわかりません。  
第一引数の`name: Property name, for example:
"_MainTex"`とはどのよう意味なのでしょうか？プロパティの名前例は`_maxitex`みたいなことが書いてありますがこれはどのような意味なのか知りたいです。

公式リファレンスページ:
<https://docs.unity3d.com/ja/current/ScriptReference/Material.SetTextureOffset.html>

[code]

    public class BackGround : MonoBehaviour {
    
        public float speed = 0.1f;
    
        // Use this for initialization
        void Start () {
    
        }
    
        // Update is called once per frame
        void Update () {
            float y = Mathf.Repeat(Time.time * speed,1);
            Vector2 offset = new Vector2(0,y);
            GetComponent<Renderer>().sharedMaterial.SetTextureOffset("_MainTex",offset);
            //Debug.Log(y);
        //    Debug.Log("Time.time: " + Time.time + "y: " +y);
    
        }
    }
    
[/code]


CC BY-SA 4.0
2019-03-19T23:49:30.243
53562
2019-03-20T00:47:22.640
2019-03-20T00:21:07.190
2238
question
c# unity2d
Material.SetTextureOffset()の引数の意味


UnityがRendererに渡す[メインテクスチャ](https://docs.unity3d.com/ja/current/ScriptReference/UI.Graphic-
mainTexture.html)の変数名です。

ご質問のサンプルコードのように`SetTextureOffset`で`_MainTex`を移動すると[外部リンク](https://github.com/unity3d-jp-
tutorials/2d-shooting-
game/wiki/%E7%AC%AC06%E5%9B%9E-%E8%83%8C%E6%99%AF%E3%82%92%E4%BD%9C%E3%82%8B)先で例示している背景のスクロール表示を実現できます。  
`SetTextureOffset("_MainTex", offset);`は`mainTextureOffset =
offset;`と[等価](https://docs.unity3d.com/ja/current/ScriptReference/Material-
mainTextureOffset.html)です。

`_MainTex`の他にUnityから割り振られる変数名としては[`_BumpMap`や`_Cube`](https://docs.unity3d.com/ja/current/ScriptReference/Material.GetTextureOffset.html)があります。  
[3Dの例](https://docs.unity3d.com/jp/560/Manual/SL-
SurfaceShaderExamples.html)ですが、上記の2変数で色々な加工を行えます。


CC BY-SA 4.0
2019-03-20T00:47:22.640
53564
2019-03-20T00:47:22.640
9820
53562
answer