大家好,欢迎来到IT知识分享网。
在unity中本来想实现在一个背景墙上更换图片的功能
在网上查了一些资料说是用Image,但我是新手小白刚接触Unity不久好多组建还不会用,就想能不能通过改变游戏对象的材质球来更换游戏对象的背景。
查了一些帖子,参看了前辈们的一些做法,实现了这个功能,现在分享给大家。我是小白一个,技术还不成熟,有些术语表达还不够准确,后来者如果看到这篇帖子,叙述不当之处还请多多包涵,这也是我在CSDN上的第一篇文章
实现过程如下:
1. 在场景中新建一个游戏对象 Creat—->3D object—->Plane
2. 找两张图片1和2拖到Assets中,另外在Assets下新建一个文件夹命名为Resources。将这两张图片分别拖拽到Scren上可以生成两个材质球。
3. 新建一个脚本文件 imagePlay.cs,并把这个脚本拖拽到Scren游戏对象上,完成Scren对象绑定脚本的操作。在imagePlay.cs中写入如下代码,就可实现运行时Scren有背景的效果。如果需要更换背景就在update( )函数中写更换背景的条件。
void Start () {
this.gameObject.GetComponent<MeshRenderer>().material = Resources.Load<Material>(“Materials/1”);
}
}
效果如下:
4.为什么要在Assets中新建一个Resoures文件夹,并把材质球导入其中可能是获得材质球的方法要求的吧,Resources.Load<Material>(“Materials/2”)。方法调用这块我还不太熟悉,以后随着学习深入再来补充吧。此处参考了一个百度贴吧中一个吧友的回复,在此表示感谢。
http://tieba.baidu.com/p/
5. 结束语
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/132811.html