当前位置:首页 > 科技  > 软件

2024 抖音欢笑中国年之招财神龙互动技术揭秘

来源: 责编: 时间:2024-04-11 09:07:40 318观看
导读前言本次春节活动,使用到了字节内的主要前端、跨端、互动技术产品。主要涉及:跨端框架 提供了首屏直出的方案使其具有较短的首屏时间,能够大大提升业务加载成功率。跨端框架也提供了 Canvas 作为 SAR Creator 等渲染引擎

前言

本次春节活动,使用到了字节内的主要前端、跨端、互动技术产品。主要涉及:pRJ28资讯网——每日最新资讯28at.com

  • 跨端框架 提供了首屏直出的方案使其具有较短的首屏时间,能够大大提升业务加载成功率。跨端框架也提供了 Canvas 作为 SAR Creator 等渲染引擎的运行环境。
  • SAR Creator 是抖音前端架构自研的一款基于 TypeScript 的高性能互动解决方案。SAR Creator 提供面向设计和研发同学的工作流,内置常见 2D / 3D 渲染能力、动效、粒子、物理等效果支持。

活动中,主要支持了 5 个互动玩法:“招财神龙”、“神龙探宝”、“摇福签”、“保卫现金”和“红包雨”,如下所示。pRJ28资讯网——每日最新资讯28at.com

图片pRJ28资讯网——每日最新资讯28at.com

包含四个主题的「寻宝场景」,每次寻宝会随机一个主题,如下,从左到右分别是山川、雪乡、丹霞和江南。pRJ28资讯网——每日最新资讯28at.com

图片pRJ28资讯网——每日最新资讯28at.com

整个「家场景」是由 3D 和 2D 元素混合构建的。3D 部分包括小女孩、龙、地面和雪堆。2D 元素主要有炮仗、房子以及神龙回家后小女孩头上的提示气泡,是用图片实现的。还有一些 2D 动画元素,比如房子后面一直循环播放的红包动画、龙沉睡时嘴角的“zzz”呼吸效果。pRJ28资讯网——每日最新资讯28at.com

场景搭建

设计同学使用 SAR Creator 编辑器搭建「家场景」,包括 3D 模型/2D 精灵的摆放、灯光和相机参数的设置等。SAR Creator 编辑器提供了图形化界面,可以方便地调整场景元素的层级关系、位置、朝向、缩放比例以及材质参数等。「家场景」的 3D 模型使用透视相机渲染,而 2D 精灵等使用正交相机渲染。最终,SAR Creator 渲染出的场景画面还原了设计稿的效果。pRJ28资讯网——每日最新资讯28at.com

SAR Creator 场景中所有元素,包括相机、灯光等,都以 entity(实体)的形式存在,entity 之间存在父子关系,形成一棵节点树,如下图左上角“层级”标签页下的内容。父节点 entity 的 Transform3D 组件的位置、旋转和缩放属性,会影响子节点的相同属性。Enity 上可以挂载自定义脚本,影响 enity 的行为逻辑。SAR Creator 提供了大量操纵 entity 的引擎能力pRJ28资讯网——每日最新资讯28at.com

图片pRJ28资讯网——每日最新资讯28at.com

对于研发同学,可以基于graph进行逻辑条件的配置。pRJ28资讯网——每日最新资讯28at.com

图片pRJ28资讯网——每日最新资讯28at.com

如上图所示,例如进入游戏后,用户可能是在“龙沉睡”或者“龙待机”的状态,我们通过在Graph的变量区建立代码运行的逻辑条件(支持Number和Boolean两种类型),可以自定义一个case变量,当case = 1,播放“龙沉睡”、当case = 2,播放“龙待机”。pRJ28资讯网——每日最新资讯28at.com

在代码中,我们可以通过使用AnimationController.setValue(variableName,value)来触发动画执行。pRJ28资讯网——每日最新资讯28at.com

