这是我在蓝铅笔上面看到的关于材质球的一些技巧。
里面提到的中心要点就是联结(combine),联结,再联结。而对于具体怎么联结他却略过不提,于是只好自己研究。
先解释下联结的原理和意思:文档里说,显卡对于一个含100个面片的物体的和含1500个面片的物体的渲染消耗几乎是等价的。所以如果你有N个同一材质的东西,那么把他们联成同一个物体再统一用一个material那么对于显卡的渲染消耗就要降低N倍。
再讲具体做法,方法有2:
1是直接在max等工具里联结好,贴上同一材质再导进来,这方法固然好却不灵活,而且通常不实用,因为项目里大量同一材质的东西都是unity系统的树啊花花草草啊石头等。
2、就是在unity里再联结,这个要怎么做呢,其实也挺简单的,经常看Island Demo项目的人应该很早就注意到里面的石头这些都是连在一起的,原因就在这里,他提供了现成就脚本实现联结。
先到Island Demo的Assets/Script下找到CombineChildrencs和MeshCombineUtilitycs两个脚本复制到自己的项目文件(我们要用的只是前者,但他会调用后者,没有后者unity会报错,所以把后者扔到项目里不管就好)
然后把你项目里那些用同一Materials的东西扔到一个空物体里面去,再把CombineChildrencs贴到那个空物体上,搞定!
下面,我们来看看这个神奇的脚本帮我们做了什么工作,运行游戏之前,见图1,Island Demo就是按上述方法做了个_RocksCombined的东西,上面只贴着这个脚本,他里面全是岛上个一块块小石头,用的是同一个Materials
运行游戏后,神奇的事情发生了。
这个_RocksCombined上面出现了一个Combined Mesh,并带有他里面石头的Material,他里面的小石头的MeshRenderer的钩都自动去掉了,即被disable了。
这就是这个脚本自动帮我们做的优化方法,实现了对同材质物体的联结,从而降低了系统开销。
如果是那种光滑的镜面不锈钢,本质跟镜子是一样的
金属拉满,光滑拉满;
但最终要的是需要一个正确的反射源(cubemap),可以在场景中的lighting中设置,或者单独配置一个reflection probe
4条追问追答
回答于 2019-06-28
抢首赞
1
查看全部回答
买好货上万能的淘宝!优享品质,惊喜价格!
新型高端蓝牙助听器老人专用正品重度耳聋耳背年轻人隐形老年耳机
¥1580 元
助听器老人专用正品老年人听力下降耳聋耳背充电式声音放大器耳机
¥269 元
助听器老人专用正品耳聋耳背无线隐形年轻人老年声音放大器耳蜗式
¥1198 元
骨传导式助听耳器骨传感耳机老年人专用正品看电视耳聋耳背拾音器
¥320 元
峰力助听器耳聋耳背老人专用正品旗舰店年轻人无线隐形时光芭蕾
¥1700 元
mtaobaocom广告
各类电动轿车出售_型号齐全_实地货源
值得一看的轿车相关信息推荐
油电两用电动轿车 小型纯电动汽车
¥5000 元
小型电动轿车 油电两用小型电动轿车 长期出售小型电动轿车
¥13699 元
新能源电动轿车 拉货电动皮卡 可定制单排皮卡汽车 汽油电两用
¥5000 元
新式油电混合成人残疾车 新能源电动轿车 电话咨询
¥9800 元
金色阳光款 环保宽敞纯电电动女性汽车 接受学生电动轿车 可电话联系
¥16500 元
爱采购广告
大家还在搜
不锈钢护栏
unity3d
不锈钢钢丝网
祛眼袋的最佳方法
全屋定制装修
包子加盟店排行榜
月子中心多少钱一个月
心理咨询师证书被取消了吗
购物-淘宝热卖好物汇集,品牌众多,放心购!
购物-购物上淘宝,品类集结,热卖好物!海量优质商品,轻松畅购!尽享优惠,买东西上淘宝,一站轻松购!
你的材质球选取的Shader不包含_Color的定义
有些Shader不支持颜色自定义
为材质球选择Shader后如果可以在材质组建中调试颜色就代表你可以获取颜色
你换一个Shader试一试
这个还是多个材质球
transformGetComponent<MeshRenderer>()materials[0]name
这个还是单个材质球
transformGetComponent<MeshRenderer>()materialname
以上就是关于请问unity3d中,那些比较复杂的材质球是怎么做出来的谢谢啦全部的内容,包括:请问unity3d中,那些比较复杂的材质球是怎么做出来的谢谢啦、unity不锈钢材质怎么调、unity3d 获取材质的颜色出错了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)