ShadowEditor/README-tw.md
2019-08-25 16:48:57 +08:00

153 lines
8.0 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Shadow Editor
Language: [中文](README.md) / 繁體中文 / [English](README-en.md)
* 名稱Shadow Editor
* 版本v0.3.0
* 簡介:基於`three.js`的場景編輯器。
## v0.3.0更新
* 發布日期2019年8月11日
* 更新日誌:
1.`v0.3.0`開始,將發布基於`react.js`的新版編輯器,`v0.2.6_old`分支將於`2019年8月17日`刪除。
2. 除了補間動畫和少量bug外新版編輯器已經達到舊版水平。
3. 跟舊版編輯器相比,新版有以下特點:
1. 使用`react.js`重寫前端UI界面美觀度提升相應速度提升。
2. 升級`three.js``r107`版本,`three.js`各組件也升級到最新版。
3. 修復大量影響性能的bug和邏輯渲染不再由事件驅動渲染速度大幅提升。
4. 支持模型內部組件名稱和位置的修改,支持將幾何體、組、光源等放到模型內部。
5. 屬性面板分組可折疊,默認折疊一部分屬性組,方便使用。
6. 資源面板放置到左側,支持分頁。資源數量多時,加載速度更快。
7. 對火狐瀏覽器兼容性調整。
8. 點擊場景樹狀圖右側的眼鏡圖標,可以快速對某個分支進行顯示隱藏控制。
9. 根據瀏覽器語言,確定編輯器的初始語言。
4. 服務端和數據結構未作任何改動,如果您沒有改過前端的話,可以直接升級到新版。
## 項目截圖
![image](images/scene20190825.png)
<table>
    <tr>
        <td>源碼</td>
        <td><a href="https://github.com/tengge1/ShadowEditor">GitHub</a></td>
        <td><a href="https://gitee.com/tengge1/ShadowEditor">碼雲</a></td>
        <td>文檔</td>
        <td><a href="https://tengge1.github.io/ShadowEditor/">GitHub</a></td>
        <td><a href="https://tengge1.gitee.io/shadoweditor/">碼雲</a></td>
    </tr>
    <tr>
        <td>演示</td>
        <td><a href="https://tengge1.github.io/ShadowEditor-examples/">GitHub</a></td>
        <td><a href="http://tengge1.gitee.io/shadoweditor-examples/">碼雲</a></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
</table>
## 主要功能
> 說明:新版本部分功能可能尚未完成。
1. 基於three.js/WebGL的3D場景在線編輯器服務端使用`MongoDB`保存動畫、音頻、類別、角色、貼圖、材質、網格模型、粒子、預設體、場景數據。
2. 內置幾何體平面、正方體、圓、圓柱體、球體、二十面體、輪胎、紐結、茶壺、酒杯、精靈、文本線段、CatmullRom曲線、二次貝塞爾曲線、三次貝塞爾曲線、橢圓曲線。
3. 內置光源:環境光、平行光、點光源、聚光燈、半球光、矩形光。
4. 支持多種不同3D格式模型和動畫導入。支持`3ds``3mf``amf``assimp`(anim)、`awd``babylon``binary``bvh`(anim)、`collada``ctm``draco``fbx`(anim)、`gcode``gltf`(anim)、`js`(anim)、`json`(anim)、`kmz``lmesh`(anim)、`md2``mmd `(anim)、`nrrd``obj``pcd``pdb``ply``prwm``sea3d`(anim)、`stl``vrm``vrml``vtk ``x` 31種3D文件格式`anim`的表示支持動畫。多種3D文件同時支持`json`和二進制格式。 `mmd`文件同時支持`pmd``pmx`格式,支持`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. 支持導出`gltf``obj``ply``stl`模型。
18. 支持`bullet`物理引擎。正方體、圓形、圓柱體、二十面體、酒杯、平面、球體、茶壺、輪胎、紐結和加載的模型都支持剛體組件。支持可視化設置碰撞體形狀(正方體、球體)、質量和慣性。
19. 具有平移、旋轉、縮放、在物體表面繪製點、線、貼花的工具,實時統計場景種物體、頂點、三角形數量。
20. 支持場景一鍵導出功能。
21. 中英文雙語支持。
22. 支持色調旋轉(hue-rotate)、飽和度、亮度、高斯模糊(blur)、對比度、灰度、顏色反轉(invert)、復古(sepia)濾鏡。
23. 支持版本控制。
## 使用指南
**該項目僅支持Windows系統電腦上需要安裝.Net Framework 4.5。**
**推薦使用最新版谷歌瀏覽器,不保證兼容其他瀏覽器。**
1. 安裝`NodeJs`,在最外層目錄,執行以下命令。
```bash
npm install
npm run build
```
2. 下載`MongoDB`安裝並啟動MongoDB服務。 MongoDB服務的默認端口為27017。
MongoDB下載地址:https://www.mongodb.com/download-center/community
可以下載zip版本然後在MongoDB的bin文件夾執行以下命令安裝服務注意修改路徑。
```bash
mongod --dbpath=D:\mongodb\db --logpath=D:\mongodb\log\mongoDB.log --install --serviceName MongoDB
net start MongoDB
```
3. 編輯文件`ShadowEditor.Web/Web.config`,將`27017`修改為你電腦上MongoDB服務的端口。
```xml
<add key="mongo_connection" value="mongodb://127.0.0.1:27017" />
```
4. 使用`Visual Studio 2017`打開項目,生成`ShadowEditor.Web`項目。
5.`ShadowEditor.Web`部署在iis上即可在瀏覽器中訪問。
6. 為了保存各種類型文件能正常下載會在iis上添加以下兩個MIME類型正式部署請注意安全。
| 文件擴展名 | MIME類型 | 說明 |
| --------- | -------- | ---- |
| .* | application/octet-stream | 各種格式後綴文件 |
| . | application/octet-stream | 無後綴文件 |
7. 編譯文檔請安裝gitbook。
```bash
npm install -g gitbook-cli
```
然後切換到`docs-dev`目錄安裝gitbook插件。
```bash
gitbook install
```
然後切換到上級目錄,執行以下命令生成文檔。
```bash
npm run build-docs
```
## 常見問題
1. 上傳模型時為什麼都是上傳失敗?
需要把模型貼圖等資源壓縮成一個zip包而且入口文件不能嵌套文件夾。服務端會解壓上傳的zip包放到`~/Upload/Model`文件下並在MongoDB `_Mesh`表裡添加一條數據。
2. 如何將多個模型組合在一起?
基本幾何體都支持多層嵌套。可以添加一個`組`(在幾何體菜單中),然後在場景樹狀圖上,將多個模型拖動到`組`上。
## 相關鏈接
* Three.js官網https://threejs.org/
* LOL模型查看器https://github.com/tengge1/lol-model-viewer
* 模型下載1https://sketchfab.com/3d-models?features=downloadable
* 模型下載2https://www.3dpunk.com/work/index.html?category=downloadable