Layaair 3D资源加载

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

2D资源的预加载 https://blog.csdn.net/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();

Layaair 3D资源加载(Unity3D 导出资源)相关推荐

  1. html标签 资源加载失败,前端资源加载失败优化

    Web 项目上线后,开始开门迎客,等待着来自大江南北.有着各式各样网络状态的用户莅临.在千差万别的网络状态中,访问页面难免会遇到前端资源加载失败的情况,占比或许不高,但一遇到,轻则页面样式错乱,重则白 ...

  2. 【读书笔记】【WebKit技术内 幕(二)】Chromium Webkit资源加载与网络栈、DOM树、HTML解释器、影子DOM、CSS解释器和样式布局、网页层次与渲染、绘图上下文、

    文章目录 前言 Something great 第4章 资源加载和网络栈 Webkit 资源加载 Chromium多进程资源加载 Chromium 网络栈 第5章 HTML解释器和DOM模型 DOM模 ...

  3. 【Android 插件化】Hook 插件化框架 ( 加载插件包资源 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

  4. 游戏项目中的资源加载管理

    简介 资源加载时的恢复与暂停以及缓存 资源加载的相关处理 资源路径 优先级处理 发布事件 资源加载未完成与完成时的处理 总结 简介 资源加载主要需要注意以下几点: 资源加载时的缓存,停止,恢复 资源加 ...

  5. Unity3D资源加载与内存管理

    Unity3D资源加载与内存管理 Unity 3D中的资源加载 AssetBundle运行时加载: Unity3D占用内存太大怎么解决呢? 关于内存管理 举两个例子帮助理解 额外问题 Hog的评论引用 ...

  6. 【Unity3D日常开发】Unity中的资源加载与文件路径

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

  7. Unity3D之AssetBundle资源加载封装

    转载自:http://www.luzexi.com/unity3d/游戏通用模块/前端技术/2014/04/16/Unity3D之AssetBundle资源加载封装/ GitHub:https://g ...

  8. Unity3D的uniSWF插件动态加载SWF UI资源

    uniSWF能把Flash的素材像用AS3编程类似,只不过环境要在C#或者JS中编程.要是想创建一个类似Menu菜单或者像导航一样的菜单,在Unity中首先要选择摄像机,给摄像机添加MovieClip ...

  9. 大型3d游戏资源加载三步曲(硬盘-amp;gt;内存-amp;gt;显存)

    做过游戏的人都知道游戏的资源非常庞大,需要有一个好的后台预加载机制.现在一般都是再开一个I/O线程,主线程有I/O需求的话,将信息推入队列,I/O辅助线程从队列读出需求,从磁盘加载I/O,加载好后设置 ...

最新文章

  1. ADO.NET连接SQL Server数据库
  2. android 原生分享界面_手机资讯:省时省力!直接在锁屏界面打开应用App
  3. 两个ListBox的相互操作
  4. 【Python】 获取MP3信息replica
  5. Spark配置属性详解
  6. 微型计算机自动化控制专业,自动化专业简介
  7. 8月刚入职字节跳动的测试开发面试题,附答案
  8. Web前端工程师VS前端工程师,谁的薪资更上一筹?
  9. 详解ASIC设计流程
  10. 日常(魔鬼本鬼又来了)
  11. Squid缓存服务器和代理介绍
  12. keilC51编译常见错误和警告说明
  13. exit()和_exit()
  14. 电子元件行业ERP经典客户案例(电陶)
  15. 矽杰微 X8M2101 单片机
  16. python英文词云代码_Python 词云 【中/英】小白简单入门教程
  17. 通达信接口公式怎样进行破解?
  18. 第13周项目1—动物这样叫2.3
  19. 渗透技巧——程序的降权启动
  20. PickerView和AutoSize

热门文章

  1. 测试开发工程师,年薪100W不过分吧
  2. [附源码]java毕业设计企业记账系统
  3. xshell6+xftp6软件资源和解决强制更新方法
  4. 内网渗透----netcat工具使用
  5. leetcode热题HOT100汇总——java题解已完结撒花
  6. OpenCV Sobel 边缘检测
  7. 智慧应急解决方案-最新全套文件
  8. Excel统计QQ聊天记录条数
  9. 英语学习利器,后悔后知后觉了--------------------韦氏三宝
  10. 怎样把截图转换成文字?三分钟教会你如何截图转文字