MRが楽しい

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

MRTKのMeshOutlineを使って輪郭線の表現を利用する

本日は MRTK の小ネタ枠です。
MRTK の MeshOutline を使って輪郭線の表現を利用してみます。

MeshOutline

MRTK で提供されている輪郭線を表示するためのスクリプトです。
Post-processing を利用しないため、描画コストを抑えることができます。
docs.microsoft.com

提供されているスクリプトには以下の2種類があります。
・MeshOutline
・MeshOutlineHierarchy

MeshOutlineの設定

MeshOutline は輪郭線の表現を行いたい MeshRenderer コンポーネントを持ったオブジェクトに直接設定します。
f:id:bluebirdofoz:20210924234548j:plain

以下の2つのプロパティで輪郭線の表現と太さを変更できます。

OutlineMaterial

輪郭線の質感設定をマテリアルで設定します。
MRTK/StandardShader の利用が前提となります。

OutlineWidth

輪郭線の太さを設定します。

MeshOutlineHierarchyの設定

MeshOutlineHierarchy は輪郭線の表現を行いたい MeshRenderer コンポーネントを持ったオブジェクトの上位オブジェクトに設定します。
子オブジェクトを捜索し、MeshRenderer が設定されたオブジェクトに自動で MeshOutline を設定します。
f:id:bluebirdofoz:20210924234602j:plain

動作確認

シーンを再生すると、輪郭線の効果を確認することができます。
f:id:bluebirdofoz:20210924234613j:plain

使用時の注意点

MeshOutline が適用されるのは MeshRenderer を持つゲームオブジェクトのみです。
SkinnedMeshRenderer を持つゲームオブジェクトでは利用できません。
f:id:bluebirdofoz:20210924234622j:plain