egret-docs-master/Engine3D/unity/2/README.md

48 lines
1.9 KiB
Markdown
Raw Normal View History

2024-06-19 13:32:32 +08:00
1我们已经成功导出了unity3d的cube立方体接下来我们来使用Egret3D插件内的shader来一比一还原导出mesh。
2我们打开Example文件夹下的Example_2场景文件目录位置如图所示
![](Img_1.png)
![](Img_2.png)
3) 首先我们来看一下Egret3D的unity插件为我们提供那些shader,这里我们推荐使用新版本Advanced目录下的shader,其中E3D_Material_NormalE3D_Material_Add
和E3D_Material_AlphaBlending分别对应了normaladd和AlphaBlending三种不同的模式方便用户使用。
![](Img_3.png)
5shader的参数抛开模式不一致三种shader的参数几乎一致接下来我们已E3D_Material_Normal为例子进行说明
![](Img_4.png)
adiffuseTexture:漫反射贴图。
bnormalTexture:法线贴图。
cspecularTexture:高光贴图。
ddiffuse Color:漫反射色。
eAmbient Color:法线色。
fSpecular Color:高光色。
gGloss:光泽。
hspecularLevel:高光级别。
ecutAlpha:透明裁剪,小于该值将被裁剪。
jgamma:校正系数。
krefraction:折射系数。
lrefractionintensity:折射强度。
mbothside:双面。
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)