こんにちは。
既にサークル側の公式サイトやTwitterでご存知かもしれませんが、ここ暫くの間、仕事と並行してUnityを色々いじっていました。
その中でも、Unity上でノベルゲームを制作可能にするフレームワーク、JokerScriptは多機能かつ、省力化が可能という魅力的なシステムで、少し前にも、JokerScript用入力補完キット(要サクラエディタ)をGitHubにも公開し、製作者のシケモクMKさんからもコメントを頂いたりしていました。
そんなJokerScriptですが、Unity5.3.0以降には対応しておらず、最新バージョンのUnityでも使ってみたいが、どうにかならないかと動作の妨げになっている要因を精査し、一先ずUnity2018以降の環境でJokerScriptを動かす修正ファイルを作りましたので公開します。
許可を下さったシケモクMKさん、ありがとうございます。
一番やりたかったのは、Unityでゲームを作った時、3Dゲームパートからノベルパートに切り替わったり、その逆を簡単に作れないかなという所だったんですが、ここは要研究といった所です。(;´Д`)
※注意事項
この暫定修正パッチはUnity2018.1.0f2とJokerScript0.4.1で構成された新規プロジェクトでのみ検証されています。
パッチは暫定的な物であり、確実な動作や将来の更新対応、バグフィックスを保障する物ではありません。
このパッチの使用で生じたいかなる損害においても、筆者は責任を負わないものとします。
Unity2018との大きな仕様変更の都合上、ビルド出来るプロジェクトは「PC,MAC & Linux Standalone」に限定されます。
それ以外のプラットフォーム向けにビルドする事は出来ませんのでご注意を。
ダウンロード
ここをクリックした先の画面右にある「Clone or Download」ボタンをクリックしてダウンロードして、どうぞ。
導入手順
Unityで新規プロジェクトを2Dで立ち上げた状態でJokerScriptをダウンロード、解凍後、JOKER.unitypackageをダブルクリック
そうするとインポートされるのでここまでは普通に全ファイルのインポートを実行。
プロジェクトフォルダ内の Assets\JOKER\Scripts\Novel\Core\SaveManager.csを差し替える。
このSaveManager.csを今回ダウンロードした修正版SaveManager.csと入れ替えれば、一先ず動作します。
#———-
応用問題・通常の3Dゲームシーンから、JokerScript製ノベルシーンに遷移する
JokerScriptで動作するシーン(初期設定ならPlayer)に遷移するよう
SceneManager.LoadScene ("Player");
と記述すれば、任意の条件でノベルシーンに遷移出来ます。
そのままだとJokerScriptデフォルトの設定でノベルゲーム側のメニューシーンが最初に出てしまうので
Assets\JOKER_GAME\Resources\novel\data\scenario\first.txt
で、title以外のシーン(scene1か、自作のJokerScript準拠のコード)を呼び出してあげるようにすればいいでしょう。
first.txtの記述例
;背景の定義
;ライブラリ呼び出し
;[call file=system target=”*system_setting_buttons”]
;@call file=libs/utils
;横バージョン読み込み titleをすっとばして本編へ
;@jump file=wide/title
@jump file=wide/scene1
;縦バージョン読み込み
;@jump file=tall/title
[s]
;————————-
3Dゲームのシーンから
ノベルゲームのシーンに遷移