最近、本格的にiBooks Authorを使っています。iBooks Authorには豊富なウィジェットが用意されていて、動画やKeynoteのスライドを埋め込めたり練習問題を設置できたりします。その中の一つに3Dイメージというものがあって、ユーザーが自由に操作できる3Dオブジェクトを設置できるというものです。この機能を使って分子の3Dモデルを入れ込もうしたのですが、なかなかうまくいきません。が、試行錯誤して、とりあえず使えるレベルのものができたので公開しておきます。
Meshlabで失敗
まず、iBooks Authorで対応している3DフォーマットはCOLLADA(拡張子.dae)というもの。この形式のファイルを作成できないと話になりません。普段はPyMOLを使って.pdbや.molファイルを表示させていますが、PyMOLはCOLLADAフォーマットでの書き出しができません。調べてみたところ、MeshlabというソフトでCOLLADA形式の書き出しが可能ということでした。さっそく表示させたい分子の.pdbファイルをMeshlabで開き、COLLADAで書き出してみました。しかし、書き出した.daeファイルをiBooks Authorに追加しようとすると、
「シーンを読み込めなかったため、3Dファイルは追加されませんでした。」という悲しいお知らせが。
「ブックは変更されませんでした。」
Appleのサポートページに書かれている「3Dモデルを使うための最良の方法」内容を読んでも、3Dの知識を全く持ち合わせていない僕には意味不明です。そんな中、Apple Support Communitiesで同様の問題をかかえたユーザーがいるのを発見しました。そして、この質問への返信の中でBlenderを使う方法が示されていました。
Blenderを使おう
上記の返信にはBlenderを使って.daeファイルを出力するまでの方法が細かく書かれていますが、いくつかの手順を省いてもOKなことがわかったのでその方法を紹介します。
- .pdbや.molファイルをPyMOLで開く
- VRML 2(拡張子.wrl)で書き出す
- Blenderで.wrlファイルをインポート
- Blender画面右上に表示されるLamp, Cube, Cameraを削除
- COLLADAで書き出す
- iBooks Authorに追加
この手順と、実際にiPad上で3Dモデルが動いている様子をまとめた動画を作りました。影が過剰に付いてしまったり、PyMOLほどテクスチャーの表示は滑らかではありませんが、一応実用レベルなんじゃないかと思います。Blenderの使い方を覚えれば、このへんもなんとかなるんでしょうか。3Dって難しいですね。