The Making of 踊る巨大埴輪
下の記事でGoogle Earthのタイムラインアニメーションのサンプル「踊る巨大埴輪」を作成しましたが、自分でも忘れそうなので取り敢えず作成手順をメモしておきます。(^^ゞ Google Earth Blogで紹介されていた"3D Video Inside Google Earth"のように、タイムラインアニメーションでGoogle Earth上でムービーを再生しているように見せるようなものでも作れると思いますが、この方法では手作業なのでめっちゃ面倒でしょう。しかし、作業自体は単純なのでやりたいことがはっきりしていれば自動化も可能かも。あとはアイディア次第ですね。
1. Google SketchUpでパーツごとに[File]メニューの[Export - 3D Model...]で[Google Earth 4 (*.kmz)]形式のKMZファイルとして書き出す。「踊る巨大埴輪」の例では体と腕(右手上左手下、左手上右手下)の計3つのKMZファイルとして書き出した。
2. 書き出したKMZファイルの拡張子をZIPに変更し、それぞれ新しいフォルダに解凍する。ZIPフォルダの中には[images][models]の2つのフォルダと"doc.kml"、"textures.txt"という2つのファイルがあり、[images]フォルダの中にはモデルに貼り付けたテクスチャ画像が、[models]フォルダの中には拡張子DAEのCollada形式のモデルデータが格納されている。
3. 解凍した代表的なパーツの[models]フォルダに、その他のパーツの[models]フォルダにあるDAEファイルをコピーする。[images]フォルダにある画像ファイルも同様にコピーする。「踊る巨大埴輪」では胴体のパーツに2種類の腕のモデルおよび画像データをコピーした。
4. 代表的なパーツの"doc.kml"をテキストエディタで編集する。Google SketchUpから書き出した"doc.kml"ファイルの中身はおおよそ以下のような構造になっている。2つ目に登場する<Folder>...</Folder>はツアーモードを表しており、必要なければ削除してもかまわない。
<kml xmlns='http://earth.google.com/kml/2.1'>
<Folder>
<Folder>
<Placemark>
</Placemark>
</Folder>
<Placemark>
<Model>
モデルデータ1(胴体)...
</Model>
</Placemark>
</Folder>
</kml>
5. 代表的なパーツの"doc.kml"のモデルデータの<Placemark>...</Placemark>の下に、その他のパーツの"doc.kml"からモデルデータ部分の<Placemark>...</Placemark>をコピーし、タイムラインに対応する<TimeSpan>...</TimeSpan>を追加する。ずっと表示し続けるパーツには<TimeSpan>...</TimeSpan>は記述しなくてよい。また、必要に応じて<name />やdescription />などを修正。"doc.kml"ファイルはUTF-8で保存する必要がある。
<kml xmlns='http://earth.google.com/kml/2.1'>
<Folder>
<Folder>
<Placemark>
</Placemark>
</Folder>
<Placemark>
<Model>
モデルデータ1(胴体)...
</Model>
</Placemark>
<Placemark>
<TimeSpan>
<begin>2007-01-01</begin>
<end>2007-01-02</end>
</TimeSpan>
<Model>
モデルデータ2(腕1)...
</Model>
</Placemark>
<Placemark>
<TimeSpan>
<begin>2007-01-02</begin>
<end>2007-01-03</end>
</TimeSpan>
<Model>
モデルデータ3(腕2)...
</Model>
</Placemark>
</Folder>
</kml>
6. 代表的なパーツのフォルダをZIPフォルダ形式で圧縮し、拡張子をZIPからKMZに変更すれば出来上がり。今回はテクスチャが同一だったので編集しなかったが、"textures.txt"ファイルには[image]フォルダの中にある画像ファイルのパスを書く。アングルの調整などはGoogle Earthに一度読み込んで、Google Earth側でKMZファイルに再保存したほうが楽。
http://pub.ne.jp/tb.php/540042