玩大了! 阿里工程师的年会竟然这样搞?(3)


所以最后选择的是Three.js,想尝试下webgl2.0的小伙伴可以试下Babylon.js。

[原文来自:www.11jj.com]

 

[原创文章:www.11jj.com]

技术实现


介绍完技术引擎后,接下来将结合整体的功能流程,为大家解析下如何通过技术实现。

玩大了! 阿里工程师的年会竟然这样搞?(3)


step1:让球体运动起来


玩大了! 阿里工程师的年会竟然这样搞?(3)


这是动画展示效果的第一步。通过Three.js的基本方法,很容易实现在场景中添加对象的功能。如上图所示,在场景中添加了一个球体,并让它做顺时针的转动,而让球表面的图做逆时针的转动,并向场景中添加了不断向z轴负方向运动的星星,和做一定角度的公转运动的卫星。


玩大了! 阿里工程师的年会竟然这样搞?(3)


三维坐标系中的点坐标x,y,z可以转换成了(上图)中的极坐标r,θ,φ(半径r和两个角度θ 和φ),同样可以用来表示点的位置(反过来也能推导)。

 

球面上的方片也是由对象构成。人员签到成功之后,方片上会变成照片,这里需要事先计算出方片相对于球面的位置以便生成方片。根据前期配置的到场人数n,从而让球面生成均匀分布的n个点,得到每个点的极坐标系位置,再转换成点坐标位置,这些位置就是方片位置。

 

step2:加入“微笑”展示效果

玩大了! 阿里工程师的年会竟然这样搞?(3)


前端通过轮询定时请求后端接口,来拉取人脸识别数据,展示之后告诉后端已经展示过了。由于现场人脸识别后的“微笑”需要实时展示在主屏上,每场年会活动到场人数不等(约500-1500人),在这一状况下,如何保证在规定时间内完成人员入场与展示。我们的方案是:展示时间可以动态调节,人流量大时识别成功之后大屏就展示快一些,反之则展示慢一些

 

因此,需要在前端维护了一个队列,用于存储识别成功但还未展示人员,轮询拉取的数据会进入到队列中,展示过的数据则会从队列中移除,一个展示动画的时长会根据队列的长度动态调节,取值范围2.5-5s不等。

 

step3:让“微笑”随球体一起运动


“微笑”展示后,还有个照片飞回球面并跟着球体一起运动的效果。因为牵涉到坐标系的相对运动球面的位置是相对于父元素来实现的),这一效果较难实现。

自媒体 微信号:11jj 扫描二维码关注公众号
爱八卦,爱爆料。

小编推荐

  1. 1

    揭阳爱维艾夫医院临床医生(4.29-5.5)出诊信息

    有疑问,点击“阅读原文”咨询!喜欢我,你就点个“在看”吧!

  2. 2

    肿瘤患者不能吃“发物”?医生:真正需要忌口的是这些!

    点亮星标,不错过每一次推送本文作者:冯艳,山东省烟台毓璜顶病院临床营养科副主任医师在临床中,我经常会被肿瘤患者扣问关于“忌口”和“

  3. 3

    氯雷他定冲上热搜!医生提醒

    山西青年你想看的都在这里近日,全国各地的飞絮期光降跟着杨柳絮纷飞打喷嚏、鼻塞、鼻子痒又起头“骚扰”过敏性鼻炎患者的生活为了缓解症状

  4. 4

    larva动画(larva动画合集)

    大家好,小伟今天来为大家解答larva动画以下问题,larva动画合集很多人还不知道,现在让我们一起来看看吧!1、《爆笑虫子》。2、《爆笑虫子》(

  5. 5

    牛股推荐股票交流群(牛股推荐股票交流群)

    大家好,小娟今天来为大家解答牛股推荐股票交流群以下问题,牛股推荐股票交流群很多人还不知道,现在让我们一起来看看吧!1、179533491,大陆股

  6. 6

    营销培训课程(营销培训课程小吃营销)

    大家好,小娟今天来为大家解答营销培训课程以下问题,营销培训课程小吃营销很多人还不知道,现在让我们一起来看看吧!1、品牌管理课程:品牌

  7. 7

    中国人民银行征信中心(中国人民银行征信中心官网查询入口)

    大家好,小美今天来为大家解答中国人民银行征信中心以下问题,中国人民银行征信中心官网查询入口很多人还不知道,现在让我们一起来看看吧!

  8. 8

    死猪图片表情包(死猪图片大全猪瘟)

    大家好,小美今天来为大家解答死猪图片表情包以下问题,死猪图片大全猪瘟很多人还不知道,现在让我们一起来看看吧!1、这个梗出自于动画《猪

Copyright 2024.依依自媒体,让大家了解更多图文资讯!