
以前販売した ひび割れ鏡シェーダー https://onotchi.booth.pm/items/1567306 のInteractable版!リアルタイムにひび割れが生成されるバージョンです 以下のワールドで動作確認出来ます https://vrchat.com/home/world/wrld_c8125efc-1505-4f49-87fb-3568fdfd389b/info ※Quest/モバイルでの動作は未検証です
セットアップ
1.本ギミックのUnityPackageをプロジェクトにインポートしてください。 2.Assets/Onoty3D/CrackedMirrorInteractable/ にPrefabがあるのでご利用ください。 初回、鏡が白く表示される場合がありますが、一度UnityEditor上で実行するかアップロードすれば正常に表示されます。
Prefab説明
・CrackedMirrorInteractableRandom インタラクトするたびランダムな箇所にひび割れが発生します。 ・CrackedMirrorInteractableImpactPoint 衝撃を与えた箇所にひび割れが発生します。 ・CrackedMirrorInteractableImpactPoint_Transparent CrackedMirrorInteractableImpactPointのミラー透過版です ・CrackSourceSpawner ローカルプレイヤーの指定した部位にコライダーを取り付けます。 CrackedMirrorInteractableImpactPointを利用する場合はこのPrefabも設置してください。
コンポーネント説明(メイン)
・CrackTextureGenerator ひび割れをつくるベースとなるコンポーネントです。 以下のパラメータが設定できます。 ■テクスチャ設定 / Texture Settings 解像度/Resolution:生成するテクスチャの解像度(256/512/1024) ■放射状のひび割れ / Radial Cracks 本数 / Count:衝撃点から放射状に伸びるひび割れの本数 長さ / Length:放射状ひび割れの長さ(0〜1、UV座標基準) 太さ(最小/最大) / Width Min/Max:放射状ひび割れの太さの範囲(ピクセル単位) 折れ曲がり回数 / Bends:ひび割れ1本あたりの分割数 曲がりの揺らぎ / Bend Wiggle:ひび割れのギザギザ具合 ■同心円状のひび割れ / Circular Cracks 本数 / Count:同心円状に配置されるひび割れの層数 (開始/終了)半径 / Start/End Radius:同心円の開始・終了半径(Radial Lengthに対する比率) 太さ(最小/最大) / Width Min/Max:同心円ひび割れの太さの範囲(ピクセル単位) 弧の繋がり具合 / Arc Connectivity:弧の長さの比率。小さいほど隙間が多くなります 外周の繋がり強度 / Outer Connectivity:外側の弧の繋がり具合の度合い 折れ曲がり回数 / Bends:弧1つあたりの分割数 曲がりの揺らぎ / Bend Wiggle:ひび割れのギザギザ具合 密度カーブ / Density Curve:密度の偏り。大きいほど中心付近に密集します ■ひび割れの見た目 / Crack Appearance 不透明度 / Opacity:ひび割れ線の不透明度(0〜100%) 色 / Tint:ひび割れ線の色 UVずれ量 / Gap:破片ごとのUVオフセット量 ■出力先 / Output Mirror Renderer:ひび割れを反映するミラーのRenderer
コンポーネント説明(補助)
・CrackRandom(CrackedMirrorInteractableRandom付属) インタラクトするたびランダムな箇所にひび割れを発生させます。 SFX(効果音)の有無を設定できます。 ・CrackTrigger(CrackedMirrorInteractableImpactPoint付属) 衝撃を与えた箇所にひび割れを発生させます。 SFX(効果音)の有無を設定できます。 ・CrackSourceSpawner 手・頭・足のどこで触れたらひび割れを発生させるかを指定できます。 ・CrackSource 本コンポーネントをRigidBody付きのPickupオブジェクトなどにつけると、そのオブジェクトで鏡に触れてもひび割れを発生させられるようになります。
シェーダーパラメータ
■Onoty3D/CrackedMirrorInteractable ・Mask/MaskCutOff 白黒のマスクをセットできます。白い部分だけが鏡として描画されるので、鏡を任意の形に整形することができます。 MaskCutOffで境界値を指定できます。 なお、マスクに利用するテクスチャはRead/Writeを有効化してください ■Onoty3D/CrackedMirrorInteractable_Transparent 上記のシェーダーに透過機能を追加したものです。 ・Opacity 不透明度を設定できます ・Cull 片面(前面・背面)描画・両面描画を設定できます。なお背面はミラー反射しません
免責
利用するプラットフォームやUnityのバージョンアップ・仕様変更に伴い、本ギミックが将来的に動かなくなる可能性があります。 極力随時対応はしていきますが、永続的な動作保証は出来ないことを御理解の上ご購入いただきますようお願いいたします。 問い合わせはBOOTHのメッセージだと気づかないので、XのアカウントにDM等ください https://x.com/onotchi_ 【利用規約】 本製品を利用に際して、利用者は下記の利用規約に同意するものとします。 ・本品を利用したことによる損害、トラブル等において当方は一切の責任を負いません ・収益の発生する配信、イベント等での利用を許可します ・再配布、販売等を禁じます ・商品の性質上、返品は致しかねます ・クレジット表記などは不要(あると嬉しい)です
更新履歴
ver1.1 ・CrackedMirrorInteractableImpactPointをシーンに複数置いた場合に衝突処理が重複しないように修正 ver1.2 ・透過できるミラーシェーダーを追加 ・頭をロール回転(左右に傾げる)した時の歪みを軽減
リリース情報
2026/1/15 ver.1.0 公開 2026/1/16 ver.1.1 公開 2026/1/17 ver.1.2 公開

