其他

创建日期:2024-11-30
更新日期:2024-12-01

参与贡献

ShadowEditor是一个为用户和开发者而生的项目。在这个项目上,你可以提交代码,尝试你的想法。没有报酬,但是有很多乐趣。提交代码,你需要:

  1. Fork 本仓库。
  2. 新建 Feat_xxx 分支。
  3. 提交代码。
  4. 新建 Pull Request。

注意: 不要提交大的二进制文件,否则可能会被拒绝。如果需要,你可以把想忽略的文件或目录添加到.gitignore文件中。

常见问题

1、上传模型失败。

需要把模型贴图等资源压缩成一个zip包,而且入口文件不能嵌套文件夹。服务端会解压上传的zip包到./build/public/Upload/Model文件夹,并在MongoDB _Mesh表里添加一条记录。

2、如何将多个模型组合在一起?

基本几何体都支持多层嵌套。可以添加一个组(在几何体菜单中),然后在场景树状图上,将多个模型拖动到组上。

3、如何开启权限系统?

编辑config.toml文件,将authority.enabled设置为true。默认管理员用户名是admin,密码是123456。

4、前端报asm.js 已被禁用,因为脚本调试程序已连接。请断开调试程序的连接,以启用 asm.js。的错误。

完整错误:asm.js 已被禁用,因为脚本调试程序已连接。请断开调试程序的连接,以启用 asm.js。 ammo.js (1,1) SCRIPT1028: SCRIPT1028: Expected identifier, string or number ShadowEditor.js (3948,8) SCRIPT5009: 'Shadow' is not defined。

解决方法:腾讯浏览器不支持使用Emscripten编译的ammo.js(WebAssembly),建议换成谷歌浏览器或火狐浏览器。

5、怎么从C#版本升级到golang版本?

数据结构和客户端都没变,只需要把文件夹./ShadowEditor.Web/Upload/复制到build/public/Upload/即可。

6、桌面版打不开。

说明:Windows需要Visual C++ Redistributable for Visual Studio 2015。你可以从这安装:https://www.microsoft.com/en-us/download/details.aspx?id=48145

说明:如果桌面版打不开,可以查看logs.txt;如果端口冲突,可以修改resources/app/config.toml中的MongoDB和网站端口。

更新日志

v0.5.6

* 发布日期:2020年7月26日

* 更新日志:

  1. 三维GIS。(开发中)
  2. v0.4.6-csharp分支将在8月1日删除。
  3. 修复上传完图片,上传模型,提示“只允许上传jpg、png或mp4格式文件!”的bug。
  4. 修复上传完模型,上传图片,提示“只允许上传zip格式文件!”的bug。
  5. 纹理属性前面的复选框改为启用禁用,后面增加了删除纹理按钮。

v0.5.5

* 发布日期:2020年7月12日

* 更新日志:

  1. 增加WebGL扩展窗口,可以查看浏览器支持的WebGL扩展名称和描述,并可以跳转到MDN。
  2. 三维地球。(开发中)
  3. 软件载入页面增加加载遮罩。
  4. 桌面版从配置文件中读取MongoDB和网站端口。

说明:如果桌面版打不开,可以查看logs.txt;如果端口冲突,可以修改resources/app/config.toml中的MongoDB和网站端口。

v0.5.4

* 发布日期:2020年6月27日

* 更新日志:

  1. 使用Electron创建桌面应用程序。

Windows桌面版:https://github.com/tengge1/ShadowEditor/releases/download/v0.5.4/ShadowEditor-win32-x64.zip

Ubuntu桌面版:https://github.com/tengge1/ShadowEditor/releases/download/v0.5.4/ShadowEditor-linux-x64.zip

说明:Windows需要Visual C++ Redistributable for Visual Studio 2015。你可以从这安装:https://www.microsoft.com/en-us/download/details.aspx?id=48145

  1. 使用命令行在Windows上安装和启动ShadowEditor服务。

.\ShadowEditor install: 在Windows上安装服务。

.\ShadowEditor remove: 在Windows上移除服务。

.\ShadowEditor start: 在Windows上启动服务。

.\ShadowEditor stop: 在Windows上停止服务。

你也可以在Windows服务管理器中管理这个服务。

  1. 使用nodejs重写脚本,现在你可以使用npm管理这个项目。

v0.5.3

* 发布日期:2020年6月14日

* 更新日志:

  1. 修复windows上上传模型和发布场景bug。
  2. 添加开源项目链接。
  3. THREE.js数学模块翻译为Go语言,点此查看详情。
  4. 使用Travis CI作为持续集成工具。
  5. 注释掉index.html文件中的ServiceWorker,因为它带来了很多问题。

v0.5.2

* 发布日期:2020年5月31日

* 更新日志:

  1. MongoDB用户名和密码设置。
  2. 文档移动到gitee wiki。详情
  3. 使用JSON Web令牌(JWT)进行用户身份验证。
  4. 默认禁用自动保存。
  5. 修复非管理员用户上传数据不显示的bug。
  6. 修复用户不具有所有资源查看权限时,资源列表不加载的bug。
  7. 修复贴图无法设置缩略图bug。
  8. 修复向场景中添加gltf格式的模型报错。
  9. 非管理员无法编辑、删除其他人的公开场景。
  10. 修复连续保存两次会变为另存为的bug。
  11. 资源和权限管理测试完成,golang服务端几乎没有bug了。

v0.5.1

* 发布日期:2020年5月17日

