This action will force synchronization from tengge1/ShadowEditor, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
English / 中文 | Windows Desktop | Ubuntu Desktop | Web Demo
The following is only required when you want to build from source.
tdm-gcc
, MinGW-w64
or MinGW
on Windows, and make sure gcc
can be accessed through the command line)Note: The version number is for reference only.
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
Web Version:
China
, run npm run set-proxy
to set golang and nodejs proxy.npm install
to install nodejs dependencies.npm run build
to build the server and web.build/config.toml
, and modify the mongodb host and port.npm run start
to launch the server. You can now visit: http://localhost:2020
.Desktop Version:
MongoDB
and unzip it in the utils/mongodb
folder.npm run build-desktop
to build a desktop app in the folder build/desktop
.PowerShell
or cmd
in the build
folder as administrator..\ShadowEditor install
to install ShadowEditor as a service..\ShadowEditor start
to start ShadowEditor service.http://localhost:2020
.Windows Services Manager
../scripts/service_linux/shadoweditor.service
, set the right path.sudo cp ./scripts/service_linux/shadoweditor.service /etc/systemd/system/
.sudo systemctl daemon-reload
to reload the service daemon.sudo systemctl start shadoweditor
to start service.sudo systemctl enable shadoweditor
to auto start service.PS E:\github\ShadowEditor\build\> .\ShadowEditor
ShadowEditor is a 3D scene editor based on three.js, golang and mongodb.
This application uses mongodb to store data.
Usage:
ShadowEditor [command]
Available Commands:
debug Debug service on Windows
help Help about any command
install Install service on Windows
serve Start server
start Start service on Windows
stop Stop service on Windows
version Print the version number
Flags:
--config string config file (default "./config.toml")
-h, --help help for ShadowEditor
Use "ShadowEditor [command] --help" for more information about a command.
NodeJs
, golang
, MongoDB
and Visual Studio Code
.ESLint, Go, Shader languages support for VS Code, TOML Language Support.
npm scripts usage:
npm install: install nodejs dependencies.
npm run build: build the server and web client.
npm run build-server: build only the server. (For development)
npm run build-web: build only the web client. (For development)
npm run build-desktop: build the desktoop version.
npm run dev: build the web client automatically when files changes.(For development)
npm run copy: Copy assets from web folder to build folder.
npm run start: start the web server.
npm run set-proxy: set golang and nodejs proxy. (In China only)
npm run unset-proxy: unset golang and nodejs proxy.
npm run install-dev: install golang development tools.
npm run eslint: check js files and fix errors automatically.
npm run clean: delete the web and desktop builds.
npm run clear: delete useless nodejs packages.
ShadowEditor is a project for both users and developers. You can contribute and try you idea on this project. No pension, but a lot of fun. To contribute, you should:
Note: DO NOT submit large binaries, or the Pull Request
may be rejected. If required, you can
add the files or directories to be ignored to the .gitignore
file.
You need to compress the model assets into a zip
file, and the entry file cannot be nested in a folder. The server will decompress and put it in the ./build/public/Upload/Model
folder, and add a record in the MongoDB _Mesh
collection.
Basic geometry supports multiple levels of nesting. You can add a group
(in the geometry menu), and then drag multiple models onto the group
in the Hierachy
Panel.
Edit config.toml
and set authority.enabled
to true
. The default administrator username is admin
and the password is 123456
.
asm.js has been disabled because the script debugger is connected. Please disconnect the debugger to enable asm.js.
Error.Complete error: asm.js has been disabled because the script debugger is connected. Please disconnect the debugger to enable asm.js. ammo.js (1,1) SCRIPT1028: SCRIPT1028: Expected identifier, string or number ShadowEditor.js (3948,8) SCRIPT5009: 'Shadow' is not defined.
Solution: Tencent browser does not support ammo.js
(WebAssembly) compiled with Emscripten
, it is recommended to use Chrome
or Firebox
instead.
The data structure and web client is not changed, just copy ./ShadowEditor.Web/Upload/
folder to
build/public/Upload/
.
Windows requires Visual C++ Redistributable for Visual Studio 2015
. You can install from: https://www.microsoft.com/en-us/download/details.aspx?id=48145
If the desktop version cannot be opened, you can view logs.txt
; if the port conflicts, you can modify the MongoDB and website ports in resources/app/config.toml
.
MIT License
Thanks to the following open source projects.
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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。