エディタの拡張
Creator Kitでのワールドの編集やアップロードはUnity Editorによって行われます。 エディタ拡張をC#で書くことで、このプロセスを拡張することができます。
Creator Kitの今後のアップデートで互換性が保たれない変更を行う可能性があります。
コールバックの登録
アップロードの前後にコールバックを登録できます。
Editor 向けに記述された Unity C# コードから ClusterVR.CreatorKit.Editor.EditorEvents.asmdef
を参照することで、WorldUploadEvents
クラスにアクセスしてワールドのアップロードイベントを処理します。
WorldUploadEvents
クラスでは以下の関数が利用できます。
関数 | 機能 |
---|---|
RegisterOnWorldUploadStart | ワールドのアップロード前に呼ばれるコールバック関数を登録します。コールバック関数では、アップロードを続行してよい場合に true を返し、アップロードを中止すべき場合は false を返してください。 |
RegisterOnWorldUploadEnd | ワールドのアップロードが成功、または失敗した場合に呼ばれるコールバック関数を登録します。 |
以下のサンプルコードでは、ワールドのアップロード前後にログ出力を行うコールバックを登録します。
using ClusterVR.CreatorKit.Editor.EditorEvents;
using UnityEditor;
using UnityEngine;
public static class MyWorldUploadEventHandler
{
[InitializeOnLoadMethod]
public static void Initialize()
{
WorldUploadEvents.RegisterOnWorldUploadStart(OnWorldUploadStarted);
WorldUploadEvents.RegisterOnWorldUploadEnd(OnWorldUploadEnded);
}
static bool OnWorldUploadStarted(WorldUploadStartEventData data)
{
Debug.Log($"World upload started, root object count = {data.Scene.rootCount}");
return true;
}
static void OnWorldUploadEnded(WorldUploadEndEventData data)
{
Debug.Log($"World upload ended, success={data.Success}");
}
}