LO2S × SNP & DashDigital:打造充满动感与能量的交互式网站技术解析

本文深度解析SNP与DashDigital团队如何运用Next.js、GSAP和轻量级3D库OGL等技术,为LO2S打造兼具视觉冲击与高性能的交互式网站。从全屏视频导航、无限3D画廊到自定义着色器,揭秘实现流畅动画与设备兼容性的技术方案与架构设计。

LO2S × SNP & DashDigital:设计充满动感与能量的网站

SNP和DashDigital团队分享了他们如何通过动效、交互性和性能优化,将LO2S网站打造成一个充满活力的数字体验。

项目背景

LO2S希望建立一个不仅能展示服务,更能体现其快节奏、运动驱动理念的网站。用户浏览时应能感受到其工作能量。这意味着需要将全屏视频、流畅过渡和交互式动效作为核心构建块。挑战不仅在于视觉抛光,更需确保这些元素在底层保持高性能和无缝体验。

技术与工具

网站基于标准技术栈构建:Next.js(Page Router)、GSAP、Strapi、AWS、CloudFront,并额外采用OGL。

为什么选择OGL?

  • 相比three.js更轻量
  • 提供最大渲染控制权
  • 无需复杂3D资源(GLTF/OBJ/FBX)时的理想选择

这是团队首次在生产环境中使用OGL。LO2S网站不需要复杂3D资产,因此OGL成为实现高性能交互视觉的自然选择。

关键功能

沉浸式落地体验

全屏视频作为入口点,四网格悬停导航展示特色项目。这种设置让用户直接深入作品,同时保持落地页的视觉冲击力。

双工作视图

工作页面提供两种浏览方式:

  • 列表视图便于快速导航
  • 动态卡片布局,项目动画进出屏幕,创造接近电影序列的浏览节奏

带模糊效果的无限3D画廊

使用transform3d和原生JS而非WebGL实现无限画廊,保持轻量级构建的同时支持背景模糊。通过精细优化确保模糊效果在各设备上稳定运行。

交互式Logo着色器

基于Studio 27b灵感开发自定义着色器,使Logo与品牌本质对齐。悬停时字符移动混合,创造类似现场活动光模式的连接感。

技术优化

初始文本扭曲测试显示锯齿问题,通过自定义aastep函数实现程序化抗锯齿。该函数分析纹理梯度并平滑像素过渡,确保字体缩放清晰且扭曲后仍保持锐利。

视觉与交互元素

塑造体验的关键细节:

  • 与Logo关联的页面过渡保持连续性
  • 应用于文本的响应式动效扭曲着色器
  • 实时自适应布局的动态内容模块
  • 设定首次加载基调的动画预加载器

架构与结构

快速内容交付是不可妥协的要求,通过两种方式实现:

  • CDN交付:媒体通过AWS CloudFront提供,Strapi配置为自动将资源推送到S3存储桶
  • 视频优化:为客户提供bash ffmpeg脚本批量优化视频文件,平衡质量与加载速度

反思与学习

每个项目都是优化流程的机会。LO2S项目中最初使用Strapi的Sharp集成进行图像裁剪,但发现两个痛点:

  • 上传原始4K图像会拖慢流程并偶尔失败
  • Sharp自动生成多个图像尺寸,其中许多并不必要

项目后测试imgproxy发现更符合需求:

  • 与CDN和缓存无缝协作
  • 将处理与主应用隔离
  • 可按用例配置图像格式
  • 基准测试中实现620+请求/秒,延迟约12.8ms

这为团队指明了更清洁、快速、可靠的图像工作流方向。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计