MRが楽しい

MRやVRについて学習したことを書き残す

HoloLens用のオリジナルモデルを作成する その20(スムーズ処理と線分離)

本日はホロ恋子モデルの作成枠です。
今回はレンダリングのスムーズ処理について行った調査をまとめます。
f:id:bluebirdofoz:20180601011330j:plain

前回、鋭角を保ちたい辺について、クリース付けを行うことでその形を保つ方法をまとめました。
bluebirdofoz.hatenablog.com

一方で、レンダリングのスムーズ処理についても同じ問題が発生します。
つまりスムーズ処理についても陰影を滑らかにしてほしくない辺と、してほしい辺というものが存在します。
以下はHMDディスプレイオブジェクトにスムーズ処理をかけた状態です。
全ての辺の陰影が滑らかになっていることが分かります。
f:id:bluebirdofoz:20180601011417j:plain

スムーズ処理には「細分割曲面モディファイア」での「クリース」にあたる辺毎の強弱の設定項目がありません。
必ず、隣り合った面の陰影が滑らかになってしまいます。

そこで対応策となるのは面を分離することです。立方体で試してみます。
上は全ての面が結合した立方体をスムーズ処理をかけたケースです。
下は上部の面のみ切り離された立方体をスムーズ処理にかけたケースです。
f:id:bluebirdofoz:20180601011440j:plain
下の例では、上面のみ陰影のスムーズ処理が行われていないことが分かります。
これは面を分離したことで、上面と他の面が隣り合った面ではなくなったためです。

ではスムーズ処理を掛けたくない辺を全て分離するのかという話ですが、これは非現実的です。
実際に面を分離してしまうと、重複頂点の削除など、後々のメッシュ整理が難しくなります。
そこで「辺分離モディファイア」を用います。
f:id:bluebirdofoz:20180601011455j:plain

これは「シャープ」設定が行われた辺について、オブジェクトのモディファイア処理で分離を行う機能です。
例えば以下のように、スムーズ処理を行いたくない辺を選択し、Ctrl+Eキーでシャープを設定します。
f:id:bluebirdofoz:20180601011528j:plain

オブジェクトに「辺分離モディファイア」を追加し、「シャープな辺」にのみチェックを入れます。
f:id:bluebirdofoz:20180601011538j:plain

この状態で、レンダリングのスムーズ処理を有効にすると、シャープに設定した線はスムーズ処理が行われなくなります。
f:id:bluebirdofoz:20180601011551j:plain

これは「辺分離モディファイア」で辺分離が行わた後に、レンダリングのスムーズ処理が行われるためです。
一方、実際の頂点編集では、辺が分離されていないため、重複頂点の削除などが問題なく行えます。
あくまでベイクを実施するための手段なので、この辺分離モディファイアは反映しないように気を付けます。
f:id:bluebirdofoz:20180601011611j:plain

最後に、この「辺分離モディファイア」と「細分割曲面モディファイア」を併用する際に注意すべき点があります。
事象を分かりやすくするために、ポリゴン数を削ったUV球を用意します。
これを上下のスムーズ処理を分けるため、中央のラインにシャープを設定し、辺分離モディファイアで分離することにします。
f:id:bluebirdofoz:20180601011624j:plain

この状態でオブジェクトに対し、「辺分離モディファイア」と「細分割曲面モディファイア」を設定します。
すると、「辺分離モディファイア」を先に設定した状態と、「細分割曲面モディファイア」を先に設定した状態では微妙に形状が異なってしまいます。
f:id:bluebirdofoz:20180601011634j:plain

これはモディファイアは上から順に適用される仕様によるものです。
つまり、「辺分離モディファイア」を先にすると、上下で別れたオブジェクトに対して「細分割曲面モディファイア」がかかるようになります。
意図する作業によって使い分ける必要があります。
今回の辺分離はレンダリング向けの調整なので、必ず細分割曲面の後に設定しておくようにします。