Day-Night JPN doc
A downloadable game
デイナイトプラグイン
これは単なるドキュメンテーションページであり、プラグインは英語のページでのみ購入できます。
その動画には日本語の字幕が付いています。
Changelog
(2024年1月3日) リリースバージョン! (2024年1月9日) - 英語版で時折変数が空白になるGUIのバグを修正しました。 - GetCurrentHourの説明を修正しました。 - 変数を作成するためのボタンが追加されました。 - 次の大型アップデートに向けてコードを準備中です! 2024年02月20日) 最新の「Bakin」アップデート1.7.0.6におけるバグ修正
説明
デイナイトプラグインを使用すると、Bakinで次の機能を備えた昼夜システムを利用できます:
- カスタマイズ可能なリアルタイムライティングを備えた昼と夜。 (夜明け、昼、夕暮れ、夜)。
- 自動フォグとビネットのトランジション、自動露光は近日公開予定!
- 自動タイムシステム (日、時など)。
- セットおよび取得: 分、時、日。
- GUIが含まれており、昼のトランジションの開始と終了をカスタマイズし、Bakin内で関数を呼び出すだけで割り当てられるプリセットを追加し、インテリアマップのレンダリング設定を保持するInterior'sシステムがあります。
- このプラグインには、昼夜システムが必要ない場合に別途使用できる「MainRender」という別のプラグインも含まれています。
- このプラグインには他にも多くの機能があります。:3
- 英語と日本語に対応しています。
インストール
* ファイルをダウンロードして解凍し、「DayNightSystem」フォルダをBakinフォルダのsteamapps\common\BAKIN\pluginsにドラッグアンドドロップします。
解凍する際にはWinRARや他のプログラムの使用をお勧めします。Windowsを使用して解凍するとDLLが損傷する可能性があります。
* 機能 -> 拡張機能 に移動し、「デイナイト システム」をクリックします。
*プロジェクトにスクリプトを自動的にインストールするには、インストールボタンを使用してください!
プロジェクト内のスクリプトファイルを新しいバージョンにアップデートする必要がある場合は、インストールボタンを使用してください!
今、『自動化』ボタンを使用して、プロジェクト内にサンプルの共通イベントを作成してください。
または、スクリプトを共通イベント「MainDayNight.cs」に添付して、以下のようにC#の関数を使用して昼夜システムを設定できます:
使い方
保存ボタン: 現在の設定とレンダリングプリセット、およびインテリアを保存します。
インストールボタン: スクリプトファイルをプロジェクトにインストールします。プラグインを更新した場合は、このボタンを使用してプロジェクト内のスクリプトも更新してください。
ヘルプボタン: この itch.io ページにリダイレクトします。
プラグインを無効にする:プラグインを完全に無効にします。.
設定:
- 開始時間:昼のフェーズ(夜明け)の遷移が開始される時間。
- 終了時間:昼のフェーズ(夜)の遷移が終了する時間。
- 総時間:0から1440までの範囲で変動するBakin変数で、1日の経過した分数を表します。
- 絶対時間:Bakin変数で、昼夜システムの1日の合計経過時間を格納します。これは読み取り専用の変数で、一部のC#関数がこの変数を使用します。
- 日の変数:Bakin変数で、現在の日を格納します。現在の日を変更または表示するために使用でき、このタスクを補助するためのC#関数もあります。
- 霧を使用する: このオプションを無効にすると、プリセットで定義されていても霧は使用されません。
- ビネットを使用する: このオプションを無効にすると、プリセットで定義されていてもビネットは使用されません。
- 影の角度を使用する: このオプションを無効にすると、プリセットで定義されていても影の角度は使用されません。
レンダリングプリセット:
プリセットの名前を変更するには、その名前をダブルクリックしてください!
新しいプリセットを作成し、イベントパネルで簡単なC#関数呼び出しで即座に割り当てることができます。これは、駅を作成したり、マップに新しいパラメータを素早く割り当てたりするのに理想的です。
"夜明け、昼、夕暮れ、夜"のタブを使用して、1日の各フェーズに対する好みの設定を割り当ててください。
終了時にデータを保存するのを忘れないでください!
"MainDayNight.cs"を任意のイベントに追加できます。システムは単一のマスターインスタンスに接続されています。
そして、これがプリセットを割り当てる簡単な方法です。プリセットの正確な名前を持つ文字列変数を割り当て、その変数を "SetCurrentPreset" 関数のパラメータとして使用します!
室内
このリストにマップを追加すると、プラグインがそれらのマップの照明設定を変更しなくなります。これは家の内部、ダンジョン、または太陽光が見えてはいけない場所など、室内に適しています。
C# Calls:
"MainDayNight.cs"を任意のイベントに追加できます。システムは単一のマスターインスタンスに接続されています。
主な機能のリスト
- UpdateDayCycle: 現在のマップの照明を昼のフェーズに応じて更新します。この関数はメインの共通イベント内の "repeat in parallel" で呼び出すべきで、単一のイベントで呼び出す必要があります。
- SetCurrentPreset: 上記で説明したように、このイベントはリストからプリセットの名前を受け取り、それをシステムに直ちに割り当てます。
- AddTime: 時間を進めます。これは "UpdateDayCycle" と同様に使用されるべきで、そのパラメータは各秒で経過する分数です。例えば、10を使用すると、システム内で1秒ごとに10分が経過します。
- SetCurrentHour: 0から23の範囲で現在の時を割り当てます。
- SetCurrentMinute: 0から59の範囲で現在の時の分を割り当てます。
- SetDay: 現在の日を割り当てます。
- GetCurrentHour: 現在の時を取得します。0のパラメータを使用して24時間形式を使用するか、1を使用して12時間形式を取得します。
- GetCurrentMinute: 現在の時の分を取得します。
- GetAMPM: 現在の日時に応じて "AM" または "PM" の文字列を取得します。
- GetCurrentTimeString: "int" パラメータを使用して、時刻と分を含む完全な時刻形式を取得します。フォーマットは次のとおりです:0 = 12時間 || 1 = 24時間
例: 4:32PM または 16:32。
- IsTimeExpired: 現在の絶対時間が絶対時間パラメータ以上か等しい場合、1を返します。それ以外の場合は0を返します。
これを使用して、特定の時間が経過したときにイベントをトリガーすることができます。たとえば、「absoluteTime」変数を新しい「target time」変数に割り当て、その後に120分を追加します。これで、この関数を使用して、目標の時間が経過したかどうかを確認できます。
天球間の遷移ができないため、「MainRender.cs」およびSkybox変更機能を使用して新しいものを割り当てることができます。 "MainRender.cs"には、適切なタイミングで説明される他の機能があります。
メモ
- 将来のアップデートに対する提案は歓迎しています!
- バグが見つかった場合は、遠慮せずにお知らせください!
- このプラグインは有料で、Bakinで作成したすべてのプロジェクトで使用できますが、プラグインやスクリプトを他の誰かと共有することはできません(クレジットは不要)。
- 質問があれば、常に公式のBakin Discordで活動しています。