unity3d中怎么用代码换材质,不要用拖进去的方法,要动态加载材质的方法。

unity3d中怎么用代码换材质,不要用拖进去的方法,要动态加载材质的方法。,第1张

mat = new Material( "Shader \"Hidden/Alpha\" {" +

"SubShader {" +

" Pass {" +

" ZTest Always Cull Off ZWrite Off" +

" Blend DstAlpha Zero" +

" Color (1,1,1,1)" +

" }" +

"}" +

"}"

)

这是代码新建的

如果是动态换,声明Material mat 然后gameObject.renderer.material = mat

有两个方法可以在3dsmax场景中导入相应材质球:

第一种方法:

1 点击材质编辑器里的获取材质按钮(下图红圈1处),在d出的材质/贴图浏览器里点击左上角的黑色倒三角按钮,选择打开材质库。

2 在路径里找到对应的材质文件加载。选择一个材质球,在材质/贴图浏览器里双击材质文件,材质球上就有了材质。

第二种方法:

以合并的方式导入有相应材质的模型文件,先Alt+q,孤立对象,渲染,渲染没有错误,就是可以使用的模型文件,用吸管吸取对应的模型上的材质,这样,材质球上就有了需要的材质。

动态是指什么?发布后还可以动态加入图片?或者说一个图片数组存储图片,然后点一下换一张?

前者的话,参考www类。后者的话,简单点:先确保你的对象有碰撞,然后脚本通过OnMouseEnter和OnMouseExit判定鼠标是否进入对象范围内。再通过Input.GetMouseButtonDown(0)判断鼠标点下,同时执行renderer.material.mainTexture=?来实现换贴图


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11725800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存