- モデリングしたアセットの一覧
- 湯呑茶碗のモデリング
- スタジオシーンの作成とレンダリング
- 外部参照を活用
調理道具の小物形状をアセットとしてモデリングします。
ここでは、いくつかのモデリング手順を示しつつ、アセットとして管理したときの流れを記載します。
アセットについて
小物形状は1つ1つ別シーンでモデリングし、「アセット」として管理します。
「アセット」は3Dのシーンを構築するときの素材(リソース)を指します。
ここでは3Dモデルの形状自身をアセットとしていますが、テクスチャイメージや背景HDRI、音声などもアセットになります。
概念的ではありますが、1つのシーンにとどまらず将来的に「資産」として利用するものになります。
ここではShade3D内のモデリングで、Shade3Dのレンダリングが最終出力手段になりますが、
アセットとしてリアルタイムエンジンのUnityに持って行ったり、VRやARで活用したり、幅広く再利用することを目的にしています。
モデリングしたアセット
今回のテーマのキッチンのシーンでは、たくさんのアセットをあらかじめモデリングしました。
全部で43個分あります。種類別に列挙します。
調理道具
形状名 | レンダリング |
---|---|
おろし金 | |
お玉 | |
キッチンバサミ | |
しゃもじ | |
フライパン | |
へら | |
へら2 | |
ボウル | |
まな板 | |
計量カップ | |
計量スプーン | |
菜箸 | |
水切りボウル | |
鍋(大) | |
鍋(中) | |
皮むき | |
包丁 | |
網じゃくし |
食器類
形状名 | レンダリング |
---|---|
お椀 | |
コップ | |
スプーン(小) | |
スプーン(大) | |
はし | |
はし立て | |
フォーク | |
皿(小) | |
皿(大) | |
湯呑茶碗 | |
盆 |
キッチンの建物要素
形状名 | レンダリング |
---|---|
キッチンセット | |
コンロ | |
スイッチ | |
ラック | |
レンジフード | |
蛍光灯 | |
食器棚 | |
水道の蛇口 |
その他の小物
形状名 | レンダリング |
---|---|
Sフック | |
フック | |
缶コーヒー | |
三角コーナー | |
保存容器(丸) | |
保存容器(四角) |
1つの形状を1つのshdファイルで管理しています。
モデリングの際に設けたルール
1つの形状は、以下のルールを設けています。
- 現実の寸法でモデリング
- 原点を中心に接地した状態で配置
- すべての表面材質を「マスターマテリアル(マスターサーフェス)」にする
- 極力PBRマテリアルを割り当てる
- 表面材質の「継承」を使用しない
- テクスチャはUVマッピングを使用し、プロシージャルテクスチャ(ソリッドテクスチャ)を利用しない
- レンダリングブーリアンを使用しない
- 省略できそうな箇所は省略し、個々のアセットはシンプルにする
いくつかのルールは、他ツールに形状を渡しやすくする目的もあります。
モデリング時には、原点が形状の接地位置の中心になるようにします。
寸法は「メジャーツール」や形状情報ウィンドウのバウンディングボックスのサイズで確認します。
Shade3Dのデフォルトの単位はミリメートルになります。
マテリアル(表面材質)を「マスターマテリアル(マスターサーフェス)」にする理由は、
他ツールへのエクスポートを想定しているのと、どの材質を割り当てたかというのをマスターマテリアルパートで一覧管理しやすくする目的があります。
また、1つのシーンに複数のアセットをインポートする場合、同一マテリアルをまとめやすくなります。
表面材質の継承を使用しない目的は、PBRマテリアルで継承がサポートされていないというのと、
継承を使用してマテリアルが複雑化しないようにするためです。
表面材質のマッピングでプロシージャルテクスチャを使用しない、レンダリングブーリアンを使用しないのは、
他ツールにエクスポートする際に極力そのまま形状やマテリアルを渡せるようにする目的があります。
湯呑茶碗のモデリング
アセットの皿についてはチュートリアルの「皿を作る」、フォークについてはチュートリアルの「フォークを作る」をご参照くださいませ。
モデリング手順は同じになります。
回転体を使用するものは、今までチュートリアルで書いた手順で比較的簡単にモデリングできるかと思います。
ここでは手始めに、回転体では初歩的な「湯呑茶碗」をモデリングしてPBRマテリアルを割り当てる手順を記載します。
回転体で形を作る
「開いた線形状」を下画像のように正面図で配置します。これは湯呑茶碗の断面の線形状になります。
正面図で見て、開始位置と終了位置がX=0になるようにします。
ツールボックスの「編集」-「共通」-「立体化」-「回転体」を選択し、
グリッドスナップをオンにして正面図でY=0の位置の下から上に向けてドラッグします。
これで形状ができました。
テクスチャを作成
回転体をブラウザで選択し、統合パレットの表面材質を表示、「新規PBRマテリアル」を割り当てます。
ShadeExplorerより、「テンプレート/UV」の「checker_color_512.png」をマッピングのテクスチャに割り当てます。
これは、テクスチャがどのように貼られるのか確認する作業になります。
この場合、テクスチャの下から中央までが外側、中央から上までが内側のマッピングがされています。
中央が折り返しの箇所になっています。これは、回転体を作成したときのポイントの与え方により変わります。
これを元に、ペイントツールで以下のようにテクスチャを描きました。
PBRマテリアルを割り当て (ver.20 -)
これをShade3Dに読み込み、PBRマテリアルのマッピングで「イメージ/ベースカラー」で割り当てました。
このとき合成モードを「通常」にし、「基本設定」の「ベースカラー」値の影響を受けないようにしています。
これにより、テクスチャ自身の色がレンダリング時に反映されます。
基本設定の「メタリック」は0.0、「ラフネス」は0.0、と初期設定のままとしました。
表面材質をマスターマテリアルにし「YunomiCyawan」と名前を付けました。
また、回転体の形状名を「湯呑茶碗」と変更しました。
湯呑茶碗の形状を原点が底の中心になるように移動し、モデリング完了です。
寸法が現実のサイズに合うように確認/調整するようにします。
shdファイルを保存します。「湯呑茶碗.shd」というファイル名にしました。
これを湯呑茶碗のアセットとします。ここではレンダリングは行いません。
光源やカメラの割り当ても行いません。
これは他のシーンにインポートする目的で使用するため、レンダリング確認は別シーンを用意して行います。
スタジオシーンを作成 (ver.20 -)
ShadeExplorerより「プリセット/形状/00_New/Light_Room」の「hanako_light_3lamp.shd」を読み込みます。
このファイルを「light_3lamp.shd」とリネームして保存します。
これは、三点照明として3つの面光源が配置されたシーンになります。
この中央(原点)位置に形状を読み込みレンダリングを行う「スタジオ」とします。
スタジオシーンの調整
キャラクタのポリゴンメッシュを削除し、スタジオだけにしておきます。
そのままではリニアワークフローの指定がされていませんので、以下の調整を行います。
イメージウィンドウのレンダリング設定を開き、「レンダリングスタイル」で「初期設定」を選択し、パラメータをクリアします。
「イメージ」タブの「ワーキングカラースペース」が「リニアsRGB(ガンマ1.0)」、
「出力カラースペース」が「sRGB」になっていることを確認します。
「手法」を「パストレーシング」にし、「大域照明」タブで「大域照明」を「パストレーシング」にします。
その他のパラメータは初期設定のまま使います。
「色補正」ウィンドウを表示し、「ガンマ」を1.0にします。
ブラウザで面光源を3つ選択し、形状情報ウィンドウの「光源属性」の「可視」チェックボックスをオンにします。
PBR時はより物理的なレンダリングが行われるため、光沢の表現は映り込みで表します。
面光源を映り込ませることで、鋭い光沢を表現することになります。
ShadeExplorerより「プリセット/背景」の「Conference_room.shdbgr」を背景として読み込みます。
背景ウィンドウで「光源としての明るさ」を0にします。
これは、光源としては反映しないようにして鏡のような映り込み表現を行う効果があります。
背景は、映り込みになりそうなものならどの背景でも問題ありません。
スタジオシーンをファイル保存します。
このスタジオシーンはすべてのアセットのレンダリングで使用する土台になります。
湯呑茶碗をスタジオシーンにインポートしてレンダリング (ver.20 -)
スタジオシーンにモデリングした湯呑茶碗をインポートします。
メインメニューの「ファイル」-「インポート」-「形状データ」を選択し、「湯呑茶碗.shd」を読み込みます。
この際にファイルダイアログボックスで「原点を基準として読み込み」と「外部参照」を選択します。
この指定により、原点を中心として外部参照として形状が読み込まれます。
以下のように形状がスタジオシーンに読み込まれました。
形状サイズが小さい/大きい場合は、カメラ位置を変えるか形状「リンク(湯呑茶碗.shd)」をリサイズしてレンダリングします。
この工程は、あくまでも1つのアセットの形とマテリアルの確認になるため、リサイズは暫定処置になります。
レンダリングすると以下のようになりました。
少し角ばっています。これは、回転体の分割数が足りないために起きています。
外部参照元の「湯呑茶碗.shd」のシーンで、
ブラウザで「湯呑茶碗」形状名を「<湯呑茶碗」とします。
「<」を先頭につけると分割数が上がります。
湯呑茶碗.shdをファイル保存し、参照先のシーンでマスターオブジェクトとしての「湯呑茶碗.shd」を選択、
形状情報ウィンドウで「更新」ボタンを押すことで外部参照の変更が反映されます。
レンダリングすると以下のようになりました。
PBRマテリアルの調整が必要な場合は、この段階で修正するようにします。
オリジナルの「湯呑茶碗.shd」でもこの変更を入れて再度保存します。
このように、モデリングを行いアセットとして保存。
スタジオシーンにshdファイルを外部参照としてインポートしてレンダリング、
とすることで、レンダリング環境はすべてスタジオシーンに任せて作業を短縮できます。
また、アセット自身はインポート時に光源やカメラなどの不要なデータも入らないためシンプルに管理できます。
冒頭のアセット一覧は、すべてこのスタジオシーンでレンダリングしたものになります。
今回は「湯呑茶碗」のアセットのモデリングからレンダリングまでの説明でした。
すべてのアセットはこの工程を行うことになります。
後は慣れではあるのですが、どの形状をどの手段(回転体や自由曲面を使うか、ポリゴンメッシュを使うか)でモデリングしたら制作時間を短縮できるか、
というのを直感的に判断できるようになれば、かなりモデリングの腕が上達したことになりそうです。
次回以降、モデリングの訓練としていくつかのアセットの作成手順を解説していく予定です。