「PLATEAU 最適化」の版間の差分
(→具合) |
(→具合) |
||
(同じ利用者による、間の55版が非表示) | |||
5行目: | 5行目: | ||
[https://dz.plala.jp/plateau/viewer/ Viewer]<br /> | [https://dz.plala.jp/plateau/viewer/ Viewer]<br /> | ||
− | [https://dz.plala.jp/plateau/viewer/index_lod.html Viewer | + | [https://dz.plala.jp/plateau/viewer/index_lod.html Viewer LOD付き] |
[[ファイル:qr_PLATEAU.png|240px|border]] | [[ファイル:qr_PLATEAU.png|240px|border]] | ||
12行目: | 12行目: | ||
GLB L: 8192x8192<br /> | GLB L: 8192x8192<br /> | ||
GLB M: 4096x4096<br /> | GLB M: 4096x4096<br /> | ||
− | GLB S: 2048x2048 | + | GLB S: 2048x2048, (*): LOD付き |
− | (*): LOD付き | + | |
{| class="wikitable" style="width:680px;" | {| class="wikitable" style="width:680px;" | ||
! | ! | ||
32行目: | 31行目: | ||
| style="padding-left:10px;padding-right:10px;text-align:right;" | 2,190 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 2,190 | ||
| style="padding-left:10px;padding-right:10px;text-align:right;" | 1,860 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 1,860 | ||
− | | style="padding-left:10px;padding-right:10px;text-align:right;" | 7,060 | + | | style="padding-left:10px;padding-right:10px;text-align:right;background:yellow;" | 7,060 |
| style="padding-left:10px;padding-right:10px;text-align:right;" | 432 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 432 | ||
|- | |- | ||
48行目: | 47行目: | ||
| style="padding-left:10px;padding-right:10px;text-align:right;" | 34 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 34 | ||
| style="padding-left:10px;padding-right:10px;text-align:right;" | 29 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 29 | ||
− | | style="padding-left:10px;padding-right:10px;text-align:right;" | 115 | + | | style="padding-left:10px;padding-right:10px;text-align:right;background:yellow;" | 115 |
| style="padding-left:10px;padding-right:10px;text-align:right;" | 42 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 42 | ||
|- | |- | ||
56行目: | 55行目: | ||
| style="padding-left:10px;padding-right:10px;text-align:right;" | 13 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 13 | ||
| style="padding-left:10px;padding-right:10px;text-align:right;" | 11 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 11 | ||
− | | style="padding-left:10px;padding-right:10px;text-align:right;" | 45 | + | | style="padding-left:10px;padding-right:10px;text-align:right;background:yellow;" | 45 |
| style="padding-left:10px;padding-right:10px;text-align:right;" | 18 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 18 | ||
|- | |- | ||
64行目: | 63行目: | ||
| style="padding-left:10px;padding-right:10px;text-align:right;" | 5 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 5 | ||
| style="padding-left:10px;padding-right:10px;text-align:right;" | 5 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 5 | ||
− | | style="padding-left:10px;padding-right:10px;text-align:right;" | 21 | + | | style="padding-left:10px;padding-right:10px;text-align:right;background:yellow;" | 21 (27) |
| style="padding-left:10px;padding-right:10px;text-align:right;" | 9 | | style="padding-left:10px;padding-right:10px;text-align:right;" | 9 | ||
|- | |- | ||
102行目: | 101行目: | ||
メモ | メモ | ||
---- | ---- | ||
− | + | ★ワークフローもう一度考える<br /> | |
− | + | [https://www.geospatial.jp/ckan/dataset/plateau-tokyo23ku-fbx4-2020 3D都市モデル(Project PLATEAU)東京都23区(FBX 4次メッシュ 2020年度) - データセット]<br /> | |
− | + | [https://qiita.com/jhorikawa_err/items/a8562b5d38bb6ae3edea Using Plateau Model in Unity - UnityにPlateauモデルを持っていこう - Qiita]<br /> | |
+ | [https://qiita.com/yoshikawa-hiroyuki/items/6935a9705b3144774fd1 PLATEAUのDEMファイルに空中写真のテクスチャを貼りたい - Qiita] | ||
+ | |||
+ | combined.sh | ||
+ | <pre> | ||
+ | for x in {232784..232806}; do | ||
+ | for y in {103227..103210}; do | ||
+ | url=https://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/18/${x}/${y}.jpg | ||
+ | curl -o ${y}-${x}.jpg ${url} | ||
+ | done | ||
+ | done | ||
+ | montage *.jpg -tile 23x18 -geometry 512x512+0+0 combined.jpg | ||
+ | </pre> | ||
+ | $ sudo bash combined.sh | ||
+ | <!-- | ||
+ | LOD<br /> | ||
+ | traverse1回にしたい > mainとlod紐付けしたい > 名前の一括変更スクリプトは?<br /> | ||
+ | Camera Control 辺りが変 | ||
− | |||
[https://github.com/domlysz/BlenderGIS GitHub - domlysz/BlenderGIS]<br /> | [https://github.com/domlysz/BlenderGIS GitHub - domlysz/BlenderGIS]<br /> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[https://github.com/NASA-AMMOS/3DTilesRendererJS GitHub - NASA-AMMOS/3DTilesRendererJS] | [https://github.com/NASA-AMMOS/3DTilesRendererJS GitHub - NASA-AMMOS/3DTilesRendererJS] | ||
− | + | --> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
=='''環境'''== | =='''環境'''== | ||
260行目: | 258行目: | ||
WebGLビューワ向けに最適化、軽量化してみます。 | WebGLビューワ向けに最適化、軽量化してみます。 | ||
− | + | 距離に応じてmainとlodを表示切替え | |
− | + | ||
モデル(main)にリダクションモデル(lod)を追加 | モデル(main)にリダクションモデル(lod)を追加 | ||
テクスチャとマテリアルは共有 | テクスチャとマテリアルは共有 | ||
− | + | 親がダミーの子がジオメトリはグローバル座標計算コストが高い | |
3dsmax 20xx<br /> | 3dsmax 20xx<br /> | ||
[[ファイル:babylon_exporter02.jpg|260px|border]] | [[ファイル:babylon_exporter02.jpg|260px|border]] | ||
− | 1. | + | 1.全てのジオメトリを選択 親に変更 |
− | 2. | + | 2.ダミーオブジェクト削除 |
− | 3. | + | 3.全てのジオメトリを選択 |
− | 4. | + | 4.グループmain作成 |
− | 5.プロオプティマイザー | + | 5.グループmainをクローン |
+ | オブジェクト: コピー | ||
+ | コントローラー: コピー | ||
+ | 名前: lod | ||
+ | 6.lodの処理が重いのでlodグループを開き100個にグループ分け | ||
+ | 7.グループ1つ選択 | ||
+ | 8.プロオプティマイザー | ||
✓マテリアル境界を保持 | ✓マテリアル境界を保持 | ||
✓テクスチャを保持 | ✓テクスチャを保持 | ||
□UV境界を保持 | □UV境界を保持 | ||
> 計算 > 頂点34% 新宿ALLの場合 15万÷44万 | > 計算 > 頂点34% 新宿ALLの場合 15万÷44万 | ||
− | + | 9.グループで繰り返し | |
− | + | 10.max保存 | |
− | + | 11.グループ解除 mainとlodに | |
− | + | 12.GLB書き出し | |
=='''データ'''== | =='''データ'''== | ||
[http://dz.plala.jp/plateau/533945_shinjuku_fbx.zip 533945_shinjuku_fbx.zip]<br /> | [http://dz.plala.jp/plateau/533945_shinjuku_fbx.zip 533945_shinjuku_fbx.zip]<br /> | ||
[http://dz.plala.jp/plateau/533945_shinjuku_glb_draco.zip 533945_shinjuku_glb_draco.zip] | [http://dz.plala.jp/plateau/533945_shinjuku_glb_draco.zip 533945_shinjuku_glb_draco.zip] | ||
+ | |||
+ | =='''DEMデータ'''== | ||
+ | [https://qiita.com/yoshikawa-hiroyuki/items/6935a9705b3144774fd1 PLATEAUのDEMファイルに空中写真のテクスチャを貼りたい - Qiita] | ||
+ | |||
+ | Ubuntu<br /> | ||
+ | デスクトップにtmpディレクトリ作成<br /> | ||
+ | テキスト作成 > 貼り付け<br /> | ||
+ | <pre> | ||
+ | for x in {232787..232807}; do | ||
+ | for y in {103210..103226}; do | ||
+ | url=https://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/18/${x}/${y}.jpg | ||
+ | curl -o ${y}-${x}.jpg ${url} | ||
+ | done | ||
+ | done | ||
+ | montage *.jpg -tile 2x2 -geometry 512x512+0+0 combined.jpg | ||
+ | </pre> | ||
+ | |||
+ | 名前変更 > merge.sh<br /> | ||
+ | |||
+ | <pre> | ||
+ | $ cd /home/xxx/デスクトップ/tmp | ||
+ | $ bash merge.sh | ||
+ | </pre> | ||
=='''更新履歴'''== | =='''更新履歴'''== |
2022年3月31日 (木) 23:51時点における最新版
Project PLATEAU データセットを最適化、軽量化してみます。
具合
GLB L: 8192x8192
GLB M: 4096x4096
GLB S: 2048x2048, (*): LOD付き
新宿 | 池袋 | |||||
---|---|---|---|---|---|---|
53394525 | 53394526 | 53394535 | 53394536 | ALL | 53394577 | |
FBX (MB) | 1,830 | 1,180 | 2,190 | 1,860 | 7,060 | 432 |
FBX テクスチャ (枚) | 1,487 | 453 | 1,012 | 1,042 | 3,994 | 1,866 |
GLB L Draco (MB) | 30 | 21 | 34 | 29 | 115 | 42 |
GLB M Draco (MB) | 11 | 8 | 13 | 11 | 45 | 18 |
GLB S Draco (MB) | 4 (6) | 3 | 5 | 5 | 21 (27) | 9 |
triangles 最大 | 115,582 | 67,094 | 126,598 | 130,902 | 440,176 | 180,153 |
geometries 最大 | 798 | 492 | 1,131 | 1,054 | 3,427 | 1,866 |
textures 最大 | 6 | 4 | 6 | 5 | 21 | 10 |
draw calls 最大 | 786 | 480 | 1,119 | 1,042 | 3,427 | 1,866 |
メモ
★ワークフローもう一度考える
3D都市モデル(Project PLATEAU)東京都23区(FBX 4次メッシュ 2020年度) - データセット
Using Plateau Model in Unity - UnityにPlateauモデルを持っていこう - Qiita
PLATEAUのDEMファイルに空中写真のテクスチャを貼りたい - Qiita
combined.sh
for x in {232784..232806}; do for y in {103227..103210}; do url=https://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/18/${x}/${y}.jpg curl -o ${y}-${x}.jpg ${url} done done montage *.jpg -tile 23x18 -geometry 512x512+0+0 combined.jpg
$ sudo bash combined.sh
環境
データセット | 3D都市モデル 東京都23区(FBX 2020年度) |
DCCツール | unity, 3dsmax, photoshop |
配慮が必要
Unity 2020.1.13f1 FBX Exporter UVの欠落なしまれにあり Unity 2018.3.6f1 FBX Exporter UVの欠落あり
3dsmax 2017 FBX Import 一部がマルチタイル(3dsmax 2017新機能)は都合悪い 3dsmax 2014 FBX Import 全てビットマップ
3dsmax 2017 ジオメトリ226個目のベイク処理でエラー 3dsmax 2014 ジオメトリ219個目のベイク処理でエラー
photoshop script ファイルをレイヤーとして読み込み 200枚は途中でエラー 50枚程度はOK メモリ容量の問題?
変換
FBX1個につきオブジェクト数とオブジェクト名は変更せず、
メッシュの頂点連結とテクスチャとマテリアルを数個にまとめる
建物200棟を1枚にベイクを目安にしてみる
メッシュ
Unity 2020.1.13f1
1.新規project MeshOptimizerWindow.cs PlateauLod2FbxImporterWindow.cs FBX Exporter 2.fbxとfbmディレクトリを同時にドラッグアンドドロップでインポート Hierarchyに配置 3.PLATEAU Mesh Optimizer 4.Hierarchyに作成される変換データ Export to FBX 同名になるので末尾に_newなど名前変更 off: Compatible Naming
3dsmax 2014
5._newのfbx読込み アセットトラッキング修正 MAX保存
3dsmax 20xx
6.MAX読込み 目立つUVの欠落修正 7.バウンディングボックス修正 ジオメトリ全て選択 基点調整 > 基点にのみ影響 > 位置合わせ: 中心オブジェクト MAX保存
テクスチャ
3dsmax 20xx
1.MAX読込み 2.ジオメトリ200個でグループ分け 533945**_bldg_6677_001 533945**_bldg_6677_002 533945**_bldg_6677_003 ... 3.グループ1つ選択 4.UVWアンラップ > チャネル 2(移動) 5.UVエディタ > マッピング > フラッテンマッピング 6.テクスチャレンダリング 保存先 グループ同名フォルダ作成 一般設定 > 出力 > パス > グループ同名フォルダ指定 off: レンダリングフレームウインドウ マッピング座標 > 既存チャネルを使用 > チャネル 2 出力 > 追加 > DiffuseMap ターゲットマップスロット 空を選択 8192x8192 画像形式の指定 A."選択オブジェクト" > "個別設定" に変更 B.ファイル名とタイプの設定が可能 PNG アルファ付 保存 C.ベイク処理するオブジェクト > "プリセットを保存" D."個別設定" > "選択オブジェクト" に戻す E.ベイク処理するオブジェクト > "プリセット選択" レンダリング 7.MAX保存
photoshop
8.50枚でフォルダ分け 9.ファイル > スクリプト > ファイルをレイヤーとして読み込み 表示レイヤを結合 全て合成 背景レイヤ黒追加 FBXと同名保存
作成グループで繰り返し
マテリアル
3dsmax 20xx
1.グループ1つ選択 2.UVWアンラップ > チャネル 2 > 1(移動) 3.新規マテリアル グループと同名 ベイク画像設定 4.頂点連結 0.0cm 5.グループ解除 6.MAX保存 7.クリーニング FBX書き出し FBX読込み
GLB
3dsmax 20xx
GitHub - BabylonJS/Exporters
3DS MAX Plugin | Babylon.js Documentation
Draco compression | Babylon.js Documentation
Node.js
gltf-pipeline
マテリアル修正
スペキュラカラーとスペキュラレベルは、3dsMaxで2つの属性に分割され、Babylonでマージされます。 グローバル値の場合、鏡面反射色とレベルが乗算されて、Babylonで結果の鏡面反射色が得られます。
Babylon Exporter
Output format: glb Model path: ***** ✓ Export Materials ✓ Export Textures Texture quality: 50 ✓ Use Draco compression ✓ Write Textures ✓ Overwrite Textures
LOD
WebGLビューワ向けに最適化、軽量化してみます。
距離に応じてmainとlodを表示切替え モデル(main)にリダクションモデル(lod)を追加 テクスチャとマテリアルは共有 親がダミーの子がジオメトリはグローバル座標計算コストが高い
1.全てのジオメトリを選択 親に変更 2.ダミーオブジェクト削除 3.全てのジオメトリを選択 4.グループmain作成 5.グループmainをクローン オブジェクト: コピー コントローラー: コピー 名前: lod 6.lodの処理が重いのでlodグループを開き100個にグループ分け 7.グループ1つ選択 8.プロオプティマイザー ✓マテリアル境界を保持 ✓テクスチャを保持 □UV境界を保持 > 計算 > 頂点34% 新宿ALLの場合 15万÷44万 9.グループで繰り返し 10.max保存 11.グループ解除 mainとlodに 12.GLB書き出し
データ
533945_shinjuku_fbx.zip
533945_shinjuku_glb_draco.zip
DEMデータ
PLATEAUのDEMファイルに空中写真のテクスチャを貼りたい - Qiita
Ubuntu
デスクトップにtmpディレクトリ作成
テキスト作成 > 貼り付け
for x in {232787..232807}; do for y in {103210..103226}; do url=https://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/18/${x}/${y}.jpg curl -o ${y}-${x}.jpg ${url} done done montage *.jpg -tile 2x2 -geometry 512x512+0+0 combined.jpg
名前変更 > merge.sh
$ cd /home/xxx/デスクトップ/tmp $ bash merge.sh
更新履歴
- 2021.06.16 バウンディングボックス修正
- 2021.06.05 Dracoに変更
- 2021.05.21 見直し
- 2021.04.04 公開