* 更新日志:

  1. 修复烟组件播放报错的bug。
  2. 修复播放时渲染器尺寸错误。(导致烟组件播放时变小)
  3. 修复由于three.js升级,导致水组件报错的bug。
  4. 修复Ubuntu上资源类型过滤器,列出了所有类型的bug。
  5. 修复列出字体、上传字体和创建3D文字的bug。
  6. 修复备份mongodb的bug。
  7. 更新Windows构建指南。
  8. 安装为Windows服务。
  9. 当端口冲突或config.toml丢失时,程序不会再闪退。
  10. 安装为Ubuntu服务。
  11. 修复开启权限时,资源数量显示错误。
  12. 修复保存系统设置错误。
  13. 修复导出所有示例的bug。
  14. 修复点标注选中高亮区域错误bug。

v0.5.0

* 发布日期:2020年5月5日

* 更新日志:

  1. 使用Go语言重写服务端。
  2. 修复由于three.js升级,导致draco模型无法加载的bug。
  3. 不再支持.json格式的模型。
  4. 修复类别列表窗口最下面一行被按钮遮挡的bug。
  5. 修复几何体带漫反射贴图时,无法加载贴图的bug。
  6. 修复音频、截图、录制视频资源无法设置缩略图的bug。
  7. 修复无法使用取消和关闭按钮关闭确认对话框的bug。
  8. 修复删除角色,列表不刷新的bug。

跟asp.net相比,go语言具有非常多的优势:

  1. 兼容Windows、Linux、Mac三大操作系统。
  2. 类似C语言。支持goroutine,充分发挥CPU多核优势,性能高。
  3. 简单易学,标准库和第三方库丰富,开发效率高。
  4. 可编译成单个文件,发布时不需要安装go语言和NodeJs。
  5. 不需要iis。
  6. 网络数据启用了gzip压缩,显示和场景加载速度极大提高。
  7. 不需要Visual Studio,使用Visual Studio Code即可舒适的开发服务端和Web端。

从C#版本升级:

数据结构和Web客户端均未发生变化,只需要把./ShadowEditor.Web/Upload/文件夹复制到build/public/Upload/即可。

v0.4.6

* 发布日期:2020年4月5日

* 更新日志:

  1. 修复加载自动保存场景确认对话框无法取消bug,取消按钮改为清空。
  2. 修复保存示例场景报ID不合法的错误,现在可以正常保存示例场景。
  3. 修复一打开页面,立刻添加背景音乐组件报错bug。
  4. 修复背景音乐组件发布场景时,未导出音乐文件bug。
  5. 修复视频贴图发布场景后,视频地址不正确bug。
  6. 修复获取服务端配置,未使用配置的服务端地址的bug。
  7. Go语言服务端。(开发中)
  8. 修复脚本中多次调用clock.getDelta和clock.getElapsedTime导致动画异常的bug。现在脚本中可以多次调用这两个函数。

v0.4.5

* 发布日期:2020年3月22日

* 更新日志:

  1. 播放场景,默认的轨道控制器启用惯性设置。
  2. EnableDamping的翻译由启用减震改为启用惯性。
  3. DampingFactor的翻译由减震系数改为惯性系数。
  4. 脚本面板新增新建文件夹,支持树状结构,支持拖动排序,支持修改文件夹和脚本名称。
  5. 控制器模式选择由状态栏移动到选项菜单中。
  6. 添加模式由绘制工具栏移动到选项菜单中,默认改为添加到场景中心。
  7. 选择模式由状态栏移动到选项菜单中。
  8. 修复点击场景添加模型,添加过程中不出现模型预览bug。
  9. app.editor.scripts由Object改为Array,不会对以前的场景造成影响。
  10. 场景脚本第三方编辑器支持,场景中创建的脚本自动同步到SceneScript文件夹中。(未完成)
  11. 新增自动保存场景功能,每10秒保存一次。刷新浏览器询问是否加载自动保存的场景,避免数据丢失。
  12. 修复部分情况下javascript格式化插件报错,导致页面崩溃的bug。

v0.4.4

* 发布日期:2020年3月8日

* 更新日志:

  1. three.js从r107升级到r113。
  2. 状态栏添加three.js版本信息。
  3. 状态栏实时显示鼠标位置,不再对性能造成影响。
  4. 只有用到GPU Pick的时候才启用GPU Pick,提高性能。
  5. 由于需要支持SameSite属性,支持的.net framework最低版本由4.5(2012-08-15)改为4.7.2(2018-04-30)。
  6. 对服务端依赖的第三方模块进行升级。
  7. 修复eslint找到的所有错误和警告。
  8. 设置HttpOnly=true, SameSite=Lax,js不再能访问.ASPXAUTH,提高安全性。

v0.4.3

* 发布日期:2020年2月22日

* 更新日志:

  1. 新增新建小区和室内功能,默认自动添加一个地面。
  2. 常见问题新增404 Not Found和访问被拒绝的解决方法。
  3. 帮助菜单新增下载模型功能,可以快速访问sketchfab和3dpunk下载模型。
  4. 贴图面板新增上传天空球功能。
  5. 组件菜单添加天空球组件。
  6. 修复未保存材质的模型和多材质模型发布场景报错的bug。
  7. 性能监视器、网格、视角帮助器、物理引擎、扔小球设置由状态栏移动到视图菜单中。
  8. 状态栏新增鼠标坐标显示,发现对性能有严重影响,暂时注释该功能。
  9. 视图菜单新增动态显示隐藏资源面板、侧边栏、工具栏、时间轴面板、状态栏功能,并保存在本地存储中。
  10. 控制台不再显示DevTools failed to load SourceMap: Could not load content for gunzip.min.js.map的警告信息。
  11. 修复错误的cookie导致服务端报错bug。
  12. 修复新版谷歌浏览器无法正常注销bug。
  13. 新增发布场景权限。
  14. 发布场景后的地址不再需要加sceneFile参数。

