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

Script

Scriptコンポーネントは、エンティティがユーザー提供のスクリプトを実行することを可能にします。これにより、ユーザーはJavaScriptまたはTypeScriptを使用してスクリプトを作成し、エンティティがインスタンス化されたときやフレームごとに更新されるときに実行できます。

Script Component

スクリプトの追加

新しいスクリプトを作成するには、ScriptコンポーネントのAdd Scriptドロップダウンをクリックして、以下のいずれかを行います:

  • リストから既存のスクリプトを選択する
  • 新しいスクリプト名を入力し、Create Scriptをクリックして新しいスクリプトアセットを作成する

または、AssetsパネルからScriptコンポーネントにスクリプトアセットをドラッグ&ドロップすることもできます。

Add Script Dialog

スクリプトパネルのコントロール

コンポーネントに追加された各スクリプトは、以下のコントロールを持つ折りたたみ可能なパネルとして表示されます:

コントロール説明
Script Nameクリックすると、Assetsパネルでスクリプトアセットを選択します。
On/Offこの個別のスクリプトを有効または無効にするトグル。
Editコードエディターでスクリプトを開きます。
Parseスクリプトを再解析して属性を更新します。スクリプト属性の定義を変更した後に使用します。
Removeコンポーネントからスクリプトを削除します(Xボタンをクリック)。
注記

ここに表示される Script Name は、スクリプトの登録名です。これはコード内で、ESM スクリプトの場合は static scriptName によって、クラシックスクリプトの場合は pc.createScript('name') の引数によって定義されます。これはスクリプトアセットのファイル名とは独立しているため、両者が異なる場合があります。たとえば、annotation-manager.mjs というファイル名でも、スクリプトは annotationManager として登録されていることがあります。

スクリプトの順序

エンティティに複数のスクリプトがアタッチされている場合、その順序が重要です。スクリプトは上から下へ順番に実行されます。スクリプトをドラッグ&ドロップしてコンポーネント内で順序を変更できます。

スクリプト属性

スクリプトはインスペクターに表示されるカスタム属性を定義できます。これらの属性により、コードを変更せずにスクリプトの動作を設定できます。サポートされている属性タイプには以下が含まれます:

  • boolean - チェックボックス
  • number - 数値入力(min/max範囲でスライダーもオプション)
  • string - テキスト入力
  • vec2vec3vec4 - ベクトル入力
  • rgbrgba - カラーピッカー
  • asset - アセットピッカー
  • entity - エンティティピッカー
  • curve - カーブエディター
  • json - 複雑なネストされたオブジェクト

スクリプトで属性を定義する方法の詳細については、Script Attributesドキュメントを参照してください。

関連項目

スクリプトインターフェース

Scriptコンポーネントのスクリプトインターフェースはこちらです。