×

Vue3 生态最强大 3D 框架发布 V5 !高性能、低延迟!增加几百个示例!

独孤求败 独孤求败 发表于2026-03-20 09:47:41 浏览35 评论0

抢沙发发表评论

TresJS 的设计初衷,就是让 Vue 开发者能更轻松地上手 3D 开发。它沿用大家熟悉的组件、组合式函数等开发思路,大幅降低 Three.js 的学习成本。

作为一款开源库,TresJS 让你可以在 Vue 中用声明式的方式使用 Three.js,直接通过 Vue 组件搭建 3D 场景,同时完整保留 Vue 响应式系统的强大能力。

图片

TresJS 发音为 /tres/,在西班牙语里正是“三”的意思。它基于 Three.js 构建,通过自定义 Vue 3 渲染器,将 Vue 组件直接转换成 Three.js 对象。这套库的核心目标,就是借助 Vue 的响应式机制和组件化架构,降低 Web 3D 开发门槛,同时保持对最新 Three.js 功能的全面兼容。

图片

为什么选择 TresJS?

Three.js 本身是一款功能极强的 3D 库,但学习曲线相对陡峭,对习惯 Vue 这类组件化框架的开发者尤其不友好。而 TresJS 正好填补了这一缺口,主要优势体现在:

图片

🧩 组件化更熟悉 不用再写命令式的 Three.js 代码,直接用 Vue 组件搭建 3D 场景。

自带响应式 依托 Vue 响应式系统,轻松实现动态、可交互的 3D 效果。

📦 内置组合式函数 提供实用的组合式函数,封装常见 3D 逻辑与功能,开箱即用。

🎯 声明式开发 只需要描述场景最终效果,不用一步步手动构建和渲染。

🔧 优秀开发体验 支持热更新、TypeScript、Vue DevTools 调试,完整保留 Vue 开发体验。

图片

从命令式到声明式

以前写 Three.js,需要编写大量命令式代码:

const scene = new THREE.Scene()
const camera = new THREE.PerspectiveCamera(75window.innerWidth / window.innerHeight, 0.11000)
const renderer = new THREE.WebGLRenderer()

const geometry = new THREE.BoxGeometry()
const material = new THREE.MeshBasicMaterial({ color: 0x00FF00 })
const cube = new THREE.Mesh(geometry, material)
scene.add(cube)

而使用 TresJS,你只需要写声明式的 Vue 组件:

<template>
  <TresCanvas>
    <TresPerspectiveCamera :position="[0, 0, 5]" />
    <TresMesh>
      <TresBoxGeometry />
      <TresMeshBasicMaterial :color="0x00FF00" />
    </TresMesh>
  </TresCanvas>
</template>

这种方式显著降低学习成本,同时又不损失 Three.js 本身的强大功能与灵活性。

✨ create-tres CLI:一键搭建3D项目

以往 TresJS 需手动配置 Vue 环境、安装依赖,步骤繁琐易出错。v5.0 全新推出 create-tres 命令行工具,一条指令快速初始化项目,告别繁琐配置。

内置灵活配置项,适配各类开发场景:

  • 模板选择:支持 Vue+Vite、Nuxt 两种主流方案

  • 工具集成:默认搭载 TypeScript、ESLint,保障类型安全与代码规范

  • 生态拓展:一键引入 Cientos、Post-processing、Leches 等官方工具包

大幅缩减环境搭建耗时,让开发者专注3D场景开发。

🚀 实验性WebGPU支持:高性能渲染升级

传统WebGL难以支撑复杂3D场景,WebGPU作为下一代图形API,具备高性能、低延迟、支持GPU计算着色器的优势。TresJS v5.0 正式接入WebGPU实验性支持,简单配置即可启用。

图片

const createWebGPURenderer = (ctx) => 
  new WebGPURenderer({ canvas: ctx.canvas, alphatrue })

资源

  • 源码:https://lab.tresjs.org/
  • 案例:https://tresjs.org/showcase
    图片
    图片
    图片


群贤毕至

访客