旧:http:~/~/localhost:2000/temp/20200221194655/view.html?sceneFile=5e4fc1334859d12808dd9264

新:http:~/~/localhost:2000/temp/20200221194655/view.html

  1. 给ShadowEditor.Web\temp目录设置只读权限。
  2. 发布场景提示正在导出...改为发布中...。
  3. 添加常见问题发布场景后没反应。。
  4. 自由控制器优化,平移和旋转增加惯性,限制仰角为0~~85°。

v0.4.2

* 发布日期:2020年2月8日

* 更新日志:

  1. 保存场景,如果设置不保存子组件,则不保存模型内部组件。这可以加快场景保存和载入速度,减小场景大小。
  2. 保存场景,如果设置不保存材质,则不保存模型内部材质。这用于修改了模型内部组件名称和结构,没修改材质的情况。
  3. 修复场景中存在点标注或不缩放文字时,发布场景报错bug。
  4. 通用工具栏新增第一视角功能。使用WSAD或方向键控制前后左右移动,鼠标控制视线方向。
  5. 将状态栏添加模式选择,移动到绘制工具栏中。
  6. 物体菜单新增添加正交相机和透视相机功能。
  7. 物体菜单新增添加箭头帮助器和坐标轴帮助器功能。
  8. 新增自由控制器。

v0.4.1

* 发布日期:2020年1月11日

* 更新日志:

  1. 新增字体转换器,可以.ttf字体文件转换成.json文件。
  2. 修复不缩放文字保存重新载入,无法修改文字的bug。
  3. Web.config增加说明:

1*. customErrors: 远程显示服务端错误,正式部署建议改成RemoteOnly。

1*. directoryBrowse: 允许目录浏览,正式部署建议改成false。

1*. mimeMap: 允许下载任意类型文件,正式部署建议改成所需类型文件。

1*. Access-Control-Allow-Origin: 允许跨域,不跨域的话建议去掉。

  1. Web.config中增加.json的MIME-Type,避免去掉.*和.的MIME-Type后,由于部分iis缺少.json的MIME-Type导致整个后端报500错误。
  2. 禁用资源、上传、备份目录的执行权限。
  3. 修复添加不缩放文字,点击关闭按钮无法关闭窗口的bug。
  4. 添加三维文字,支持数字、英文和汉字,支持保存载入。
  5. 模型编辑中,新增模型下载功能。
  6. 添加模式改为保存在浏览器缓存中,默认改为点击场景添加模型。

v0.4.0

* 发布日期:2019年12月29日

* 更新日志:

  1. 新增距离测量工具。
  2. 新增导出场景到JSON文件功能。
  3. 新增导出场景到Collada文件功能。
  4. 新增导出场景到OBJ文件功能。
  5. 新增导出场景到PLY文件功能。
  6. 新增导出场景到STL文件功能。
  7. 修复标注对话框点击关闭,然后点击确定,报错的bug。
  8. 修复播放MMD动画报错的bug。
  9. 编辑场景,新增载入历史版本场景功能。
  10. 工具菜单,新增一键备份MongoDB数据库功能。

v0.3.9

* 发布日期:2019年12月15日

* 更新日志:

  1. 修复不缩放文字显示模糊的bug。
  2. 修复浏览器窗口缩放后,鼠标放到物体上,高亮不准的bug。
  3. 修复浏览器窗口缩放后,文件大小发生改变bug。
  4. 修复物体平移旋转缩放后,鼠标放到物体上,高亮不准的bug。
  5. 移除d3.js,不再使用d3开发可视化功能,使用d3-dispatch代替完整版d3.js。
  6. 点标注改为不会缩放的三角形标注,可以正常保存载入和通过属性面板修改文字。
  7. 选中效果由保存在场景中,改为保存在浏览器上。
  8. 鼠标高亮效果,改为保存在浏览器上,默认不开启。可以通过选项、显示菜单设置是否开启高亮和高亮颜色。
  9. 优化消息弹窗,不再遮挡编辑区,使用背景和文字颜色区分消息、成功、警告、错误四种情景。
  10. 修复正投影下,鼠标hover高亮不正确bug。
  11. 制作功能演示视频:微博 Bilibili 百度云
  12. 修复录制视频过程中,切换工具栏,导致录制视频失败的bug。
  13. 新增打砖块、相机、粒子、乒乓球、着色器示例。(three.js自带)
  14. 新增天气设置:无、下雨、下雪。

v0.3.8

* 发布日期:2019年12月1日

* 更新日志:

  1. 新增快捷键Ctrl+Z撤销、Ctrl+Y重做、Ctrl+C复制、Delete删除。
  2. 修复模型复制多个后,保存场景后载入场景,只显示第一个的bug。
  3. 机构、角色、用户、权限、系统设置、系统初始化、系统重置全部测试完成,没有任何bug。
  4. 双击场景中的物体,不再跳转到这个物体的视角。
  5. 修复无法设置环境贴图和环境贴图强度bug。
  6. 修复资源面板最大化时,每行只有两个bug。
  7. 使用GPU选取方式,高亮鼠标指向的物体。
  8. 修复上传文件时点取消报错的bug。
  9. 修复材质组件Flat Shading翻译为平滑的错误,改为平坦着色。
  10. 使用点击场景添加模型方式时,模型放置到场景之前出现一个预览效果。
  11. 新增编辑工具栏:撤销、重做、清空历史记录、复制、删除。
  12. 几何体菜单添加文字功能,修改为不缩放的文字。

