问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问unity3d中,那些比较复杂的材质球是怎么做出来的?谢谢啦

发布网友 发布时间:2022-04-30 12:31

我来回答

3个回答

热心网友 时间:2022-06-23 21:41

这是我在蓝铅笔上面看到的关于材质球的一些技巧。

里面提到的中心要点就是联结(combine),联结,再联结。而对于具体怎么联结他却略过不提,于是只好自己研究。

先解释下联结的原理和意思:文档里说,显卡对于一个含100个面片的物体的和含1500个面片的物体的渲染消耗几乎是等价的。所以如果你有N个同一材质的东西,那么把他们联成同一个物体再统一用一个material那么对于显卡的渲染消耗就要降低N倍。

再讲具体做法,方法有2:

1是直接在max等工具里联结好,贴上同一材质再导进来,这方法固然好却不灵活,而且通常不实用,因为项目里大量同一材质的东西都是unity系统的树啊花花草草啊石头等。

2、就是在unity里再联结,这个要怎么做呢,其实也挺简单的,经常看Island Demo项目的人应该很早就注意到里面的石头这些都是连在一起的,原因就在这里,他提供了现成就脚本实现联结。

先到Island Demo的Assets/Script下找到CombineChildren.cs和MeshCombineUtility.cs两个脚本复制到自己的项目文件(我们要用的只是前者,但他会调用后者,没有后者unity会报错,所以把后者扔到项目里不管就好)

然后把你项目里那些用同一Materials的东西扔到一个空物体里面去,再把CombineChildren.cs贴到那个空物体上,搞定!

下面,我们来看看这个神奇的脚本帮我们做了什么工作,运行游戏之前,见图1,Island Demo就是按上述方法做了个_RocksCombined的东西,上面只贴着这个脚本,他里面全是岛上个一块块小石头,用的是同一个Materials

运行游戏后,神奇的事情发生了。

这个_RocksCombined上面出现了一个Combined Mesh,并带有他里面石头的Material,他里面的小石头的MeshRenderer的钩都自动去掉了,即被disable了。

这就是这个脚本自动帮我们做的优化方法,实现了对同材质物体的联结,从而降低了系统开销。

热心网友 时间:2022-06-23 21:41

自己写的shader,要会计算机图形学,会cg语言

热心网友 时间:2022-06-23 21:41

用Unity的Shader 语言写出来的。
请问unity3d中,那些比较复杂的材质球是怎么做出来的?谢谢啦

1是直接在max等工具里联结好,贴上同一材质再导进来,这方法固然好却不灵活,而且通常不实用,因为项目里大量同一材质的东西都是unity系统的树啊花花草草啊石头等。2、就是在unity里再联结,这个要怎么做呢,其实也挺简单的,经常看Island Demo项目的人应该很早就注意到里面的石头这些都是连在一起的,...

unity3d 一个物体如何赋予多个材质球?

当导入的模型有多重材质时,unity3d中也会对应有多个材质球。当然您也可以在unity3d中将物体的Materials-Size设为大于1的数,然后赋予多个材质,但是这样显然不会得到预期的效果。

关于unity3d的材质球的问题?

探讨Unity3D材质球问题,首先,导入FBX模型时,右侧面板通常会提供导出材质的选项,导出后即可进行编辑。在操作过程中,有几点需要注意。通常,FBX模型导入到场景中会自动以预制件(prefab)形式存在,这种情况下,若先解开了预制件的关联,再进行材质导出,可能会引起场景中物体材质的丢失。解决办法包括重新指...

unity3d怎么给物体上材质球,贴图

给物体上材质球:有两种方式,一种是把制作好的材质球拖到Scene面板中的物体,另一种是把制作好的材质球拖到Hierarchy面板中的物体。

UNITY3D 导入模型的问题!!!

对于这样的情况,我建议在资源窗口中找到贴图文件,然后拖拽到模型相应位置,使之生成材质球。至于动作,我看到你的资源中有.tga和.jpg的文件,并未看到动画文件。如果有动画文件,可以试试看先加上一个animation的组件,然后把相应的动画拖拽到组件上就好了。以上只是我个人见解,如果不正确,请看到的人...

unity3d里面的序列帧动画怎么做

贴图选同一个材质球,然后build atlas 就会在一张图片上了

unity3d 如何代码修改某个shader的颜色

1.打开软件,新建工程如下图所示。点击创建工程按钮。2.在层级面板中穿件Cube,在项目面板鼠标右键中创建材质,如下图所示 3.在项目面板下创建脚本文件,如图所示 4.双击脚本文件打开,编写代码如下 5.创建标准shader,如下图所示 6.并将创建的shader替换给Cube对象 7.双击打开5中创建的Shader文件,...

