メインコンテンツまでスキップ

TSMPBehaviour

名前空間: K13A.TSMP

TSMPBehaviour は、TSMP ランタイム コンポーネントの基本型です。

コンパイル シンボルに応じて、次のものを継承します。

  • UdonSharpBehaviour UDONSHARP が定義されている場合。
  • MonoBehaviour それ以外の場合。

これにより、TSMP コンポーネントは、UdonSharp ランタイムおよび Unity エディター/ネイティブ ランタイム用にコンパイルしながら 1 つのソース シェイプを共有できます。

静的ブリッジメソッド

方法使用
SetProgramVariable(...)Udon または Mono ターゲットにフィールドを設定します。
GetProgramVariable(...)Udon または Mono ターゲットからフィールドを読み取ります。
SendCustomEvent(...)Udon または Mono ターゲットでイベント/メソッドを呼び出します。

フレームワーク コードが Unity C# コンポーネントと Udon の動作の両方で動作する必要がある場合は、これらのメソッドを使用します。

通常のカスタム コンポーネントでは、this での直接フィールド アクセスを優先します。ブリッジ呼び出しは、エンコーダー、デコーダー、バインディング、およびディスパッチ コードでより便利です。

ロギングヘルパー

TSMPBehaviour は、ランタイム コンポーネントで使用される保護されたレート制限されたログ ヘルパーを提供します。

方法目的
ResetTSMPLogBudget(int budget)許可されるデバッグ/エラー メッセージの数をリセットします。
LogTSMPError(string prefix, string error, bool enabled)予算が残っている間はエラーが発生します。
LogTSMPWarning(string prefix, string error, bool enabled, float intervalSeconds)予算と間隔を制御して警告を発します。
LogTSMPRateLimitedWarning(string prefix, string error, float intervalSeconds)インターバル制御のみで警告を発します。

これらは、VRChat ログを大量に生成せずに、実行時に表示される診断が必要な TSMP コンポーネントを追加するときに使用します。

直接導出する場合

ユーティリティ コンポーネント、デバッグ UI、アバター リグ ヘルパーなど、ネットワーク ID によって同期されない TSMP ランタイム コンポーネントについては、TSMPBehaviour から直接派生します。

コンポーネントが TSMP ネットワーク メッセージを送受信するときに TSMPNetworkBehaviour から派生します。