v0.3.7

* 发布日期:2019年11月17日

* 更新日志:

  1. 还原以前删除的C#版THREE.js项目。
  2. 禁用Session,避免第一次打开网页时会话状态已创建一个会话 ID,但由于响应已被应用程序刷新而无法保存它。的报错。
  3. 修复一些由于无权限报错,导致页面变空白的bug。
  4. 选中效果优化,默认选中颜色修改。
  5. 新增选择模式设置:选择整体、选择部分。
  6. 删除整理贴图、整理模型、整理缩略图功能。
  7. 点击场景中的物体,场景树状图上展开该节点和它的所有父节点,并将该节点滚动到可视范围内。
  8. 修复点击场景中的物体,场景中的物体不高亮bug。
  9. 工具栏改为横向,并进行分类:通用工具、绘制工具、编辑工具、地形工具、标注工具、测量工具。(待开发完善)
  10. 新增添加模型模式:添加到中心、点击场景添加。点击场景如果碰撞不到物体,则添加到y=0的平面上。
  11. 状态栏上的选中边框颜色和粗细设置移动到显示选项菜单中。
  12. 新增BufferGeometry组件,查看BufferGeometry的顶点数量、法线数量、UV坐标数量、索引数量。提供计算顶点法线功能。
  13. 新增多材质组件,对于有多个材质的Mesh,可以使用多材质组件选择一个材质进行编辑。
  14. 修复正投影视图上选中效果边缘不正确bug。
  15. 状态栏增加物理引擎设置,添加的基本几何体默认开启物理引擎。
  16. 截图和录制视频工具由状态栏移动到通用工具栏。
  17. 修复新窗口播放报错Ammo.btSoftBodyRigidBodyCollisionConfiguration is not a constructor。
  18. 优化角色管理和用户管理列表显示和搜索功能。
  19. 不具有资源列表权限,将不显示对应的资源面板。
  20. 修复一个严重bug:非管理员角色登录,所有接口都是无权限。

v0.3.6

* 发布日期:2019年11月3日

* 更新日志:

  1. 点击系统菜单中的初始化命令,系统会默认创建管理员、用户、游客三个角色和管理员用户。管理员用户名是admin,默认密码是123456,角色是管理员。
  2. 点击右上角登录按钮,输入admin和123456登录系统。点击右上角的修改密码,可以修改登录用户的密码。
  3. 点击系统菜单下的角色管理,可以添加、修改、删除角色。系统内置角色:管理员(具有所有权限)、用户(注册是默认角色所具有的权限)、游客(未登录时的权限)。
  4. 点击系统菜单下的用户管理,可以添加、修改、删除用户,为用户设置角色。
  5. 点击系统菜单下的权限管理,可以为角色设置权限。
  6. 点击系统菜单下的重置系统,会删除所有配置、角色、用户、机构、权限,恢复初始化前的状态。
  7. 系统菜单只有在Web.config里面开启权限,系统未初始化或使用管理员用户登录后出现。
  8. 未登录时,点击注册按钮,输入用户名、密码、姓名注册,默认角色是用户。
  9. 登录后,点击右上角注销按钮,可以退出登录状态。
  10. 组织机构管理:添加机构、添加子机构、编辑机构、删除机构。
  11. 开启权限后,每个用户只能看到自己的场景、模型、贴图、材质、音频、动画、粒子、预设体、截图、视频资源。
  12. 删除模型、贴图、截图、视频改为直接删除文件所在文件夹,请注意备份。
  13. 管理员Administrator组拥有全部权限,不受权限设置限制;其他用户组根据设置的访问权限访问后台接口。
  14. 系统设置:修改默认注册用户的角色。
  15. 场景编辑增加是否公开设置,设置公开时,所有人都能查看,但是编辑后不能保存;设置私有时,只能自己查看编辑。
  16. Web.config中新增登录时长设置。
  17. 用户管理新增重置密码功能。
  18. 添加、修改用户,新增设置用户所属组织机构功能。
  19. 为组织机构设置管理员功能。
  20. 不登录可以查看所有公开场景。
  21. 不登录,只显示菜单栏(少数几个菜单)、场景面板、任务栏,登录后显示所有功能。
  22. 登录和注销自动刷新页面。

v0.3.5

* 发布日期:2019年10月20日

* 更新日志:

  1. 修复原点移到视野外,视角指示器消失bug。
  2. 使用eslint检查代码问题。
  3. 用户注册、登录、系统初始化、用户管理、角色管理、权限管理。(完成部分)

v0.3.4

* 发布日期:2019年10月6日

* 更新日志:

  1. 删除旧场景的加载方法。
  2. 下载的模型不再缓存在userData里面,改为缓存在模型上,_obj表示下载的原始模型数据,_root表示模型根节点,修复复制模型等一系列bug。
  3. 角色管理:添加角色、编辑角色、删除角色、查找角色。
  4. 用户管理:添加用户、编辑用户、删除用户、查找用户。
  5. DataGrid控件大幅度优化:每页显示条数设置;跳转第一页、前一页、后一页、最后一页;当前页和总页数;刷新按钮;每页条数和总记录数展示,加载数据显示LoadMask。
  6. 修复高光颜色编辑、序列化和反序列化中的一系列bug。
  7. 修复一部分模型在载入场景时,变黑bug。
  8. 修复一部分模型在载入场景时,组成部分显示不全的bug。
  9. 不再保存没用的矩阵数据,提高场景保存和载入速度。
  10. 修复由于导出的json格式文件组件被误认为是服务器组件,导致同一个模型下载两次的bug。
  11. 修复场景由于其中一个模型不存在,导致场景整体加载失败的bug。
  12. 修复添加模型时,错误清除_children属性,导致保存场景后,无法显示模型的bug。
  13. 是否开启权限管理,修改到Web.config文件中,只有开启权限管理时,系统菜单才显示。
  14. 场景菜单中新增导出场景到GLTF文件功能。
  15. 新增选中颜色和选中选中边框设置,该设置可保存到场景中。

