我有一个3d立方体,具有不亮的\透明纹理。我正在尝试访问材料偏移参数。
public class scroll : MonoBehaviour {
public float speed = 0.5f;
public GameObject stars, bg;
public Component ren;
// Use this for initialization
void Start () {
ren = GameObject.Find("stars").GetComponent<Renderer>();
}
// Update is called once per frame
void Update () {
Vector2 offset = new Vector2(0, Time.time * speed);
//here I want to change offset of the texture (shader: unlit\transparent)
}
}
我尝试了
ren.renderer.material.mainTextureOffeset = offset;
遇到错误:
UnityEngine.Material
不包含针对mainTextureOffeset
,并且没有扩展方法mainTextureOffeset
可以找到类型UnityEngine.Material
。你想念一个 组装参考?
结构:
-WORLD(此脚本附在此处)
-星星(3D立方体)
答案 0 :(得分:3)
您的代码中有错别字:mainTextureOffeset
而不是mainTextureOffset
。对于UnityEngine.Material
不包含mainTextureOffset
,我看不到其他任何可能性。
答案 1 :(得分:1)
我认为您应该使用ren.material.mainTextureOffset,因为ren是对“ stars”渲染器的引用,而不是对GameObject“ stars”的引用。
编辑:正如@Bagdan Gilevich在回答中指出的那样,您还应该将mainTextureOffeset更改为mainTextureOffset。