LayaAir IDE是一款开发环境软件,软件中集成了各种实用的可视化编辑工具,支持2D、3D、VR的开发,并且让用户实现开发3D产品时同步发布VR产品,减少用户在开发时可能遇到的问题。
LayaAir IDE(可视化集成开发工具)是一款功能齐全的开发环境,一款次时代的3D游戏引擎,用户可以在软件中进行代码的开发,软件还提供UI编辑器、例子编辑器、时间轴动画等等内容,可以帮助用户进行3D形象和动画的制作,软件集成了完整的开发功能,用户在开发过程中需要的内容都能轻松找到。软件还有一个特色就是极轻,其核心引擎库仅100K左右、运行内存仅占用2M左右,可以说是简洁干净到了极致。
支持2D、3D、VR的开发,并实现开发3D产品时同步发布VR产品,一次投入多处回报;但是功能性并未打折,包括动画、UI、粒子、骨骼、物理、3D等系统,还具有支持引擎扩展与分包的独家优势,适用于广告、教育、营销等各领域,可以说,极强。LayaAir以巅峰实力吹响了H5游戏与APP游戏同台PK的号角,势必掀起H5引擎领域one is more的新浪潮。
LayaAir 引擎
裸跑性能媲美APP的HTML5引擎
多语言支持
支持AS3、TypeScript、JavaScript三种语言开发HTML5
适用领域广
核心库100K左右,适用游戏、广告、营销、应用、教育等领域
极致性能
唯一拥有大型游戏线上产品(裸跑)案例的HTML5引擎
功能强大
支持2D\3D、动画、UI、粒子、骨骼、物理等,支持引擎扩展与分包
LayaFlash引擎
页游MMOPRG《醉西游》成功转换HTML5
快速Flash产品转换
Flash页游\手游仅需1个人7天即可转换为HTML5和APP游戏
LayaFlash IDE
支持代码编译、调试、压缩与混淆加密、资源转换、在线文档等功能
HTML5零学习成本
AS3开发者可直接使用Flash开源框架和工具链进行开发HTML5
性能媲美APP
LayaFlash引擎的重度游戏已运行于QQ空间等平台,性能媲美APP
唯一实现H5重度游戏裸跑达到APP性能,并拥有线上案例的商业级开源引擎;
唯一覆盖当前所有主流H5开发语言的引擎,支持ActionScript3、TypeScript、JavaScript三种语言以及ES6语言规范的开发;
唯一使用自身引擎开发IDE工具,实现UI、粒子、骨骼、地图场景、动画等常用开发环境的可视化,极大提升开发者效率,优化工作流;
唯一实现一次开发,同时发布Flash页游版、APP版(Android、IOS)、H5版的全平台引擎。
LayaAir Debug调试工具无需下载安装任何插件,只需引入调试库,可以直接运行在项目中。
1、导入调试库
在项目中引入LayaAir Debug类库“ laya.debug.DebugTool”;
1 import laya.debug.DebugTool;
初始化类库:
1 DebugTool.init();
LayaAir Debug初始化成功后,在H5项目中会显示出一个调试窗口,调试窗口可能显示出来后又会被隐藏,这时可以通过双击屏幕的方式,再次显示LayaAir Debug调试窗口;
2、功能说明
A.点击选取按钮:点击图标后,通过点击指定的节点查看选中节点的属性信息;
点击”设置显示属性”图标,可以添加/删除节点要显示的属性信息:
B.拖动选取按钮:点击图标后,然后按住鼠标左键,将图标按钮拖动到想要查看的显示对象上:
C.查询按钮:显示当前在场景里选中的显示对象(Alt+V移动鼠标来选择对象)
D.性能按钮:
(1).对象创建:当前游戏运行过程中所创建的对象信息;
(2).渲染用时:当前游戏渲染所消耗的用时,单位为毫秒(ms)
(3).Cache:当前重绘过对象
3、节点属性面板操作:在节点、选中或性能标签面板页”右击”要查看的节点,会弹出:
一、新建一个页面HomeScene.ui
1、在UI编辑中创建一个页面类型为View的界面
2、创建了一个主页HomeScene场景,并拖动了一个Button组件到场景中,ID和label设置为“Test"。
二、编辑界面代码HomeScene.ts
因为之前勾选了创建逻辑类,所以项目会自动创建一个HomeScene.ts
但是这里报了一个错,找不到name 'ui',吐槽下自动创建也会报错...
教程找了一圈没找着,群里问了也没人回答,社区也没人遇到这个问题。
后来知道了需要在UI编辑界面,清理并导出,才能自动生成一个文件layaUI.max.all.ts,这个文件生成了HomeScene的基类。
三、UI和代码绑定
在ui编辑界面选择导出后,会自动生成layaUI.max.all.ts,这个文件实现了:
1. 创建了HomeScene.ts的基类HomeSceneUI
2. 绑定了HomeScene.ui,uiView:any = "xxxxx"就是HomeScene.ui的源代码
和Egret的比较:
1.Egret需要手动或使用插件来生成场景对应的类和组件属性;Laya能集成了导出功能,导出包含组件属性的基类。
2.Egret的场景皮肤都会集中放在default.thm.json中;Laya是放在layaUI.max.all.ts中。
四、使用HomeScene
使用HomeScene.ts则必须import导入view.scene
控制台报错,缺少button.png,这张图被使用在HomeScene.ui的按钮上。
增加加载图集的代码,先加载图集,在 new HomeScene
Laya.loader.load("res/atlas/comp.atlas", Handler.create(null, this.onLoaded));
然后出了新的警告,论坛搜了下,只是警告,不影响开发。
到此,在laya中创建ui和代码,并绑定使用就完成了...
准备动画素材
首先将所有动画素材导入到项目中
在这里我准备圆桌骑士中的 大剑勇士的攻击和行走的图片集合
所有图片我都使用了 角色_动作_序号 的命名方式
导入到工程中
在Laya IDE中 切换视图模式为 编辑模式 快捷键 ALT+W
然后在左下角资源列表中 打开所在目录
拷贝图片资源文件到文件夹中 回到IDE中 刷新即可 效果如图
开始建立动画
在编辑视图中, 右键项目新建一个动画
将攻击图片集合 拖到时间轴上
修改动效名称为attack 这里很重要 一会儿要用到
再把move图片集合拖拽过来 动效名称设置为 move
html5编程工具(LayaAir IDE) 2.7.0
3D物理功能增强
在LayaAir 3D物理中,本次的2.7版本,增加了固定关节组件Fixed Joint和可配置关节组件Configurable Joint的支持。开发者可以直接将Unity中的Fixed Joint以及Configurable Joint这两个物理关节组件,通过LayaAir的Unity导出插件,一键导出后直接在LayaAir引擎中使用。
Unity的固定关节组件Fixed Joint在LayaAir引擎中为FixedConstraint(固定约束),用于约束一个游戏对象对另一个游戏对象的运动,将两个物体永远以相对的位置固定在一起,即使发生物理改变,它们之间的相对位置也将不变。
Unity的可配置关节组件Configurable Joint在LayaAir引擎中为ConfigurableConstraint(可配置约束),这是一种自定义的约束类型,开发者可根据自身需求来设置六个自由度,此约束可以实现所有的约束类型功能。
我们还提供了断开力breakForce和断开扭矩breakTorque属性,用来设置约束的强度极限,同时在Script3D类中提供了物理的生命周期方法onJointBreak(),当约束力超过强度极限时,会打破约束,并调用该方法。
在易用性方面,本次版本还为刚体提供了约束查询的属性constaintRigidbodyA和constaintRigidbodyB,可方便查询与自己相关的两个约束的刚体名称。
LayaAir的Unity导出插件增强
本次的版本对于LayaAir的Unity导出插件也有所增强。更新如下:
增加导出 Cast Shadow / Receive Shadows 属性,Cast Shadow支持开关(On/ Off)控制。
light相关灯光设置暂不支持导出,需要在引擎内单独设置。
增加iOS纹理压缩的等级设置(高质量图片的导出会非常消耗时间),大家可根据需要设置即可。并且重构了纹理压缩的导出流程,输出了导出压缩纹理进度。
在物理组件方面,新增导出物理FixedJoint组件和物理ConfigurableJoint组件。
增加导出SkinMeshEnable属性。
增加Unity导出支持的属性表,内置在插件中,开发者可以在插件中直接找到此版本支持哪些导出属性。
支持cannon.js物理引擎
LayaAir内置的物理引擎是Bullet物理引擎,功能强大丰富。是我们推荐的引擎。考虑到有开发者反馈,某些产品只需要用到物理检测,碰撞等很基础的功能,并且希望引擎库的包体尽可能缩小。因此,我们决定在本次的2.7版本中,支持cannon.js物理引擎库,包括以下的cannon物理功能:
(1)cannon物理射线检测
(2)cannon物理碰撞检测
(3)cannon物理box,sphere,compoundCollider的实现
(4)cannon物理trigger的实现
(5)cannon物理形状Scale的实现
(6)cannon物理碰撞事件,触发事件的实现
(7)cannon物理属性(弹力,摩擦力等)的实现
(8)cannonCollider中增加localOffset属性
自此,开发者如果使用物理功能不多的情况下,可以选择cannon物理引擎方案。满足基础物理引擎功能使用的同时,相对于Bullet引擎大幅减少了包体。因为,使用cannon物理引擎方案,需要引入的cannon与cannonPhysics这两个库压缩后总和也不足200k。