SkillAgentSearch skills...

ShadowEditor

Cross-platform 3D scene editor based on three.js, golang and mongodb for desktop and web. https://tengge1.github.io/ShadowEditor-examples/

Install / Use

/learn @tengge1/ShadowEditor
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Shadow Editor

English / 中文    |    <a href="https://github.com/tengge1/ShadowEditor/releases/download/v0.6.0/ShadowEditorServer-win32-x64.zip" title="Requires `Visual C++ Redistributable for Visual Studio 2015`"> Windows Server</a>    |    <a href="https://github.com/tengge1/ShadowEditor/releases/download/v0.6.0/ShadowEditorServer-linux-x64.zip"> Ubuntu Server</a>    |    Web Demo |    official Website

Note: The server is a compiled version with built-in mongodb, execute start.bat or start.sh to start, and visit http://localhost:2020 in Google Chrome. Windows version requires Visual C++ Redistributable for Visual Studio 2015.

Good news! The version based on vite4 + vue3 + ts5 + ant-design-vue7 is coming soon. Click here to view more details.

image image image image image image image

  • Name: Shadow Editor
  • Version: v0.6.1 (Coming Soon)
  • Description: Cross-platform 3D scene editor based on three.js, golang and mongodb.
  • Source: GitHub Gitee | Document: Gitee | Demo: GitHub Gitee | Video: Weibo Bilibili | Assets: BaiduNetdisk(rfja)
  • Technology Stack: html, css, javascript, rollup, react.js, webgl, three.js, golang, mongodb, nodejs, electron, protocol buffers.
  • If helpful to you, please DOnate to support us. thank you!

Open Source Version

<img src="https://gitee.com/tengge1/ShadowEditor/raw/master/images/scene20200503_en.jpg" />

Pro Version

<img src="https://gitee.com/tengge1/ShadowEditor/raw/master/images/20241009.png" />

v0.6.1 is Coming Soon

Starting from v0.6.1, ShadowEditor only provides core features and extended APIs, and other features will be provided in the extensions, just like VSCode. We will develop in the dev branch.

  1. Fix the bug that some versions of go typeface management list report errors.
  2. Hide the model history version tab.
  3. When the sprite is selected, the border is no longer displayed.
  4. Fix searchfield dropdown style bug.

v0.6.0 has Released

  • Release Date: July 24, 2021
  • Update Logs:
  1. Fix the bug that creates a new mongo connection when request.
  2. Check VR in the status bar to enable VR.
  3. Set scene transform.
  4. How to popup a window when click an object: https://gitee.com/tengge1/ShadowEditor/issues/I3APGI
  5. You can enable https in the config.toml.
  6. Add event in the mobile browser to the script: onTouchStart, onTouchEnd, onTouchMove.
  7. Upgrade three.js to r130.
  8. Add VR event to the script: onVRConnected, onVRDisconnected, onVRSelectStart, onVRSelectEnd.
  9. VR all-in-one handle controller supports, for example: htc vive.
  10. Fix the bug of deleting script.
  11. Fix a bug that Geometry can not be serialized due to the upgrade of three.js.
  12. Add material polygonOffset, polygonOffsetFactor, polygonOffsetUnits parameter visualization settings to solve the problem of depth conflict.
  13. Fix a bug that component in mesh cannot save the visible attribute.
  14. Bin type model is no longer supported.
  15. Fix cube texture bug.
  16. Rewrite all the prototype to es6 class in the source code.
  17. Remove the visual module.
  18. Fix a bug that not copy the skyball texture when export a scene.
  19. Fix rain and snow bug.
  20. Modify the background color and lighting, so as not to add the same color as the background and make it difficult to see clearly.
  21. Fix particle emitter bug.
  22. Fix cloth bug.
  23. Fix the bug of dynamic setting shadow.

