www.gxgs.net > unity3D 模型半透明

unity3D 模型半透明

有可能新导入的模型和之前已经导入过的模型在3dsmax或MAYA里是同一个材质,并且之前导入相同材质的模型时,编辑过该材质的shader为半透明效果。那新导入的相同材质的模型会自动更新为场景中已有的同一材质的材质效果。 也可能新导入模型的材质在...

导出的模型最好保存为.fbx格式 导出的时候连同贴图和材质一起导出。

你说的贴图反向指的是单面显示问题吗?这种情况一般都是法线反了,你把法线反过来试试,另外支持alfa通道的shader,加入离得很近,显示也会有问题,不知道你的模型是怎样的,必须要用透明的shader来显示的吗?可以的话,截个图,我再看看

C#的话Myobj.renderer.material.color = new Color(1.0f,1.0f,1.0f,0.5f); js简单点Myobj.renderer.material.color.a = 0.5; 改透明度,前提是,shader一定要支持透明通道

我刚刚试着敲了一下代码 发现Color a = transform.GetComponent().color.a = 0.5; 这样是不行的,所以用了下面这个笨方法 Color a = transform.GetComponent().color; a.a = 0.5f; transform.GetComponent().color = a; 肯定还有更好的办法,如...

你的模型是单面的,Unity中要使用专用的双面显示的shader才能让模型单面片双面显示。或者把屋子的每个墙都改成立方体,而不是一个面。

可能是shader设置的问题,换两个shader试一下。还有unity中自带的shader并没有max中的丰富,所以做模型的时候尽量注意不要用unity中没有的shader,如果用了那么就只能外部导入shader到unity来保证模型的正常显示了。

调一下着色器,大多数的u3d着色器是不支持双面显示的,也就是说你的贴图从正面看可以看到,但是从背面看确实透明的

对的,材质球那有个属性,把diffuse改成transparent/diffuse

在property里面,声明贴图属性的那一行,后面的="white"就是默认值为不透明白色了,要透明就改成=(0,0,0,0),另外材质本身必须是pragma写了透明的

网站地图

All rights reserved Powered by www.gxgs.net

copyright ©right 2010-2021。
www.gxgs.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com