把脚本拖到物体上,前提是要有Mesh Renderer,然后给Texture2D 数组赋值,选择Texture2D数组的size填入数字,直接拖动图片就行。如图所示:
//换贴图,直接把这段代码加在要换贴图的模型上即可;
var textures : Texture2D[]; //声明一个数组型的图片库;
private var i : float = 0; //声明i为浮点数0;
function OnGUI ()
{
GUI.Button(Rect(0,0,100,100),"切换贴图");
}
function Update()
{
//注解一:
//Input.GetMouseButton(0)就是点击左键切换
if(Input.GetMouseButtonDown(0))
{
if(i<textures.Length) //判断数组下标是否越界
{
renderer.material.mainTexture = textures[i];
++i;
Debug.Log(i);
}
}
}
注解一:Input.GetMouseButtonDown 获取鼠标按钮按下。
你需要在Update方法中调用这个方法,此后每一帧重置状态时,它将不会返回true除非用户释放这个鼠标按钮然后重新按下它。按钮值设定为 0对应左键,1对应右键,2对应中键。
运行结果,如图所示:
本文介绍如何在Unity3D中实现物体贴图的切换。通过编写脚本并将其拖放到拥有Mesh Renderer的物体上,设置Texture2D数组并赋予图片,利用Input.GetMouseButtonDown检测鼠标按钮事件,实现贴图的动态更换。特别指出,0表示左键,1表示右键,2表示中键。
最低0.47元/天 解锁文章
1116

被折叠的 条评论
为什么被折叠?



