# tezero **Repository Path**: cedar12/tezero ## Basic Information - **Project Name**: tezero - **Description**: tezero是一个可以使用非常简单的方式调用并实例化三维组态编辑器 - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 2 - **Created**: 2023-08-10 - **Last Updated**: 2025-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: Threejs, 3d, Web, editor, TypeScript ## README # 介绍 基于[threejs](https://threejs.org) - 支持快捷键 - 支持自定义物体组件 - 支持拖拽左边物体组件到场景中 - 内置场景大纲视图 - 支持`.dae`、`.fbx`、`.glb`、`.gltf`等模型导入 - 支持位置、旋转、缩放动画配置 - 模型材质属性编辑 # 构建 ```shell cd tezero yarn yarn build ``` # 使用 ## 浏览器 > 具体请查看[umd](./examples/umd/) ```html
``` ### 内置编辑器布局 > 需要引入样式`tezero/dist/style.css` ```javascript // 实例化编辑器 const tl=new TezeroLayout(document.querySelector('#container'),/*物体组件数据*/,{theme:'light'}); // 编辑器核心 const tz=tl.tezero; ``` ## Vue3 > 具体请查看[vite-vue3](./examples/vite-vue3/) ```vue ``` ## 注册组件 > 组件注册需返回THREE.Object3D|Promise类型 ```javascript // 注册图表组件 tl.tezero.register({ echart:(data)=>{ const dom= document.createElement('div'); dom.style.backgroundColor='rgba(0,0,0,0.2)'; var myChart = echarts.init(dom,'dark'); myChart.on('click', function (params) { console.log(params); tl.tezero.select(object); }); // 绘制图表 myChart.setOption({ backgroundColor:'rgba(0,0,0,0.2)', title: { text: 'ECharts 入门示例' }, tooltip: {}, xAxis: { data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'] }, yAxis: {}, series: [ { name: '销量', type: 'bar', data: [5, 20, 36, 10, 10, 20] } ] }); // DOM 3D网格对象,参数width等同于dom.style.width='600px';height等同于dom.style.height='200px'; const object=new Tezero.DomObject(dom,{width:600,height:200}); object.name = '图表'; object.scale.x=0.02; object.scale.y=0.02; object.scale.z=0.02; return object; } }); ``` # 快捷键 | 键 | 说明 | | --- | --- | | Ctrl + c | 复制选中物体 | | Ctrl + v | 粘贴物体 | | Ctrl + z | 撤销 | | Ctrl + y | 重做 | | T | 切换到移动物体模式 | | S | 切换到缩放物体模式 | | R | 切换到旋转物体模式 | | Delete 或 Backspace | 删除选中物体 | | M | 合并选中组内物体 | | 鼠标左键双击 | 最佳视图定位物体 | # 预览 ![image.png](README.md.assets/20250606.png)