自宅の GTX-970 (4GB) 機でも動いた。ただ、VRAMが足りずに 220Step/256×256 くらいまでで、それ以上にしようとするとエラーで落ちる。
添付の画像は「Droid-kun」で自動生成させた画像。色々とオシイ感じだが頑張ってる感があるよね。
へっぽこ技術ブログです
自宅の GTX-970 (4GB) 機でも動いた。ただ、VRAMが足りずに 220Step/256×256 くらいまでで、それ以上にしようとするとエラーで落ちる。
添付の画像は「Droid-kun」で自動生成させた画像。色々とオシイ感じだが頑張ってる感があるよね。
むかーしは簡単にできた(気がする)んだけど、今のAVDだとエミュレータ画面のビミョーな位置を摘まんでドラッグしないと変更できない(気がする)。
すーーーーーーっごく苦労してたんだけど、ショートカットキーで手軽にできることを知ったので覚書。
◆Windowsの場合
エミュレータを大きく表示 Ctrl+↑
エミュレータを小さく表示 Ctrl+↓
超簡単!
ちなみにこれを編集していて以下の赤い丸の箇所どれかをドラッグすれば100%確実に摘まめる(サイズ変更中の状態にできる)ことがわかりました。なんなのよ。
こんな感じでドラッグできるね。摘まむ箇所がわかってよかった! でも今後はショートカットキー使うと思うけど。
おしまい。
国土交通省が主導する3D都市モデルのオープンデータ化プロジェクト「Project Plateau(プラトー)」の、横浜市のモデルがCityGML形式で公開されているので、(1)それを入手して (2)Unityで使いやすいようにFBX形式に変換して (3)Unityに導入するまでの手順の覚書。入門記事としてご覧ください。
変換処理にはマシンパワーがそれなりに必要です。特にメインメモリの容量が多いPCの使用をお勧めします。
この記事を書いてる人間はこの作業に関わるまで地理データもCityGML形式やらも知らなかったくらいなので、色々察してご容赦ください。
https://www.mlit.go.jp/plateau/file/libraries/doc/plateau_doc_0007_ver01.pdf
・Googleで「Plateau みなとみらい」あたりで検索して配布サイトまで辿り着く。
・CityGML形式の「詳細」欄をクリックし、ダウンロードを選ぶ。
・展開する。
・Plateau公式の手順書に従って、変換にはFME Desktopを使用する。
・FME Desktopは有料ソフト。3万円台くらいなら買ってみようかな~と思ったけど30万円台だったので日和る。というか、個人のお遊びとしてはちょっと手が出せない。
・ただ、FME DesktopにはTrial版やHome Use版、Students版、Non-Profit &Research版などの無料で使用(試用)できるものがあるのでそれを使わせていただく。※自分はHome Use版を申請させていただきました。商用利用の方は製品版ライセンスをお買い求めください。
・FME Desktopをインストールする。申請から1days以内にライセンス(シリアルナンバー)が届くが、届かないうちにインストールしてもTrial版としての使用が可能。
・手順書のp.11に「1.2 FBX形式への変換」が載っているのでそれを見ながら作業する。自分は最初の行の「添付のcitygml2fbx.gmwt」というファイルがローカルPC上に見つからなかったので、以下のProject Plateau公式リポジトリから入手した。
・citygml2fbx.fmwtをダブルクリックするとFME Workbenchなるソフトウェアが起動する。
■変換するエリアを指定
・変換を行う前に、横浜市のどのエリアを変換するのかを考える。
・Plateauのデータは以下のようにエリアが区切られている。
※展開した横浜市のデータフォルダに入っている「索引図.pdf」に載ってます。
・更に細分されたこのピンク色のあたりがビルにテクスチャが貼られたLOD2というデータが入っているのでオススメ。
・ちなみにGoogle Mapsと対比させるとこんな感じ。みなとみらいや横浜駅のあたりですね。
・というわけで、とりあえずエリアとしては「53391540」を選ぶことにしましょうか。
・以下は、ほぼ公式手順書通りの手順を書いただけです。悪しからず。
・まずは次の手順で変換するエリアの建物情報を指定する。
・FME Workbenchの左上に表示されている『 Input: bldg [CITYGML] 』上で右クリックして『Edit 'Input: bldg~~』を選ぶ。 ※ビルディングの略でbldgですね(たぶん…)
・表示されたダイアログの『…』をクリック。
・横浜市のデータを展開したフォルダの中にある「udx」フォルダの更に中にある「bldg」フォルダを開き、「53391540_bldg_6697_op.gml」というファイルを選んで「開く」ボタンを押す。
・「OK」ボタンを押してダイアログを閉じる。
・続いて以下の手順で地形情報を指定する。
・『Input: dem [CITYGML]』の上で右クリックして『Edit 'Input: dem~~』を選ぶ。 ※demってなんの略ですかね?
・ダイアログの「…」をクリックし、
・今度は「udx」の中の「dem」フォルダから「53391540_dem_6697_op.gml」を選んでから「開く」ボタンを押す。
・更に「OK」を押してダイアログを閉じる。
■FBX形式の保存場所を指定
・更に、次の手順で変換後のFBX形式データを出力する場所を指定する。
・変換した後のファイル群をまとめて保存するためのフォルダを新規作成(例:FBX_OUTPUT)して、更にそれぞれのエリアごとの変換後ファイル群を入れるフォルダも新規作成(例:53391540などとエリアのわかるフォルダ名)して保存をすると良いですよ。下のような感じ。
・Output: bldg_lod2 [FBX] の上で右クリックして、「Edit ’Output~~」を選ぶ。
・先ほどまでと同様に『…』をクリックし、FBXデータを出力するフォルダを指定する。 ※bldg_lod2はビルにテクスチャが付いたちょっといい感じの建物データ(らしい)
・同じ操作を Output: bldg_lod1 [FBX] と Output:dem [FBX] でも行って出力先のフォルダを指定する。指定するフォルダはすべて同じで良い。
※元の手順書では変換処理の前に緯度経度情報の変換指定の変更処理が書かれています。ここでは、横浜のデータでは変更不要だったので割愛してますが、余裕のある時にぜひ元の手順書を読んでくださいね。
・ここまで指定ができたら、次の手順で変換処理を行う。
・FME Workbenchの「Run」ボタンをクリックする。
・更にダイアログの「Run」ボタンを押す。
・うまく変換出来たら、出力先として指定したフォルダに以下のようなフォルダ1つ&ファイル3つが作成されているはずです。※lod2対応エリアの場合
・Unityでプロジェクトを作成する。テンプレートは3Dで。
・Projectウインドウに出力先フォルダをD&Dしてプロジェクトに導入する。変換後のファイルやフォルダをまとめて保存してあるフォルダごとしたほうがいいですよ。
※ここでは、FBX_OUTPUTフォルダの下に53391540, 53391541, 53391550と3つのフォルダを作成してそれぞれのエリアを変換しているということで説明します。
・ProjectウインドウのAssetsに、以下のようにフォルダとファイルが導入されます。
・Hierarchyウインドウ > + > Create Emptyと選択し、空のGameObjectを作成する。
・作成されたGameObjectの名前をエリアの名称(例:53391540)に変える。更に、Inspectorウインドウを使って、Transformコンポーネントの値を以下のように変える。
・同様に空のGameObjectを作成し、使用したいすべてのエリア分の設定を行う。
・Projectウインドウに導入した各エリアのdem, lod1, lod2というファイルを、Hierarchyウインドウに作成したそれぞれのエリア用のオブジェクトにD&Dして子要素にする。
■確認
・試しに、Hierarchyウインドウにあるdem(どれでも良い)をダブルクリックしてSceneビューで確認してみましょう。以下のように、エリアが接続された状態で配置されていることがわかるはずです。※ALTキーを押しながらマウスボタンを押してドラッグで回転します。
・カメラの位置がオブジェクトから離れすぎているので、Gameビューで小さ~~くしか表示されていません。HierarchyウインドウのMain Cameraを選択し、TransformのPositionの値を以下のように設定してみてください。
・こんな感じになりました。
・カメラのTransformの値を色々変えて試してみましょう。
とりあえずおしまい。
Blog for ”Code for Yokohama”
Projectウインドウで右クリックして「Open C# Project」で直るっぽい。手軽でとても良い。
Projectウインドウで右クリックして「Open C# Project」で直るっぽい。手軽でとても良い。
プロジェクトのフォルダ直下にある拡張子が .csproj と .sln のファイルを削除してから開きなおすと良いみたい。
これらのファイルは無ければUnityエディタが自動的に作ってくれると公式サイトにも書いてあるので、削除しちゃっても安心です。