Layaair 3D资源加载(Unity3D 导出资源)
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 导出资源)相关推荐
- html标签 资源加载失败,前端资源加载失败优化
Web 项目上线后,开始开门迎客,等待着来自大江南北.有着各式各样网络状态的用户莅临.在千差万别的网络状态中,访问页面难免会遇到前端资源加载失败的情况,占比或许不高,但一遇到,轻则页面样式错乱,重则白 ...
- 【读书笔记】【WebKit技术内 幕(二)】Chromium Webkit资源加载与网络栈、DOM树、HTML解释器、影子DOM、CSS解释器和样式布局、网页层次与渲染、绘图上下文、
文章目录 前言 Something great 第4章 资源加载和网络栈 Webkit 资源加载 Chromium多进程资源加载 Chromium 网络栈 第5章 HTML解释器和DOM模型 DOM模 ...
- 【Android 插件化】Hook 插件化框架 ( 加载插件包资源 )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
- 游戏项目中的资源加载管理
简介 资源加载时的恢复与暂停以及缓存 资源加载的相关处理 资源路径 优先级处理 发布事件 资源加载未完成与完成时的处理 总结 简介 资源加载主要需要注意以下几点: 资源加载时的缓存,停止,恢复 资源加 ...
- Unity3D资源加载与内存管理
Unity3D资源加载与内存管理 Unity 3D中的资源加载 AssetBundle运行时加载: Unity3D占用内存太大怎么解决呢? 关于内存管理 举两个例子帮助理解 额外问题 Hog的评论引用 ...
- 【Unity3D日常开发】Unity中的资源加载与文件路径
推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...
- Unity3D之AssetBundle资源加载封装
转载自:http://www.luzexi.com/unity3d/游戏通用模块/前端技术/2014/04/16/Unity3D之AssetBundle资源加载封装/ GitHub:https://g ...
- Unity3D的uniSWF插件动态加载SWF UI资源
uniSWF能把Flash的素材像用AS3编程类似,只不过环境要在C#或者JS中编程.要是想创建一个类似Menu菜单或者像导航一样的菜单,在Unity中首先要选择摄像机,给摄像机添加MovieClip ...
- 大型3d游戏资源加载三步曲(硬盘-amp;gt;内存-amp;gt;显存)
做过游戏的人都知道游戏的资源非常庞大,需要有一个好的后台预加载机制.现在一般都是再开一个I/O线程,主线程有I/O需求的话,将信息推入队列,I/O辅助线程从队列读出需求,从磁盘加载I/O,加载好后设置 ...
最新文章
- ADO.NET连接SQL Server数据库
- android 原生分享界面_手机资讯:省时省力!直接在锁屏界面打开应用App
- 两个ListBox的相互操作
- 【Python】 获取MP3信息replica
- Spark配置属性详解
- 微型计算机自动化控制专业,自动化专业简介
- 8月刚入职字节跳动的测试开发面试题,附答案
- Web前端工程师VS前端工程师,谁的薪资更上一筹?
- 详解ASIC设计流程
- 日常(魔鬼本鬼又来了)
- Squid缓存服务器和代理介绍
- keilC51编译常见错误和警告说明
- exit()和_exit()
- 电子元件行业ERP经典客户案例(电陶)
- 矽杰微 X8M2101 单片机
- python英文词云代码_Python 词云 【中/英】小白简单入门教程
- 通达信接口公式怎样进行破解?
- 第13周项目1—动物这样叫2.3
- 渗透技巧——程序的降权启动
- PickerView和AutoSize