「エディター機能タブ」は、制作過程やデバッグ作業などに必要な情報を閲覧することができます。
スクリプトミスや挙動の違いの把握などに大いに役立ててください。
設定
リアルタイムプレビュー
- チェックボックスにより「リアルタイムプレビュー」使用のオンオフができるようになっています。
バウンディングボックス
- チェックボックスにより「バウンディングボックス」表示のオンオフができるようになっています。
「絵」が適用されている画像は「緑枠」、文字窓サイズや文字は「紫枠」で表示されます。
視覚的に画像サイズや位置を確認するときなどに使用してみてください。
編集中に背景音再生
- チェックボックスにより「編集中に背景音再生」のオンオフができるようになっています。
作成シーンに配置した背景音を流し続けるので、シーン変更の際の背景音の違いを確認することができます。
テストプレイの度に背景音がオンオフされないようにするためにも使用できます。
座標系表示
- チェックボックスにより「座標系」表示のオンオフができるようになっています。
「カメラモード 3」による3Dモードに変更した場合のみ表示される座標系です。
目視にて絵やカメラの角度や距離を測るのに使用してください。
マスク表示
- チェックボックスにより「マスク」表示のオンオフができるようになっています。
反映されているマスクを適用されている状態で確認することができます。
衝突範囲表示
- チェックボックスにより「衝突範囲(当たり判定)」表示のオンオフができるようになっています。
衝突範囲が適用されている画像は範囲サイズ含めて「紫枠」で表示されます。
画像無しの透明衝突範囲「衝突範囲方形」を設置した場合も紫枠で表示されるので、位置や大きさを視覚的に確認することができます。
編集中に文字窓待機絵表示
- チェックボックスにより「編集中に文字窓待機絵」表示のオンオフができるようになっています。
リアルタイムプレビューにて実際に作動している文字窓待機絵(ページ送りアイコン)の位置や大きさ・アニメーションを確認することができます。
スクリプトワードラップ
- チェックボックスにより「スクリプトワードラップ」機能のオンオフができるようになっています。
機能をオンにすると、スクリプト領域の表示サイズに合わせてスクリプトや文章が擬似的に改行され、すべての記述が見られるようになります。
オフにすると実際の改行通りの表示になります。
タブ変更時に未使用素材解放
- チェックボックスにより「タブ変更時に未使用素材解放」機能のオンオフができるようになっています。
機能をオンにすると、スクリプトタブを切り替える度に「未使用素材解放」が行われるようになります。
エディター動作に関するもので、使用メモリの調整を自動で行います。
デフォルトでオンにしておくことをお薦めします。
コマンド
- すべてのLight.vnコマンドと記述方式の説明が載っています。
Wikiを確認せずともコマンドについて確認できる優れもので、Wikiへのリンクも搭載されています。
スクリプト
スタック0
- ベースとなるID0のスクリプトが表示されています。
ゲーム本編・シナリオなどメインとなるスクリプトです。
ロード後の挙動がおかしかったり、メニュー画面を閉じた際におかしくなったりする場合は、スクリプトの流れをチェックすると原因タイミングを発見できることがあります。
スタック1
- ID0のスクリプト内で「スクリプト」コマンドを使用してスクリプトを呼び出すと、ベースとなるID0に重なるように、呼び出したスクリプトがID1として表示されます。
このスクリプトが重なる状態のことをスクリプトがスタックするといいます。
例としてLight.vnサンプルでは、本編スクリプトからメニュー画面を呼び出すとこの状態になっています。 - 「スクリプト」コマンドで呼び出したスクリプトは「スクリプト終了」を通過しない限り、スタックされたままの状態となります。
「スクリプト終了」を削除してしまうミスにより、ベースとなるID0スクリプト内のゲーム挙動がおかしくなってしまうこともあります。
スタック2
- ID1のスクリプト内で「スクリプト」コマンドを使用してスクリプトを呼び出すと、ID1にさらに重なるようにID2として呼び出したスクリプトが表示されます。
例としてLight.vnサンプルでは、メニュー画面からセーブ・ロードやコンフィグなどを呼び出すとこの状態になっています。
同じように「スクリプト終了」を通過しない限り、スタックされたままの状態となります。
スタック3
- ID2のスクリプト内で「スクリプト」コマンドを使用してスクリプトを呼び出すと、ID2にさらに重なるようにID3として呼び出したスクリプトが表示されます。
例としてLight.vnサンプルでは、コンフィグ画面のシステム設定からテキスト設定などに移動するときに「config-pages.txt」を呼び出しているので、一瞬だけこの状態になります。
呼び出した「configu-pages.txt」はすぐに「スクリプト終了」を通過しスクリプトが終了するので、一瞬だけ表示されることになります。
スタック2内で「ジャンプ」コマンド
- ID2のスクリプト内で「ジャンプ」コマンドを使用してスクリプトを移動すると、ID2だったスクリプトがジャンプ先のスクリプトと入れ替わった状態で表示されます。
例としてLight.vnサンプルでは、コンフィグ画面のシステム設定からテキスト設定などに移動するとこの状態になります。
「ジャンプ」コマンドについて
- 「ジャンプ」コマンドはスタックはせずに、元のスクリプトとジャンプ先のスクリプトとを入れ替えるコマンドとなります。
「スクリプト」は呼び出して重ねる、「ジャンプ」はスクリプトの移動、と覚えておきましょう。
「スクリプト」と「ジャンプ」の違いを理解し、スクリプトタブでの動きを確認することは、ゲーム動作のバグ発見の手助けになります。
スクリプトタブの見方をぜひ覚えておきましょう。
スクリプトとジャンプの「栞」表記の違いについて
- 「スクリプト」コマンドで呼び出したスクリプト「栞」と「ジャンプ」コマンドで移動したスクリプト「栞」の表記にも違いがあるようです。
「スクリプト」で呼び出したものは「スペース」で区切られ、「ジャンプ」で移動したものは「アンダーバー」が表記されます。
スクリプトかジャンプか、どちらを使用したかの判断をするときに便利なのです。
画面領域
スタック0
- ID0はデフォルト画面領域(最下層)の「vn_screen_space_main」が表示されています。
個体・キートリガー・効果コマンドの対象などがその画面領域内での適用となるため、意図したボタン反応などが行われない場合は、いまどの画面領域にいるのか、そのボタンはどこの画面領域に属しているのかなどを確認する必要があります。
画面領域タブの見方もぜひ覚えておきましょう。
スタック1
- 画面領域は新規に開始すると、最下層から順にスタックして(重なって)いきます。
「画面領域終了」で指定の画面領域を通過しない限り、スタックされたままの状態となります。
例としてLight.vnサンプルでは、デフォルト画面領域(ID0)からメニュー画面を呼び出すと、そこで指定している画面領域「my_menu」がID1として表示されます。
スタック2
- ID1の状態から、新たに画面領域を開始するとID2となってスタックされます。
例としてLight.vnサンプルでは、メニュー画面(my_menu)からコンフィグ画面のシステム設定を呼び出すと、そこで指定している画面領域「my_config_system」がID2として表示されます。
※システムスクリプトでは、まず「my_config」という画面領域が開始されますが、画面領域上書きにより「my_config_system」と名前を変更しているために「my_config_system」と表示されています。
スタック2(別画面領域)
- ID2の状態の画面領域を終了し、新たに画面領域を開始した状態です。
例としてLight.vnサンプルでは、コンフィグ画面のシステム設定(my_config_system)から、テキスト設定(my_config_text)に移動したときの表示になります。
※画面領域「my_config_system」を終了させていなければ、スタックされて画面領域「my_config_text」がID3となりますが、移動の際に画面領域「my_config_system」を終了させているので、そのままID2が変更されているような表示になっています。
マクロ
- 読み込まれた「マクロ」が表示されます。
設定したはずのマクロが動作しない場合は、意図した場所においてマクロがしっかりと読み込まれているかマクロタブで確認してみましょう。
※いまのところ「コマンドマクロ」は表示されないようです。
個体
- 読み込まれている個体の「名前」「描画中心」「属している画面領域」が表示されます。
「親子」関係も「▼」にて表現されています。
表示がおかしかったり変化コマンドが効かなかったりする場合などは、レイヤー数値や個体が存在している画面領域を確認してみましょう。
変数
- 設定されているシステム変数と追加した変数の「変数名」「変数値」が表示されます。
追加した変数がちゃんと存在するか、意図したところで正しい変数値になっているかなど、スクリプト行を移動したりテストプレイをして変数名・変数値を確認することができます。
キートリガー
画面領域内
- キートリガーとして設定した「対象キー名」「キー動作」「適用されるコマンド」が表示されます。
同一画面領域内(有効範囲)で設定されたキートリガーすべてが表示されるので、意図したシーンで意図したキートリガーが設定されているか確認することができます。
別画面領域がスタックした場合
- キートリガーは各画面領域で設定したものだけが反映・機能します。
別画面領域に移動した場合、そこで設定されたもの以外は表示されなくなります。
例としてLight.vnサンプルでは、画面領域最下層「vn_screen_space_main」からメニュー画面を呼び出すと画面領域「my_menu」へ移動します。
「vn_screen_space_main」で機能していたキートリガーは機能しなくなり、「my_menu」内で設定したキートリガーのみが機能するようになります。
衝突処理
- 設定した衝突処理コマンドの詳細が「衝突グループA」「衝突グループB」「衝突種類」「プラス条件」「コマンド」として表示されます。
2つの衝突範囲(当たり判定)の名前、接触条件、実行されるコマンドなどを確認することができます。
自由カメラ
- 自由カメラ使用中のオプションとして「カメラ操作スピード」「カメラ各座標」「カメラ位置変更」「カメラ位置スクリプト貼り付け」が表示されます。
自由カメラはキーボードキーとリアルタイムプレビュー画面内でマウス操作することで、いろいろと操作することができます。
1. プレイヤー基準
- こちらのラジオボタンがオンになっている場合、デフォルトのカメラ視点であり自由カメラは切れている状態です。
2. 自由
- こちらのラジオボタンがオンになっている場合、視点が自由カメラになっている状態です。
この状態でカメラ操作をすることができます。 - カメラの操作方法は「コマンドタブ」内の「自由カメラ操作法」で確認することができます。
3. 自由カメラ初期化
- 自由カメラ位置を初期化します。
z軸が200、その他は0になるようです。
4. スピード
- カメラ操作のスピードを数値で決めることができます。
触った感じ、10~15くらいがちょうど良さそうです。
カメラが引きすぎていてオブジェクトまで遠い場合は、いったん数値を上げて素早く近づきましょう。
5. 属性・値
- カメラ座標の現在地情報です。
6. プレイヤー視点へ
- カメラ位置をプレイヤー視点の位置に移動させます。
カメラ視点の「プレイヤー基準」は自由カメラのオフであり、自由カメラ自体の位置は残るため、再び「自由」をオンにするとカメラの位置情報はそのままの状態になっています。
「プレイヤー視点へ」はそのカメラ位置情報ごと変更するため、その前のカメラ位置に戻ることはできなくなります。
7. 自由カメラを適用
- ボタンを押すと、スクリプト領域に現在のカメラ位置情報がスクリプトとして記述されます。
自由カメラを切っても記述されているところで、その時のカメラ位置にカメラが移動します。
お気に入りの角度などを見つけた場合に、適用させてみましょう。
ログ
- Light.vnエディターを起動した直後からすべての行動に対してのログが記憶され続けます。
「settings.xml」内設定の「disableDebugLog」により書き出されるデバッグログ「debug.txt」と同じ内容となっています。
ディスコードでの質問の際に「エラーログ」を見せてくださいと言われたら、このログテキストを添付しましょう。