この記事ではラインセットの検出設定を編集して、オブジェクトの意図した個所にラインを描画する方法を解説します。
目次
1 髪の検出設定を行う
それではキャラクターの髪の不要なラインを描画しないように設定していきます。まずはどの検出設定が不要か確認します。
レンダリングした画像では、髪のメッシュに[交差]のラインが多く描画されています。また、髪のオブジェクトは面と裏で異なるマテリアルを割り当てます。このため[マテリアルID境界]のラインが描画されています。検出設定を変更して意図した箇所にラインを描画するように変更していきます。
[オブジェクト][交差][マテリアルID境界]など不要なラインを描画しないようにするには、検出設定名の右側にあるチェックボックスを OFF にします。これで不要なラインを消すことができました。
1-2 任意のエッジにラインを描画する
不要なラインを消すことができましたが、ラインが減り単調な印象になりました。そこでメッシュのエッジに対してラインを追加します。
Pencil+ ラインには任意の箇所にラインを描画する方法がいくつかあります。ここでは[ハードエッジ]を使用する方法と、[選択エッジ]を使用する 2 つの方法を紹介します。
1-2-1 ハードエッジを使用する方法
Pencil+ ラインではハードエッジを[スムージングID境界]としてラインを描画できます。
ハードエッジを設定するにはオブジェクトを選択してから[エッジ選択モード]に切り替えます。エッジを選択して Maya メニューの[メッシュ表示]から[ハード エッジ]をクリックします。
[スムーズ メッシュ プレビュー]と[Pencil+ 4 レンダリング設定]を使用すると、[スムーズ メッシュ プレビュー]をレンダリングできるようになります。しかし、Maya の[スムーズ]はスムージングを再生成するため、ハードエッジの情報が消えてしまい[スムージングID境界]として描画できません。[スムーズ]を使用したレンダリングでハードエッジを維持したい場合は、[サブディビジョン方法]の[グローバルを使用(OpenSubdiv Catmull-Clark)]チェックを OFF にして、プルダウンメニューから[Maya Catmull-Clark]選択してください。さらに[スムーズ メッシュ]メニューの最下部にある[Maya Catmull-Clark コントロール]の[エッジ硬度の伝播]をONにするとハード エッジのラインを描画できます。
1-2-2 選択エッジを使用する方法
Pencil+ ラインは[選択エッジノード]を追加して、コンポーネントモードで選択中の頂点、エッジ、ポリゴンの境界にラインを描画できます。
選択エッジの設定方法はオブジェクトでエッジを選択して Maya メニューの[作成]から[セット]を追加します。次に追加された[セット]を選択した状態で[選択エッジノードを追加]をクリックして、セットに PencilSelectedEdge ノードを追加します。
ハードエッジと選択エッジは、どちらもメッシュのエッジに対してラインを描画しているため同じように感じるかもしれませんが、以下のような違いがあります。
- ハードエッジはスムージングを変更するためシェーディングに影響がでます。
スムージングは FBX ファイルに出力できるので、3ds Max、Blender、Unity など他のソフトウェアにスムージング情報を出力できます。 - 選択エッジはシェーディングに影響は出ません。
Maya の FBX 書き出しオプションの[セレクション セット]オプションを ON にすると FBX ファイルに選択セットを出力できるので、3ds Max にエッジの情報を出力できます。
どちらを使用してもメッシュのエッジに対してラインを描画できます。データの保持方法が異なるので、作業フローに応じて都合のよい方を使用してください。
今回のキャラクターではシェーディングへの影響を避けるため、選択セットを使用する方法を採用しました。
2 顔の検出設定を行う
キャラクターの顔では目と肌の境界や、口の内側と外側のラインを描画しないように設定します。
このオブジェクトで肌と白目の境界にラインが描画されるのは、目と肌のメッシュがわかれているのが原因です。肌と白目の境界がアウトラインやオブジェクトの[オープンエッジ]として描画されています。
目と肌の境界にラインを描画しないようにするため、アウトラインとオブジェクトの検出設定で[オープンエッジ]を OFF にします。
口の内側と外側には異なるマテリアルが割り当てられています。このため[マテリアルID境界]が描画されています。口の内側と外側の境界のラインを描画しないようにするために、[マテリアルID境界]を OFF にします。
これで顔から不要なラインを消すことができました。
3 鼻筋や服のしわの検出設定を行う
鼻筋や服のしわなど任意の位置にラインを描画する方法を紹介します。アニメやイラストでは鼻筋や服のしわに沿ったラインが描かれることが多いです。
髪では[ハードエッジ]や[選択エッジ]を使用する方法を紹介しました。しかし服のしわのように自由な曲線を描く場合、必ずしもしわを入れたい箇所にメッシュのエッジがあるとは限りません。
このような箇所にラインを描画したい場合は検出設定の[交差]を使用します。
交差を使用してラインを描画する方法は簡単です。ラインを描画したい箇所にポリゴンを配置します。
この状態でレンダリングすると交差用の緑色のメッシュがレンダリングされます。
交差用のメッシュはレンダリングしたくないので、交差用のメッシュに透明な Pencil+ マテリアルを設定します。透明なマテリアルの作成方法は「透明度を設定する」の解説と同じです。 [透明度]を白 RGB(255,255,255) にします。
これで交差を使用したラインを描画できました。しかし、透明なマテリアルを割り当てた裏側のラインが途切れていることに気がつくかもしれません。
透明なマテリアルを設定するとメッシュ自体は見えなくなります。しかし、データとしてはメッシュが存在するため[隠線]と判定された部分のラインが描画されず、ラインが途切れてしまいます。
この問題を解決するため Pencil+ マテリアルの[ライン関連機能]には隠線となったラインを描画する特殊な設定があります。透明なマテリアルの裏側にあるラインを描画する場合は、[ライン関連機能]の[全ての隠線を可視線として描画]を ON にします。
[全ての隠線を可視線として描画]は、通常は隠れてしまうはずの裏側のラインを描画する例外的な処理を行う機能です。本来は Pencil+ ラインの隠線を使用して同じような表現を行うこともできますが、マテリアル単位で例外として扱った方が設定しやすい場合があります。[ライン関連機能]にはこのような例外処理を行うアトリビュートがまとまっています。
最後に交差用のラインセット「IntersectionSet」を作成して交差用のマテリアルを追加します。交差したラインは常に描画したいので、ラインセットはリストの一番上に配置します。また、[交差]以外の検出設定を全て OFF にします。
これで交差を使用して好きな位置にラインを描画できるようになりました。
4 ラインの色と太さを共有する
これまでの工程で複数のラインセットを作成しましたが、使用するラインの色や太さはある程度同じ設定を使うことが多いと思います。
後からラインの色や太さを変更したい場合に、ラインセットの数だけ設定し直すのは手間がかかります。そこで PencilBrushSettings ノードを共有します。
4-1 デフォルトのブラシ設定と個別のブラシ設定
[ブラシ設定]と[個別のブラシ設定]について解説します。ラインセットにはデフォルトのブラシ設定と、個別のブラシ設定の 2 種類があります。「Pencil+ ラインの色と太さを設定する」では[ブラシ]領域を使用してラインの色と太さを変更しました。この領域はデフォルトの[ブラシ設定]です。
エッジ階層にはラインの検出設定ごとに[個別のブラシ設定]があります。
[個別のブラシ設定]を使用すると[アウトライン]や[交差]など検出設定ごとにラインの色や太さを変更できます。ボタンの右側にあるチェックボックスを ON にすると機能が有効になり、PencilBrushSettings ノードが作成されます。アトリビュート右側にある入力接続ボタンをクリックすると PencilBrushSettings ノードのアトリビュートが表示されます。デフォルトのブラシ設定も[個別のブラシ設定]も PencilBrushSettings ノードと接続されています。PencilBrushSettings ノードはさらに PencilBrushDetail ノードと接続されています。
この階層表示はノード エディターで各ノードを選択するかアトリビュートのタブで[ブラシ詳細設定]と[基本設定へ]相互に切り替える事ができます。
それでは PencilBrushSettings ノードと PencilBrushDetail ノードを共有にする手順を解説します。
4-2 デフォルトのブラシ設定を他のラインセットと共有する
[ブラシ設定][ブラシ詳細設定]の共有は、ノード エディタを使用して各ノードの[メッセージ]チャンネルを接続しておこないます。ノードを接続すると、PencilBrushSettings ノードの設定が他のラインセットノードから参照されます。4-2-1 ブラシ設定を共有する手順
- ノードエディターを開いて Pencil+ ラインノードの接続を表示します。
- PencilBrushSettings ノードの[メッセージ]を、共有したいラインセットの[Brush Settings]チャンネルに接続します。
同様の手順で PencilBrushDetail ノードを共有できます。
PencilBrushSettings ノードや PencilBrushSettings ノードの名称は変更すると管理がしやすくなります。
これでキャラクターに基本的なラインを設定できました。
アニメのような均一なラインの設定という意味では、これで十分使える設定になっていると思います。次の項目ではもう少し凝った表現として、イラストのように強弱を持ったラインの設定について解説したいと思います。
今回は PencilBrushSettings ノードや PencilBrushSettings ノードを共有する方法を紹介しましたが、Attribute Spread Sheet を使うと複数のラインセットのアトリビュートをまとめて編集できます。
Attribute Spread Sheet を使用する場合でも、ブラシ設定をインスタンス化して管理することで、編集ミスを減らすことができます。
次の記事
次の記事では 漫画やイラストのようなラインの設定方法を解説します。