1 Star 1 Fork 275

悠悠白云 / ShadowEditor

forked from qixianchuan / ShadowEditor 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Shadow Editor

Supported Languages: 中文 / 繁體中文 / English / 日本語 / 한국어 / русский / Le français

  • 名称:Shadow Editor
  • 版本:v0.4.0(开发中)
  • 简介:基于three.js的场景编辑器。
  • 源码:GitHub Gitee | 文档:GitHub Gitee | 示例:GitHub Gitee | 视频:微博 Bilibili | 资源:百度云
  • 开发计划:小场景搭建、地形编辑、模型批量添加渲染、地表植被附属物编辑、物理引擎、数据可视化。
  • 如果对您有帮助,请【捐赠】支持项目发展,谢谢。

v0.4.0即将更新

  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. 新增天气设置:无、下雨、下雪。

技术分享

  1. three.js使用卷积法实现物体描边效果:https://www.cnblogs.com/tengge/p/11924006.html
  2. three.js使用gpu选取物体并计算交点位置:https://www.cnblogs.com/tengge/p/11924663.html
  3. 使用three.js创建大小不随着场景变化的文字:https://www.cnblogs.com/tengge/p/11979854.html
  4. three.js各种材质的实现源码:https://www.cnblogs.com/tengge/p/12037574.html

项目截图

image

主要功能

  1. 基于three.js/WebGL的3D场景在线编辑器,服务端使用MongoDB保存动画、音频、类别、角色、贴图、材质、网格模型、粒子、预设体、场景数据。
  2. 内置几何体:平面、正方体、圆、圆柱体、球体、二十面体、轮胎、纽结、茶壶、酒杯、精灵、文本;线段、CatmullRom曲线、二次贝塞尔曲线、三次贝塞尔曲线、椭圆曲线。
  3. 内置光源:环境光、平行光、点光源、聚光灯、半球光、矩形光。
  4. 支持多种不同3D格式模型和动画导入。支持3ds3mfamfassimp(anim)、awdbabylonbinarybvh(anim)、colladactmdracofbx(anim)、gcodegltf(anim)、js(anim)、json(anim)、kmzlmesh(anim)、md2mmd(anim)、nrrdobjpcdpdbplyprwmsea3d(anim)、stlvrmvrmlvtkx 31种3D文件格式,带anim的表示支持动画。多种3D文件同时支持json和二进制格式。mmd文件同时支持pmdpmx格式,支持vmd格式的模型和相机动画。它也是唯一支持lmesh(lolking网站lol模型)的编辑器。
  5. 内置材质:线条材质、虚线材质、基本材质、深度材质、法向量材质、兰伯特材质、冯氏材质、点云材质、标准材质、物理材质、精灵材质、着色器材质、原始着色器材质。
  6. 支持纹理:颜色纹理、透明纹理、凹凸纹理、法线纹理、位移纹理、镜面纹理、环境纹理、光照纹理、遮挡纹理、自发光纹理。
  7. 支持贴图:图片、立方体贴图、视频贴图。
  8. 内置组件:背景音乐、粒子发射器、天空、火焰、水、烟、布组件。
  9. 可视化修改场景、相机等物体属性,提供40多种不同修改面板。
  10. 在线编辑js脚本、着色器程序,带智能提示。
  11. 自带播放器,实时演示场景动态效果,支持全屏和新窗口播放,可以直接嵌入项目iframe中。
  12. 支持补间动画、骨骼动画、粒子动画、mmd动画、lmesh动画(lolking网站lol模型)。
  13. 支持场景、模型、贴图、材质、音频、动画、粒子、预设体、截图、视频管理,支持自定义分类,根据汉字和拼音快速搜索。其中,粒子、预设体暂未实现相应功能。
  14. 支持第一视角控制器、飞行控制器、轨道控制器、指针锁定控制器、轨迹球控制器5种控制器。
  15. 支持点阵化特效、颜色偏移特效、残影特效、背景虚化、快速近似抗锯齿(FXAA)、毛刺特效、半色调特效、全屏抗锯齿(SSAA)、像素特效、可扩展环境光遮挡(SAO)、多重采样抗锯齿(SMAA)、屏幕空间环境光遮蔽(SSAO)、时间抗锯齿(TAA)。
  16. 提供历史记录和日志功能,支持撤销、重做。
  17. 支持导出gltfobjplystlColladaDRACO模型。
  18. 支持bullet物理引擎。正方体、圆形、圆柱体、二十面体、酒杯、平面、球体、茶壶、轮胎、纽结和加载的模型都支持刚体组件。支持可视化设置碰撞体形状(正方体、球体)、质量和惯性。
  19. 具有平移、旋转、缩放、在物体表面绘制点、线、贴花的工具,实时统计场景种物体、顶点、三角形数量。
  20. 支持场景发布功能,可以将场景发布成静态资源,部署到任何一台服务器上。
  21. 软件内置语言:中文繁體中文English日本語한국어русскийLe français
  22. 支持色调旋转(hue-rotate)、饱和度、亮度、高斯模糊(blur)、对比度、灰度、颜色反转(invert)、复古(sepia)滤镜。
  23. 支持版本控制。
  24. 支持截图工具,视频录制工具。
  25. 内置权限管理:组织机构管理、用户管理、角色管理、权限管理、系统初始化、系统重置、注册、登录、修改密码。

使用指南

该项目仅支持Windows系统,电脑上需要安装.Net Framework 4.5。

兼容火狐和谷歌浏览器,推荐使用最新版谷歌浏览器。

  1. 安装NodeJs,在最外层目录,执行以下命令。
npm install
npm run build
  1. 下载MongoDB,安装并启动MongoDB服务。MongoDB服务的默认端口为27017。

MongoDB下载地址:https://www.mongodb.com/download-center/community

可以下载zip版本,然后在MongoDB的bin文件夹执行以下命令安装服务,注意修改路径。

mongod --dbpath=D:\mongodb\db --logpath=D:\mongodb\log\mongoDB.log --install --serviceName MongoDB
net start MongoDB
  1. 编辑文件ShadowEditor.Web/Web.config,将27017修改为你电脑上MongoDB服务的端口。
<add key="mongo_connection" value="mongodb://127.0.0.1:27017" />
  1. 使用Visual Studio 2017打开项目,生成ShadowEditor.Web项目。

  2. ShadowEditor.Web部署在iis上即可在浏览器中访问。

注意:发布网站部署,Web目录外面需要多加一层文件夹,用于存放日志、数据库备份等不能公开的资源。

  1. 为了保存各种类型文件能正常下载,会在iis上添加以下两个MIME类型,正式部署请注意安全。
文件扩展名 MIME类型 说明
.* application/octet-stream 各种格式后缀文件
. application/octet-stream 无后缀文件
  1. 编译文档,请安装gitbook。
npm install -g gitbook-cli

然后切换到docs-dev目录,安装gitbook插件。

gitbook install

然后切换到上级目录,执行以下命令生成文档。

npm run docs

常见问题

  1. 上传模型时为什么都是上传失败?

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

  1. 如何将多个模型组合在一起?

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

  1. 如何开启权限系统?

打开ShadowEditor.Web/Web.config文件,将EnableAuthority设置为true。默认管理员用户名是admin,密码是123456

相关链接

MIT License Copyright (c) 2018 tengge1 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

基于three.js的在线3D场景编辑器,使用mongodb保存3D模型和场景数据。 展开 收起
JavaScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/pxi/ShadowEditor.git
git@gitee.com:pxi/ShadowEditor.git
pxi
ShadowEditor
ShadowEditor
master

搜索帮助