众所周知,LayaIDE可以负责2D场景UI的编排和代码逻辑编写,那么如果我们要做一个3D的项目,又该如何呢。答案就是我们需要用Unity+Laya的模式开发。
3D场景的来源:通过Unity3D制作并导出
1.下载相关资源

2.打开unity,制作场景
1)新建一个unity工程
2)Assets->Import Package->custom package导入刚才下载的laya3d插件,直到菜单栏出现LayaAir3D
3)随便右键新建一个3D物体,便于观察场景变化
4)LayaAir3D->shortcuts->Switch to LayaAir3D Shader,将场景物体的shader变更成laya可识别的shader,这一步很关键
5)最后打开LayaAir3D->Export Tool,保存场景,预览即可
注意:如果出现黑屏,请注意检查打开的是不是chrome浏览器,如果不是,建议通过控制面板->程序->默认程序->设置默认程序->选择chrome浏览器,将它设置成默认值即可

6)设置导出路径并导出
推荐导出路径设置为laya工程项目的bin文件夹下,直到控制台输出Exporting success即完成导出工作

3.加载3D场景
注意:如果场景报错的话,请注意按F9类库设置,将laya.d3.js、laya.physic3d.js这两个3d核心依赖库勾选即可
export default class GameController extends Laya.Script{
constructor(){
super();
Laya.Scene3D.load("res/LayaScene_SampleScene/Conventional/SampleScene.ls", Laya.Handler.create(this,this.onCompelt));
}
onCompelt(sence3D):void{
Laya.stage.addChild(sence3D);
}
}

4.获取3d内的物体
3D场景对象->getChildByName(3d组件名称),具体用法与unity保持一致,就不多做描述了
网友评论