Английский / Китайский | Сервер для Windows | Сервер для Ubuntu | Пример веб-приложения | официальный сайт
Примечание: Сервер представляет собой скомпилированную версию с встроенным MongoDB, запустите start.bat
или start.sh
для старта, а затем перейдите по адресу http://localhost:2020
в браузере Google Chrome. Версия для Windows требует установки Visual C++ Redistributable for Visual Studio 2015
.
Хорошие новости! В версии на основе vite4 + vue3 + ts5 + ant-design-vue7 уже работает. Перейти здесь для просмотра подробностей.
Открытая версия
Начиная с версии v0.6.1
, ShadowEditor будет предоставлять основные возможности и расширенные API, а остальные функции будут доступны через расширения, как в VSCode. Мы будем развивать проект в ветке dev
.
https
в конфигурационном файле config.toml
.onTouchStart
, onTouchEnd
, onTouchMove
.three.js
до версии r130.onVRConnected
, onVRDisconnected
, onVRSelectStart
, onVRSelectEnd
.Geometry
после обновления three.js
.polygonOffset
, polygonOffsetFactor
, polygonOffsetUnits
для решения проблемы конфликта глубины.visible
компонентов в сетке.Bin
.prototype
на ES6 class
в исходном коде.Если вам требуется создать исходный код, следующие требования применимы:
tdm-gcc
, MinGW-w64
или MinGW
для Windows, и доступный из командной строки)Примечание: Версия указана только для справки.
Чтобы скачать исходный код, используйте git.
git clone https://github.com/tengge1/ShadowEditor.git
При медленной работе GitHub в Китае, можно использовать gitee
.
git clone https://gitee.com/tengge1/ShadowEditor.git
Веб-версия:
npm run set-proxy
, чтобы настроить прокси для GoLang и NodeJS.npm install
, чтобы установить зависимости NodeJS.npm run build
, чтобы собрать сервер и веб-приложение.build/config.toml
, чтобы задать сервер MongoDB и порт.npm start
, чтобы запустить сервер. Теперь вы можете использовать ShadowEditor по адресу http://localhost:2020
.https
в конфигурационном файле, вы можете посетить адрес https://localhost:2020
.Десктопная версия:
MongoDB
и распакуйте в папку utils/mongodb
.npm run build-desktop
, чтобы собрать версию для десктопа в папке build/desktop
.PowerShell
или cmd
с правами администратора в папке build
..\ShadowEditor install
, чтобы установить ShadowEditor как службу..\ShadowEditor start
, чтобы запустить службу ShadowEditor.http://localhost:2020
.Управление службами Windows
../scripts/service_linux/shadoweditor.service
, установив правильный путь.sudo cp ./scripts/service_linux/shadoweditor.service /etc/systemd/system/
.sudo systemctl daemon-reload
, чтобы перезагрузить демона системы.sudo systemctl start shadoweditor
, чтобы запустить службу.sudo systemctl enable shadoweditor
, чтобы автоматически запускать службу при старте системы.PS E:\github\ShadowEditor\build\> .\ShadowEditor
ShadowEditor — это редактор сцен 3D, основанный на three.js, golang и mongodb.
Этот приложение использует mongodb для хранения данных.
Использование:
ShadowEditor [команда]
Доступные команды:
debug Отладка службы на Windows
help Помощь по любой команде
install Установка службы на Windows
serve Запуск сервера
start Запуск службы на Windows
stop Остановка службы на Windows
version Вывод номера версии
```Флаги:
--config string конфигурационный файл (по умолчанию "./config.toml")
-h, --help помощь по ShadowEditor
Используйте "ShadowEditor [команда] --help", чтобы получить больше информации о команде.
## Разработчики
1. Скачайте и установите `NodeJs`, `golang`, `MongoDB` и `Visual Studio Code`.
2. Рекомендуется установить следующие расширения для VSCode, которые могут быть полезны.
ESLint, Go, Поддержка шейдерных языков для VS Code, Поддержка TOML.
Использование npm скриптов:
npm install: установка зависимостей NodeJS. npm run build: сборка сервера и веб-клиента. npm run build-server: сборка только сервера. (Для разработки) npm run build-web: сборка только веб-клиента. (Для разработки) npm run build-desktop: сборка версии для десктопа. npm run dev: автоматическая сборка веб-клиента при изменения файла. (Для разработки) npm run copy: копирование активов из папки web в папку build. npm run start: запуск веб-сервера. npm run set-proxy: установка прокси для golang и nodejs. (Только для Китая) npm run unset-proxy: удаление прокси для golang и nodejs. npm run install-dev: установка инструментов разработки для golang. npm run eslint: проверка js файлов и автоматическое исправление ошибок. npm run clean: удаление сборок веб-клиента и версии для десктопа. npm run clear: удаление ненужных пакетов NodeJS.
## Вклад
<details>
<summary>Развернуть для просмотра деталей</summary>
ShadowEditor — это проект как для пользователей, так и для разработчиков. Вы можете вносить свой вклад и реализовывать свои идеи в этом проекте. Нет зарплаты, но много удовольствия. Для участия вам следует:
1. Создать форк репозитория.
2. Создать ветку Feat_xxx.
3. Применить ваш код.
4. Создать запрос на слияние.
**Примечание:** НЕ отправляйте большие двоичные файлы, иначе запрос на слияние будет отклонён. Если требуется, вы можете добавить файлы или директории, которые должны игнорироваться, в файл `.gitignore`.
</details>
## Часто задаваемые вопросы
<details>
〈summary〉Развернуть для просмотра деталей〈/summary〉
1. Возникли проблемы при загрузке моделей.
Вы должны сжать ассеты модели в файл `zip`, и входной файл не должен находиться внутри папки. Сервер разархивирует его и помещает в папку `./build/public/Upload/Model`, а затем добавляет запись в коллекцию MongoDB `_Mesh`.
2. Как объединить несколько моделей вместе?
Основная геометрия поддерживает многократное вложенное расположение. Вы можете создать группу (в меню геометрии), а затем перетянуть несколько моделей на группу в панели `Hierachy`.
3. Как включить права доступа?
Отредактируйте файл `config.toml` и установите значение `authority.enabled` равным `true`. По умолчанию имя пользователя администратора — `admin`, пароль — `123456`.
4. Браузер сообщает об ошибке `asm.js был отключен из-за подключения скрипт-дебаггера.`
**Полная ошибка:** asm.js был отключен из-за подключения скрипт-дебаггера. Чтобы включить asm.js, отсоедините дебаггер. ammo.js (1,1) SCRIPT1028: SCRIPT1028: Ожидался идентификатор, строка или число ShadowEditor.js (3948,8) SCRIPT5009: 'Shadow' не определено.
**Решение:** браузер Tencent не поддерживает `ammo.js` (WebAssembly), скомпилированный с помощью `Emscripten`. Рекомендованы браузеры Chrome или Firefox.
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`; если порты заняты, измените порты MongoDB и сайта в файле `resources/app/config.toml`.
7. Как можно создать сертификат HTTPS?
Установите `openssl`, который уже содержится в клиенте git; Откройте `cmd`, `PowerShell` или `shell`, и выполните следующие команды:
```sh
openssl genrsa -out privatekey.pem 1024
openssl req -new -key privatekey.pem -out certrequest.csr
openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem
Среди сгенерированных файлов, certificate.pem
является сертификатом, а privatekey.pem
— ключом.
Лицензия MIT
Благодарность за следующие проекты открытого исходного кода.
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
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )