Skip to content

Commit

Permalink
Release/v3.0.0 (Synesthesias#297)
Browse files Browse the repository at this point in the history
* シーン内の都市モデルをAssetsに保存する機能を実装しました。 (Synesthesias#224)

* シーン中のをAssetにエクスポートする機能

* 属性情報も保ったままAssetsへ保存

* コメント追記

* 座標軸を修正

* シェーダーにmainTextureがないケースに対応

* ポリゴン向き修正

* コメント追記

* 「Assetsに出力」機能のUIを整えた

* プログレスバーとリセット機能

* マニュアルに追記 (Synesthesias#230)

* 「Assetsに保存」機能についてドキュメントに記載

* 同上

* ドキュメント、APIのAssemblyDefinitionAssetについて追記

* ドキュメント、エクスポートのfbxフォーマット選択について追記

* ドキュメントにAndroidビルドに必要な設定を追記

* InfoForToolkitsが保存されない問題を修正 (Synesthesias#231)

* Assets保存機能でマテリアルが正しくないことがある問題を修正 (Synesthesias#233)

* Update README.md

* 「重複する地物を非表示」機能において、LODごとに地物単位が違うケースに対応 (Synesthesias#236)

* 「重複する地物を非表示」機能において、LODごとに単位が違うケースに対応中

* リファクタ

* 範囲選択キャンセル時に確認ダイアログを表示、ビルドエラー修正 (Synesthesias#237)

* README更新: 古くなったチュートリアルへのリンクを削除

* エクスポートで「SDK付属のデフォルトテクスチャを含める」かどうかの設定項目を追加 (Synesthesias#238)

* エクスポートで「SDK付属のデフォルトテクスチャを含める」かどうかの設定項目を追加

* ドキュメントを更新

* Update README.md

* マニュアルにユーザーアンケートへのURLを追加

* マニュアルにSlackコミュニティへの案内を追加

* Update README.md : GISサンプルへのリンクを追記

* 同上

* Update README.md

* エクスポートでscale,roation.positionを反映。エクスポートの座標軸の選択肢をファイル形式に応じたものにする。 (Synesthesias#243)

* エクスポート時に頂点カラーを含めるように実装中

同上

* ConvertToAsset微修正

* Rendering Toolkitを利用した建物のエクスポート問題修正

* gltfエクスポートを頂点カラーに対応

* fbxエクスポートで頂点カラー対応

* AutoTextureしたものをAsset保存したときにマテリアルを維持

* AutoTexturingのAssets化で頂点カラーが反映されるようにした

* エクスポートにlocalPositionを反映

* ConvertToAssetでObstacle Lightを反映

* scaleを反映

* リファクタ: エクスポート時の座標変換

* スケールを反映

* 微修正

* fbx,gltfエクスポートでrotationを反映

* リファクタ:エクスポート座標軸設定GUIを別クラスに書き出し

* エクスポートの選択肢を右手座標系のみに制限

* エクスポート時、ゲームオブジェクト名が.gmlで終わらなくとも対象とした

* GLTFの座標軸選択を1つだけにした

* エクスポートとAssets保存のマニュアルを更新。Assets保存UI微修正。 (Synesthesias#244)

* Asset保存のGUIの順番を微修正

* エクスポートに関してマニュアルを更新

* defaultBuilding修正

* マニュアル更新:Assetsに保存機能

* 微修正

* URPでインポートしたとき色が暗すぎる問題を修正 (Synesthesias#245)

* 範囲選択画面でギズモ表示がオフのときに「オンにしてください」と警告を出す (Synesthesias#247)

* 範囲選択画面でギズモ表示がオフのときに「オンにしてください」と警告を出す

* 微修正

* Unityバージョンの変更に伴う、マテリアルの自動アップデート処理 (Synesthesias#248)

* エクスポート時のテクスチャ不存在時のエラーハンドリング (Synesthesias#249)

* さっきのプルリクの修正

* 道路ネットワークの構造クラス作成とコリジョンメッシュからの自動生成の仮実装 (Synesthesias#250)

* tile download url changed to https
package version updated 1.1.4

* #付きTextureパス対応

* hotfix for v1.1.6 ビルドエラー修正

* Update README.md
# Conflicts:
#	README.md

* マニュアルにユーザーアンケートへのURLを追加

* マニュアルにSlackコミュニティへの案内を追加

* Update README.md : GISサンプルへのリンクを追記

* 同上

* Update README.md

* update : Vector2/Vector3/Quaternion/Math/Debug/Polygon関係の便利関数追加

* update : tranのMeshColliderのポリゴンから道路ネットワーク構築仮作成

* update : 道路ネットワーク構築処理をRoadNetworkクラス側に移動.  クラス名にPLATEAUをつけるように変更. クラス直接参照じゃなくてインデックス参照方式に変更

* update : RoadNetworkのLaneの中央線を求める処理を仮実装

* clean : RoadNetwork.csのクラスを別ファイルに分離 & RoadNetworkTesterクラスをTesterフォルダ以下に移動

* fix : LineUtil.HalfLineSegmentIntersection/LineIntersectionで平行判定時に除いていなかったので修正

* update : RoadNetwork/PLATEAURoadNetworkLane.csのリファクタリング. RoadnetworkLaneの中心線計算で次のポイントを求めるときに前の位置から直進で到達可能かどうかのチェックを追加. Testerで全tranに大して一括実行の機能を追加

* clean : RoadNetworkEdge -> RoadNetworkBorderに名前変更. PolygonUtil周りのコピペコードを共通クラスに, Laneのデバッグ表示を追加

* update : RoadNetwork/Drawer/PLATEAURoadNetworkDrawerDebug.csでインデックスの表示の高さを固定に,

RoadNetwork/PLATEAURoadNetworkLane.csのwayを左/右でソートするように & LeftWay/RightWayを返すように.
centerLineで自己交差を削除する処理追加(ちょっと無理やり)

* 道路ネットワークのデータ構造の定義、シリアライズ出来るように。
プリミティブデータのストレージ操作周りの実装。(削除、解放部分は未実装)
プリミティブデータにアクセスするためのハンドルの実装、提供機能の実装。

# Conflicts:
#	Runtime/RoadNetwork.meta
元のブランチを採用

* LineStringsにコレクション操作のインターフェイスを追加
テストコードの追加
ストレージの初期化、ハンドルマネージャーの初期化を追加
ストレージ管理の仕様を変更、未使用領域をそのまま使いまわせるように修正

* ビルド通るように

* update : 幾何学計算用のユーティリティクラス作成とPolygonUtilをそっちに移動

* update : MonoBehavior以外のクラスはPLATEAU外す & 仮でレーンやブロックのIdクラス作成

* update : Rn~Idに暗黙の型変換を追加

* update : シリアライズ化するデータをRoadNetworkData~という名前で定義/もともとのRoadNetwork系はIdではなくオブジェクト参照形式に戻す

* update : RoadNetwork系のクラスにDebugId追加 & RoadNetworkModelでDebugIdを更新する処理追加. LineUtil.SplitLineSegmentsで最後に頂点追加し忘れていたので修正. RoadNetworkWayに法線計算用のIsRightSideフラグ追加

* update : RoadNetwork/RoadNetworkModel.csにCollectAllLanes/CollectAllWays/CollectAllLineStrings関数追加

* RoadNetworkStorageが持っているPrimitiveDataStorage系が全部strtuctで定義されているものをclassに変更

* update : RoadNetwork -> RoadNetworkDataへのシリアライズ処理を仮実装

* update : RoadNetworkModelのシリアライズ/デシリアライズ処理追加

* clean : コメント追加

* テストコードのエラーを修復

* シーン上に配置してあるMonoBehaviorからRoadNetwork関係をフィルタリングするためにMonoBehaviorを継承しただけのクラスを作成。(作成場所は仮)
RoadNetwork関係でこれを継承するとエディタから取得できる。

* 道路ネットワーク手動編集機能を提供するエディタの実装途中
 基本的なパラメータ類を実装
 モード変更を実装
仮でMonoRoadNetworkModelを継承したクラスを作成

* テスト用に作成したスクリプトを削除

* テスト用スクリプトをTesterフォルダーに移動

* コメントの追加
道路ネットワークエディタを表示するボタンの位置を変更

* コメント追加、不要なコメントの削除

* RoadNetworkWayでPointsプロパティ追加

* update : RnId -> RnIDに変更

* update : RoadNetwork/Data/RnID.csに名称変更

* fix : 間違って上がっていたマテリアルの変更を戻す

* ビルド時に発生する名前空間のエラーを修正
DubugUtil.cs内の一部のコードをビルド時の処理に変換

---------

Co-authored-by: Linoal <[email protected]>
Co-authored-by: sevendev <[email protected]>
Co-authored-by: COREI5\taka <[email protected]>
Co-authored-by: SYN-miyamoto <[email protected]>
Co-authored-by: tomoki-suzuki-syn <[email protected]>
Co-authored-by: Ronnel216 <[email protected]>

* マテリアル分けの機能追加とUI等改善 (Synesthesias#252)

* マテリアル分けGUIリファクタ中

* リファクタ中(インタフェース切り出し)

* マテリアル分け、属性分けとマテリアル分けの共通部分を切り出し中

* 同上

* 同上

* マテリアル分けで属性情報での検索ができるようにした

* リファクタ中

* クラス整理

* リファクタ: マテリアル分けのキー検索のクラス整理と名前空間の整理

リファクタ中:Searcherの分離

リファクタ中

リファクタ中

リファクタ

リファクタ:名前空間の整理

* リファクタ:クラス分割中

* リファクタ:検索ボタンの切り分け

* リファクタ

* 属性情報によって色を変える機能を試験的に動かす

* ゲームオブジェクトを選択する処理の型を、すべてUniqueParentTransformListに置き換え

* 漸進的分割結合を実装中

同上

リファクタ:マテリアル分けの属性情報と地物で共通化

同上

リファクタ:依存性注入

* 微修正

* リファクタ

* 変換が重いのをいくらか改善

* 分割結合を2回やると地物情報が正しくなくなるバグを修正

* 微修正

* マテリアル分けで進行状況が数値的に表示されるようにした、ScrollViewリファクタ

* 依存性注入によるGUIコード整理

* マテリアル分けのUI改良、toolkitとの互換性維持

マテリアル分けの設定GUI追加

マテリアル分けUI改良

マテリアル分けの分割結合を、まとめて分割→結合ではなく1つづつ分割→結合

マテリアル変換したものを、指定されたゲームオブジェクト名の子に配置する

主要地物単位でのインポート時、最小地物の親は主要地物とするようにした

粒度調整と「粒度を変えない」機能

同上

* マテリアル分けの分割結合を、まとめて分割→結合ではなく1つづつ分割→結合

* マテリアル分けの粒度設定と「粒度を変えない」を実装。インポート時、最小地物の親は主要地物とするようにした。

* マテリアル変更しない箇所をスキップする機能を実装

最小→最小確認

最小→主要確認

同上

主要→主要確認

主要→地域確認

* マテリアル分けの選択方法で、選択から追加する方法と、ObjectFieldで追加する方法を実装

微修正

検索後ロック

* パッケージ種から選択ボタン

* パッケージ種選択にParentalShift実装

* マテリアル分けせず分割結合のみのケースを実装

* 粒度変更ボタンを一番下に、変換ロジックのリファクタ

粒度変更ボタンを一番下に

微修正

ロジックをシンプルに

* 配置後の親を元に合わせる

* ConditionalDebug実装

* 元のオブジェクトを削除する。コピー時ヒエラルキーの兄弟順番を合わせる

* 主要→最小バグ修正 UI微修正

* 変換後、余計なオブジェクトが残ったり消したくないのが消える問題を修正。属性情報で主要地物がマテリアル分けにならないのを修正。

変換後、余計な親オブジェクトが残る問題を修正

TransportationObject型に対応

属性情報検索で主要地物が反映されない問題を修正

src削除で消えて欲しくないものが消える問題を修正

消えちゃいけないのが消えるのを修正

* 粒度変換のパターン3×3通りのユニットテストを記述し、それが通るように修正

粒度変換が9通りでうまくいくことのユニットテスト

* Asstsへの保存でテクスチャ無しマテリアルがうまく反映されないのを修正、地物マテリアル分けテスト記述中

地物型でのマテリアル分けのテストを記載

Assetsへの保存でテクスチャ未セットのマテリアルのケースに対応

Assetsへの保存機能で、テクスチャなしのマテリアルがうまく反映されなかったのを

地物マテリアル分け:primaryのテストケースを用意

* 置き換え地物変換で9パターンのテストを実装

MATypeAreaテストデータ用意

areaToAreaテスト修正

areaToAtomicテストOK

test area->primary

* ユニットテスト拡充:順序、新規追加設定、マテリアルチェック

順序チェック

新規追加設定のユニットテストを記述

マテリアルのチェック実装中

マテリアルチェック実装

* 属性情報でのマテリアル分けのテスト実装中

* リファクタ・マテリアル分け条件修正

* 主要内マテリアル分けを実装、そのテストを実装

微修正

テスト実装

* 属性情報キーを選択肢から入力するウィンドウを実装

* 分割結合のマニュアルを作成タイルの道路テクスチャを追加 (Synesthesias#253)

分割結合のマニュアル作成

同上

* マテリアル分けで変換後にmissingになるのを変換後自動選択に修正。全て除くボタン、対象をヒエラルキー上で選択ボタンを実装 (Synesthesias#254)

* 建物の側面だけ・天井だけのマテリアルを追加 (Synesthesias#255)

* Heightmap / Terrain Creation (Synesthesias#251)

* Terrain generate sample

* unit test

* 日本語パス対応

* 衛星写真付与

* unity update

* delete test images

* utf8パス読込エラー修正

* deleted test image

* No Texture対応
GameObjectと同一階層に配置

* Commented out debug image export

* removed unnecessary using statement
adde using for error

* Mac用update

* Tileで高速化

* コンフリクト修正に伴う修正

* wrapper update

* Local変数小文字に

* lib update

* 道路ネットワークのデータ群にアクセスするためのGetterクラスの実装 (Synesthesias#256)

* 道路ネットワークのデータ群にアクセスするためのGetterクラスの実装(sim向け)

* 関数名変更

* マニュアルのトラブルシューティングに追記

# Conflicts:
#	Documentation~/manual/Installation.md

* マテリアル分けをリファクタし、マテリアルGUIに関するバグを修正 (Synesthesias#258)

* マテリアル分けをリファクタし、マテリアルGUIに関するバグを修正

* テスト修正

* さっきのプルリクの微修正(コメント追記)

* デフォルトマテリアルでOpaqueのはずのものが、HDRPでTransparentになってしまうのを修正

* 同上

* Feature/road network 02 merge0 (Synesthesias#259)

* tile download url changed to https
package version updated 1.1.4

* #付きTextureパス対応

* hotfix for v1.1.6 ビルドエラー修正

* Update README.md
# Conflicts:
#	README.md

* マニュアルにユーザーアンケートへのURLを追加

* マニュアルにSlackコミュニティへの案内を追加

* Update README.md : GISサンプルへのリンクを追記

* 同上

* Update README.md

* update : Vector2/Vector3/Quaternion/Math/Debug/Polygon関係の便利関数追加

* update : tranのMeshColliderのポリゴンから道路ネットワーク構築仮作成

* update : 道路ネットワーク構築処理をRoadNetworkクラス側に移動.  クラス名にPLATEAUをつけるように変更. クラス直接参照じゃなくてインデックス参照方式に変更

* update : RoadNetworkのLaneの中央線を求める処理を仮実装

* clean : RoadNetwork.csのクラスを別ファイルに分離 & RoadNetworkTesterクラスをTesterフォルダ以下に移動

* fix : LineUtil.HalfLineSegmentIntersection/LineIntersectionで平行判定時に除いていなかったので修正

* update : RoadNetwork/PLATEAURoadNetworkLane.csのリファクタリング. RoadnetworkLaneの中心線計算で次のポイントを求めるときに前の位置から直進で到達可能かどうかのチェックを追加. Testerで全tranに大して一括実行の機能を追加

* clean : RoadNetworkEdge -> RoadNetworkBorderに名前変更. PolygonUtil周りのコピペコードを共通クラスに, Laneのデバッグ表示を追加

* update : RoadNetwork/Drawer/PLATEAURoadNetworkDrawerDebug.csでインデックスの表示の高さを固定に,

RoadNetwork/PLATEAURoadNetworkLane.csのwayを左/右でソートするように & LeftWay/RightWayを返すように.
centerLineで自己交差を削除する処理追加(ちょっと無理やり)

* 道路ネットワークのデータ構造の定義、シリアライズ出来るように。
プリミティブデータのストレージ操作周りの実装。(削除、解放部分は未実装)
プリミティブデータにアクセスするためのハンドルの実装、提供機能の実装。

# Conflicts:
#	Runtime/RoadNetwork.meta
元のブランチを採用

* LineStringsにコレクション操作のインターフェイスを追加
テストコードの追加
ストレージの初期化、ハンドルマネージャーの初期化を追加
ストレージ管理の仕様を変更、未使用領域をそのまま使いまわせるように修正

* ビルド通るように

* update : 幾何学計算用のユーティリティクラス作成とPolygonUtilをそっちに移動

* update : MonoBehavior以外のクラスはPLATEAU外す & 仮でレーンやブロックのIdクラス作成

* update : Rn~Idに暗黙の型変換を追加

* update : シリアライズ化するデータをRoadNetworkData~という名前で定義/もともとのRoadNetwork系はIdではなくオブジェクト参照形式に戻す

* update : RoadNetwork系のクラスにDebugId追加 & RoadNetworkModelでDebugIdを更新する処理追加. LineUtil.SplitLineSegmentsで最後に頂点追加し忘れていたので修正. RoadNetworkWayに法線計算用のIsRightSideフラグ追加

* update : RoadNetwork/RoadNetworkModel.csにCollectAllLanes/CollectAllWays/CollectAllLineStrings関数追加

* RoadNetworkStorageが持っているPrimitiveDataStorage系が全部strtuctで定義されているものをclassに変更

* update : RoadNetwork -> RoadNetworkDataへのシリアライズ処理を仮実装

* update : RoadNetworkModelのシリアライズ/デシリアライズ処理追加

* clean : コメント追加

* テストコードのエラーを修復

* シーン上に配置してあるMonoBehaviorからRoadNetwork関係をフィルタリングするためにMonoBehaviorを継承しただけのクラスを作成。(作成場所は仮)
RoadNetwork関係でこれを継承するとエディタから取得できる。

* 道路ネットワーク手動編集機能を提供するエディタの実装途中
 基本的なパラメータ類を実装
 モード変更を実装
仮でMonoRoadNetworkModelを継承したクラスを作成

* テスト用に作成したスクリプトを削除

* テスト用スクリプトをTesterフォルダーに移動

* コメントの追加
道路ネットワークエディタを表示するボタンの位置を変更

* コメント追加、不要なコメントの削除

* RoadNetworkWayでPointsプロパティ追加

* update : RnId -> RnIDに変更

* update : RoadNetwork/Data/RnID.csに名称変更

* fix : 間違って上がっていたマテリアルの変更を戻す

* upadte : RoadNetworkLink/RoadNetworkNodeに紐づくCityObjectGroupを入れるように

* update : GeoGraph2d.cs IsClockwiseの意味が逆だったので修正. Factory/RoadNetworkFactory.csで生成するときに最初にVector3 -> RoadNetworkPointに変換して同一頂点を共通化するように

* clean : RoadNetworkFactoryで隣接tranの判定処理をリファクタリング

* clean : GeoGraph2d -> GeoGraph2Dに名前変更

* 旧仕様のソースコードを削除
 Pointハンドル類、ハンドルマネージャー、それらの利用個所を削除

* RnIDのint型への暗黙変換を削除
内部値を表現するプロパティ名を ID->_Valに変更

* 警告修正
 未使用の変数の削除、コメントアウト
 クラス名の競合をクラス名を変更することで解決

* update : 中心線検索をボロノイ図を使って計算するように(70%)

* RnIDの生成処理の隠ぺい

* update : LineSegment2Dを別ファイルにRoadNetworkDrawDebugで色変更 & LaneのLerp分割をボロノイズ使うように

* RnID周りのエラー、正しく動作していない部分の修正

* fix : matの変更が上がっていたので戻す

* clean : PLATEAUDebugUtil -> DebugExに名前変更

* update : レーンの内部分割処理修正. 80°以上の角度は一時的に無視するように

* update : RoadNetwork/RoadNetworkLane.csのSplitlaneを2以外の時にも対応. LineUtil.SplitLineSegmentsが1辺がlengthの2倍以上ある場合にうまく動作しない問題修正

* RnIDのboxingを回避する構造に変更

* fix : RnIDがSerializableになっていなかったので修正 & RoadNetworkIdDrawerでId部分は編集不可に

* update : RoadNetworkSerializeMemberで名前を指定しない場合メンバーと同じ名前で検索するように変更. RoadNetworkNodeにNeighbor情報追加. Storageに格納したいデータもSerializeできるように(無理やり)

* update : RoadNetworkLinkのNextNode/PrevNodeをFactoryで入れるように, RoadNetworkNodeの隣接ノードを入れるように & LaneだったのをTrackに変更

* update : RoadNetwork/RoadNetworkIdDrawerにnullチェック追加

* clean : RoadNetworkIdDrawee -> RnIDDrawer.csに名称変更

* update : RoadNetworkFactoryのWayのBorder参照時にnullチェック追加. 重すぎるのでRoadNetworkModel.OnBeforeSerialize/OnAfterDeserializeはいったん空に

* update : RoadNetwork/RoadNetworkNode.csにGetCenterPoint(交差点の中心)を返す関数追加

* update : RoadNetwork/Factory/RoadNetworkFactory.csで道路サイズに応じて道を分割するように. RoadNetworkLaneのParentLinkが設定されていなかったので修正

* fix : データ変更によるシリアライズの失敗修正. RnIdのPropertyDrawerが消えていたので復活

* update : レーン分割修正. 重なった中心線の選定時に間違った方が選ばれるバグを軽減

* update : Link/NodeにParentを追加

* update : Editor系のファイルの構成をRuntimeと同じに. 道の端点の時のエッジ検出処理を行いLeft/RightWayを生成.  RoadNetworkLink/RoadNetworkNodeにレーンの削除/入れ替え(RemoveConnection/ReplaceConnectionを追加

* clean : FindMidEdgeで無駄に変数使って計算していた部分を削除

* update : RoadNetworkTrack.csにNextLink/PrevLinkをnextLane/PrevLaneから参照する形式で復活

* fix : FindMidEdgeのallowAngleSumが使われていなかったので修正

* PLATEAUGeoGraphTesterLineStringでallowSumAngleをパラメータ化

* update : FindMidEdge修正. 同一直線の判定を角度の和を使うのではなく常にbase線分との角度で見るように & コメント追加

* update : RoadNetwork/Data/RoadNetworkDataNodeのTracksがシリアライズできないようになっていたバグ修正

* update : RoadNetworkLinkにIsBothWayフラグ追加 & Serializerで変換対象が無い時に例外はくように

* update : PLATEAUGeoGraphTesterのテスト項目整理 & RoadNetwork/Factory/RoadNetworkFactoryでtran使うときにConvexHullに変換して行うオプション追加(LOD3が細分化されたポリゴンだったので, 凹多角形の道には使えないのでそのままは無理)

* fix : RoadNetworkFactoryでデバッグ用のコード削除 & レーン分割するときの条件を元に戻す

* update : RoadNetworkFactoryで交差点/行き止まりかの判定は先に行うように

* update : RoadNetwork/RoadNetworkLane.csでSplitLaneした時に最後のポイント追加がバグっていたので修正/ Dataじゃない方のRoadNetowrk~はSerializable外す(警告が出るので)

* clean : コメント追加

* fix : 宣言していない変数へのアクセス削除

* PLATEAURoadNetworkTesterに道路編集機能のハンドルを付与(道路ネットワークを所持しているため)
編集機能の整備と実装(途中)
カメラ操作出来ない、ギズモの残像が残る問題の修正

* 選択されているRoadNetworkを所持したオブジェクトが変更された時のイベントを追加

* 道路ネットワーク編集エディタを開いた際に道路ネットワークを所持したオブジェクトの自動取得を試みる処理を実装
道路ネットワークを所持したオブジェクトを選択していると編集モードとシーンビュー中に表示するように対応。(選択中のみハンドルが表示されるので)(仮)

* 道路ネットワークを所持したオブジェクトが設定された際にエディタの項目にも設定するように対応
エディタの未使用のID入力欄と表示ラベルを非表示に(使わないようなら削除予定)

* 内部的に削除されたクラスを参照していため修正(表示勝手に既存のクラスに変えられてエラーだけ出力されていた)

* 編集システムの実装途中
バグ
 ParentLinkが取得できない。
 SplitLaneをすると余分なレーンが増える

* 仮コミット 
 開発環境の開発ドライブ拡張のため一時的にリモートにあげるため

* リベース後に動かなくなっていたコードを一時的に無効化(レーンの追加、削除、分割)

メモ用に取っておいたコードを削除
 RoadNetworkSerializer.cs

* GUIのハンドル表示周りのソースコードを整備
道路ネットワークオブジェクトの設定フローと更新通知をシステム側に移植
信号機周りの実装(途中)

* 不要なコメントアウトの削除

* UnityEngine.Objectを継承しないデータをUIDocument上で変更した時に検知できるようなバインド機能を実装

* 信号制御器のUIDoc周りのバインド、挙動周りの実装を行うクラスの作成
ラジオボタンのテンプレを作成

* ソースコードの整備
 変数名などの修正
 不要なusingの削除
信号制御器のUIDocバインド、挙動周りを制御するクラスの組み込み
UIDocの事前ロードに加えて必要時にロードする機能を追加(初期化が面倒なのを解決、エディタ起動直後に重くなってしまうの避ける)
UIDocumentの調整

* 信号制御器のパターンのPhaseを管理するUIDocumentの作成
信号制御器のパターン、Phaseで利用するUIDocのバインド、挙動実装

UIDocumentが更新されないバグあり パターンの編集やPhase追加で表示が更新されない

* 選択ハンドルのオフセット値をクラスフィールドに移動

* エラー修正

* ソースコードの整備

* update : DebugEx.DrawMesh関数追加

* update : Meshのアウトライン頂点を計算する関数(ComputeMeshOutlineVertices)追加, FindMidEdgeにskipAngleDeg引数追加(開始線分との角度がこれ以下の時は中心線としないフラグ)

* clean : コメントアウトコードの削除

* update : ポリゴンのアウトライン検出のテストコード追加. CItyObjectGroupの属性分割のテストコード追加

* update : RoadNetwork/Factory/RoadNetworkFactory.cs属性分割用のテストコード追加

* clean : ComputeMeshOutlineVerticesの高速化. ソートしている部分を最小値検索に

* update : RoadNetwork/RoadNetworkEx.csにConvertCityObjectAsync関数仮追加

* 旧仕様のソースコードを削除
 Pointハンドル類、ハンドルマネージャー、それらの利用個所を削除

* RnIDのint型への暗黙変換を削除
内部値を表現するプロパティ名を ID->_Valに変更

* 警告修正
 未使用の変数の削除、コメントアウト
 クラス名の競合をクラス名を変更することで解決

* RnIDの生成処理の隠ぺい

* upadte : RoadNetworkLink/RoadNetworkNodeに紐づくCityObjectGroupを入れるように

* update : GeoGraph2d.cs IsClockwiseの意味が逆だったので修正. Factory/RoadNetworkFactory.csで生成するときに最初にVector3 -> RoadNetworkPointに変換して同一頂点を共通化するように

# Conflicts:
#	Runtime/RoadNetwork/Tester/PLATEAURoadNetworkTester.cs

* clean : RoadNetworkFactoryで隣接tranの判定処理をリファクタリング

* clean : GeoGraph2d -> GeoGraph2Dに名前変更

# Conflicts:
#	Runtime/RoadNetwork/Tester/PLATEAURoadNetworkTester.cs

* update : 中心線検索をボロノイ図を使って計算するように(70%)

# Conflicts:
#	Runtime/RoadNetwork/Drawer/RoadNetworkDrawerDebug.cs
#	Runtime/RoadNetwork/Tester/PLATEAURoadNetworkTester.cs

* update : LineSegment2Dを別ファイルにRoadNetworkDrawDebugで色変更 & LaneのLerp分割をボロノイズ使うように

# Conflicts:
#	Runtime/RoadNetwork/Drawer/RoadNetworkDrawerDebug.cs

* update : GeoGraph2d.cs ComputeMeshOutlineVerticesの高速化. whereの条件式をきつくすることでContainsチェックを不要に

* RnID周りのエラー、正しく動作していない部分の修正

* clean : PLATEAUDebugUtil -> DebugExに名前変更

# Conflicts:
#	Runtime/RoadNetwork/Drawer/RoadNetworkDrawerDebug.cs
#	Runtime/RoadNetwork/RoadNetworkLane.cs
#	Runtime/RoadNetwork/Tester/PLATEAUGeoGraphTester.cs

* update : レーンの内部分割処理修正. 80°以上の角度は一時的に無視するように

# Conflicts:
#	Runtime/RoadNetwork/Drawer/RoadNetworkDrawerDebug.cs
#	Runtime/RoadNetwork/RoadNetworkLane.cs
#	Runtime/Util/DebugEx.cs

* update : RoadNetwork/RoadNetworkLane.csのSplitlaneを2以外の時にも対応. LineUtil.SplitLineSegmentsが1辺がlengthの2倍以上ある場合にうまく動作しない問題修正

* RnIDのboxingを回避する構造に変更

* fix : RnIDがSerializableになっていなかったので修正 & RoadNetworkIdDrawerでId部分は編集不可に

* update : RoadNetworkSerializeMemberで名前を指定しない場合メンバーと同じ名前で検索するように変更. RoadNetworkNodeにNeighbor情報追加. Storageに格納したいデータもSerializeできるように(無理やり)

* update : RoadNetworkLinkのNextNode/PrevNodeをFactoryで入れるように, RoadNetworkNodeの隣接ノードを入れるように & LaneだったのをTrackに変更

* update : RoadNetwork/RoadNetworkIdDrawerにnullチェック追加

* clean : RoadNetworkIdDrawee -> RnIDDrawer.csに名称変更

* update : RoadNetworkFactoryのWayのBorder参照時にnullチェック追加. 重すぎるのでRoadNetworkModel.OnBeforeSerialize/OnAfterDeserializeはいったん空に

# Conflicts:
#	Runtime/RoadNetwork/Tester/PLATEAURoadNetworkTester.cs

* update : RoadNetwork/RoadNetworkNode.csにGetCenterPoint(交差点の中心)を返す関数追加

* update : RoadNetwork/Factory/RoadNetworkFactory.csで道路サイズに応じて道を分割するように. RoadNetworkLaneのParentLinkが設定されていなかったので修正

* fix : データ変更によるシリアライズの失敗修正. RnIdのPropertyDrawerが消えていたので復活

* update : レーン分割修正. 重なった中心線の選定時に間違った方が選ばれるバグを軽減

* update : Link/NodeにParentを追加

* update : Editor系のファイルの構成をRuntimeと同じに. 道の端点の時のエッジ検出処理を行いLeft/RightWayを生成.  RoadNetworkLink/RoadNetworkNodeにレーンの削除/入れ替え(RemoveConnection/ReplaceConnectionを追加

# Conflicts:
#	Runtime/RoadNetwork/Drawer/RoadNetworkDrawerDebug.cs

* clean : FindMidEdgeで無駄に変数使って計算していた部分を削除

* update : RoadNetworkTrack.csにNextLink/PrevLinkをnextLane/PrevLaneから参照する形式で復活

* fix : FindMidEdgeのallowAngleSumが使われていなかったので修正

* PLATEAUGeoGraphTesterLineStringでallowSumAngleをパラメータ化

* update : FindMidEdge修正. 同一直線の判定を角度の和を使うのではなく常にbase線分との角度で見るように & コメント追加

* update : RoadNetwork/Data/RoadNetworkDataNodeのTracksがシリアライズできないようになっていたバグ修正

* update : RoadNetworkLinkにIsBothWayフラグ追加 & Serializerで変換対象が無い時に例外はくように

* update : PLATEAUGeoGraphTesterのテスト項目整理 & RoadNetwork/Factory/RoadNetworkFactoryでtran使うときにConvexHullに変換して行うオプション追加(LOD3が細分化されたポリゴンだったので, 凹多角形の道には使えないのでそのままは無理)

* fix : RoadNetworkFactoryでデバッグ用のコード削除 & レーン分割するときの条件を元に戻す

* update : RoadNetworkFactoryで交差点/行き止まりかの判定は先に行うように

* update : RoadNetwork/RoadNetworkLane.csでSplitLaneした時に最後のポイント追加がバグっていたので修正/ Dataじゃない方のRoadNetowrk~はSerializable外す(警告が出るので)

* clean : コメント追加

* fix : 宣言していない変数へのアクセス削除

* PLATEAURoadNetworkTesterに道路編集機能のハンドルを付与(道路ネットワークを所持しているため)
編集機能の整備と実装(途中)
カメラ操作出来ない、ギズモの残像が残る問題の修正

# Conflicts:
#	Editor/RoadNetwork/RoadNetworkUIDoc.cs

* 選択されているRoadNetworkを所持したオブジェクトが変更された時のイベントを追加

* 道路ネットワーク編集エディタを開いた際に道路ネットワークを所持したオブジェクトの自動取得を試みる処理を実装
道路ネットワークを所持したオブジェクトを選択していると編集モードとシーンビュー中に表示するように対応。(選択中のみハンドルが表示されるので)(仮)

* 道路ネットワークを所持したオブジェクトが設定された際にエディタの項目にも設定するように対応
エディタの未使用のID入力欄と表示ラベルを非表示に(使わないようなら削除予定)

# Conflicts:
#	Editor/RoadNetwork/RoadNetworkUIDoc.cs

* 内部的に削除されたクラスを参照していため修正(表示勝手に既存のクラスに変えられてエラーだけ出力されていた)

* 編集システムの実装途中
バグ
 ParentLinkが取得できない。
 SplitLaneをすると余分なレーンが増える

* 仮コミット 
 開発環境の開発ドライブ拡張のため一時的にリモートにあげるため

# Conflicts:
#	Runtime/Util/DebugEx.cs.meta

* リベース後に動かなくなっていたコードを一時的に無効化(レーンの追加、削除、分割)

メモ用に取っておいたコードを削除
 RoadNetworkSerializer.cs

* GUIのハンドル表示周りのソースコードを整備
道路ネットワークオブジェクトの設定フローと更新通知をシステム側に移植
信号機周りの実装(途中)

* 不要なコメントアウトの削除

* UnityEngine.Objectを継承しないデータをUIDocument上で変更した時に検知できるようなバインド機能を実装

* 信号制御器のUIDoc周りのバインド、挙動周りの実装を行うクラスの作成
ラジオボタンのテンプレを作成

* ソースコードの整備
 変数名などの修正
 不要なusingの削除
信号制御器のUIDocバインド、挙動周りを制御するクラスの組み込み
UIDocの事前ロードに加えて必要時にロードする機能を追加(初期化が面倒なのを解決、エディタ起動直後に重くなってしまうの避ける)
UIDocumentの調整

* 信号制御器のパターンのPhaseを管理するUIDocumentの作成
信号制御器のパターン、Phaseで利用するUIDocのバインド、挙動実装

UIDocumentが更新されないバグあり パターンの編集やPhase追加で表示が更新されない

* 選択ハンドルのオフセット値をクラスフィールドに移動

* エラー修正

* ソースコードの整備

* エラーの修正
 DebugEx.DrawLineSegment2D(seg.v.Segment, color: DebugEx.GetDebugColor(seg.i, 16));
 このメソッドに対してコンパイラがどのオーバーロードが分からないというエラーが発生していたのでデフォ値の引数を追加
 
 フラグがコメントアウトされていたのでコメントアウトを解除

 道路ネットワークのストレージを所在が変わったので変更先からGetterを取れるように対応

* fix : GeoGraph/GeoGraph2d.cs ComputeMeshOutlineVerticesで凹多角形の時にうまく動かないバグ修正 & 近い頂点を共通化するためのepsilon変数追加

* clean : 使っていない変数削除

* 未使用ファイルの削除

* ビルドエラーの修正
 エラー原因のnamesapceの削除

# Conflicts:
#	Runtime/Util/GeoGraph/GeoGraph2d.cs

* fix : サンドボックス用に使っていた単体テストを削除

---------

Co-authored-by: Linoal <[email protected]>
Co-authored-by: sevendev <[email protected]>
Co-authored-by: COREI5\taka <[email protected]>
Co-authored-by: SYN-miyamoto <[email protected]>
Co-authored-by: tomoki-suzuki-syn <[email protected]>
Co-authored-by: ren <[email protected]>

* デフォルトマテリアルにエミッションが付いていたのを修正

* terrain fill tranparent edges (Synesthesias#260)

* 地形変換/高さ合わせ機能&地域単位メッシュを大幅軽量化  (libplateau commit sha = 539e5ee9ca5e642bae76001fb7c77c44e69a6187) (Synesthesias#261)

* 高さを地形に合わせる

リネームGUI→Gui

高さ合わせUI試作

実行ボタンでheightmap作成

高さ合わせ処理の雛形

高さを地形に合わせる

* 細分化・細分化によるマテリアルの維持・リファクタでNonLibDataHolder実装

同上

リファクタ:NonLibDataHolder

高さ合わせ属性情報維持を実装中

属性情報の維持

* !地域単位を大幅に軽量化:インポートと分割結合で重複SubMeshをまとめる

* 高さ合わせを属性情報に対応、PlateauMeshからUnityMeshへの変換時の属性情報で異なる属性情報を共存

gmlIDの"combined"変更

高さ設定を属性情報に対応、PlateauMeshからUnityMeshへの変換時の属性情報で異なる属性情報を共存

* terrain fill tranparent edges

* 高さ合わせ後の親を変換前と同じにした。変換後を選択状態にするようにした。

* 高さ合わせGUIを地形変換GUIに統合して調整

地形変換GUI調整中

セパレーター追加

リファクタ

地形変換タブから高さ合わせも実行できるようGUIを作成

古いタブを除く

GUIエラ=ハンドリング

* Terrainへの高さ合わせに対応、destroyOrPreserve反映

リファクタ

Terraiへの高さ合わせに対応

* 複数土地に対応、テレイン化と高さ合わせで同じ高さマップ解像度を適用

heightmapAlignerをcreate,dispose方式に変更

複数土地に対応

* 同上

* 高さ合わせの線形補間とオフセットを導入

高さ合わせの線形補間を導入

* 道路の分割前のメッシュ情報を覚えておく

分割前のtrianglesを覚えておく

* 解像度オプションの選択肢変更、GUI調整、バグ修正

GUIを調整

土地がない場合メッセージ表示

微修正

* 地形をLOD3道路に合わせる、高さ合わせの調整設定、PLATEAUCityObjectGroupにLODを記録、bugfix、軽量化

---------

Co-authored-by: sevendev <[email protected]>

* Assetsへ保存機能を改良:位置と回転の維持、normal警告出ないように、階層構造の維持、古い物削除、setDirty (Synesthesias#262)

* Assetsへ保存機能を改良:位置と回転の維持、normal警告出ないように、古いもの削除、階層構造の維持、setDirty

Assets保存でPositionとRotationが維持されるようにした

using整理

粒度変換で位置と回転が維持されるようにした

メニューバーのPLATEAU_Devを移動

警告を修正中

Assets保存 setDirty

Assetsへ保存したときにnormalに関する警告が大量に出るのを出ないようにした

開発中メニューを非表示に

* ビルド時のエラーと警告に対応

警告に対処

同上

* 生成meshの軽量化、また高速なAPIを利用 (Synesthesias#263)

mesh生成で頂点のバイト数削減

同上

normalバグ修正

* インポート時に要らぬ警告が出るのをログに変更

* package.jsonのUnityバージョン変更

* リリース前のバグと警告修正(軽量化meshはエクスポートに問題あるためRevert) (Synesthesias#264)

* キー重複バグの修正

* export error check

* Revert "生成meshの軽量化、また高速なAPIを利用 (Synesthesias#263)"

This reverts commit 5341b82.

* リリース前の微修正

* SDKアンケートページへの導線ボタン追加 (Synesthesias#265)

* SDKアンケートページへの導線ボタン追加

* アンケートURLを更新

* 地形変換・高さ合わせのドキュメント追加 (Synesthesias#266)

* 地形変換のドキュメントの一部文面修正 (Synesthesias#267)

* bugfix (Synesthesias#268)

* TypeNodeにBridgeInstallation追加

* libplateau: 逆高さ合わせのアンダーフローを解決

* libplateau: FBXエクスポートで同名のマテリアルがあると表示が崩れるのを修正

* さっきのプルリクの修正とGUIの微修正 (Synesthesias#270)

* GUI調整:「対象をヒエラルキー上で選択→ハイライト」

* さっきのプルリクの修正

* ゲームオブジェクトON/OFFが意図しない動作をすることがある問題を修正 (Synesthesias#274)

* ゲームオブジェクトON/OFFで都市計画決定情報が意図せずOFFになることがあるのを修正

* ゲームオブジェクトON/OFFが災害リスクで動作しないことがあるバグを修正

* Update ImportCityModels.md (Synesthesias#269)

* C++による高速マテリアル分けを実装。主要内マテリアル単位への分割結合のC++化。 (Synesthesias#275)

* C++による高速マテリアル分け。属性情報による分けと地物による分け。

同上

bugfix

同上

属性情報と地物の両方でC++マテリアル分け

* 主要内マテリアル単位へ分割結合のC++化に対応。マテリアル分けのC++化に対応。

C++の分割に対応中

主要内マテリアルのC++分割結合

属性情報fix

古いコードの削除

属性情報修正中

不要なコードを削除

ユニットテスト修正

C++の変更に対応

マテリアル分けの新規/置き換え設定反映

ボタン連打防止

CityObjectList fix

cityObjIndex Fix

updatea binary

* 処理後のオブジェクトを選択

* Assetsへ保存機能でデフォルトマテリアルが維持されない問題を修正 (Synesthesias#276)

同上

同上

* アンケートボタン改善対応 (Synesthesias#277)

* 地物マテリアル分け→属性マテリアル分けがうまくいかないことがあるのを修正。typo修正。 (Synesthesias#278)

変換後にGUI上の対象を変換後がする。粒度変換で空のオブジェクトを指定したときにエラーダイアログが2回出るのを修正。

同上

* 「モデル修正」を「モデル調整」に変更

* 都市計画決定情報が高さ合わせの対象にならないのを修正 (Synesthesias#279)

同上

* GUI微修正

* expose maExecutor as public

* 後方互換性サポート

* Update ImportCityModels.md (Synesthesias#271)

* Update ImportCityModels.md

* Update ImportCityModels.md

* Update ImportCityModels.md

* 土地起伏に関する文言修正

* 画像差し替え

* モデル修正→モデル調整

* 文言修正

---------

Co-authored-by: Kazumasa Sakiyama <[email protected]>

* マテリアル分けで同名キーの場合に子を優先、Smoothness調整、UI微修正 (Synesthesias#287)

* 道路ダブりの修正と、マテリアル分けの同名キーの場合に子を優先

* デフォルトマテリアルのSmoothnessを0に

* UI微修正

UI微修正

* ユニットテスト修正 (Synesthesias#288)

* ユニットテスト修正中

* 同上

* 高さ合わせの補足Update ModelAdjust.md (Synesthesias#285)

高さ合わせの補足を記載しました。表現に違和感あれば修正お願いします

* Release/v2.3.3 (Synesthesias#289)

* dllをリリースビルドに

* Assets化bugfix

* 同上

* ゲームオブジェクトON/OFFのbugfix

* ログ微修正

* ハイトマップ生成段階で頂点座標がずれる旨を記載Update ModelAdjust.md (Synesthesias#284)

* ハイトマップ生成段階で頂点座標がずれる旨を記載Update ModelAdjust.md

ハイトマップ生成段階で頂点座標がずれる旨を記載してます。できればもう少しわかりやすい表現にしていただきたいです。

* 頂点座標がずれる件の詳細を追記

* 余分な「’」が入っていたので削除しました

* terrainのメリット・Unity公式リンク・急傾斜の場合を追記 (Synesthesias#283)

* terrainのメリット・Unity公式リンク・急傾斜の場合を追記

terrainに変換するメリットを追記。
Unityの公式ページを貼りましたが、合っているか確認お願いします。
急傾斜の場合の注意書きの表現が自信がないので、確認&修正お願いします

* テレインのメリットの記載内容を修正

* マニュアル追記)エクスポートがエクスプローラーからできることを追記Update ExportCityModels.md (Synesthesias#282)

* マニュアル追記)エクスポートがエクスプローラーからできることを追記Update ExportCityModels.md

エクスプローラーでインポートエクスポートができることを記載するというご指示をいただいた(という認識)ので、文章内にエクスプローラーを追記しました。内容合っているか不安なのでご確認ください

* Update ExportCityModels.md

* マニュアル追記)インポート時のマテリアル結合の条件について (Synesthesias#281)

* マニュアル追記)インポート時のマテリアル結合の条件について

インポート時の処理に関する記載ですが、「〇〇が同じ場合、マテリアルを結合する」のように、何を条件としているかを明記するようにしてください。
書く場所こちらでいいかわからず仮です。
条件がわからなかったので、ご指示いただくか、加筆お願いします

* マテリアルが結合される条件を追記

* マニュアル追記(地物・地形モデルの用語解説)Update ModelAdjust.md (Synesthesias#280)

* Update ModelAdjust.md

マニュアル追記)地物や地形モデルについての解説を入れるようご指示いただいていたのでNoteとして追記。
※改行ができませんでした
※3D都市モデル標準製品仕様書にリンクを飛ばしたほうがいいですか?

* 地形の説明を修正

* 地形平滑化のポリゴンメッシュ出力対応 (Synesthesias#286)

* 地形変換のUI画像を変更 (Synesthesias#290)

* オブジェクト生成の際の条件を追記 (Synesthesias#291)

* オブジェクト生成の際の条件を追記

* Update Documentation~/manual/ModelAdjust.md

---------

Co-authored-by: Kazumasa Sakiyama <[email protected]>

* Update ExportCityModels.md (Synesthesias#272)

* Update ExportCityModels.md

* 画像差し替え

---------

Co-authored-by: Kazumasa Sakiyama <[email protected]>

* バージョン情報更新

* 共通ライブラリ修正(建築物付属設備のマテリアル分け)

* ライブラリ設定修正

* mac arm64

---------

Co-authored-by: tomoki-suzuki-syn <[email protected]>
Co-authored-by: SYN-miyamoto <[email protected]>
Co-authored-by: Mizunitani Ren <[email protected]>
Co-authored-by: sevendev <[email protected]>
Co-authored-by: COREI5\taka <[email protected]>
Co-authored-by: Ronnel216 <[email protected]>
Co-authored-by: Ronnel216 <[email protected]>
Co-authored-by: Sacchy <[email protected]>
Co-authored-by: Kazumasa Sakiyama <[email protected]>
Co-authored-by: HARUNA <[email protected]>
  • Loading branch information
11 people authored Jul 26, 2024
1 parent 937d87c commit 3f94ceb
Show file tree
Hide file tree
Showing 789 changed files with 574,306 additions and 1,919 deletions.
2 changes: 1 addition & 1 deletion Documentation~/manual/AccessCityObject.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 都市情報へのアクセス
# 属性情報へのアクセス

C# APIやPLATEAU SDKの機能によって都市オブジェクトの情報を取得できます。
このページでその方法を説明します。
Expand Down
74 changes: 37 additions & 37 deletions Documentation~/manual/ExportCityModels.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 都市モデルのエクスポート
Unityのシーンに配置された都市の3Dモデルを、objファイルや gltfファイルとしてエクスポートできます
# 3D都市モデルのエクスポート
Unityのシーンに配置された都市の3Dモデルを、FBX、OBJ、glTFとしてエクスポートできます
このページではエクスポートの手順を説明します。

## 前提
Expand All @@ -10,7 +10,7 @@ Unityのシーンに都市モデルがインポートされていることが前
## エクスポート手順
### エクスポート対象の指定
- Unityのメニューバーから `PLATEAU → PLATEAU SDK` を選択します。
表示されるウィンドウの上部に3つのタブ「インポート、モデル調整、エクスポート」があります。
表示されるウィンドウの上部に3つのタブ「インポート、モデル調整、エクスポート、属性情報」があります。
このうちエクスポートを選択します。

![](../resources/manual/exportCityModels/exportWindow.png)
Expand All @@ -21,8 +21,7 @@ Unityのシーンに都市モデルがインポートされていることが前
- 親子関係の最上位には自動で `PLATEAUInstancedCityModel` コンポーネントが付与されています。
このコンポーネントを持つゲームオブジェクトが選択対象となります。
- 出力形式を選択します。
- OBJ形式か、GLTF形式かを選択します。
- ただし、OBJ形式はフォーマットの仕様上、後述の技術的な制約があります。
- ファイル形式をFBX,OBJ,GLTFから選択できます。

### 出力オプションの設定

Expand All @@ -37,8 +36,14 @@ Unityのシーンに都市モデルがインポートされていることが前
- **GLB**
- 3Dモデルとその関連データをまとめて1つのファイルとするフォーマットです。

- **テクスチャ**
- **テクスチャを含める**
- 出力にテクスチャを含めるかどうかを設定します。チェックが付いていれば含みます。

- **SDK付属のデフォルトテクスチャを含める**
- 「テクスチャを含める」がオンのときのみ表示される設定項目です。
- オフの場合、PLATEAU SDK付属のデフォルトマテリアルがマテリアルなしに置き換わって出力されます。
- SDK付属のデフォルトマテリアルのテクスチャは、SDK付属のTriplanarシェーダーでのみ動作することを想定しています。
そのためデフォルトではオフとしています。

- **非アクティブオブジェクトを含める**

Expand All @@ -64,46 +69,41 @@ Unityのシーンに都市モデルがインポートされていることが前
- 原点付近に3Dモデルが来るようにしたいときは Local
- 原点から遠い位置に3Dモデルが配置されますが、複数の異なる都市をエクスポートするときに位置の整合性を取りたいときは Plane Cartesian が利用できます。
- `座標軸`
- エクスポートした objファイルを Unityにインポートしたい場合は、
後述の理由で WUN を指定してください。
- **座標軸設定の趣旨:**
- x,y,z 軸がどの方向を向いているかはアプリケーションによって異なりますが、
この設定項目によって座標軸の違いに合わせて変換できます。
- 座標軸の名称はアルファベット3文字で表され、
(1文字目,2文字目,3文字目) が (x軸,y軸,z軸) の向きを表します。
- 例えば、Unityでは x軸が東(East), y軸が上(Up), z軸が北(North) を向くので、
頭文字をとって EUN が Unityの座標系となります。
- ただし、Unity向けに objをエクスポートするときは、
後述の理由で EUN ではなく WUN が正しい指定となります。
- W は 西(West) を表します。
- 選択したファイル形式がFBXまたはOBJの場合に表示されます。
- X,Y,Z軸の向きを決めます。利用したいアプリケーションに応じて選択してください。
- 例えば、エクスポートしたファイルをUnityにインポートしたい場合は、Y軸が上を指す座標軸を選択してください。
- GLTF形式の場合は、仕様で座標軸が決まっているため、この設定項目は表示されません。


>[!NOTE]
> **OBJファイルの技術的制約について**
>
> OBJファイルはそのフォーマットの仕様上、制約があります。
>
> 1. オブジェクトが分割されず、1つのオブジェクトとして出力されます。
> その代わり、頂点グループとしてオブジェクト内で領域分けされます。
> 例えば、Blenderの場合、インポート時に `頂点グループ` にチェックを入れると、図のように頂点グループが設定されます。
> ![](../resources/manual/exportCityModels/blenderVertexGroup.png)
>
> 3. objファイルを Unity にインポートするとき、左右が反転します。これを防ぎたい場合は、座標系WUNで出力してください。
> これは Unity の仕様によるものです。
> Unityの座標系は EUN ですが、EUNで出力した objファイルをインポートすると左右反転したモデルになります。
> そこで EUN を左右反転させた座標系である WUN で出力すると、Unityにインポートしたときに正しくなります。
> このようになる理由は、Unityは objファイルを右手座標系であると解釈し、Unityの左手座標系に合わせるために x座標の正負を反転させるためです。

- `FBXフォーマット`
- 出力形式がFBXのときのみ表示される設定項目です。
- FBXを扱うご利用のソフトウェアに応じて選択してください。
- BlenderやUnityでご利用あればBinaryを推奨します。

### エクスポート
- 出力先のフォルダを指定します。
- `エクスポート` ボタンを押してしばらく待ちます。
- 指定のフォルダに3Dモデルファイルが出力されます。
- 正常終了の場合、指定のフォルダに3Dモデルファイルが出力され、そのフォルダが開きます。
異常終了の場合、ダイアログが表示されます。

![](../resources/manual/exportCityModels/tokyoBlender.png)
上図はエクスポートしたobjファイルを Blender で読み込んだものです。
上図はエクスポートしたOBJファイルを Blender で読み込んだものです。

## エクスポートの仕様
- OBJファイルはそのフォーマットの仕様上、次の制約があります。
- オブジェクトが分割されず、1つのオブジェクトとして出力されます。
その代わり、頂点グループとしてオブジェクト内で領域分けされます。
例えば、Blenderの場合、インポート時に `頂点グループ` にチェックを入れると、図のように頂点グループが設定されます。
![](../resources/manual/exportCityModels/blenderVertexGroup.png)
- Unity内でのTransform情報(Position, Rotation, Scale)はエクスポートしたファイルに反映されます。
- FBX,GLTFの場合は、ノードとしてUnityのPosition, Rotation, Scale および親子関係が反映されます。
- OBJの場合は、OBJの仕様上親子関係が反映されないため、頂点座標が直接Position, Rotation, Scaleにより変形されて出力されます。

>[!NOTE]
> **エクスポートした3Dモデルを再度Unityに取り込む場合**
>
> テクスチャ込みでエクスポートしたものを再度Unityにインポートする場合は、
> 3Dモデルファイルとそれに対応するテクスチャフォルダを複数選択して
> Unityのプロジェクトビューにドラッグ&ドロップしてインポートしてください。
> 3Dモデルファイルとそれに対応するテクスチャフォルダをエクスプローラー(Windowsの場合。Macの場合はFinder)から複数選択して
> Unityのプロジェクトビューにドラッグ&ドロップしてインポートしてください。
> 複数選択による同時インポートでないと、テクスチャが正しく適用されない場合があります。
25 changes: 16 additions & 9 deletions Documentation~/manual/ImportCityModels.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# 都市モデルのインポート
# 3D都市モデルのインポート

このページでは、都市データをUnityプロジェクトにインポートする手順を説明します。

## 準備
- PlateauSDK を導入したUnityプロジェクトを用意します
- PLATEAU SDK for Unityを導入したUnityプロジェクトを用意します
SDKの導入方法は [インストール](Installation.md) を参照してください。

## インポート手順
Expand All @@ -12,7 +12,7 @@
表示されるウィンドウの上部に4つのタブ「インポート、モデル調整、エクスポート、属性情報」があります。
このうちインポートを選択します。
![](../resources/manual/importCityModels/plateauWindowImport.png)
- インポート先で`ローカル`または`サーバー`を選択します。
- インポート元で`ローカル`または`サーバー`を選択します。

#### ローカルからインポートする場合

Expand Down Expand Up @@ -138,6 +138,7 @@
- モデルのメッシュは結合されて出力されます。
- オブジェクト数を削減して軽量化できますが、建物ごとの地物データは取得不可になります。
- メッシュの結合はある程度の大きさの範囲ごとに行われます。
- 地域単位でインポートする場合、見た目が同じマテリアルは結合されます。すなわち、色などの数値情報とテクスチャパスが同じ場合に結合されます。


>[!NOTE]
Expand All @@ -161,9 +162,8 @@

>[!NOTE]
> **地物の選択について**
> 地物の中にはインポートに時間がかかるものもあるのでご注意ください。
> 例えば 土地起伏 はデータの範囲が 10km × 10km と非常に広く、
> データ容量が重く処理に時間がかかるのでご注意ください。
> 地物の中にはインポートに時間がかかるものがあります。
> 特に土地起伏、土地利用はデータ容量が重く処理に時間がかかるのでご注意ください。
>[!NOTE]
> **現実の景観と異なる地物について**
Expand All @@ -176,9 +176,9 @@
>[!NOTE]
> **道路の高さについて**
> LOD1 の道路は、PLATEAUの仕様上、高さのデータを含みません。
> LOD1,LOD2 の道路は、PLATEAUの仕様上、高さのデータを含みません。
> したがって、インポートするとすべて高さ 0 で表現されます。
> LOD2 以上の道路は高さが反映されます。
> LOD3 以上の道路は高さが反映されます。
### 土地に衛星写真や地図を貼り付ける

Expand Down Expand Up @@ -262,4 +262,11 @@
インポートの結果、計算状況ウィンドウの内容がすべて「完了」となれば良いですが、
ロードできなかったgmlファイルに関しては「失敗」と表示されます。
そのような場合でも、他のgmlファイルのロードが成功していれば、そのgmlに関しては正常にインポートされています。
失敗の場合は Unityのコンソールにエラーログが出力されます。
失敗の場合は Unityのコンソールにエラーログが出力されます。


### インポートされた3Dモデルの保存先
インポートされた3Dモデルやテクスチャは、シーンファイルの中に直接保存されます。
これによるシーンファイルの肥大化を改善したい場合は、
モデル調整機能の「Assetsに保存」機能を利用してシーンからFBXに書き出すことができます。
詳しくは[こちら](ModelAdjust.md#assetsに保存機能)をご覧ください。
12 changes: 10 additions & 2 deletions Documentation~/manual/Installation.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# インストール

このページでは PLATEAU SDK for Unity のインストール方法を説明します
このページではPLATEAU SDK for Unityのインストール方法を説明します

## 対応Unityバージョンのインストール
- PLATEAU SDK for Unity で想定するUnityバージョンが[リリースページ](https://github.com/Project-PLATEAU/PLATEAU-SDK-for-Unity/releases)に記載されています。
- PLATEAU SDK for Unityで想定するUnityバージョンが[リリースページ](https://github.com/Project-PLATEAU/PLATEAU-SDK-for-Unity/releases)に記載されています。
そのバージョンがインストールされていない場合は、次の手順でインストールしてください。
- [Unity Hub をこちらからインストールします](https://unity3d.com/jp/get-unity/download)
- Unity Hub とは、Unityのお好きなバージョンをインストールして起動することのできるソフトウェアです。
Expand Down Expand Up @@ -58,6 +58,14 @@ PLATEAU SDK for Unity の導入方法は2通りあります。
- ウィンドウのパッケージ一覧に `Plateau Unity SDK` が表示されたら完了です。
![](../resources/manual/installation/packageInstalled.png)

### Android向けにビルドする場合
Android向けにビルドする場合、次のようにUnityプロジェクトを設定してください。
- メニューバーから Edit → Project Settingsを選びます。
- 表示されたウィンドウの左パネルからPlayerを選びます。
- Other Settingsを開きます。
- Scripting BackendをIL2CPPにします。
- Target ArchitecturesはARM64だけがチェックが入っているようにします。

### トラブルシューティング
うまく導入できない場合、次のことをご確認ください。
- お使いのウイルス対策ソフトによっては、SDKに含まれるバイナリファイルが削除されることがあります。ウィルス対策ソフトによってSDKのファイルが削除されないよう設定をお願いします。
Expand Down
Loading

0 comments on commit 3f94ceb

Please sign in to comment.