200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Layaair 3D资源加载(Unity3D 导出资源)

Layaair 3D资源加载(Unity3D 导出资源)

时间:2023-07-21 05:32:06

相关推荐

Layaair 3D资源加载(Unity3D 导出资源)

Layaair 3D资源加载

layaair 预加载3D资源(Unity3D 导出资源) 和 2D 资源还是有些区别的。

2D资源的预加载 /nicepainkiller/article/details/82971636

这个就是我们加载 U3D 导出的 资源文件

基本就这块

// 程序入口class GameMain {constructor() {//let screenRatioFitter :ScreenRatioFitter = new ScreenRatioFitter();//Laya3D.init(screenRatioFitter.Width,screenRatioFitter.Height, true);//初始化引擎Laya3D.init(SetupConfig.widthDesign,SetupConfig.heightDesign, true);//适配模式//Laya.stage.bgColor = "#000000";Laya.stage.scaleMode = Laya.Stage.SCALE_NOBORDER; //Laya.stage.scaleMode = Laya.Stage.SCALE_EXACTFIT;Laya.stage.alignH = Laya.Stage.ALIGN_CENTER;Laya.stage.alignV = Laya.Stage.ALIGN_MIDDLE;Laya.stage.screenMode= Laya.Stage.SCREEN_VERTICAL;//开启统计信息Laya.Stat.show();// //添加3D场景// var scene: Laya.Scene = Laya.stage.addChild(new Laya.Scene()) as Laya.Scene;// //添加照相机// var camera: Laya.Camera = (scene.addChild(new Laya.Camera(0, 0.1, 100))) as Laya.Camera;// camera.transform.translate(new Laya.Vector3(0, 3, 3));// camera.transform.rotate(new Laya.Vector3(-30, 0, 0), true, false);// camera.clearColor = null;// //添加方向光// var directionLight: Laya.DirectionLight = scene.addChild(new Laya.DirectionLight()) as Laya.DirectionLight;// directionLight.color = new Laya.Vector3(0.6, 0.6, 0.6);// directionLight.direction = new Laya.Vector3(1, -1, 0);// // //添加自定义模型// // var box: Laya.MeshSprite3D = scene.addChild(new Laya.MeshSprite3D(new Laya.BoxMesh(1, 1, 1))) as Laya.MeshSprite3D;// // box.transform.rotate(new Laya.Vector3(0, 45, 0), false, false);// // var material: Laya.StandardMaterial = new Laya.StandardMaterial();// // material.diffuseTexture = Laya.Texture2D.load("res/layabox.png");// // box.meshRender.material = material;// let fish :Laya.Sprite3D = Laya.Sprite3D.load("res/fishPrefab/Fish0/Laya.lh");// scene.addChild(fish);// fish.transform.translate ( new Laya.Vector3(10000,0, 1000000)); // let scene: Laya.Scene= Laya.Scene.load("res/LayaScene_Person/Person.ls");// Laya.stage.addChild(scene);// //创建摄像机(横纵比,近距裁剪,远距裁剪)// var camera: Laya.Camera = new Laya.Camera(0, 0.1, 1000);// //加载到场景// scene.addChild(camera);// //移动摄像机位置// camera.transform.position = new Laya.Vector3(0, 0, -10);// //旋转摄像机角度// camera.transform.rotate(new Laya.Vector3(0, 0, 0), true, false);// //设置摄像机视野范围(角度)// camera.fieldOfView = 35;// //设置背景颜色// camera.clearColor = new Laya.Vector4(0, 0, 0.6, 1);// //加入摄像机移动控制脚本// //创建方向光 -------------------// var light: Laya.DirectionLight = scene.addChild(new Laya.DirectionLight()) as Laya.DirectionLight;// //移动灯光位置// light.transform.translate(new Laya.Vector3(0, 2, 5));// //调整灯光方向// light.transform.worldMatrix.setForward(new Laya.Vector3(0, -0.5, 0));// //设置灯光环境色// light.color = new Laya.Vector3(1, 1, 1);// Laya.timer.loop(100,this,()=>// {//// scene.transform.rotate(new Laya.Vector3(0, 0, 0), true, false);// });let scene:Laya.Scene = new Laya.Scene();Laya.stage.addChild(scene);let camera:Laya.Camera = new Laya.Camera();scene.addChild(camera);let box: Laya.MeshSprite3D = scene.addChild(new Laya.MeshSprite3D(new Laya.BoxMesh(2, 2, 2))) as Laya.MeshSprite3D;//let material: Laya.StandardMaterial = new Laya.StandardMaterial();//material.diffuseTexture = Laya.Texture2D.load("res/layabox.png");//box.meshRender.material = material;let build:Laya.Sprite3D = Laya.Sprite3D.load("res/fishPrefab/Fish0/Laya.lh");box.addChild(build); box.transform.localPosition = new Laya.Vector3(0,0,-100);scene.addChild(box);// ///需要加载的资源列表 // let resArray : Array<any> = [//{ url:"res/background/back.jpg", type:Laya.Loader.IMAGE },//{ url:"res/atlas/button.atlas", type:Laya.Loader.ATLAS },// ];// Laya.loader.load( resArray, Laya.Handler.create(this, this.onCompelt), Laya.Handler.create(this, this.onprogress) );///需要加载的3D资源列表 let res3DArray : Array<any> = [{ url:"res/fishPrefab/Fish0/Laya.lh", type:Laya.Sprite3D },{ url:"res/fishPrefab/Fish1/Laya.lh", type:Laya.Sprite3D },{ url:"res/fishPrefab/Fish2/Laya.lh", type:Laya.Sprite3D },{ url:"res/fishPrefab/Fish3/Laya.lh", type:Laya.Sprite3D },{ url:"res/fishPrefab/Fish4/Laya.lh", type:Laya.Sprite3D },{ url:"res/fishPrefab/Fish5/Laya.lh", type:Laya.Sprite3D },{ url:"res/fishPrefab/Fish6/Laya.lh", type:Laya.Sprite3D },];Laya.loader.create(res3DArray, Laya.Handler.create(this,()=>{console.log("加载3D完成");for(let i = 0; i < res3DArray.length; i++){let box: Laya.MeshSprite3D = scene.addChild(new Laya.MeshSprite3D(new Laya.BoxMesh(2, 2, 2))) as Laya.MeshSprite3D;let build:Laya.Sprite3D = Laya.Sprite3D.load(res3DArray[i].url);box.addChild(build); scene.addChild(box);box.transform.localPosition = new Laya.Vector3(0,10*i,-100);}//预加载完成后 有两种方式 获得资源///第一种是 let build:Laya.Sprite3D = Laya.Sprite3D.load("res/fishPrefab/Fish2/Laya.lh");///第二种是let build2:Laya.Sprite3D = Laya.loader.getRes("res/fishPrefab/Fish2/Laya.lh");//这个函数 是2d 还是 u3d 通用的接口, 返回资源类型是根据资源的类型来的}),Laya.Handler.create(this, (pro)=>{console.log("加载3D进度:"+pro);}));}//加载完成private onCompelt():void {//UIManager.getInstance();}//加载进度private onprogress(pro:number):void{console.log("加载进度:"+pro);}}new GameMain();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。