unity怎么在材质球的贴图上添加更多的图案

添加方法如下:1、在项目面板中选择资源文件夹,右键单击资源文件夹,单击创建选择材质。2、将贴图添加到着色器:在计算机中选择所需的图像,将图像拖动到项目面板中的资源文件夹中。3、选择创建的材质球,在检查器面板中找到反照率属性,单击该属性左侧的小圆弹出一个窗口。只需在弹出窗口中选择unity3D...

现在学unity3D以后找工作如何,前途怎样

Unity3D具有许多关键模块,如碰撞检测、射线投射、动画、移动控制以及材质球等,这些都是基础但重要的概念。此外,Unity3D能够跨平台打包,这意味着你可以使用它来创建可以在多个平台上运行的游戏,包括安卓系统。这需要对安卓SDK有一定的了解。在游戏开发领域,除了Unity3D,还有其他游戏引擎,例如虚幻4(UE4...

【Unity3D】URP中的打包资源加载

一般解决方式,是Edit/Project Settings/Graphics,将Shader加入到Always Includes Shaders中,我不喜欢这种方法,因为Always Includes Shaders一般是加载那些Hidden Shader的。所以我是新建一个材质球引用Shader,并把材质球拖到需要用到的位置。  值得注意的是,URP中的Shader...

unity3d怎么给地形加材质 unity3d材质球 unity3d玻璃材质球制作 unity3d材质包 unity3d添加材质 unity3d材质库 unity3d水晶材质 unity3d塑料材质 unity3d为什么用c#
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
利比亚ECTN认证怎么办理 脸上汗毛咋脱好 淘宝不绑卡如何支付?为何支付时交易关闭? 利比亚电子跟踪单ECTN BESC认证 怎么用建行电子钱包里的钱淘宝支付,能不能支付?能的话麻烦朋友说下具体... 钱不小心存进建行的电子钱包了 ,取不出来了 ,怎么办 ? 能怎么用掉 可 ... 自己用花生做花生酱 家中如何做花生酱 什么叫棉弹牛仔布? 吸奶器和奶瓶一起煮好吗 哪的公司的嵌入式开发板比较好一些,最好资料全售后支持也好的? unity3d 一个物体如何赋予多个材质球? unity3d 如何给同一物体不同面加不同材质? 本人软件工程专业小硕,想转方向进入嵌入式软件开发,成都哪家嵌入式公司比较好?从事的是哪个服务领域? unity3d的材质怎么安装 还是自带的 弄好后怎么用笔刷刷上去? 字体不能用,怎么办? 新下的字体有些字打不出来怎么办? 想找份嵌入式方面的工作,国内哪些公司不错 ps里有些字体不能用是啥问题 有哪些开发嵌入式产品的公司?国际知名的,或者国内的呢? CORELDRAW中的有些字体为什么不能用了 安装好字体不能用怎麽办 安装的字体无法使用,该怎么办? 中行信用卡账单日当天刷卡的话会不会扣钱 为什么有些字体安装上了不能用? 购买的字体不能用,怎么办? 为什么建设银行信用卡账单日会扣除利息100元 农业银行信用卡会自动扣钱是怎么扣的? 为什么我的电脑有些字体显示不了? 账单日 信用卡里面有钱会被扣掉吗? 常州有哪些嵌入式开发方面的公司啊? unity3D 为多个物体赋予不同的材质(材质不在物体场景中) 江苏有哪些好的专注于嵌入式产品开发的公司? unity3d 纹理 贴图 材质 的区别 unity3d5.0怎么得到材质 南京有哪些做linux嵌入式开发的公司,请大家 unity3d中的金属材质怎么做 大连哪些公司做嵌入式软件开发 unity3D中增添材质时都显示无,如何导入材质? unity3D中要怎样制作表现玻璃和镜面材质 别人说嵌入式发展很好 是哪个方面发展好呢 请问,unity3D能像max一样自己设置参数调出材质吗?有UVW贴图功能吗? 嵌入式培训完可以去哪儿些公司 unity 3d 什么是材质球 iPhone 5备忘录里的照片怎么删? C# UNITY3D 怎么给物体赋予不锈钢材质? unity3d 2017,怎么用按钮换物体材质? unity3d里面怎么利用代码同时给多个(是多个)物体换材质 iPhone6备忘录里的照片怎么删 Unity3D中不显示材质包,求助!!!