unity导出的场景不显示实时阴影

如题,unity导出的场景不显示实时阴影,以下是样例
unity中的效果:
demo1.png

unity插件预览效果:
demo2.png

实际加载效果
demo3.png

 
unity版本是2018.4.7,laya引擎版本是 LayaBox 2.3.0 beta,插件版本与laya引擎版本一致
 
已邀请:

白珞琰

赞同来自: 182*****532

就刚才的demo,我关闭了场景自带的灯光,手动添加了一个新的灯光,并且手动往场景里添加了几个物件,阴影也显示不出来,这是为何?
 
let light: Laya.DirectionLight = scene.addChild(new Laya.DirectionLight) as Laya.DirectionLight;
light.transform.rotate(new Laya.Vector3(-120, 0, 0), false, false);
light.shadow = true;
light.shadowDistance = 150;
light.shadowResolution = 2048;
light.shadowPSSMCount = 1;
light.shadowPCFType = 3; 
let plane: Laya.MeshSprite3D = scene.addChild(new Laya.MeshSprite3D(Laya.PrimitiveMesh.createPlane(10, 10))) as Laya.MeshSprite3D;
plane.meshRenderer.material = Laya.loader.getRes('sences/Assets/Scenes/TestPro/Materials/Dana.lmat');
plane.meshRenderer.receiveShadow = true;
plane.transform.translate(new Laya.Vector3(0, 0.1, 0), false); 
let test: Laya.MeshSprite3D = scene.addChild(new Laya.MeshSprite3D(Laya.loader.getRes('sences/Assets/Scenes/TestPro/Models/215_qijiashe-215_qijiashe.lm'))) as Laya.MeshSprite3D;
test.meshRenderer.material = Laya.loader.getRes('sences/Assets/Scenes/TestPro/Materials/215_qijiashe.lmat');
test.meshRenderer.castShadow = true;
test.transform.translate(new Laya.Vector3(0, 0.5, -1), false);
test.transform.rotate(new Laya.Vector3(-90, 0, 0), false, false);
 
效果图:
demo.png

 

Laya_Aaron

赞同来自:

阴影需要在代码里添加的,请参照官网的文档。

白珞琰

赞同来自:

没有阴影的问题解决了,原因是材质的 Render Queue 属性,必须设置为 Geomety 或 AlphaTest,但是这个阴影好难看啊!
1.png

 

IN

赞同来自:

你好,请问一下还有其他原因吗?我仅仅只是在场景中放置了一个PBR垃圾桶以及一个plane,但是将他们的shader设置为Laya的材质后也是不能显示阴影。我也有试过导出资源后在Laya中根据官网的教程用代码添加,但是这并没有用。
394af7f7cada1397d3bb619a1ce0782f.png

要回复问题请先

商务合作
商务合作