SketchUp は、建築のモデリングで一般的に使われているソフトウェアです。以前は、SketchUp のモデルを Unity で表示するために、ユーザーは Unity がサポートし、変換用の形式として使っている中間の形式に、変換する必要がありました。
この問題を解決し、現在、 Unity は SketchUp のファイルを変換することなく、直接インポートすることができるようになりました。また、以前は不可能でしたが、SketchUp ファイルの一部プロパティーに Unity からアクセスすることが可能になりました。
用語 | Definition(定義) |
---|---|
Node | node は SketchUp の エンティティ、グループ、コンポーネントインスタンスの総称 |
Geo Coordinate | 地理システム上で位置を特定する座標系 |
SketchUp のファイルを Unity にインポートするのは、 Unity がサポートしている 3D モデル(FBX形式など)をインポートするのとほぼ一緒です。インポート方法は 3 通りあります
メニューバーで Assets -> Import New Asset.. の順にクリックします
Project ウィンドウにファイルをドラッグ&ドロップします
Project ウィンドウのコンテキストメニューで「Import New Asset…」を選択します
モデルをインポートしたら、そのモデルをシーンに配置して使う事ができます。 SketchUp ファイルの階層は、 Unity のゲームオブジェクトの階層によって維持されています。
モデルをインポートすると、そのモデルのマテリアルとテクスチャは、インポートした場所にある、別々のフォルダー 2 つに分かれてインポートされます。マテリアルは「Material」、テクスチャは「Texture」という名前のフォルダーです。
SketchUp ファイルからインポートされたテクスチャは、 Unity にインポートされた時点での、元のファイル名を維持しています。
SketchUp ファイルからインポートされたマテリアルは、 SketchUp のファイル名がマテリアル名のプレフィックスになります。
Unity は SketchUp ファイルにあるノードのビジビリティ設定を見て、そのノードをインポートするかどうかを決めます。
SketchUp ファイルを最後に保存したときに、ノードがハイドに設定されていた場合、 Unity はそのノードをインポートしません。
仮に、複数の椅子をライブラリ化した SketchUp のファイルがあるとします。その中からいくつかの椅子だけをシーンに読み込みたい場合は、 SketchUp ファイルから必要なオブジェクトだけをインポートすることが可能です。これを実行するには、 SketchUp ファイルをインポートするときに、 Mac では ‘option’ キー、 Windows では ‘alt’ キーを押し続けます。
すると、何をインポートするか選択するダイアログが現れます。
このダイアログには、ファイル内にあるコンポーネントのインスタンスと、グループが表示されています。これによって Unity3D にどのコンポーネントのインスタンスや、グループをインポートするかを選択することもできます。
選択が終わったら、OK ボタンをクリックすると選択したノードだけがインポートされます。
デフォルトでは、 Unity はポリゴン数を削減するために表ポリゴンしかインポートしません。 例外は、 SketchUp 上で裏面ポリゴンにマテリアルが設定されていた場合です。
裏面ポリゴンを生成したいのであれば、 SketchUp Model インスペクターで設定することができます。
Unity は、デフォルトではモデルのスケール 1m(0.0254 インチ) を Unity の 1 単位として SketchUp ファイルをインポートします。
SketchUp Model インスペクターでインポート時のスケールを変更することができます。
SketchUp の Component Definition、Component Instance、Group を生成するとき、Unity は同じ概念を使用します。
Component Definition と Group はメッシュ内に生成されます。 そして、メッシュは、GameObject としてインスタンス化され、シーン内に置かれます。
インポートした SketchUp モデルのインスペクターに、いくつかのオプションがあります。 インスペクターで加えた変更を有効にするには、「Apply」ボタンをクリックする必要があります。
Unity はファイルの各シーンごとに SketchUp ファイルのカメラデータを抽出し保管します。そのため、それを後で使用することができます。データの検索に関しては、API に関するページを参照してください。
Unity は SketchUp ファイルの座標 (存在する場合) を抽出し保管します。この値は SketchUp モデルインスペクターを通して見ることができます。または、データを取り出す方法についてAPI リファレンスを参照してください。
デモパッケージは、Unity にインポートされた SketchUp のシーンのカメラと座標がどのように抽出されるかを説明します。
デモパッケージには以下が含まれます。