前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LayaAir开始在GitHub实时提交了,2.3版支持多光源渲染, 3D效果华丽提升!3D导出插件支持Unity2018了!

LayaAir开始在GitHub实时提交了,2.3版支持多光源渲染, 3D效果华丽提升!3D导出插件支持Unity2018了!

作者头像
Layabox Charley
发布2019-09-25 15:38:29
1.6K0
发布2019-09-25 15:38:29
举报
文章被收录于专栏:LayaboxLayabox

今天的引擎版本更新又是一次大版本更新,不仅推出了2.2正式版,还有重磅版本2.3.0beta版,关于本次重要的版本更新内容,本篇逐一为大家进行详细介绍。

2.2.0以下版本升级注意事项

LayaAir引擎在发新版本之前,会先将上个版本稳定下来。由于LayaAir引擎上个版本(2.2.0beta)涉及到引擎源码的切换及编译模式改变等等,改动的比较大,难免会有一些未知的bug,所以此次用了近两个月来稳定这个2.2版本。今天,在推出2.3.0bata版之际,2.2.0也稳定了。想升级2.2.0的线上项目可以踏实更新了。

由于2.2开始IDE编译模式发生了变化。这里我们也再次总结一下2.1或者更低版本升级2.2.0正式版本或者更高版本的注意事项。

1、AS语言版本在2.2.0开始不再可以查看源码,所以如果有查看修改源码需求的AS语言项目,需要止步于2.1.1.1这个版本。

2、AS语言版本如果要升级到2.2.0或者更高版本,需要注意的是,引擎库的引用需要到LayaAirIDE的编辑模式,在F9类库设置里勾选。

(上图为勾选后引擎库引用效果与旧版本引擎对比)

3、LayaAirIDE 2.2.0及以上版本创建项目时不能选择2.2.0以下的引擎版本。否则会出现问题。这个问题主要是在编程语言的选择时,如果选择了ActionScript3.0项目和TypeScript项目实验版才会导致。TS和JS理论上是没有问题的,但建议不要使用高版本IDE创建低版本引擎项目。

4、标准的TypeScript项目还是和原来一样,查看不到源码,并非是升级了引擎版本就可以看到源码了。只有创建新的实验版TypeScript项目,才能看到TypeScript源码。

5、实验版TypeScript项目目前在IDE里还有自动引包的BUG,这个BUG是内置的VSCode编辑器问题,目前VSCode官方最新测试版该问题已被解决,等VSCode正式版之后,我们会进行相关的适配调整。如果一定要用TypeScript实验版的开发者,遇到自动引包问题的时候,手动引包即可,目前未发现有别的问题。

6、LayaAirIDE 2.2.0开始默认取消了IDE内置的F5断点调试模式,开发者需要断点调试,可以F6运行,调起chrome的断点调试。这一直是我们推荐的调试模式。如果开发者一定要在IDE内进行断点,官网文档中给出了开启F5调试的IDE修改方式。文档链接如下:

https://ldc2.layabox.com/doc/?nav=zh-ts-3-0-7

vivo小游戏适配优化

LayaAirIDE 2.3.0beta版开始,适配了vivo最新的发布方案,增加了vivo发布的分包支持。同时在vivo小游戏发布的功能里,增加了rpk包调试的日志级别选项,开发者可以选择输出什么级别的日志,增强了开发者调试快游戏的体验。这个功能在其它的快游戏的发布选项里也有,目前阶段实测是vivo最为成熟。

LayaNative相关更新

LayaNative2.3.0版本响应苹果政策,删除了内置的UIWebview控件,使用了苹果推荐的WKWebview,解决了开发者项目提交App Store审核被拒的问题(注:如果项目中使用第三方SDK,第三方的SDK中很有可能还在使用UIWebview,也可能导致审核被拒问题)。

另外LayaNative的调试器,也会更新到最新版本,支持iOS最新的系统,解决部分iOS手机无法成功安装调试器的问题。

开始在GitHub实时维护了

Layabox官网中引擎版本更新的周期是一个月左右发一个版本。之前引擎的GitHub更新基本上是与官网更新周期同步的。从本次版本开始,LayaAir引擎团队开启了GitHub实时维护模式,对于LayaAir新的引擎功能,以及发现的引擎BUG修改,会直接实时提交到GitHub中,如果开发者同步了GitHub上的LayaAir引擎版本,将会实时获得最新的引擎版本。无需再等Layabox官网一月一次的版本更新(注:IDE与3D插件更新不开源,只能等官网)。

(官网首页中也有LayaAir引擎Github地址入口了)

GitHub地址:https://github.com/layabox/LayaAir

与此同时,我们也欢迎有引擎代码提交能力的开发者,参与到引擎的BUG维护以及功能开发中来,我们官方引擎团队在审核通过后,会合并到线上版本中。对于参与引擎开发与维护的开发者,有机会获得LayaAir引擎官方团队的邀请,加入到开源小组中,获得开源小组的证书、参与引擎发展规划会议以及免费获得引擎技术服务等福利。

3D导出插件支持Unity2018.4.7

自从2016年LayaAir引擎支持3D以来,引擎的3D场景一直是基于Unity 5.6.x系列版本作的适配。在收到开发者的反馈后,我们从2.3版本开始支持Unity2018.4.7的导出。(这里需要注意的是,推荐开发者使用的版本是Unity2018.4.7,如果使用了Unity2018其它版本,可能会有未知的兼容问题。)

