查看: 3181|回复: 1
打印 上一主题 下一主题

u3d12创建一个材质赋给已经存在的组件 (转)

[复制链接]

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-12-29 10:21:16 |只看该作者 |倒序浏览
这个问题我们就不详细说明了直接看代码吧:下面的是创建一个材质,贴到对象上:using UnityEngine;using System.Collections;using UnityEditor;//第一个问题一定要把这个包导入进去public class caizhi : MonoBehaviour {Texture2D texture = null;//创建一个空的Texture2D// Use this for initializationvoid Start () {//创建一个材质名字叫做matMaterial mat =new Material(Shader.Find("Transparent/Diffuse"));//把我们的项目中的图片赋值给我们创建的空的Texture2Dtexture = (Texture2D)AssetDatabase.LoadAssetAtPath("Assets/imgs/img.jpg",typeof(Texture2D));//把已经有图片的Texture2D赋给我们的一步创建的材质材质mat.mainTexture = texture;//mat.color = new Color(0,0,1,1);//这个可以更改他的颜色,要把上面那句注释掉AssetDatabase.CreateAsset(mat,"Assets/mat.mat");//找到我们创建的cubeGameObject cube1 = (GameObject)GameObject.Find("Cube");//把我们的材质赋给cube工作结束看效果吧!很霸气的代码啊!cube1.renderer.material = mat;} // Update is called once per framevoid Update () { }}这里是把已经建好的一个材质加载进来,并贴在对象上Material mat = (Material)AssetDatabase.LoadAssetAtPath("Assets/metial/MyMaterial.mat",typeof(Material));GameObject cube = GameObject.Find("Cube");cube.renderer.material=mat;
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-12-30 01:43:45 |只看该作者
学习了,虽然还是有难度,谢谢楼主的用心
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-22 23:06 , Processed in 0.087038 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部