« skpファイルのインポートテスト3 | Main | Blenderでヘアパーティクル »

January 11, 2010

skpファイルのインポートテスト4

ということで、しつこくフリー版のSketchUPでGoogle3DモデルのデータをBlenderにインポートする実験。

先日の方法でもインポートできるものはできますが、サイズの大きなデータだとSketchUPで分解するのに手間もかかるし、ハングアップしたかと思うほど恐ろしく時間がかかることもあるので、コンポーネントを分解しないでインポートする方法。

1.フリー版SketchUp7で(念のためGoogleEarthのモデル作成用テンプレートで)公開されているモデルを取得。
 (ほかのモデルを追加でインポートしたり、別に形状を作ったりしない)
2.モデル全体をコンポーネントごとできるだけ縮小。(10分の1~1000分の1程度)
(コンポーネントの中にロックされているものがあるとインポートに失敗するようなので、その場合はコンポーネントを分解してみて赤いバウンディングボックスが出たところでロックを解除)
3.ファイル>エクスポート>3Dモデルで任意の名前でkmzファイルとして書き出し
4.書き出したファイルの拡張子kmzをzipに変更して解凍
5.BlenderのFile>ImportのCOLLADA 1.4(.dae)を使って4で解凍したフォルダ中のmodels内のモデルデータ(.dae)をインポート
6.インポートに成功してもオブジェクトが表示されない場合はHomeキーやズームアウトで形状を表示。それでも表示されない場合はSketchUpでもっと縮小してエクスポートしなおす。
7.オブジェクトモードでウインドウメニューのSelect>Select All by Type>EmptyでEmpty全てを選択して削除。
8.一緒にインポートされたCameraを選択して別なレイヤーに移動して隠すか、削除。
9.Aキー等でオブジェクト全てを選択して、Ctrl+Jでひとつのオブジェクトにする。
10.オブジェクトを選択してAlt+P(親子関係を解除)。
11.必要なら選択状態でCenter New。あとはスケーリングでサイズ調整。
12.重複ポイントが非常に多い場合もあるので、必要ならエディットモードでVertex全選択状態でRem Double。

以上でかなりポリゴンが多いデータも比較的楽にインポートできました。
ただ、マップは崩れることも多いです。
上記工程9のせいで1オブジェクト16マテリアルまでというBlenderの制限にひっかかって色やテクスチャが変になる事もあります。

今回の方法でインポートしたデータをマテリアルのスペキュラーをいじる程度でそのままレンダリングしてみました。
ものは第二次世界大戦時のドイツの三号戦車。

Pziii_3c

キャタピラのパーツ一個まで丁寧に作ってあるこのデータPanzerkamfwagen (Panzer) III Ausf. Gはポリゴンが多く、Blenderにインポートする工程だけで数分かかりました。
比較的マップは崩れませんでしたが転輪の部分等が変になってしまっています。

Pziii_2r

もとのデータはこちら。作者は Synterniaさんです。
google 3Dギャラリーにアップしてあるデータは作りこみが凄くて出来の良いものが多くて驚かされます。

2010.1.12追記:
フリー版で使えるSketchUp用OBJ出力プラグイン、.Obj File Exporterを試してみました。小さいデータならこれは楽ちんそうですが、車など、多少作りこまれているようなものを出力しようとすると途中で止まりますね。
エクスポートに成功してテクスチャも書き出されているのにBlenderにインポートするとついて来ないようですし、何かやり方が間違ってるのかな?

形状だけなら旧バージョンの書き出しは速いようですが・・・うまく出力されないパーツがあったりする…

|

« skpファイルのインポートテスト3 | Main | Blenderでヘアパーティクル »

Comments

Post a comment



(Not displayed with comment.)




« skpファイルのインポートテスト3 | Main | Blenderでヘアパーティクル »