クライアントエンティティスクリプト

スクリプトをエンティティに添付することで、Vircadiaのコンテンツをインタラクティブにすることができます。クライアントエンティティスクリプトは、各ユーザーのコンピューターでローカルに実行されるエンティティスクリプトです。ユーザーがエンティティに接触すると、スクリプトが「プリロード」(または実行)され、ユーザーが離れるときにスクリプトが「アンロード」(または停止)されます。

ドメインには複数のエンティティが存在する可能性があり(通常は存在します)、各エンティティに異なるクライアントエンティティスクリプトを関連付けることができます。

コンテンツ

クライアントエンティティスクリプトをエンティティに添付する

クライアントエンティティスクリプトをエンティティにアタッチするには:

  1. インターフェイスにおいて、タブレットまたはHUDをプルアップし、作成に移動します。

  2. インターフェースでクリックするか、[エンティティリスト]で検索して、スクリプトを作成するエンティティを選択します。

  3. 作成アプリで、[プロパティ]タブに移動し、[動作]セクションまで下にスクロールします。

  4. スクリプトに、クライアントエンティティスクリプトのURLを入力します。

Note

For client entity scripts, the URL content must be available to every user who visits the domain. This means the URL should be a public http(s) URL, or an Asset Server (ATP) URL for the domain. It cannot be a file URL. The script property also accepts a string as input, allowing you to insert the code directly.

クライアントエンティティスクリプトの例

次のスクリプトは、モデル以外のエンティティ(ボックスや球など)をクリックすると、その色を変更します。

(function () {
    var clicked = false;
    this.clickDownOnEntity = function (entityID, mouseEvent) {
        if (clicked){
            Entities.editEntity(entityID, { color: { red: 0, green: 255, blue: 255} });
            clicked = false;
        } else {
            Entities.editEntity(entityID, { color: { red: 255, green: 255, blue: 0} });
            clicked = true;
        }
    };
})

この例は、JavaScriptクラスのプロトタイプ関数として記述されており、マウスイベントclickDownOnEntity()を使用しています。ユーザーがエンティティをクリックすると、 clickDownOnEntity()がそのクリックイベントに関連付けられた関数をトリガーします。この場合、エンティティの色が黄色とマゼンタの間で前後に変化します。

関連項目