|前端如何快速上手 Web 3D 游戏的开发( 八 )


V2.x版本加载资源:
let gltfRes = new Resource(''skin_gltf'', { type: ''gltf'', url: ''xxx.gltf'' }); let resourceLoader = new ResourceLoader(engine); resourceLoader.load(gltfRes, (err, gltf) => { if (err) return; const fairyPrefab = gltf.asset.rootScene.nodes[1]; const fairy1 = fairyPrefab; rootNode.addChild(fairy1); const animator = fairy1.addComponent(Animation); const animations = gltf.asset.animations; animations.forEach((clip) => { animator.addAnimationClip(clip, clip.name); }); animator.playAnimationClip(''Take 001''); });V3.x版本加载资源:
const { defaultSceneRoot, animations } = await engine.resourceManager.load(''xxx.gltf''); rootEntity.addChild(defaultSceneRoot); const animator = root.getComponent(Animation); animator.playAnimationClip(''Take 001'');数学库
数学库整个进行重构 , 主要有2方面改善:写法更简捷、性能更优 。 老的数学库都是函数式的 , 并且向量、四元数等低层其实都是Array , 而V3.x采用Class的方式来实现 , 底层数据结构改为object 。
新的数学库不仅支持更为丰富的写法 , 性能上面 , 通过数学库重构以及使用数据库相关的优化 , 性能提升比较明细 , 下面是我们的测试结果:
|前端如何快速上手 Web 3D 游戏的开发
本文插图
在线 coding
目前我们编辑器实现了在线coding , 意味着你只需要一台电脑 , 并且安装一个浏览器 , 即可完成3D项目的创建、开发、发布等 , 界面如下:
|前端如何快速上手 Web 3D 游戏的开发
本文插图
在上面的界面中 , 即可完成在线coding , 然后保存 , 即可实时查看最新的效果 。 进一步的 , 我们还提供了事件面板 , 模拟和业务层的交互 , 这样我们就可以在3D项目中自测完整个流程 , 然后发布给业务层使用 , 如下:
|前端如何快速上手 Web 3D 游戏的开发
本文插图
当我们开发完项目后 , 需要交付给业务方使用 , 在V3.x中 , 我们只需要点击发布至对应平台即可(这块还在持续优化中) , 如下:
|前端如何快速上手 Web 3D 游戏的开发
本文插图
|前端如何快速上手 Web 3D 游戏的开发
本文插图
本文为阿里云原创内容 , 未经允许不得转载 。