使用C#脚本更改Unity游戏引擎中的对象纹理

时间:2014-10-20 07:23:33

标签: c# unity3d textures gameobject

我有两个对象,两个都有不同的纹理,我想在某个时间点使它们相同。我正在查看的当前代码如下:

weaponObject.renderer.material.mainTexture = selectedWeapon.renderer.material.mainTexture;

不幸的是,这似乎不起作用。 " weaponObject"纹理似乎保持不变,但只是在z轴方面进一步向后移动。有小费吗?两个对象都是GameObject类型。

1 个答案:

答案 0 :(得分:2)

您需要确保纹理适合GameObjects。几乎你不能将m4的纹理附加到m16,纹理将无法正确对齐。

您还需要确保两个对象使用相同类型的材料。请记住,材质会影响其外观,因此即使不同材质上的相同纹理也会有所不同。

示例,使用不同材质的相同纹理:

enter image description here

如果两个对象相同,如果你想要一致的结果它们应该是相同的,那么只需交换材料:

weaponObject.renderer.material = NewMaterial;