Feature List

  • [x] General
    • [x] Cross-platform
      • [x] Windows, Linux, Mac
      • [x] Desktop, Web
    • [x] Multi-language support
      • [x] English、中文、繁體中文、日本語、한국어、русский、Le français
    • [x] Assets management
      • [x] scene, mesh, texture, material, audio, animation, screenshot, video, typeface
    • [x] Authority management
      • [x] organization, user
      • [x] role, authority
      • [x] registration, login, password modification
    • [x] Version management
      • [x] Scene history and logs
      • [x] undo, redo, auto saving
    • [x] Player
      • [x] play animations in the scene in real time, and can play full screen and in new window
    • [x] Settings
      • [x] Display, renderer, helpers, filter, weather, control mode, select mode, add mode, language
  • [x] Small scene editing
    • [x] Add mesh
      • [x] 3ds, 3mf, amf, assimp, awd, babylon, bvh, collada, ctm
      • [x] draco, fbx, gcode, gltf, glb, js, kmz, lmesh, md2, pmd, pmx
      • [x] nrrd, obj, pcd, pdb, ply, prwm, sea3d, stl, vrm, vrml, vtk, X
    • [x] Built-in objects
      • [x] group
      • [x] plane, cube, circle, cylinder, sphere, icosahedron, torus, torus knot, teapot, lathe
      • [x] unscaled text, 3D text
      • [x] line segments, CatmullRom curve, quadratic Bezier curve, cubic Bezier curve, ellipse curve
      • [x] point marks
      • [x] arrow helper, axes helper
      • [x] sprite
    • [x] Built-in lights
      • [x] ambient light, directional light, point light, spotlight, hemispherical light, rect area light
      • [x] point light, hemispherical light, rect area light helper
    • [x] Built-in components
      • [x] background music, particle emitter
      • [x] sky, fire, water, smoke, cloth
      • [x] berlin terrain, sky sphere
    • [x] Materials editing
      • [x] LineBasicMaterial, LineDashedMaterial, MeshBasicMaterial, MeshDepthMaterial, MeshNormalMaterial
      • [x] MeshLambertMaterial, MeshPhongMaterial, PointsMaterial, MeshStandardMaterial, MeshPhysicalMaterial
      • [x] SpriteMaterial, ShaderMaterial, RawShaderMaterial
    • [x] Post-processing
      • [x] After-image, bokeh, dot screen, FXAA, glitch
      • [x] halftone, pixel, RGB shift, SAO
      • [x] SMAA, SSAA
      • [x] SSAO, TAA
    • [x] Text editing
      • [x] javascript editing with intelligence
      • [x] shader editing
      • [x] json file editing
    • [x] Mesh export
      • [x] gltf、obj、ply、stl、Collada、DRACO
    • [x] Scene publishment
      • [x] Publish scene as static resources, and can be embedded in iframe
    • [x] Examples
      • [x] Arkanoid, camera, particle, ping pong, shader
    • [x] General tools
      • [x] Select, pan, rotate, zoom
      • [x] Perspective view, front view, side view, top view, wireframe mode
      • [x] Screenshot, record
      • [x] Draw point, draw line, draw polygon, spray
      • [x] Measure distance
    • [x] Others
      • [x] VR:cardboard, htc vive, chrome, firefox
      • [x] Bullet physics engine
  • [x] UI Controls
    • [x] Canvas
    • [x] Form: Button, CheckBox, Form, FormControls, IconButton, IconMenuButton, ImageButton, Input, Label, LinkButton, Radio, SearchField, Select, TextArea, Toggle
    • [x] Icon
    • [x] Image: Image, ImageList, ImageSelector, ImageUploader
    • [x] Layout: AbsoluteLayout, AccordionLayout, BorderLayout, HBoxLayout, TableLayout, VBoxLayout
    • [x] Menu: ContextMenu, MenuBar, MenuBarFiller, MenuItem, MenuItemSeparator, MenuTab.
    • [x] Panel
    • [x] Progress: LoadMask
    • [x] Property: ButtonProperty, ButtonsProperty, CheckBoxProperty, ColorProperty, DisplayProperty, IntegerProperty, NumberProperty, PropertyGrid, PropertyGroup, SelectProperty, TextProperty, TextureProperty
    • [x] SVG
    • [x] Table: DataGrid, Table, TableBody, TableCell, TableHead, TableRow
    • [x] Timeline
    • [x] Toolbar: Toolbar, ToolbarFiller, ToolbarSeparator
    • [x] Tree
    • [x] Window: Alert, Confirm, Message, Photo, Prompt, Toast, Video, Window

Requirements

  1. MongoDB v3.6.8+
  2. Chrome 81.0+ or ​​Firefox 75.0+

The following is only required when you want to build from source.

  1. Golang 1.14.2+
  2. NodeJS 14.1+
  3. gcc 9.3.0+ (tdm-gcc, MinGW-w64 or MinGW on Windows, and make sure gcc can be accessed through the command line)
  4. git 2.25.1+

Note: The version number is for reference only.

Download and Compile

You can use git to download the source code.

git clone https://github.com/tengge1/ShadowEditor.git

In China, github is really slow, you can use gitee instead.

git clone https://gitee.com/tengge1/ShadowEditor.git

Build on both Windows and Ubuntu

Web Version:

  1. If you are in China, run npm run set-proxy to set golang and nodejs proxy.
  2. Run npm install to install nodejs dependencies.
  3. Run npm run build to build the server and web.
  4. Edit build/config.toml, and modify the mongodb host and port.
  5. Run npm start to launch the server. You can now visit: http://localhost:2020.
  6. If you enable https in the config file. Please visit: https://localhost:2020.

Desktop Version:

  1. Download MongoDB and unzip it in the utils/mongodb folder.
  2. Build web version.
  3. Run `npm run build-de
View on GitHub
GitHub Stars1.7k
CategoryDevelopment
Updated1h ago
Forks319

Languages

JavaScript

Security Score

100/100

Audited on Apr 9, 2026

No findings