- 形状を外部参照としてインポート
キッチンルームにアセットを外部参照としてインポートしていきます。
この「キッチンを作る」では、キッチンルームを作る前にいくつかの小物をモデリングしていました。
これは「アセット」(3Dモデル、マテリアルなど含めた完成した資産)として様々なシーンで再利用できるようにしたものになります。
ここでは外部参照としてインポートする際の、いくつかの操作について説明していきます。
ブラウザでの整理
シーンとして規模が大きくなりますので、ブラウザで把握できるようにしておきます。
キッチンルームは以下のようになっています。
ブラウザでは、キッチンルームに属する形状は「キッチンルーム」パート内にまとめています。
「スイッチ」は外部参照となり、「リンク (スイッチ.shd)」と表示されています。
テクスチャイメージは「イメージパート」内に一覧されます。
背景画像、汚れを付けたときのノイズパターン、タイルのテクスチャ、床のテクスチャ、壁のテクスチャがあります。
外部参照の「スイッチ.shd」で使用するテクスチャイメージは、ここでは列挙されません。
すべてのマテリアル指定は、「マスターマテリアルパート」内に一覧されます。
形状に独立させた状態のマテリアルにはしないようにしています。
マスターマテリアル化したほうが管理しやすくなります。
外部参照している形状は「マスターオブジェクトパート」内に一覧されます。
各種形状をインポート
モデリング済みの各種形状をキッチンルームのシーンにインポートしていきます。
それぞれの形状は1つのshdファイルとして用意されています。
Shade3D ver.20のダウンロードコンテンツとしてこのキッチンのシーンはアセット含めて同梱されていますので、
合わせてご使用くださいませ。
ダウンロードコンテンツをインストール後は、ShadeExplorerから一覧できます。
ただし、ShadeExplorerからの形状の挿入では外部参照にはなりません。
そのため、直接shdファイルをインポートするようにします。
メインメニューの「ファイル」-「インポート」-「形状データ」を選択し、ファイルダイアログボックスより読み込む形状を選びます。
「原点を基準として読み込み」「外部参照」を選択しています。
こうすることで、シーンの原点(0, 0, 0)に指定の形状が外部参照として読み込まれます。
「カーソル座標を基準として読み込み」を選択した場合は、3次元カーソルの位置に配置されることになります。
ある程度位置が決まっている場合は、「カーソル座標を基準として読み込み」を使用するほうが手っ取り早いです。
形状を外部参照としてインポートすると、以下のようになりました。
外部参照の場合は「マスターオブジェクト」として、「マスターオブジェクトパート」に読み込んだshdファイルが列挙されます。
シーンにはリンクとして形状が配置されます。
ブラウザでマスターオブジェクトを選択すると、インポートした位置にマスターオブジェクトが表示されます。
このマスターオブジェクトはレンダリングには反映されません。
形状の移動や回転などは、リンクに対して行うようにします。
リンクの複製
リンクを複製するには、ブラウザでリンクを選択し、
ツールボックスの「作成」-「移動/複製」-「複製」-「移動」を使用します。
または、Windows環境の場合は[Shift] + [Z]キー(Macの場合は[Shift] + [option]キー)を押しながら
図形ウィンドウ上でマウスドラッグすることで複製できます。
ショートカットの「コピー」と「貼り付け」を使用した場合は、
リンクは複製後に何もないパートになってしまいます。この方法はリンクの複製では使用できません。
リンク元の形状を再編集する
形状を外部参照として読み込んだ後、再編集したい場合があります。
以下は「キッチンセット」を読み込んでいます。
シンクと上の棚は1つのマスターオブジェクトとして読み込まれます。
このとき上の棚の高さが低いため、元の形状を修正します。
ブラウザで対象となるマスターオブジェクト(この場合は「キッチンセット.shd」)を選択し、形状情報ウィンドウの「開く」ボタンを押します。
「キッチンセット.shd」がシーンとして開くため、上の棚の高さを調整します。
キッチンルームの天井は、床から2400mmの高さとしていました。
上の棚を選択し、一番上が2400mmの位置になるように移動します。
これをファイル保存します。
「キッチンセット.shd」のシーンを閉じます。
キッチンルームのシーンに戻ります。
ブラウザで「キッチンセット.shd」のマスターオブジェクトを選択したときに表示される形状情報ウィンドウで、「更新」ボタンを押します。
これで、シンクの上の棚が目的の位置に移動しました。
必要なアセットをインポート/配置して以下のようになりました。
白色のワイヤーフレームの形状が、外部参照としてインポートされたものです。
ブラウザ上では「アセット」という名前のパートを作成し、その中に外部参照されたリンク形状をまとめるようにしました。
外部参照を使用することで、インポートした形状はシーンで配置するだけになります。
また、個々の形状(アセット)はシーンとは完全に切り離して管理できることになるため、他のシーンでも再利用しやしくなります。
その他のモデリングしたアセット
このシーンでは、チュートリアルの「静物画のシーン」でモデリングしたテーブルやリンゴも利用するようにしました。
テーブル、リンゴを形状ごとにshdファイルに保存しています。
原点が接地の中心になるように位置調整し、それぞれにPBRマテリアルを与えるようにしました。
天井の蛍光灯、天井部に付ける食器棚、壁掛けのボードも別途モデリングし、外部参照としてインポートしました。
マスターオブジェクトパートには、インポートした外部参照としての形状が一覧されます。
個々の形状のテクスチャイメージやマテリアルは読み込んだシーン上では表示されないため、
大きなシーンの管理も簡単になります。
シーンと外部参照されたファイルを別の環境に渡すには ?
外部参照は、shdファイル上では絶対パスとして保持されています。
他の環境にシーンのshdファイルを渡して開く場合、外部参照されるファイルは同一パスにあるとは限りません。
そのため、シーンのshdファイルとアセットのshdファイルは、同一フォルダに入れて管理するようにします。
下画像の場合は、「kitchen_room.shd」がキッチンルームのシーンファイル、
それ以外が外部参照しているアセットになります。
こうすることで、絶対パス上の外部参照の形状が存在しない場合は、同一フォルダ上の同一ファイル名のものが参照されます。
プレビューレンダリングすると以下のようになりました。
まだこの段階ではライティング調整、レンダリング調整を行っていません。
テーブルに光が当たっておらず、逆光になっています。
次回、ライティングとレンダリング調整を行い、作品として完成させていきます。