v0.3.3

* 发布日期:2019年9月22日

* 更新日志:

  1. 一键清理没用的场景和场景历史记录工具。
  2. 不再依赖服务端模型userData.changed属性还原修改过的组件名称。
  3. 为了让模型之间可以交换组件,修改了场景数据结构。请尽快重新保存一次旧场景,并关注控制台的警告信息。旧场景加载方式将于9月22日新版发布后删除。
  4. 修复上传大模型时,413 Entity Too Large报错,已经由30M限制改为300M。
  5. 修复材质光泽度、镜面度、发射颜色序列化bug。
  6. Obj格式文件可以自动下载绑定材质了。
  7. 材质控件各种贴图,不再直接上传,改为从贴图面板选取。
  8. 状态栏增加显示隐藏网格复选框。
  9. 修复多材质模型序列化bug。
  10. 修复ply文件缺少法线,显示黑色的bug。
  11. 修复贴图路径为blob:http:~/~/,导致加载场景,模型显示黑色bug。
  12. 服务端国际化完成。
  13. 发布新版演示程序:GitHub Gitee
  14. 修复使用视频当贴图bug。
  15. 暂时去掉编辑器的几个选择功能。
  16. 更新了编辑器文档。GitHub Gitee
  17. 新增网格模式工具。
  18. 修复在二级目录下,播放器无法加载贴图,视频无法跨域播放bug。
  19. 暂时隐藏挖坑工具。
  20. Three.js信息查看窗口。
  21. 贴图面板可选择上传图片、天空盒、视频,新增添加天空盒窗口。

v0.3.2

* 发布日期:2019年9月8日

* 更新日志:

  1. 导出Collada模型文件。
  2. 导出DRACO模型文件。
  3. 菜单栏新增场景编辑器、模型编辑器、纹理编辑器、材质编辑器、地形编辑器、AI编辑器选项卡。(未实现)
  4. 新增渲染器属性窗口。
  5. 新增截图工具,截图资源管理,截图查看工具。
  6. 录制视频工具优化,新增录制视频资源管理,视频查看工具。
  7. 基于Tensorflow的可视化编辑器框架搭建。(Python, Tensorflow, Flask)

v0.3.1

* 发布日期:2019年8月25日

* 更新日志:

  1. 新增录制屏幕工具,可将编辑器界面录制成视频,目前该视频只能使用浏览器播放。
  2. 增加正视图、侧视图、顶视图,支持平移和缩放。
  3. 使用i18next模块重构了国际化模块,英文界面不再包含任何中文字符。
  4. 新增以下语言支持:繁體中文、日本語、한국어、русский、Le français。
  5. 完成补间动画模块的改版。
  6. 修复移动物体时的性能问题。
  7. 新增性能监视器和视角帮助器设置。
  8. 新增调试模式,启用时,可显示开发者工具和不完善的功能。
  9. 新增纹理生成器。(演示)

v0.3.0

* 发布日期:2019年8月11日

* 更新日志:

  1. 从v0.3.0开始,将发布基于react.js的新版编辑器,v0.2.6_old分支将于2019年8月17日删除。
  2. 除了补间动画和少量bug外,新版编辑器已经达到旧版水平。
  3. 跟旧版编辑器相比,新版有以下特点:

11. 使用react.js重写前端UI,界面美观度提升,相应速度提升。

11. 升级three.js到r107版本,three.js各组件也升级到最新版。

11. 修复大量影响性能的bug和逻辑,渲染不再由事件驱动,渲染速度大幅提升。

11. 支持模型内部组件名称和位置的修改,支持将几何体、组、光源等放到模型内部。

11. 属性面板分组可折叠,默认折叠一部分属性组,方便使用。

11. 资源面板放置到左侧,支持分页。资源数量多时,加载速度更快。

11. 对火狐浏览器兼容性调整。

11. 点击场景树状图右侧的眼镜图标,可以快速对某个分支进行显示隐藏控制。

11. 根据浏览器语言,确定编辑器的初始语言。

  1. 服务端和数据结构未作任何改动,如果您没有改过前端的话,可以直接升级到新版。

v0.2.6

* 发布日期:2019年7月28日

* 更新日志:

  1. 修复播放MMD动画,缺少ammo.js的bug。
  2. 完成BasicComponent、CameraComponent、FireComponent、LightComponent、LMeshComponent、MMDComponent、ParticleEmitterComponent、ReflectorComponent、SceneComponent、ShadowComponent、SmokeComponent、TransformComponent、BoxGeometryComponent、CircleGeometryComponent、CylinderGeometryComponent、IcosahedronGeometryComponent、LatheGeometryComponent、PlaneGeometryComponent、SphereGeometryComponent、TeapotGeometryComponent、TorusGeometryComponent、TorusKnotGeometryComponent、组件的重构。(dev分支)

v0.2.5

* 发布日期:2019年7月14日

* 更新日志:

  1. 新增npm run dev命令,保存文件自动生成,速度有了很大提升。(8秒->1秒)
  2. 新版编辑器菜单栏、工具栏、资源管理器、场景编辑区、场景树状图,历史面板、脚本面板、脚本编辑器改写完成。(dev分支)

