【发布时间】:2019-10-11 05:56:05
【问题描述】:
我在一个游戏对象上附加了两种材质,我想做的是在几秒钟后从一种材质切换到另一种材质。
在 Unity3D 中,在我选择的 Gameobject 的检查器菜单下,在材质子标题下方的 MeshRenderer 标题下,我将大小从 1 增加到 2。我已将两种材质分配给两个新创建的元素。但是当我运行场景时,材质不会切换。
public var arrayMAterial : Material[];
public var CHILDObject : Transform;
function Update() {
CHILDObject.GetComponent.<Renderer>().material = arrayMAterial[0];
}
没有错误消息。它只是没有切换到新材料。
【问题讨论】:
-
你有那个 CHILDObject 的引用吗?第一:不要在 Update 函数中执行此操作。第二:切换到 C#。
-
看起来您正在访问数组中的第一个值,我认为这将是您的原始材料。你在这里没有改变任何东西。
-
我认为@Eliasar 是对的。尝试使用
... = arrayMAterial[1];。另外,您是否使用旧版本的 Unity 只是为了使用 UnityScript?
标签: unity3d unityscript game-development