48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
|
|
|||
|
|
|||
|
1)我们已经成功导出了unity3d的cube立方体,接下来我们来使用Egret3D插件内的shader来一比一还原导出mesh。
|
|||
|
2)我们打开Example文件夹下的Example_2场景文件,目录位置如图所示:
|
|||
|
|
|||
|
![](Img_1.png)
|
|||
|
![](Img_2.png)
|
|||
|
|
|||
|
3) 首先我们来看一下Egret3D的unity插件为我们提供那些shader,这里我们推荐使用新版本Advanced目录下的shader,其中E3D_Material_Normal,E3D_Material_Add
|
|||
|
和E3D_Material_AlphaBlending分别对应了normal,add和AlphaBlending三种不同的模式,方便用户使用。
|
|||
|
|
|||
|
![](Img_3.png)
|
|||
|
|
|||
|
5)shader的参数,抛开模式不一致,三种shader的参数几乎一致,接下来我们已E3D_Material_Normal为例子进行说明:
|
|||
|
|
|||
|
![](Img_4.png)
|
|||
|
|
|||
|
a)diffuseTexture:漫反射贴图。
|
|||
|
b)normalTexture:法线贴图。
|
|||
|
c)specularTexture:高光贴图。
|
|||
|
d)diffuse Color:漫反射色。
|
|||
|
e)Ambient Color:法线色。
|
|||
|
f)Specular Color:高光色。
|
|||
|
g)Gloss:光泽。
|
|||
|
h)specularLevel:高光级别。
|
|||
|
e)cutAlpha:透明裁剪,小于该值将被裁剪。
|
|||
|
j)gamma:校正系数。
|
|||
|
k)refraction:折射系数。
|
|||
|
l)refractionintensity:折射强度。
|
|||
|
m)bothside:双面。
|
|||
|
|
|||
|
6)这次导出使用的mesh,是一个多材质的模型,可以分为树干与树叶两部分。两个部分的材质球都使用了E3D_Material_Normal,其中树叶部分比较特殊,需要设置
|
|||
|
cutAlpha = 0.5来去除无用的透明像素。我们来看下cutAlpha = 0和0.5的差别。
|
|||
|
|
|||
|
![](Img_5.png)
|
|||
|
![](Img_6.png)
|
|||
|
|
|||
|
7)参数调整完毕后,可以参考mesh导出教程内的步骤进行导出,输出结果如下:
|
|||
|
|
|||
|
![](Img_7.png)
|
|||
|
|
|||
|
8) 上图中不难发现树叶边缘存在ALPHA错乱的的问题,那么我们首先菜单栏Egret3D-->Tools-->InitEgretLayer,然后选中树木,设置其layer层为
|
|||
|
normalAlphaObject,重新导出后如图所示:
|
|||
|
|
|||
|
![](Img_8.png)
|
|||
|
![](Img_9.png)
|
|||
|
![](Img_10.png)
|