const animationController = this.entity.getScript(AnimationController);if(showAwake) {    // 需要播沉睡    animationController.setValue("case", 1)}else if(showIdle){    //需要播放idle    animationController.setValue("case", 2)}

再比如,在某一个时间,用户点击了“去寻宝”按钮,这时候通过设置animationController.setValue("showGoOut",true)即可触发龙去寻宝的动画。pRJ28资讯网——每日最新资讯28at.com

我们还为动画播放提供了钩子函数,在动画播放的特定时间,触发自定义的逻辑回调。pRJ28资讯网——每日最新资讯28at.com

onStateEnterpRJ28资讯网——每日最新资讯28at.com

在进入状态时触发
pRJ28资讯网——每日最新资讯28at.com

onStateExitpRJ28资讯网——每日最新资讯28at.com

在完全退出状态时触发
pRJ28资讯网——每日最新资讯28at.com

onStateUpdatepRJ28资讯网——每日最新资讯28at.com

在状态更新时触发
pRJ28资讯网——每日最新资讯28at.com

// 获取动画控制器组件const animationController = this.entity.getScript(AnimationController);animationController.on('onStateEnter',(controller:AnimationController,state:AnimationState)=>{    //在此处实现业务逻辑});

坐标同步

在实现一些特殊效果时,为了保障效果的高度还原,我们使用了坐标同步。例如小女孩头上的提示气泡和龙嘴角的“zzz”呼吸特效,接下来以气泡为例介绍一下这一部分的实现。pRJ28资讯网——每日最新资讯28at.com

图片pRJ28资讯网——每日最新资讯28at.com

若用常规的模式在 3D 场景中摆放一个 2D 的片,会导致小女孩动的时候,渲染出来的气泡会穿帮或者 z-fightingpRJ28资讯网——每日最新资讯28at.com

图片pRJ28资讯网——每日最新资讯28at.com

3D-2D 坐标同步的做法是将 Bubble 节点放在 UICanvas(SAR Creator 处理 2D 元素的节点)中,每一帧将小女孩模型里的骨骼变换节点在 3D 空间中的位置转化成 UICanvas 坐标系的坐标,再实时设置 Bubble 的位置属性。pRJ28资讯网——每日最新资讯28at.com

图片pRJ28资讯网——每日最新资讯28at.com

图片pRJ28资讯网——每日最新资讯28at.com

坐标同步代码如下

本文链接:http://www.28at.com/showinfo-26-82764-0.html2024 抖音欢笑中国年之招财神龙互动技术揭秘

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 2024 抖音欢笑中国年之AnnieX互动容器创新玩法解析

下一篇: 华为 FreeLace Pro 2 独创 USB-C 直连快充,整机更带来 25 小时超长续航

标签:
  • 热门焦点
  • 一加Ace2 Pro官宣:普及16G内存 引领24G

    一加官方今天继续为本月发布的新机一加Ace2 Pro带来预热,公布了内存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引领,还有呢?#一加Ace2Pro#,2023 年 8 月,敬请期待。”同时
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 一篇聊聊Go错误封装机制

    %w 是用于错误包装(Error Wrapping)的格式化动词。它是用于 fmt.Errorf 和 fmt.Sprintf 函数中的一个特殊格式化动词,用于将一个错误(或其他可打印的值)包装在一个新的错误中。使
  • 只需五步,使用start.spring.io快速入门Spring编程

    步骤1打开https://start.spring.io/,按照屏幕截图中的内容创建项目,添加 Spring Web 依赖项,并单击“生成”按钮下载 .zip 文件,为下一步做准备。请在进入步骤2之前进行解压。图
  • 19个 JavaScript 单行代码技巧,让你看起来像个专业人士

    今天这篇文章跟大家分享18个JS单行代码,你只需花几分钟时间,即可帮助您了解一些您可能不知道的 JS 知识,如果您已经知道了,就当作复习一下,古人云,温故而知新嘛。现在,我们就开始今
  • 腾讯盖楼,字节拆墙

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之“想重温暴刷深渊、30+技能搭配暴搓到爽的游戏体验吗?一起上晶核,即刻暴打!”曾凭借直播腾讯旗下代理格斗游戏《DNF》一
  • 消息称小米汽车开始筛选交付中心:需至少120个车位

    IT之家 7 月 7 日消息,日前,有微博简介为“汽车行业从业者、长三角一体化拥护者”的微博用户 @长三角行健者 发文表示,据经销商集团反馈,小米汽车目前
  • 华为Mate 60系列用上可变灵动岛:正式版体验将会更出色

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 三星显示已开始为AR设备研发硅基LED微显示屏

    7月18日消息,据外媒报道,随着苹果首款头显产品Vision Pro在6月份正式推出,AR/VR/MR等头显产品也就将成为各大公司下一个重要的竞争领域,对显示屏这一关
Top