v0.2.4

* 发布日期:2019年6月30日

* 更新日志:

  1. 新增UI控件:AccordionLayout, SearchField。(开发中)
  2. 修复播放器脚本camera被赋值为scene的bug。

v0.2.3

* 发布日期:2019年6月16日

* 更新日志:

  1. 使用采样法和全屏抗锯齿(FXAA)重新实现了描边算法。
  2. 场景树状图选中节点时,子节点不再显示选中效果。
  3. 更新优化以下控件:Timeline, Tree, Window。(开发中)

v0.2.2

* 发布日期:2019年6月2日

* 更新日志:

  1. 修复加载可视化场景的一些问题。(开发中)
  2. 使用reactjs为以下组件添加属性和事件。(参照项目截图1)

表单:Button, CheckBox, Form, FormControl, IconButton, Input, Label, Radio, TextArea, Toggle。

图标:Icon。

布局:AbsoluteLayout, BorderLayout, Content, HBoxLayout, TabLayout, VBoxLayout。

媒体:Canvas, Image, SVG。

菜单:MenuBar, MenuItem, MenuItemSeparator。

面板:Panel。

表格:DataGrid, Table, TableBody, TableCell, TableHead, TableRow。

工具栏:Toolbar, ToolbarSeparator。

v0.2.1

* 发布日期:2019年5月19日

* 更新日志:

  1. 新增完善UI控件:AccordionLayout, SearchField, ImageList, SearchField。(开发中)
  2. 部分UI替换。(请勿使用dev分支,开发中)
  3. 修复播放器脚本camera被赋值为scene的bug。

v0.2.0

* 发布日期:2019年5月3日

* 更新日志:

  1. 默认不再加载ammo.js。只有场景中存在刚体或柔软体时,才在播放时自动加载ammo.js,提升编辑器启动速度和非物理场景运行速度。
  2. 新增二维菜单:按钮、标签、面板、水平线、条形图、时间、竖直线、日期、时间圆盘、键值标签、表单、仪表、柱状图、折线图、侧边栏、柱状图2、散点图、饼状图、弦图、力导向图、树状图、集群图、包图、分区图。可拖动、保存、载入,可在播放器中查看。(开发中,仅供测试)

v0.1.9

* 发布日期:2019年4月20日

* 更新日志:

  1. 修复属性面板修改名称时,文字几何体文字不改变bug。
  2. 修复地图卡顿问题。
  3. 新增地图组件,动态切换谷歌地图、必应地图、天地图。
  4. 使用立体纹理为地球实现星空背景。
  5. 地图添加太阳特效。
  6. 地图保存载入。
  7. 在播放器中播放GIS场景。
  8. 新增三维GIS演示。Gitee GitHub
  9. 新增补间动画演示。Gitee GitHub
  10. 限制地轴与y轴的夹角在一定范围内。

v0.1.8

* 发布日期:2019年4月7日

* 更新日志:

  1. 设置面板放到选项菜单中。
  2. 新增色调旋转(hue-rotate)、饱和度、亮度、高斯模糊(blur)、对比度、灰度、颜色反转(invert)、复古(sepia)滤镜。
  3. 滤镜设置保存在场景配置中,并在编辑器和播放器解析。
  4. 创建GIS场景。(演示)
  5. 修复当模型最外层是Scene时,属性面板显示物体环境组件和各种后期处理组件的bug。
  6. 场景层次树,节点前面添加一个矩形,表示该节点类型。

v0.1.7

* 发布日期:2019年3月23日

* 更新日志:

  1. 修复物体改变后,场景树状图无法及时响应,无法记住树节点展开状态,树节点顺序错乱的bug。
  2. 物体名称超长自动显示省略号。鼠标移到节点上,显示完整名称。
  3. 新增全屏播放功能、新窗口播放功能。播放器和编辑器彻底解除耦合,播放器可独立运行。
  4. 可将编辑好的场景嵌入iframe运行。地址:/view.html?sceneID=sceneID。可使用新窗口播放功能获取该地址。
  5. 物体选中效果优化:等宽描边。
  6. 修复整理模型工具,复制模型时未复制文件夹中所有文件的bug。
  7. 所有设置改为存储在localStorage中,不再保存在场景配置中。
  8. 重构平行光帮助器、半球光帮助器、点光源帮助器、矩形光帮助器、聚光灯帮助器,采用事件驱动方式,不再对编辑器严重依赖。
  9. 整理文件夹结构。重写历史面板模块,彻底删除耦合度高的Outliner控件。
  10. 英文翻译优化。
  11. 新增场景一键导出功能,自动分析场景所需模型和资源,所有所需资源放在/temp/yyyyMMddHHmmss文件夹。
  12. 导出不带资源的编辑器功能。
  13. 重新发布了演示项目:Gitee GitHub
  14. 修复渲染器设置中,阴影、γ输入、γ输出、γ因子设置无效bug。
  15. 平面上点、线、喷涂工具一次只能绘制一个。
  16. 修复补间动画无法播放问题。

v0.1.6

* 发布日期:2019年3月10日

