ここ数日いただいたお問い合わせのなかから興味ある話題をいくつか紹介します。
「DEBUG 1の負荷について」
デバッグモードのときにエラーが発生していなければ、負荷はほとんどかかりません。
「音の聞こえる距離の設定値」
レイアウターで設定した聞こえる距離が適用されます。初期値は、400mmです。警笛、蒸気機関車の走行音は、この値を基準にさらに広い範囲で聞こえます。レイアウターで設定した値は、ビュワー起動時に各部品に反映されます。列車については、スクリプトで変更可能です。(再生終了後に距離の変更値が反映されます。)
※距離に関係なく音が聞こえる場合は、ハードウェアに問題があります。PCメーカーにお問い合わせください。
「イベントの節約方法」
VRMのようなリアルタイムで動作するシステムは、時間と資源が限られています。限られた条件をうまく生かしてプログラムを組み立てていきます。
スクリプトのイベントは、登録できる個数に上限があります。イベントは、「不要なイベントを避ける」、「イベントハンドラを工夫する」という方針で大幅に個数を減らすことができます。
自動センサーは、スクリプトを使わずに様々な処理ができます。自動センサーでスクリプトを置き換えてイベントそのものを減らすことができます。
イベントハンドラは、フラグ変数やカウント変数を利用して、単一のハンドラで様々な状況に対応できるようにすると、イベントを削減できます。複数のセンサーをまとめて、フラグなどを活用して条件を切り分けるとイベントハンドラをまとめることができます。