详细说明

  • 🔧 插件生态支持 本插件是 TVT 开源生态open in new window 中的重要组成部分,涉及的各类扩展组件均封装于 tvt.js 开源库中,持续维护与更新。未来将有更多实用组件陆续加入,进一步扩展编辑能力。

  • 📝 编辑历史记录与配置导出

  • 插件支持记录您的编辑操作历史、可通过快捷键来完成
三维编辑器
操作WindowsmacOS
撤销(Undo)Ctrl + Z⌘ + Z
重做(Redo)Ctrl + Shift + Z⌘ + Shift + Z
  • 并可导出或导入当前的操作配置,方便在多个项目间复用或备份。 三维编辑器
  • 🚀 自由定制与二次开发 插件支持根据个人需求接入自定义的模型服务。编辑完成后,您可免费导出插件源码进行二次开发。 👉 详见:安装插件指南三维编辑器三维编辑器

    导出插件包注意:

视频演示

操作说明

具体详细操作说明可逐一阅读后面几个章节 👉 从这里开始:安装插件指南
本章节先介绍下特殊亮点功能:

事件系统管理

  • 本编辑器提供灵活的事件系统管理功能,可针对场景内的三维物体(包括普通模型扩展物体)进行事件绑定与逻辑定义,从而实现交互响应与动态行为控制。 三维编辑器

🧩 支持的事件类型

系统支持以下常用交互事件,可独立或组合使用:

  • 单击事件(click):当用户单击物体时触发。
  • 双击事件(dblclick):当用户快速连续双击物体时触发。
  • 右键事件(contextmenu):当用户在物体上点击鼠标右键时触发。
  • 鼠标移入事件(pointerenter):当鼠标光标进入物体包围区域时触发。
  • 鼠标移出事件(pointerleave):当鼠标光标离开物体包围区域时触发。

⚙️ 绑定函数逻辑

事件的处理逻辑可通过内置的脚本编辑器进行定义。 用户可直接在文本框中以 JavaScript / Three.js 原生语法 编写事件回调函数,实现对物体属性、动画状态、材质、标签等的动态控制。

系统自带默认传入参数:

  • PointerEvent :当前事件触发全体传参集合
  • currentObject :当前事件触发对应的绑定物体
  • point :当前事件触发对应的三维场景坐标
  • object :当前事件触发对应的具体物体的子节点
  • distance :当前事件触发摄像头到点击处的距离

示例:

// 单击事件示例
(PointerEvent, currentObject, point, object, distance) => {
  // 面板中只需要填写括号内的文本即可:
  console.log("单击事件:"+currentObject.uuid,PointerEvent,currentObject,point,object,distance)

  // 获取当前场景内 uuid为 5f3d523e-9d0d-4c45-b23c-b262beaa9078 的 物体
  // 📢 注: currentObject.parent.parent :当前点击物体的祖父节点即 场景的 sence
  const wq = currentObject.parent.parent.getObjectByProperty('uuid', '5f3d523e-9d0d-4c45-b23c-b262beaa9078')
  // 让这个物体隐藏
  if(wq){
    wq.visible = false
  }
}

💡 相关说明

  • 1、必须激活对应的事件: 三维编辑器

  • 2、物体列表中图标类型显示事件状态: 三维编辑器

  • 3、请确保代码的正确性,暂未支持dom类物体的事件
    dom类物体例如,高级组件中的:dom面板
    注:3DTiles组件请慎重绑定事件,因为该物体可能会涉及到非常多的集合面,会让场景变得卡顿