* 更新日志:

  1. 使用xtype.js,采用非侵入式开发方式重构UI框架。
  2. 主框架使用绝对定位重新布局。
  3. 底部面板支持最大化和还原。
  4. 底部面板显示资源统计信息。
  5. 搜集整理大量贴图和模型,并进行分类。
  6. 整理贴图工具。
  7. 整理模型工具。
  8. 整理缩略图工具。
  9. 添加点光源,默认不再添加圆球和光晕。
  10. 添加半球光,默认不再添加天空球。
  11. 添加矩形光,默认不再添加矩形白色屏幕。
  12. 由于原来的选中效果是使用后期处理实现的,产生了严重性能损耗和锯齿。所以用法线挤出和模板测试的方法重新实现选中效果。
  13. 重写后的选中效果不再产生锯齿,不默认开启快速抗锯齿(FXAA)功能,提高了性能。旧场景请在场景属性中取消勾选快速近似抗锯齿(FXAA),并重新保存。
  14. 默认启用时不再加载任何后期处理(postprocessing)相关着色器和特效类库,提高加载速度。
  15. 修复创建脚本注释未汉化bug。
  16. 折叠底部面板功能。
  17. 重写场景树状图控件,支持折叠、拖动、选中。
  18. 点击场景选中模型时,场景树状图优先选中整个模型,而不是模型的一部分,而且会自动展开并滚动到所选模型。

v0.1.5

* 发布日期:2019年2月23日

* 更新日志:

  1. 线段、CatmullRom曲线、二次贝塞尔曲线、三次贝塞尔曲线、椭圆曲线可视化编辑、保存和载入。
  2. 修复时间轴上的动画无法拖动的bug。
  3. 修复无法在场景树状视图将物体拖动到组上的bug。
  4. 基本几何体都支持多层嵌套,可以正常保存载入。
  5. 修复视角控件尺寸计算bug。
  6. 修复视角控件可能被其他物体遮挡的bug。

v0.1.4

* 发布日期:2019年2月11日

* 更新日志:

  1. 新增一个指示方向的控件。
  2. 新增线段、CatmullRom曲线、二次贝塞尔曲线、三次贝塞尔曲线、椭圆曲线。(暂不支持保存)

v0.1.3

* 发布日期:2019年1月28日

* 更新日志:

  1. 多语言支持:支持中文和英文,支持语言动态切换。
  2. 新增曲线几何体。

v0.1.2

* 发布日期:2019年1月11日

* 更新日志:

  1. 场景新增版本控制。场景表仅保存最新场景,历史数据保存在 场景名称_history表中。
  2. 保存材质自动生成材质球缩略图。
  3. 保存载入服务端模型修改后的材质。
  4. 正方体、圆形、圆柱体、二十面体、酒杯、平面、球体、茶壶、轮胎、纽结、加载模型都支持刚体组件。支持可视化设置碰撞体形状(正方体、球体)、质量和惯性。
  5. 新增正方体和球体物理形状帮助器。

v0.1.1

* 发布日期:2018年12月30日

* 更新日志:

  1. 修复mmd动画和音频不同步问题。支持多个mmd模型与模型动画、相机动画同步。
  2. 新增点阵化特效、颜色偏移特效、残影特效、背景虚化、快速近似抗锯齿(FXAA)、毛刺特效、半色调特效、全屏抗锯齿(SSAA)、像素特效、可扩展环境光遮挡(SAO)、多重采样抗锯齿(SMAA)、屏幕空间环境光遮蔽(SSAO)、时间抗锯齿(TAA)。
  3. 新增粒子、预设体、角色面板。(暂未实现具体功能)

v0.1.0

* 发布日期:2018年12月15日

* 更新日志:

  1. 重新梳理模型导入功能。目前支持3ds、3mf、amf、assimp(anim)、awd、babylon、bvh(anim)、collada、ctm、draco、fbx(anim)、gcode、gltf(anim)、js(anim)、json(anim)、kmz、lmesh(anim)、md2、mmd(anim)、nrrd、obj、pcd、pdb、ply、prwm、sea3d(anim)、stl、vrm、vrml、vtk、x 31种3D文件格式,带anim的表示支持动画。多种3D文件同时支持json和二进制格式。mmd文件同时支持pmd和pmx格式,支持vmd格式的模型和相机动画。它也是唯一支持lmesh(lolking网站lol模型)的编辑器。
  2. 播放器新增第一视角控制器、飞行控制器、轨道控制器、指针锁定控制器、轨迹球控制器5种控制器,在相机面板设置。
  3. 场景面板,编辑场景分类,根据类别、名称、全拼、拼音首字母实时过滤。
  4. 模型面板,编辑模型分类,根据类别、名称、全拼、拼音首字母实时过滤。
  5. 贴图面板,编辑贴图分类,根据类别、名称、全拼、拼音首字母实时过滤。
  6. 材质面板,编辑材质分类,根据类别、名称、全拼、拼音首字母实时过滤。
  7. 音频面板,编辑音频分类,根据类别、名称、全拼、拼音首字母实时过滤。
  8. 材质组件,新增保存材质和从材质面板选择材质功能。
  9. 纹理、透明纹理、凹凸纹理、法线纹理、置换纹理、粗糙纹理、金属纹理、环境纹理、光照纹理、遮挡纹理、发光纹理从贴图面板选择贴图功能。
  10. 删除上个版本场景窗口、模型窗口、贴图窗口、音频窗口。

v0.0.9

* 发布日期:2018年11月25日

* 更新日志:

  1. 新增布料带动画。
  2. gltf模型导入带动画。
  3. skinned morph(*.js)模型导入带动画。(新版three.js示例中已经移除该模型。)
  4. 平面画点工具。
  5. 平面画线工具。
  6. 平面贴花工具。
  7. 选中物体效果优化。

v0.0.8

* 发布日期:2018年10月27日

