我们是如何追逐元宇宙、XR等“概念股”浪潮的?

本文介绍了淘宝人生在元宇宙技术探索中的第一步,探讨了移动端3D引擎的选择策略,包括理解引擎特点、Web、Native、Hybrid的权衡,以及自研与社区引擎的考量。此外,还分享了打造3D美术工作流、效果与性能平衡的经验,并展望了未来的路径。
摘要由CSDN通过智能技术生成

作者:金擘(渚薰)

1.今年我们迈出的第一步

随着淘宝人生小屋项目的正式上线,淘宝人生今年的元宇宙规划初步成型。

加上在 S1 同淘宝直播团队的合作上线的 Disney 毛毛狂欢馆,我们也正式迈出了“元宇宙”技术的第一步。

今年是淘宝人生上线 3 周年,我们去年从灵犀互娱 C6 小组手中接过这根接力棒,经过了漫长的开着飞机换引擎的过程。在这之前,我们团队并没有中大型的 3D 互动游戏项目经验,通过这次项目我们也经历各个方面选择、徘徊和坚定。说实话,3D 互动游戏项目确实不好做,从灵犀互娱的那种游戏工作室模式,转到淘宝这种职能组织架构,面临了工种协同、技能匹配、磨合程度等多种问题。

接下来,我把我们的思考和经验分享出来,希望能成为一个个敲门砖,给到想要同样追逐这波浪潮的你们。

2.如何选择合适的移动端 3D 引擎

3D 引擎作为第一块敲门砖,往往是技术优先去考虑的事情。我们也来通过对业界的优秀引擎的观察来剖析这个问题。

2.1 让引擎做它擅长的事

首先,我们对引擎本身所擅长的事需要有个大致的了解,通常访问引擎的官网就能知道一二。例如:

Three.js 的介绍:“The aim of the project is to create an easy to use, lightweight, cross-browser, general purpose 3D library.”

Babylon.js 的介绍:“A fully-featured, open-source game engine, Babylon.js was built with one goal in mind…making it as simple as possible to create powerful and beautiful games that run on the web in any browser.”

从上述描述中,不难看出两者比较清晰的定位:Three.js 是一个 3D 库,Babylon.js 是一个游戏引擎。这里所谓的 3D 库指的是实现了 3D 基础功能,包括渲染(几何、材质、管线、光照等)、动画、资源管理和数学工具等。游戏引擎则具备了游戏研发的抽象能力,比如:GUI、物理系统、粒子系统、角色系统、状态机、相机控制、摇杆输入控制等。我们还可以更加直接的通过 API 的命名和分类了解到这个引擎所能提供的主要研发能力。

为什么要知道一个引擎擅长什么? 因为 3D 技术在不同的领域都有广泛应用,不同领域对 3D 技术的要求也有不同的侧重点。Threejs 更像是一个通用型的解决方案,你可以用它来实现游戏,也可以用它来构建数字孪生(例如 1:1 的数字城市),数据可视化、工业展示(例如商品、建筑、汽车),虚拟人等等。但通用型解决方案面临的问题,就是想要在不同的领域用好 Threejs,通常需要基于它进行二次的框架研发来满足特定的技术需求。例如,用 Threejs 来研发 H5 游戏,就需要用它作为基础的 3D 库,进一步构建一套完整的游戏研发框架,否则长期迭代项目或开发多个项目时就会比较痛苦。而 Babylon.js 就是专注于游戏研发的引擎,在它 API 文档中,也会看到大量的 3D 基础功能,同时也能发现不少游戏研发能力,例如 ArcFollowCameraGamepadPhysicsEngine 等。

现代大多数 3D 引擎,其实没有明显的偏科,但在我们做技术选型时总会希望能用到一个上手最快能解决项目问题的引擎。于是我简单列了一张表格,供大家参考:

2.2 Web、Native 还是 Hybrid?

在了解完引擎擅长的事情后,你肯定会发现有那么多引擎都在做相同的事情,行业内卷程度可想而知。同时发现还需要在技术栈或者平台方案上再次做出选择。

例如同为可以做游戏的引擎:Unreal、PlayCanvas、CocosCreator 就有着完全不一样的技术栈和平台定位。

  • Unreal:Native、开发语言:C++。
  • PlayCanvas:Web-First,开发语言:TypeScript。
  • CocosCreator:Hybrid(JS Runtime + Native),开发语言:TypeScript。

如何选择?我们可以首先要知道实现 3D 的依赖哪些关键因素:

  • 逻辑运算能力(依赖 CPU,跟 VM Runt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值