从2.3开始,不再维护Unity 5.6.x的3D导出插件版本。已有旧项目的开发者,在升级到Unity2018.4.7版本后,安装好2.3版LayaAir Unity导出插件,再直接在Unity2018里导入Unity 5.6.x旧项目,会自动完成升级。开发者直接在新的Unity2018插件模式下导出资源即可,(注意:3D插件最好要对应引擎的版本,虽然新版引擎可以兼容旧版插件导出的资源,但新版引擎的配套功能只有在新插件中才可以使用。而且旧版本引擎无法使用新版插件导出资源)。

另外有一处Unity 5.6.x升级到Unity2018.x的注意事项,那就是在导出光照贴图时需要将Unity中PlayerSetting的LightmapEncode切换为normal模式,才会正常。

2.3.0开始增加3D多光源支持

在LayaAir2.3.0beta之前的版本场景中只能添加一盏平行光、一盏点光源、一盏聚光灯,在实时光照渲染方面相对薄弱,很大程度的限制了艺术家对场景打光的发挥。

从LayaAir2.3.0beta版本开始,引擎增加了前向渲染多光源解决方案,开发者可以在3D场景中添加任意数量任意类型的实时光源,大幅提升了场景的实时光照效果,增加了场景光影的多变性。开发者还可以在自定义Shader中轻松的接入多光源渲染函数(具体可参考引擎官方Shader),使得LayaAir引擎在实时渲染质量上又迈出了一步。

(多光源效果示意图,图已被压缩,效果失真)

另外,LayaAir引擎在多光源实现的同时兼顾了移动端的性能保障。

2.3.0简化了自定义Shader流程

除了性能与功能,LayaAir在易用性上的探索也从未停止过,每一次易用性的提升,对开发者都是一次解放。

LayaAir2.3.0beta之前的引擎版本,要实现自定义Shader必须关联精灵宏定义和材质宏定义,相对来说较为繁琐。从LayaAir2.3.0beta开始,对此做出了易用性的改良,引擎会在内部自动化完成Shader和精灵宏定义、材质宏定义的关联工作,同时解除Shader和材质、精灵需绑定的限制,无需再传入精灵、材质宏定义集合两个参数。让自定义Shader更自由,更易用。

2.3.0版本3D其它新增功能

除了重磅功能多光源支持和自定义Shader易用性的提升外,2.3.0beta版中还新增了大量的其它3D实用能力。

具体新增如下:

1、Shader3D增加函数compileShaderByDefineNames,增加后可通过宏定义名字预编译Shader函数。

2、粒子增加simulationSpeed属性,增加后可调整粒子的发射速度。

3、增加了纹理格式枚举函数:

  • TextureFormat、
  • RenderTextureFormat、
  • RenderTextureDepthFormat。

4、TextureFormat新增R32G32B32A32浮点数纹理格式。

5、增加了两个检测函数:

  • SystemUtils.supportTextureFormat(是否支持纹理格式),
  • SystemUtils.supportRenderTextureFormat(是否支持渲染纹理格式)。

6、Shader增加全局u_SunLight变量,可获取全局太阳光变量。

7、增加blendEquation混合方程,支持ADD、SUBTRACT、REVERSE_SUBTRACT三种枚举。

8、增加PixelLineSprite包围盒。

9、增加BaseRender增加markAsUnStatic函数。

10、解除StaticBatchManager.combine函数必须标记Static为true的限制。

2.3.0版本升级注意事项

如果开发者的项目是从LayaAir2.3.0beta之前的引擎版本升级上来的,还需要对照以下的升级注意事项,看项目中用到了哪些需要调整的地方,然后依据以下升级注意事项进行调整。

升级注意事项如下:

1、升级后宏定义由原来的number变更为ShaderDefine类型,获取宏定义由原registerDefine函数变更为Shader3D.getDefineByName静态函数,使用方式更简单,具体可参考官网最新的自定义Shader示例。

2、Lighting.glsl内三种灯光结构体属性修正为小写。

3、升级后Shader预编译建议使用compileShaderByDefineNames,宏定义字符相对compileShader,Mask值更稳定,不会因为注册顺序调整导致值发生变化。

4、LayaAir2.3.0beta版开始,引擎会默认开启多光源渲染模式,如果想回滚至单光源模式可修改Config3D.enbaleMultiLight为false。

5、由于iOS微信小游戏平台的bug问题,在LayaAir2.3.0beta版之前,我们限制了引擎的GPU Instance合并使用,LayaAir2.3.0beta版本开始,移除了这个限制。

写在最后

4月,我们在公众号发布了LayaAir引擎规划文章《LayaAir引擎放弃Canvas API,打造次世代3D引擎与云游戏引擎,提供AI赋能!》,其后,我们不断的推出大版本更新,逐步完成了规划中大部分计划中的引擎能力。

未来,我们仍将会保持在3D方面的大力投入,努力保持LayaAir在3D领域的领先性优势,不断加强引擎高品质3D游戏的渲染能力。对于3D游戏开发工具方面,也是按计划中在如期进行。我们会率先推出无编程的3D游戏制作工具,然后再推出专业版LayaAir引擎3D开发工具。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Layabox 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档