English / 中文 | Windows Server | Linux Server | Web Application Example | Official Website
Description: The server represents a compiled version with an embedded MongoDB. To start it, run start.bat
or start.sh
. Accessible via the browser Google Chrome at address http://localhost:2020
.
Good news! A new version based on vite4 + vue3 + ts5 + ant-design-vue7 will soon be available, more details here.
Open version
Starting from version v0.6.1
, ShadowEditor provides only basic functions and extendable API. All other features will be implemented as extensions similar to VSCode. The transition to an extensible system will take place in the dev
branch.
config.toml
.onTouchStart
, onTouchEnd
, onTouchMove
.three.js
to latest version r130.onVRConnected
, onVRDisconnected
, onVRSelectStart
, onVRSelectEnd
.Geometry
after updating three.js
.polygonOffset
, polygonOffsetFactor
, polygonOffsetUnits
to resolve depth conflict issues..bin
type models.prototype
were replaced with ES6 class
.При сборке из исходного кода потребуются следующие программы:
Обратите внимание: номера версий указаны ориентировочно.
Вы можете использовать git для скачивания исходного кода.
git clone https://github.com/tengge1/ShadowEditor.git
В случае проблем с доступом к GitHub вы можете использовать Gitee.
git clone https://gitee.com/tengge1/ShadowEditor.git
Веб-версия:
npm run set-proxy
для настройки прокси для Go и NodeJS.npm install
для установки зависимостей NodeJS.npm run build
для сборки сервера и веб-приложения.build/config.toml
для изменения параметров хоста и порта MongoDB.npm start
для запуска сервера. Теперь вы можете получить доступ по адресу http://localhost:2020
.https://localhost:2020
.Десктопная версия:
utils/mongodb
.npm run build-desktop
для создания десктопного приложения в папке build/desktop
.build
..\ShadowEditor install
, чтобы установить ShadowEditor как службу..\ShadowEditor start
, чтобы запустить службу ShadowEditor.http://localhost:2020
../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", чтобы узнать больше информации о команде.
ESLint, Go, Поддержка шейдерных языков для VS Code, Поддержка TOML.
npm скрипты:
npm install: Установка зависимостей nodejs.
npm run build: Сборка серверной части и web-клиента.
npm run build-server: Только сборка серверной части. (для разработки)
npm run build-web: Только сборка web-клиента. (для разработки)
npm run build-desktop: Сборка версии для рабочего стола.
npm run dev: Автоматическая сборка web-клиента при изменении файла. (для разработки)
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: Удаление собранной версии web и рабочего стола.
npm run clear: Удаление ненужных пакетов nodejs.
Проект ShadowEditor предназначен для пользователей и разработчиков. Здесь вы можете отправлять свои идеи и предложения. Нет вознаграждения, но есть много удовольствия. Для отправки кода выполните следующие шаги:
Обратите внимание: Не отправляйте большие двоичные файлы, так как они могут быть отклонены. Если вам нужно, вы можете добавить файлы или директории, которые следует игнорировать, в файл .gitignore
.
Необходимо создать архив ZIP всех ресурсов модели, таких как текстуры, и убедиться, что входной файл не имеет вложенных директорий. Сервер будет распаковывать загруженный ZIP-архив в директорию ./build/public/Upload/Model
и добавит запись в таблицу MongoDB _Mesh
.
Базовые геометрические объекты поддерживают многократное вложение. Можно создать группу (в меню геометрии) и переместить несколько моделей в эту группу на дереве сцены.
Отредактируйте файл config.toml
, установите значение authority.enabled
равным true
. По умолчанию имя пользователя администратора — admin
, пароль — 123456
.
Полностью: asm.js был отключен, поскольку соединено сценарное отладочное устройство. Отсоедините отладочное устройство, чтобы включить asm.js. ammo.js (1,1) SCRIPT1028: SCRIPT1028: Ожидается идентификатор, строка или число ShadowEditor.js (3948,8) SCRIPT5009: 'Shadow' не определён.
Решение: Браузер Tencent не поддерживает использование Emscripten
для компиляции ammo.js
(WebAssembly). Рекомендуется использовать Google Chrome или Firefox.
Структура данных и клиентская часть остались без изменений. Вам потребуется скопировать папку ./ShadowEditor.Web/Upload/
в build/public/Upload/
.
Описание: 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
.
Установите openssl
, который уже входит в git-клиент. Откройте командную строку, PowerShell или shell и выполните следующие команды:
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
— ключ.
Спасибо за использование следующих открытых проектов.
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 )