* 更新日志:

  1. 编辑器文档更新。
  2. 立体贴图上传服务端,并可设置为场景背景。
  3. 所有场景一键发布静态网站,便于部署到GitHub Pages服务上。
  4. 柏林地形组件、序列化和反序列化,并可在播放器中展示。
  5. 上传mp4视频贴图,并可以设置到材质上,在三维场景中播放视频。
  6. 增加水组件。

v0.0.7

* 发布日期:2018年10月14日

* 更新日志:

  1. 场景、模型、纹理、音频、mmd资源编辑功能,可上传预览图。
  2. 材质纹理属性编辑功能。
  3. 播放器重新架构。
  4. 粒子发射器、天空、火焰、烟保存、载入、播放优化。
  5. 刚体组件不再默认添加,改为从组件菜单中手动添加。

v0.0.6

* 发布日期:2018年9月30日

* 更新日志:

  1. 提供补间动画支持。可以在时间轴上可视化修改补间动画,并在播放器中播放。
  2. 新增上传mmd模型(pmd和pmx格式)和mmd动画,可以在播放器中播放。
  3. 新增上传lmesh模型,可在播放器中播放。
  4. 基本几何体、光源、地形封装,便于进一步开发。

v0.0.5

* 发布日期:2018年9月16日

* 更新日志:

  1. 布局修改:右侧改为两栏,左边栏提供场景层次图和js脚本管理功能,右边栏是属性、设置和历史面板。

在编辑场景下方新增动画编辑(未完成),并把日志查看移动到这里。

  1. 属性面板组件化改造,新增基本信息、相机、几何体、光源、材质、粒子发射器、物理配置、场景、影子、

位移、音频监听器、背景音乐等多个组件。

  1. 背景音乐支持保存载入,提供音频管理。
  2. 修复编辑着色器程序功能,实时查看着色器效果。
  3. 新增茶壶参数编辑组件。
  4. 各种几何体都可以开启反射。

v0.0.4

* 发布日期:2018年9月2日

* 更新日志:

  1. 脚本编辑优化,脚本不再跟物体绑定,可以跟场景一起保存载入,提供javascript、vertexShader、fragmentShader、programInfo示例脚本。自定义脚本支持init、start、update、stop、onClick、onDblClick、onKeyDown、onKeyUp、onMouseDown、onMouseMove、

onMouseUp、onMouseWheel、onResize 13种事件。

  1. 背景支持纯色、背景图片、立体贴图三种不同类型,可以保存载入。
  2. 新增网格、相机、点光源、平行光、聚光灯、半球光、矩形光、帮助器、骨骼9种帮助器的显示隐藏设置。
  3. 新增日志面板。
  4. 平板新增镜面特效。

v0.0.3

* 发布日期:2018年8月15日

* 更新日志:

  1. 使用asp.net开发web服务端,使用MongoDB保存模型和场景数据。
  2. 15种格式3D模型的上传,并可以保存到场景。
  3. 场景的创建、保存、载入。
  4. 组、12种内置几何体、5种光源可以保存场景并载入。
  5. 85种three.js对象的序列化和反序列化。

v0.0.2

* 发布时间:2018年6月9日

* 更新日志:

  1. 使用rollup重构three.js自带编辑器的代码。

v0.0.1

* 发布时间:2017年6月21日

* 更新日志:

  1. 主要完成three.js自带编辑器的翻译。

开源项目

感谢以下开源项目。

https://github.com/golang/go

https://github.com/BurntSushi/toml

https://github.com/dgrijalva/jwt-go

https://github.com/dimfeld/httptreemux

https://github.com/inconshreveable/mousetrap

https://github.com/json-iterator/go

https://github.com/mozillazg/go-pinyin

https://github.com/otiai10/copy

https://github.com/sirupsen/logrus

https://github.com/spf13/cobra

https://github.com/spf13/viper

https://github.com/urfave/negroni

https://go.mongodb.org/mongo-driver

https://github.com/facebook/react

https://github.com/mrdoob/three.js

https://github.com/rollup/rollup

https://github.com/babel/babel

https://github.com/eslint/eslint

https://github.com/rollup/rollup-plugin-babel

https://github.com/rollup/rollup-plugin-commonjs

https://github.com/rollup/rollup-plugin-json

https://github.com/rollup/rollup-plugin-node-resolve

https://github.com/egoist/rollup-plugin-postcss

https://github.com/rollup/rollup-plugin-replace

https://github.com/mjeanroy/rollup-plugin-strip-banner

https://github.com/andyearnshaw/rollup-plugin-bundle-worker

https://github.com/tweenjs/tween.js

https://github.com/JedWatson/classnames

https://github.com/d3/d3-dispatch

https://github.com/i18next/i18next

https://github.com/js-cookie/js-cookie

https://github.com/facebook/prop-types

https://github.com/codemirror/CodeMirror

https://github.com/jquery/esprima

https://github.com/tschw/glslprep.js

https://github.com/zaach/jsonlint

https://github.com/acornjs/acorn

https://github.com/kripken/ammo.js

https://github.com/dataarts/dat.gui

https://github.com/toji/gl-matrix

https://github.com/squarefeet/ShaderParticleEngine

https://github.com/mrdoob/stats.js

https://github.com/mrdoob/texgen.js

https://github.com/yomotsu/VolumetricFire

https://github.com/jonbretman/amd-to-as6

https://github.com/chandlerprall/ThreeCSG

https://github.com/mapbox/mapbox-gl-js

https://github.com/CesiumGS/cesium

https://github.com/NASAWorldWind/WebWorldWind

https://github.com/OSGeo/gdal

https://github.com/mapnik/mapnik

https://github.com/go-spatial/tegola

https://github.com/Turfjs/turf