文章摘要
Immersa是一款开源的基于网页的3D演示工具,支持导入3D模型和2D图片,可在3D空间中添加文字,并自动生成平滑的动画过渡效果,让演示更具视觉冲击力。提供在线演示视频展示其功能特点。
文章总结
Immersa:基于网页的3D演示工具
项目简介
Immersa是一款创新的网页端3D演示工具,通过动态过渡效果将传统幻灯片升级至三维空间。用户可导入3D模型(.glb格式)、添加2D图像、创建3D文本,并通过智能插值系统自动生成流畅的动画过渡。
核心功能
- 三维场景编辑:支持模型/图像/文本的位移、旋转、缩放
- 智能动画:通过复制幻灯片并调整对象位置,自动生成过渡动画(如汽车从左向右平滑移动)
- 本地存储:所有数据通过浏览器IndexedDB保存
- 高效操作:提供撤销/重做功能及键盘快捷键(如T添加文本、D复制幻灯片)
技术架构
- 开发语言:ClojureScript
- 3D引擎:Babylon.js
- 状态管理:Re-frame
- 构建工具:shadow-cljs
快速开始
1. 环境要求:Node.js v16+、Java JDK 11+
2. 安装步骤:
bash
git clone https://github.com/ertugrulcetin/immersa.git
cd immersa
npm install
npm run watch
3. 访问本地开发服务器:http://localhost:8280
界面布局
- 左侧:幻灯片缩略图
- 中部:3D视口
- 右侧:对象属性面板
- 顶部:工具操作栏
开源协议
MIT License(详见项目LICENSE文件)
开发者
Ertuğrul Çetin | GitHub主页
(注:本文精简了安装细节与技术栈目录结构,保留核心功能与使用场景描述)
评论总结
以下是评论内容的总结:
正面评价
- 外观和功能受到好评:"looks nice!" (cahaya)
- 满足特定需求:"nice, I always wanted something like this for 'movie/sci-fi tv' style presentations" (exe34)
对实用性的质疑
- 3D效果可能过度:"not sure one would want to build an entire presentation with a lot of 3D effects" (albert_e)
- 建议谨慎使用:"good tool to have among many -- to use judiciously only when needed" (albert_e)
技术实现赞赏
- 代码简洁高效:"impressive amount of functionality for not much code" (CraigJPerry)
- 框架使用干净:"how clean the reframe usage model is" (CraigJPerry)
与其他工具对比
- 类似功能已存在:"You can do this kind of thing in Apple Keynote" (james-bcn)
- 提到PowerPoint的3D功能:"MS Powerpoint has some 3D objects and animations" (albert_e)
批评与建议
- Readme内容机械化:"The Readme is substantially LLM generated" (roywiggins)
- 过渡设计问题:"each transition required a new slide...hundreds or thousands of slides" (pedalpete)