[VRChat・Unity用] Volumetric Opal
オパールを再現したシェーダーおよび指輪などのセットです ボリュームレンダリングを使用しているので内部が立体的に見えます VRChatおよびUnity(Built-In Shader)で利用できます このシェーダーを用いたマテリアルはスキンドメッシュ(ボーンにより変形するメッシュ)を含むどのようなメッシュにも適用できます ただ、スキンドメッシュに使用する場合追加の設定が必要になりますので導入方法を参照してください 指輪の金属部分のシェーダーにはliltoonを使用しています 法人およびアバターや衣装などの製品に使用したい場合はクリエイター・法人利用版をご購入ください。 クリエイター・法人利用版では製品に使用したVolumetric Opalのマテリアル等とそれに必要なデータを製品に同梱して配布することができます。 (ただしこの製品のUnityPackageをそのまま再配布することはできません) 内容物: オパールシェーダー (VolumetricOpalShader) 指輪(ホワイト・ブラック・ブルー・ファイア) カボションカットモデル(ホワイト・ブラック・ブルー・ファイア 台座無し) 原石モデル(ブラック・ブルー 台座無し) 各種サンプルマテリアル(ホワイト・ブラック・ブルー・ファイア) オリジナル3Dモデル「ベリル」用サンプルマテリアル 導入方法: ・Unityで導入したいプロジェクトを開く ・上部メニューからAssets > Import Package > Custom Package...を選択し、オパールシェーダーのUnitypackage(VolumetricOpalShaderXXX.unitypackage XXXはバージョン番号)をインポート(エクスプローラ上でUnitypackageをダブルクリックしてもインポートできます) ・指輪などを使用する場合は、まずliltoon(https://lilxyzw.github.io/lilToon/)をインポートしてから、Assets/NINEGATES/VolumetricOpal/Prefabsにある各種PrefabをHierarchy上のアバターの取り付けたい部分にドラッグアンドドロップしてください ・サンプルマテリアルを使用する場合は、Hierarchy上で適用したいモデルを選択し、InspectorのMesh RendererまたはSkinned Mesh Renderer内にあるMaterialsの項目に、Assets/NINEGATES/VolumetricOpal/SampleMaterialsの中の各種マテリアルを設定してください ・マテリアル設定後、模様が細かすぎたり大きすぎたりする場合はマテリアル設定のLocalScaleを調整してください(数値を大きくすると模様が細かくなり、小さくすると模様が大きくなります) AutoAdjust Parameters by Mesh SizeのTargetMeshにHierarchy上の適用したメッシュをドラッグアンドドロップし、下のAdjust Parameters Based on The Mesh Sizeと書かれたボタンを押すとある程度自動調整が行われます ・マテリアルを設定したメッシュがスキンドメッシュ(ボーンにより変形するメッシュ)である場合、マテリアル設定最上部にあるEnable Skinned Mesh Settingsにチェックを入れてください ・チェックを入れるとGenerate Mesh Textures for Skinned Meshという項目が出てくるので、Output FolderにProjectパネル(デフォルトだと下にあるファイルなどが表示されているパネル)から適当なフォルダをドラッグアンドドロップしてください ・Target Skinned MeshにはHierarchy上にあるマテリアルを適用したメッシュをドラッグアンドドロップしてください ・Generate Mesh Texturesボタンを押すと必要なテクスチャが自動生成されマテリアルに設定されます ・この操作によって設定されたマテリアルは他のメッシュでは使用できないので、他のメッシュでも使いたい場合はマテリアルを複製して再度同じ設定を行ってください ・マスクを使用する場合は、まずHierarchy上で適用したいモデルを選択し、InspectorのMesh RendererまたはSkinned Mesh Renderer内にあるMaterialsの項目の右下にある+ボタンを押し、マテリアルスロットを増やしてください ・増やしたマテリアルスロットにVolumetric Opalのマテリアルをドラッグアンドドロップ(Elementの番号が一番大きいものにドラッグアンドドロップしてください) ・InspectorのVolumetric Opalマテリアル設定のEnable Maskにチェックを入れる ・現れたMask設定で使用したいマスクテクスチャを設定する Volumetric Opal マテリアルの設定項目: Mesh Texture: スキンドメッシュで使用する際に必要なテクスチャです。(手動で設定する必要はありません) Mesh Texture Size: Mesh Textureのサイズ情報です。(手動で設定する必要はありません) Local Scale: 全体のスケールを設定できます。(数値を大きくすると模様が細かくなり、小さくすると模様が大きくなります) Enable Color Gradation: 背景色にカラーグラデーションを使用できるようにします。 Color: カラーグラデーション未使用時の背景色 Color0,Color1,Color2: カラーグラデーション使用時の背景色 Gradient Anchor Point: カラーグラデーションのアンカーポイント(Gradient Anchor Point 0, Gradient Anchor Point 1, Gradient Anchor Point 2がそれぞれ Color0, Color1, Color2に対応しています) Gradient Direction: カラーグラデーションの方向(ローカル座標です) Interpolation Mode: アンカーポイント間の補完方法 Enable Normal Map: ノーマルマップを有効にします Normal Map: 表面に適用されるノーマルマップです。スライダーは影響度です。 Enable Mask: マスクを有効にします Mask: マスクとして使用されるテクスチャです。白い部分にこのマテリアルが表示されます。 Enable Blur: 内部のぼかしを有効にします Blur Radius: ぼかしの強さ(半径)です Culling Mode: 背面また前面を表示するかどうか設定できます。 Cloudiness: 内部の曇り具合 Shadow Intensity: 陰影の強さ Saturation: 内部反射の色(遊色)の彩度 Brightness: 内部反射の色(遊色)の明るさ Color Blend: 内部反射の色(遊色)と背景色の混合率 Iridescence Min Intensity: 内部反射の最小値。これを大きくすると反射していないところでも遊色が見えるようになります。 Gamma: 内部反射(遊色)のガンマ値。コントラスト調整に使えます。 Threshold: 内部反射(遊色)の内部パターンを決定する3Dテクスチャに適用される閾値です。これを上げると遊色の出る部分が少なくなります。 Refractive Index: 屈折率 Alpha: 内部反射(遊色)の濃度 Smoothness (Outside): 表面の滑らかさ Smoothness (Inside): 内部反射(遊色)を生じる部分の滑らかさ Monochrome Reflection: この値を大きくすると表面の反射光の彩度がおちていくので、周囲の色の影響を受けにくくなります。 2nd Cubemap: 表面の反射に使用される第二のリフレクションプローブを設定できます。どのワールドでも同じような表面の反射にしたい場合はこれを設定し、2nd Cubemap Intensityを上げてください。2nd Cubemap Colorで反射の色を調整できます。 Reflection Min Intensity: 表面の反射の最小値。これを上げると完全に真っ暗なワールドでも表面の反射が見えるようになります Cubemap (Inside): 内部反射に使用される背景テクスチャです。内部反射はこのテクスチャのみに影響されます Pattern Texture: 内部反射のパターンを決定する3Dテクスチャ Normal Pattern Texture: 内部反射のパターンの法線情報を決定する3Dテクスチャ Color Pattern Texture: 内部反射に追加のカラーパターンを与える3Dテクスチャ Pattern Scale: Pattern TextureとNormal Pattern Textureのスケール Color Pattern Scale: Color Pattern Textureのスケール Pattern Offset X: 内部反射パターンのX方向のオフセット。指定した距離だけ内部反射の模様が移動します。 Pattern Offset Y: 内部反射パターンのY方向のオフセット。指定した距離だけ内部反射の模様が移動します。 Pattern Offset Z: 内部反射パターンのZ方向のオフセット。指定した距離だけ内部反射の模様が移動します。 Color Spectrum Shift: 内部反射の遊色のスペクトルの中心をずらします。この値を大きくすると緑~青色が多くなり、小さくすると黄~赤色が多くなります。 Color Spectrum Min: 内部反射の遊色のスペクトルの赤色方向を制限します。 Color Spectrum Max: 内部反射の遊色のスペクトルの青色方向を制限します。 Ray Offset: 内部反射が始まる深さを決定します。表面近くに内部反射がでないようにするにはこの値を大きくしてください。 Ray Step Size: この値を大きくすると深いところまで内部反射がみえるようになりまが、描画が荒くなります。 Specular Intensity: 内部反射のうちライトのスペキュラー反射部分の強さ Specular Smoothness: 内部反射のうちライトのスペキュラー反射部分の鋭さを決定します Reflection Intensity: 内部反射のうち背景テクスチャ Cubemap (Inside)による反射の強さ Light Min Limit: 基本的なライティング(Directional Lightや環境光)における明るさの最低値。これを少し上げておくとライティングの関係で真っ黒になるのを防げます。 Light Max Limit: 基本的なライティング(Directional Lightや環境光)における明るさの最高値。白飛びを防ぐために使用します。 Additional Light Max Limit: 追加ライティング(Realtime Spot LightやRealtime Point Light)における明るさの最高値。白飛びを防ぐために使用します。このシェーダーは基本ライティング(ForwardBase)と追加ライティング(ForwardAdd)の総和ではなくそれらの最大値(Max)を最終的な結果として使用しています。よくわからない場合はこの値はLight Max Limitと同じ値で大丈夫です。 個人利用版: 利用規約 (JP) https://drive.google.com/file/d/1eajIur5jU7cwWWN_xQ8kegvVYlIolOym/view?usp=drive_link Personal Edition: Terms of use (EN) https://drive.google.com/file/d/1_wBz635A20PJDCkGD8VLVnBNs9trwF4o/view?usp=drive_link クリエイター・法人利用版: 利用規約 (JP) https://drive.google.com/file/d/1uGhzlaZ6R_EsJX10kT9Zupd_BplO6VzR/view?usp=drive_link Commercial Edition: Terms of use (EN) https://drive.google.com/file/d/1omxiD2EdDLLGOMVAEyD6ZAXUTvX0P5Qj/view?usp=drive_link 翻訳において差異が生じた場合は、日本語版の利用規約が優先されます。 更新履歴 2024/12/10 マスク機能追加 2024/12/06 販売開始