<aside> 📎 リンク
mikinel Shisha System ドキュメント TOP
</aside>
<aside> 📎 項目
2. 各Unitを使用してギミック入りのPrefabを作成する
</aside>
<aside> 🌟
必ずしも全てのパーツをカスタムする必要はありません。必要な項目のみ参考にカスタムデザインを作成してみてください。
</aside>
<aside> ⚠️ 以下結構複雑で分かりにくいです。ごめんなさい。
</aside>
カスタムモデルの作成とセットアップを行うことで、シーシャのデザインを独自のものに変更できます。
また、作成したデザインはPrefab化してBoothなどで販売、頒布することも可能です。
頒布するファイルにはShishaSystem本体は含めないようにしてください。
基本的にAssets/mikinel/Shisha/Prefabs/Reference に入っている各部品(Unit)と同じものを作成します。
リファレンスFBXモデルをモデリングソフトに読み込ませて上書きする形でモデルの制作をするとスムーズに作業を進められるかもしれません。
<aside> 📁 リファレンスFBXモデル
</aside>
<aside>
⚠️ これから作成するPrefabは全てAssets/mikinel/Shisha/Prefabs/Reference 内のPrefabとスケールを合わせて作成することをおすすめします。大きさが極端に違う場合、ホースとのサイズが合わなかったりします。
</aside>
<aside> ⚠️ ホースのデザインの変更はマテリアルを変更することでできますが、おすすめはしません。
</aside>
<aside> 🧱 シーシャ本体Unit

シーシャ本体のリファレンスモデル
<aside> 📃 モデルの仕様
ボトルに水が入っている
(任意)ボトルの中に溜まっている煙を表現するメッシュが必要
パイプを接続するための穴が必要
トップを接続するための上部パイプが必要 </aside>
モデルを作成し、ShishaBottleUnitコンポーネントをRootに追加します。
EmptyObjectを作成し、サンプルと同様に水の中でぶくぶくする泡の発火点にPositionを調整し、ShishaBottleUnitコンポーネントのBubbleParticleAnchorTransformに設定します。
煙のモデルを作成した場合はマテリアルはAssets/mikinel/Shisha/DataStore/TexMat/FakeSmoke.mat を設定して下さい。
煙のモデルを作成した場合はShishaBottleUnitコンポーネントのBottleSmokeRendererに設定します。
ざっくりとしたColliderを設定することでホースが本体に当たるようになります。Colliderの設定のIsTriggerはFalse、LayerをWalkthroughを設定してください。
設定が終わったらPrefab化しておきます。Prefab化する際はAssets/mikinel/Shisha/Prefabs/Reference/BottleUnit/ShishaBottleUnit.prefab と同じ大きさ感に合わせておきます。

ShishaBottleUnitコンポーネントの設定
</aside>
<aside> 🧱 トップUnit

トップのリファレンスモデル
<aside> 📃 モデルの仕様
フレーバが入っていることを表現するためのメッシュ </aside>
モデルを作成し、ShishaTopUnitコンポーネントを追加します。
フレーバのメッシュにはmikinel/Shisha/DoubleColor のシェーダを使用してください。
ShishaTopUnitコンポーネントのFlavorObjectRendererにフレーバのメッシュを設定します。
ShishaTopUnitコンポーネントのFlavorSmokeParticleAnchorTransformにはフレーバから出る煙の発火点を指定します。
設定が終わったらPrefab化しておきます。

ShishaTopUnitコンポーネントの設定
</aside>
<aside> 🧱 ヒートシステムUnit

ヒートシステムのリファレンスモデル
<aside> 📃 モデルの仕様
炭を乗せるための受け皿 </aside>
ヒートシステムは設定する項目はありません。
設定が終わったらPrefab化しておきます。 </aside>
<aside> 🧱 フタUnit

フタのリファレンスモデル
<aside> 📃 モデルの仕様
ヒートシステムに被せるフタ </aside>
フタは設定する項目はありません。
設定が終わったらPrefab化しておきます。 </aside>
<aside> 🧱 パイプUnit
<aside> ⚠️ パイプUnitのみ機能を直接組み込む必要があるため、パイプUnitのみ作成手順が複雑です。
</aside>

パイプのリファレンスモデル
<aside> 📃 モデルの仕様
まずパイプのモデルの小階層にホースが接続される部分にEmptyObjectを作成しておきます。
作成できたらPrefab化しておきます。

小階層にAnchor(EmptyObject)を作成した様子
Assets/mikinel/Shisha/Prefabs/CustomDesignTemplate/PipeUnit_Template.prefab を複製します。
複製後、分かりやすい名前に変更し、適宜フォルダを移動させておくと良いです。

PipeUnit_Template.prefabを複製した直後の様子、名前はSamplePipeUnitと設定
aで作成したパイプモデルPrefabを配置します。

SamplePipeUnit.Prefab内にPipe.Prefabが配置された状態
パイプモデルの位置をホースの先端部と一致させて置きます。

パイプ位置調整後の状態
パイプモデルを複製して、PipeConrollerなどと、コントローラーと分かりやすい名前に変更します。
分かりやすいように横に位置を移動させます。
</aside>
BasicモードとAdvancedモードで作成するPrefabが異なります。
<aside> 🟢 Prefabの作成(Basicモード用)
</aside>
<aside> 🟠 Prefabの作成(Advancedモード用)
</aside>