Unity没有像Vs那样的“*.sln”的项目工程文件,不能通过这个文件来打开工程。但是原有的打开已有工程的方法太过于麻烦了,则现在来通过添加右键菜单的方式,通过项目工程目录右键打开对应的工程。 步骤如下: 打开注册表,使用快捷键“Win + R”打开运行窗口,然后在输入框内输入“regedit”回车,即可打开。 依次打开目录树:“HKEY_CLASSES_ROOT\Folder\shell” 右键“shell”项,选择“新建->项”, 新建的“shell”的子项的名字就是所有文件夹右键所要显示的名字,我取的是“Open with Unity”。完成后可以找个文件夹右键看
1、如果是零3D基础,建议先去看看上一篇《》
2、建议点开本篇左下角的 阅读全文,把本文对应的官网文档收藏起来。如果后续引擎和插件版本更新了。会直接在官网文档中进行修改丰富。
一、3D场景编辑器的研发规划
有开发者问过LayaAir引擎是否会有自己的3D场景编辑器,首先可以肯定的讲,一定会有。3D编辑器是/releases?signup=true
注册
,跳转到注册网页。当开发者登录后,界面如下图所示,如果是已购买VIP的帐号,在帐号名下会显示VIP到期时间。否则,会不显示到期时间,皇冠图标也是灰色的。
充值
按钮用来购买VIP授权时间,或者续费延长时间。
首次充值,如果因网络原因,帐号权限未能即时刷新时,可以通过点击
刷新
或者退出
重新登录来解决。
发票
按钮可以跳转到发票申请的网页。
VIP功能
的描述,为了不占用空间,显示的并不全,可以点击了解更多,跳转到全面介绍的文档(/doc/?nav=zh-ts-0-3-3)进行查看。
绑定设备
是插件自动识别的,无需手动绑定,但如果设备绑定达到帐号上限,需要切换设备时,需要点击解绑
,才能在其它的设备上登录该帐号。此时当前设备则无法再登录成功。
点击菜单 LayaAir3D
—> Export Tool
,会弹出如下图所示的导出工具面板。这个面板可以拖拽到我们习惯的位置上,这是开发者导出Unity中场景与资源的最核心面板,后面会有详细的介绍,这里就不多做阐述。
LayaAir3D
的菜单项Shortcuts
是快捷功能,当前有两个快捷功能,如下图所示:
Unity的材质是不能在LayaAir引擎中使用的,所以,开发者必须要使用LayaAir引擎中提供的材质。如何切换LayaAir的材质,本文后面还会有介绍,这里提供两种常用材质的一键转换功能,比较方便实用。在资源导出前,如果以上的材质符合项目需求,可以在这里快速的切换为LayaAir引擎的材质。
帮助菜单项里,下级菜单有示例Demo
、学习文档Study
、问答社区Answsers
这些外链菜单项,方便开发者快速进入对应的官网页面中。还有插件导出功能说明Tutorial
、插件版本About LayaAir
,如下图所示。
帮助菜单项的下级菜单,这里就不去详细介绍了,基本上点开就能理解,其中的插件导出功能说明Tutorial
是介绍了当前插件支持哪些Unity功能导出,如果不能理解的也没关系,在本文中还会有相关的介绍。
设置项,当前只有一个可配置功能,就是插件的语言(Language),默认是中文,如下图所示。
习惯了英文界面的开发者,可以在这里配置成为English语言。
这两个目录开发者都不需要动,这里简单概述一下,开发者知道即可。
LayaSupoortList目录下是插件支持的功能列表文档,不过建议看我的这篇,更全更细。
LayaTool目录是插件功能操作面板的功能实现目录。
StreamingAssets目录下,只有一个LayaDemo目录,这里不是示例目录,是效果预览的anywher(本地Server)等环境目录。如果不需要在Unity里直接预览LayaAir引擎运行效果,该目录也可以删除,但建议保留。
对于刚接触LayaAir引擎新手,这里要重点强调一下,预览功能必须要先全局安装Node环境(推荐安装Node 10.x版本),我们看到上一个图中的StreamingAssets目录结构就可以看出,正常的目录结构需要node_modules,如果没有安装Node环境,目录结构与上图结构不符,预览功能也就无法正常使用。
当然,如果没有安装Node环境就直接预览(Run),插件工具也会提示下载安装Node环境,安装后需要重启Unity才会重生效,如果遇到重启Unity仍未生效的情况,建议重启电脑。
之前的小节有介绍过,通过顶部菜单的Export Tool
,可以弹出一个导出工具面板,如下图所示。
之前是中文界面,下图换成了英文界面。
上图这个面板,就是插件最核心的导出操作模块,日常的插件导出资源或场景操作,VIP功能的使用等,全是通过这里完成,在这个小节里,我们先对主要的功能,有个概括的认知,在后续的章节里,我们再分别详细介绍。
在Unity中编辑好场景后,可以在不导出的情况下,直接基于LayaAir引擎快速预览,方便美术直接在Unity中查看运行效果。
预览功能有两个,一个是PC上查看运行效果的Run(预览)
,另一个是在手机上查看运行效果的QRCode(二维码)
。如下图所示。
场景中需要至少有一个Camera,调整好角度位置,在符合LayaAir引擎插件使用规范的情况下,基于LayaAir引擎的预览运行效果将会与Unity运行结果一致,如果不一样,需要检查是否使用了引擎不支持的功能。
在符合LayaAir引擎插件使用规范的情况下,可以直接使用Export(导出)按钮,将Unity中编辑好的场景或者模型直接导出来。
在首次使用导出功能前,需要先在插件的底部,在Save Path(导出路径)
这一栏,点击Browse(浏览)选择好要导出的根目录位置。然后再点Export(导出)。如下图所示。
无论是导出场景还是导出预设,这里的操作都是一样的。
导出完成并不是终点,是不是真的成功导出,还要留意Console面板中,在导出时是否有报错或者警告,如果有,需要解决好报错和警告中提示的问题后再重新导出。否则运行效果可能与Unity中不同。
插件功能的下方有一个Other Setting(其它设置)
,如果按从上至下的顺序介绍,应该最后讲。这里因为与导出设置关联紧密,我们就先来介绍一下。
Path(导出路径)这里设置的是E:/Game/3D
,当自定义目录名为test时,最终导出的资源全路径实际为E:/Game/3D/test
。
Scene3D与Sprite3D分别是场景导出的配置项和预设导出的配置项。如下图所示。
采用Scene3D(场景)
选项导出,会导出整个3D场景,无论场景中的模型、材质、贴图、动画、还是光照贴图全部导出。主要用于整个场景的制作导出和直接使用,导出后的文件扩展名是.ls
。在LayaAir引擎中,需要用Scene3D类或它的继承类加载。
Sprite3D选项,是指的Unity中的预设导出,中文语言版本这里显示的就是预设,由于该项导出后需要以LayaAir引擎的Sprite3D类来加载,所以英文语言版一直采用Sprite3D来表示Unity中的预设导出项。
Sprite3D选项的导出,相比场景的导出,没有了光照贴图的导出,常用于角色或游戏中活动物品的单独资源导出,文件扩展名的是.lh
,需要用Sprite3D类或它的继承类加载。
导出配置中根据功能分成几个配置模块,分别是导出时需要进行配置的一些基础功能以及VIP功能的配置。下面分别进行说明。
不勾选这个功能,会把所有的节点,合并生成一个.lh
后缀的文件,
勾选这个功能后,会按一级节点分别生成多个.lh
后缀的文件。
Mesh Setting(模型设置)是指模型网格数据的导出设置,功能翻译过来比较容易理解,分别是:
忽略顶点颜色(忽略模型的顶点颜色信息) |
忽略顶点法线(忽略模型的法线信息) |
忽略顶点切线信息(忽略模型的切线信息) |
模型压缩(VIP功能,降低3D模型文件尺寸约60%) |
勾选以上的任意选项后,会根据勾选忽略的顶点数据来节省模型资源大小。VIP专属的模型压缩功能,可以降低3D模型文件尺寸约60%。
以上这些功能都起到了减小模型网格文件(XX.lm
)尺寸的作用,在当前网速环境下,减少游戏的加载尺寸,加快玩家进入游戏的速度,还是多数开发者比较常用的功能。
地形设置是指Unity中的地型导出设置,勾选Convert Terrain To Mesh
后,如果场景中有地型,会转换地型为网格。
当勾选动画压缩Compress
后,插件导出Animator动画时会压缩动画文件,会降低3D动画文件尺寸约40%。用于加快玩家进入游戏的速度。该功能属于VIP增值功能,需要购买授权才可以使用。
在使用普通的骨骼动画模式时,骨骼动画会受到设备性能的限制,比如在不支持JIT的iOS设备环境下,每24块骨骼就需要分mesh来渲染,否则会就出现发黑现象。
所以,插件中提供了Pre Baked Bone Animation(预烘焙骨骼动画)
功能,如下图所示。
预烘培动画是把预先计算好的动画文件烘培到贴图以及instance动态合批等技术来减少GPU的性能压力,对比常规的骨骼动画模式,预烘焙骨骼动画模式从CPU到GPU性能都有显著的优化效果,尤其是CPU计算方面更为明显。由于减少了渲染批次,比如骨骼动画上,再也不需要通过分mesh来处理了。
尽管预烘焙骨骼动画模式优势明显,但是开发者也需要了解该方案的几个问题,再决定是否勾选使用。首先是该方案暂时还不支持动画融合;另外,当前也不支持多个Animator控制多个Mesh的动画;最后就是GPU显存的占用会明显多于原有的骨骼动画模式。上图中的Bake
FPS烘焙帧数
就会影响显存有占用,该值越大,相应的GPU显存占用也会越大。不过,值越大,动画数据保存的也越完整,开发者可根据自己项目的情况去取舍。
另外,在上图中,Keep Skeletal Add Point(保留骨骼挂点)
如果勾选后,由于插件会对骨骼进行精简。所以要想保留必要的动画数据,需要在导出前确定挂点位置,并在相应的挂点骨骼下添加非空节点,进行占位。
关于预烘焙骨骼动画模式的使用,与普通的骨骼动画模式完全相同,注意文件后缀即可。
Assets platform(发布平台)
是指纹理资源的发布配置。
默认的情况下,Conventional
是必须勾选的。这里不允许取消,其作用是把没有透明通道需求的.png
纹理资源自动转换成为.jpg
纹理资源。这样可以避免浪费掉的文件尺寸。JPG质量(JPG
quality)比较容易理解,100为最高质量,75是默认值,开发者可以根据项目需求自行调节。值越大需要加载的文件体积越大,但质量损失越少。
Android
与iOS
是指输出对应系统平台的纹理压缩格式文件,Android系统这里采用的是ETC1压缩方式,iOS采用的是PVR压缩方式。在使用时,要判断不同系统平台来分别加载对应的纹理压缩资源文件。如果勾选了这两个选项,默认的Conventional
选项可以不用勾选。iOS质量(iOS
quality)表示压缩级别,值越大需要加载的文件体积越大,但质量损失越少。
纹理压缩功能,勾选
Android
输出的是.ktx
后缀文件,勾选iOS
输出的是.pvr
后缀文件。
对于一些新手,我们这里顺便普及一下纹理压缩的作用。
游戏中常见的纹理图片文件格式通常是PNG和JPG,这种类型的纹理图片需要先经过CPU解码,然后传送到GPU进行使用。图片资源的像素宽高是影响GPU内存占用大小的直接因素。而采用了纹理压缩的格式文件,无需解码即可直接被GPU读取并显示。所以,一方面是节省了大量的显示内存,另一方面也可以减少图片解码带来的CPU计算压力。
经过测试,这里的纹理压缩功能,大概会减少显存约75%,但是可能会增加文件的体积,所以这也是一种牺牲资源文件加载体积换取显存占用减少和CPU对于资源解码性能消耗的有损压缩方式。开发者可根据项目需要来选择使用。该功能属于VIP增值功能,需要购买授权才可以使用。
以上介绍的导出配置项,默认是存到config 1
中,其实插件一共提供了5个配置列表项,如下图所示。
通过切换列表项,开发者可以将不同的导出勾选配置,分别存在不同的配置列表项内。当项目资源存在多种导出配置需求时,该功能就比较实用。
配置项右侧的Revert Config(恢复配置)
,点击后会重置当前配置列表项下的导出勾选配置,将其恢复为默认的初始配置。
除了LayaAir引擎插件自身面板上的导出设置项,我们还要注意并且必须要了解Unity的功能面板有哪些是可以导出使用,哪些是不支持的。
因为LayaAir引擎的Unity插件并非是将Unity所有的功能全都支持导出。毕竟我们的LayaAir引擎设计与结构与Unity的引擎并不相同,虽然3D场景基于Unity编辑器进行编辑和导出,但我们需要按LayaAir引擎插件的支持规则来使用。
在本小节,我们就全面介绍LayaAir引擎与插件支持哪些Unity中的功能。如果在本小节支持清单中未提及的,都是当前不支持的。所以,如果是刚接触Unity的开发者,在学习Unity工具使用的时候,也不必要全部学习,可以把本小节中所涉及的支持内容,作为关键字搜索学习即可。
LayaAir引擎插件也会不断在更新,当升级新的引擎版本后,可以关注版本更新日志以及该文档的变化。
在Unity的Inspector面板中,可以查看和编辑Unity编辑器中几乎所有内容,下面我们先了解一下Inspector面板的基础通用属性。
在上图的基础属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 |
---|
只支持勾选 或 不勾选 |
只支持层的序号导出,开发者也可以在LayaAir引擎中设置Layer |
支持(包括:X、Y、Z) |
支持(包括:X、Y、Z) |
支持(包括:X、Y、Z) |
对比上面的图和表格,我们看到
Tag
是不支持的。Static
与Layer
是部分支持。后续将不再提醒,关注表格中的支持状态即可。
这里特别说一下,静态Static勾选后是全选,也就是Everything,如下图所示。但实际上LayaAir引擎只支持了Lightmap Static和Batching Static,那开发者不选Everything,只勾选这两个行不行。当然是不行的,我们其实只认Static勾选或不勾选这个状态,如果此处单独选择,导出并没有效果。
在上图中的Unity相机属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 |
---|
支持(包括:Near近点、Far远点) |
支持(包括:X、Y、W、H) |
Allow HDR(允许渲染高动态色彩画面) |
在上图中的Unity灯光属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 |
---|
Color(灯光颜色) |
部分支持(包括:Realtime实时灯光、Baked烘焙光照贴图) |
灯光的阴影不支持从Unity中导出使用,但是LayaAir引擎中有灯光阴影的API,具体阴影的使用,可以查阅LayaAir引擎相应的官方文档与API。
关于模型的属性,分别支持普通模型和骨骼模型。
在上图中的Unity网格过滤器属性里,LayaAir导出支持情况如下:
Unity的蒙皮网格渲染属性 | LayaAir是否支持导出的说明 |
---|---|
Unity的网格渲染属性 | LayaAir是否支持导出的说明 |
---|---|
支持(包括:Size大小、Element材质球元素) | |
对于新手,需要提醒的是,勾选这里的
Lightmap Static
,需要先勾选之前介绍的基础属性Static
,同时还要将场景环境光的配置里的Amblent Mode(环境光照明模式)设置为Baked(烘焙),然后Generate Lighting获得烘焙光照贴图。
Unity的蒙皮网格渲染属性 | LayaAir是否支持导出的说明 |
---|---|
支持(包括:Center中心(X、Y、Z)、Extent范围(X、Y、Z)) | |
支持(包括:Size大小、Element材质球元素) |
对于模型的材质,之前的小节中有提到过,必须要使用LayaAir引擎提供的材质,而且提供了两个一键切换Unity材质为LayaAir材质的快捷功能。这里我们介绍一下,如何在Unity界面中去手动切换LayaAir材质。
当在Assets(资源)
面板中选中mat后缀的材质球后,Inspector面板中,Shader
选项栏那里如果不是LayaAir3D的材质或者想改变材质,需要点开选项栏,在LayaAir3D里找到对应的材质然后点击切换。比如上图的箭头示意中,是将mesh(模型网格)材质BlinnPhon切换为为Unlit(不受光)
材质。
并且材质的分类都要对应起来,比如粒子材质就要使用粒子分类下的shurikenParticle,错用了Mesh的材质shader,导出的时候不会报错,实际运行是错的。
在Assets(资源)
面板里,找到2D图片资源,可以为其设置纹理的属性。如下图所示。
在上图中的Unity纹理属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 |
---|
部分支持(仅支持是否勾选的状态) |
部分支持(包括:Repeat重复、Clamp强制拉伸) |
在上图中的Unity动画属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 |
---|
在Aniamtor组件属性中双击Controller打开动画控制器的面板,选中State
(状态),可以看到下图面板。
在上图中的Unity动画控制器State属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 |
---|
Speed(动画播放速度) |
在上图中的Unity拖尾属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 | |
---|---|
支持(包括:Size大小、Element材质球元素) | |
Time(拖尾效果持续时间) | |
Width(拖尾宽度) | |
Color(拖尾渐变颜色) | 部分支持(包括:Mode模式(Blend渐变色、Fixed固定色)、Color颜色值、Alpha透明度、Location颜色位置) |
支持(包括:View朝向相机、Transform Z朝向自身局部坐标Z) | |
部分支持(包括:Stretch拉伸) |
关于地形,我们正在丰富,近期会完善。当前仅支持部分Terrain组件属性(支持地表,不支持植被),导出时会转换为静态模型Mesh。
当前地形仅支持上图中Terrain组件的Mesh Resolution属性导出,具体在LayaAir中的支持情况如下:
LayaAir是否支持导出的说明 |
---|
地形的材质不支持LayaAir引擎当前自带的材质Shader,导出的地形的静态网格(模型Mesh)后,开发者需要通过LayaAir的接口自定义材质shader来为地形网格添加材质。
在上图中的Unity刚体属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 |
---|
在上图中的Unity盒形碰撞体属性里,LayaAir导出支持情况如下:
Unity的盒形碰撞体属性 | LayaAir是否支持导出的说明 |
---|---|
Center(中心点位置) | 支持(包括:X、Y、Z) |
支持(包括:X、Y、Z) |
在上图中的Unity球形碰撞体属性里,LayaAir导出支持情况如下:
Unity的球形碰撞体属性 | LayaAir是否支持导出的说明 |
---|---|
Center(中心点位置) | 支持(包括:X、Y、Z) |
在上图中的Unity胶囊碰撞体属性里,LayaAir导出支持情况如下:
Unity的胶囊碰撞体属性 | LayaAir是否支持导出的说明 |
---|---|
Center(中心点位置) | 支持(包括:X、Y、Z) |
在上图中的Unity网格碰撞体属性里,LayaAir导出支持情况如下:
Unity的网格碰撞体属性 | LayaAir是否支持导出的说明 |
---|---|
在上图中的Unity固定关节属性里,LayaAir导出支持情况如下:
Unity的固定关节属性 | LayaAir是否支持导出的说明 |
---|---|
在上图中的Unity可配置关节属性里,LayaAir导出支持情况如下:
Unity的可配置关节属性 | LayaAir是否支持导出的说明 |
---|---|
支持(包括:X、Y、Z) | |
支持(包括:X、Y、Z) | |
支持(包括:X、Y、Z) | |
支持(包括:X、Y、Z) | |
支持(包括:X、Y、Z) | |
支持(包括:X、Y、Z) | |
在上图中的Unity粒子系统主模块属性里,LayaAir导出支持情况如下:
Unity的粒子系统主模块属性 | LayaAir是否支持导出的说明 |
---|---|
Looping(是否循环播放) | |
部分支持(包括:Constant 固定值) | |
支持【特别说明:这里和Unity效果不同,LayaAir中是指随机翻转的概率,随机种子是0和1,0不翻转,1翻转】 | |
部分支持(包括:Constant 固定值) | |
部分支持(包括:Local本地、World世界) | |
部分支持(包括:Hierarchy受节点层级关系的缩放影响、Local仅受自身缩放影响) | |
在上图中的Unity粒子发射属性里,LayaAir导出支持情况如下:
Unity的粒子发射属性 | LayaAir是否支持导出的说明 |
---|---|
关于Shape形状
当前支持Sphere、Hemisphere、Cone、Box、Circle,由于选项的不同,会导致属性的不同,我们分别截图说明。
在上图Unity粒子形状的球体与半球属性里,LayaAir导出支持情况如下:
Unity粒子形状的球体与半球属性 | LayaAir是否支持导出的说明 |
---|---|
Shape(粒子发射形状) | |
Radius(发射的半径) | |
在上图Unity粒子形状的球体与半球属性里,LayaAir导出支持情况如下:
Unity粒子形状的球体与半球属性 | LayaAir是否支持导出的说明 |
---|---|
Shape(粒子发射形状) | |
Angle(发射锥体的角度) | |
Radius(发射的半径) | |
支持(包括:Base从底部随机点发射、Volume锥体内部圆底上方随机点发射) | |
在上图Unity粒子形状的盒子属性里,LayaAir导出支持情况如下:
Unity粒子形状的盒子属性 | LayaAir是否支持导出的说明 |
---|---|
Shape(粒子发射形状) | |
部分支持(包括:Volume内部随机点发射) | |
Scale(改变发射器形状的大小) | |
在上图Unity粒子形状的圆形属性里,LayaAir导出支持情况如下:
Unity粒子形状的圆形属性 | LayaAir是否支持导出的说明 |
---|---|
Shape(粒子发射形状) | |
Radius(发射的半径) | |
在上图Unity粒子生命周期内的速度属性里,LayaAir导出支持情况如下:
Unity粒子生命周期内的速度属性 | LayaAir是否支持导出的说明 |
---|---|
linear(线性运动速度) | |
Space(速度空间) |
在上图中的Unity生命周期内的颜色与大小属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 |
---|
Color(生命周期颜色 ) |
在上图中的Unity粒子纹理动画属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 |
---|
支持【注:选中单行类型才有此选项】 |
部分支持(包括:Everything)【注:此处Everything只代表一种默认值状态,不代表UV0-3的选项勾选】 |
在上图中的Unity粒子渲染器属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 |
---|
在3D场景的渲染配置里,目前支持导出的主要是环境相关的(例如,环境光照,环境反射等)以及场景雾效等。下面我们分别进行介绍。
在上图中的Unity环境相关配置属性里,LayaAir导出支持情况如下:
LayaAir是否支持导出的说明 |
---|
自定义的立方体纹理需要重点说明一下,当我们创建的新Cubemap,除了六张纹理外,只支持Face Size与 Readable这两个属性的设置与生效。
在上图中的Unity场景雾效属性里,LayaAir导出支持情况如下:
Unity的环境相关配置属性 | LayaAir是否支持导出的说明 |
---|---|
Color(雾效颜色) | |
Mode(雾效衰减模式) | 部分支持(包括:Linear线性模式) |
如果用到了不在以上导出清单中的功能,可能会引起报错,或者效果无效,可以通过查看导出的报错信息,对照以上的功能清单进行修改。
以上清单仅代表着可以在Unity中进行编辑设置和导出使用的功能属性,并不代表引擎的全部功能,更多引擎的能力可以通过查看官网的文档和引擎API进行使用。
当了解完插件的功能和使用规则后,我们就可以在Unity中进行编辑并导出了,但是导出后的文件名分别代表着什么,又是怎么进行加载使用的。本小节开始为大家介绍。
场景文件,选择导出场景Scene3D 类别时生成的文件类型。会导出完整的场景信息,其中包含了场景需要的各种数据、光照贴图、模型、位置等。所以,需要导出场景相关的设置时,必须要使用Scene3D类别导出,就可以看到.ls 后缀的文件。
|
预设文件,选择导出预设Sprite3D 类别时生成的文件类型。相对于.ls 后缀的场景文件,会缺少环境光、环境反射、场景雾效等等与场景渲染相关的信息。
|
模型数据文件,通常是FBX格式的转换而成。 |
材质数据文件,是在unity中为模型设置的材质信息。加载.ls 或.lh 文件时会自动加载.lmat文件来产生材质。可以使用 BaseMaterial 类来加载。
|
动画数据文件,如果模型上有动画,导出后将生成的动画配置文件,其中包含了动画帧数据。加载可以使用 AnimationClip 类来加载。 |
天空盒文件,文件中记录了六张图片,分别对应天空盒的六个面。 |
特效文件,纪录了场景的反射信息。在插件2.8以前的版本导出.ltcb 后缀,为了兼容小游戏平台,2.8版本开始改为了.ltcb.ls 后缀。
|
预烘焙骨骼文件,纪录了骨骼动画的预烘焙信息。 |
JPEG格式的纹理图片文件。 |
PNG格式的纹理图片文件。 |
采用ETC1格式进行纹理压缩图片文件(在Android平台下使用)。 |
采用PVR格式进行纹理压缩图片文件(在iOS平台下使用)。 |
导出的Unity资源,在不考虑其它逻辑的情况下,要通过LayaAir引擎显示出来,就需要先加载资源再显示了。
下面我们就分别就常用的导出加载进行介绍。
加载场景,也就是加载.ls
后缀的场景文件,我们需要通过Scene3D.load()
方法去加载场景文件,然后整个导出的场景中相关模型、环境等文件也会自动加载进来。无需逐个进行加载。
场景加载的示例代码如下:
有一些模型或者动画,不想一开始就显示在场景中,这时候,通常会通过预设的方式导出,再依据游戏逻辑动态添加到舞台上。对于单个预设的加载,也就是.lh
后缀的预设文件加载,我们需要使用Sprite3D.load()
方法。
预设加载的示例代码如下:
虽然加载.ls
场景后会自动把其它相关的都加载好,或者我们可以按需动态加载预设等资源。但是,如果这些资源不大还好,如果比较大,并且数量多,那进入场景或者打开资源,就会需要加载等待。
通常开发者会把比较大的资源在进入游戏之前,就批量预加载,通过进度条让开发者对加载有一个统一的感知,然后在游戏过程中畅快的体验游戏本身玩法,避免因加载问题打断游戏本身的体验。
批量预加载的示例代码如下:
使用预加载资源的示例代码如下:
通常,预加载,场景加载,预设加载,可以满足日常加载使用需求。当然,开发者也可能需要动态加载替换网格、材质、纹理等需求,最后再简单介绍一下这些不常用的3D资源加载。
单个纹理加载使用Texture2D.load()
方法,示例代码如下:
各位看官,如果觉得写的还可以,欢迎点赞和转发分享,下一篇技术文章还在酝酿中,有想看哪些方面的,也可以留言。
是指在显示器上为了显示出图像而通过的一系列必要操做。
渲染管道中的不少步骤,都要将几何物体从一个坐标系中变换到另外一个坐标系中去。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。