Free HやStudioで使用できるマップMODの作成例です。
マップMODは非常に複雑で、初心者に優しいものではありません。
まず、PurpleRoomファイルを開いてください。他のタイプのMODとは異なり、マップはアセットバンドル内のアセットではなく、アセットバンドル内のシーン(シーンアセットバンドル)です。
→AssetBundleにScene自体を含める? 参考:【Unity】SceneをAssetBundleに格納して実行時にロードする方法について:
https://tsubakit1.hateblo.jp/entry/2016/08/23/2336...
一度開くと、壁、床、オブジェクト、照明、Hポイントなどを含むマップのプレビューがシーンビューに表示されるはずです。
このマップはUnityの基本的なシェイプから作られていますが、通常はBlenderやお好みの3Dエディタでマップを作成し、.
obj, .fbx, .blend などのファイルをプロジェクトフォルダに保存しておきます。
Unityはそのモデルをインポートし、シーン階層にドラッグ&ドロップすることでシーンに追加することができます。
Blenderで再度モデルを保存すると、Unityはそれを再インポートし、変更内容で自動的にシーンを更新します。
したがって、マップを作成するワークフローは、3Dモデリングプログラムでモデルを構築し、
Unityにインポートし、MonoBehaviorsやライティングなどを追加することになります。
ルートノード(Map)を選択すると、2つのMonoBehaviorsがアタッチされているのが見えます。
SunLightInfo。1日のさまざまな時間帯の太陽光に関するデータです。3つの要素(昼、夕方、夜)があり、それぞれに光の色と角度、霧の色、LUTテクスチャなどが含まれている必要があります。
VisualizeGizmos。エディタでHポイントを視覚化するためのカスタムスクリプトです。マップの最終版をビルドしてリリースする前に削除する必要があります。
これを独自のマップに設定するには、HPointContainer を HP ポイントを含むトランスフォームに設定します。
次に「太陽光」を選択します。これは、ゲーム側が制御するシーンに追加される指向性光です。
インスペクタに「Sun」というタグがあるので、正しくタグ付けされないと正しく機能しないことに注意してください。
ここで設定したものは、SunLightInfoの設定によって上書きされますが、Unityのライティングをプレビューするのに便利です。
Sunlightの下には、SunShaftSourceトランスフォームがあります。
これ自体は何もしませんが(単なる空のトランスフォーム)、SunLightInfo はこのトランスフォームを、
サンシャフトが発生する位置として使用するように設定されています。
h_free は空のトランスフォームで、フリー H モードが開始される位置と回転をゲームに指示します。
background は、シーン全体を囲む大きなメッシュで、色は黒です。フォグが正しく機能するために必要です。
shadowcaster は、シーンを囲むメッシュで、影を落とす役割をします。
シーンの壁は影を落とすモードがオフに設定されており、
このメッシュは影を落とすモードが影のみ、つまり見えないが影を落とすモードに設定されていることに注意してください。
roomは、シーン全体を構成するメッシュの束です。すべてのメッシュはレイヤー「マップ」を使用していることに注意してください。