コンテンツにスキップ

EAUploader.Editor.Prefab.API

プレハブの操作、情報の取得に関わる公開APIです。 Editor/Public EAUploader API/EAUploader.Editor.Prefab.API.csで定義されています。

using EAUploader.Editor.Prefab.API;
ClassDescription
PrefabAPIプレハブの操作、情報の取得を提供するクラス
PrefabPreviewAPIプレハブのプレビュー画像を提供するクラス
ShaderAPIシェーダーの確認を提供するクラス
PrefabUtilityAPIアバターの情報の取得を提供するクラス
VRMAPIVRMのインポートを提供するクラス(VRM Converter for VRChat導入時のみ)

PrefabAPI


MethodTypeDescription
UpdatePrefabInfoVoidプレハブ情報(PrefabManager.json)を更新します
ImportPrefabVoid指定したパスのプレハブをEAUploaderに取り込みます
GetPrefabGameObject指定したパスのプレハブを取得します
ShowDeletePrefabDialogBoolプレハブの削除ダイアログを表示します
DeletePrefabPreviewVoid指定したパスのプレハブのプレビュー画像を削除します
PinPrefabVoid指定したパスのプレハブのピン留めを切り替えます
GetAvatarDescriptorVRCAvatarDescriptor指定したパスのプレハブのVRCAvatarDescriptorを取得します
IsPinnedBool指定したパスのプレハブがピン留めされているか確認します
SavePrefabVoidプレハブを保存します
public static void UpdatePrefabInfo();
public static void ImportPrefab(string prefabPath);
public static GameObject GetPrefab(string prefabPath);
public static bool ShowDeletePrefabDialog(string prefabPath);
public static void DeletePrefabPreview(string prefabPath);
public static void PinPrefab(string prefabPath);
public static VRCAvatarDescriptor GetAvatarDescriptor(string prefabPath);
public static bool IsPinned(string prefabPath);
public static void SavePrefab(GameObject prefab, string path);
  • GetPrefab、GetAvatarDescriptorは、プレハブが見つからない場合nullを返します。
  • ImportPrefabは、プレハブにEAUploaderMetaコンポーネントを追加し、プレビュー画像を生成して、モデルの管理の一覧を更新します。
  • ShowDeletePrefabDialogは、ユーザーが削除を選択した場合にプレハブとプレビュー画像を削除し、trueを返します。
  • PinPrefabは、ピン留めされていない場合はピン留めし、ピン留めされている場合は解除します。
  • SavePrefabは、GameObjectを指定したパスにプレハブとして保存し、ImportPrefabを実行します。

PrefabPreviewAPI


MethodTypeDescription
GeneratePreviewTexture2Dプレハブのプレビュー画像を生成します
GenerateAndSaveAllPrefabPreviewsVoidプレビュー画像が無いすべてのプレハブのプレビュー画像を生成して保存します
SavePrefabPreviewVoidプレハブのプレビュー画像を保存します
LoadTextureFromFileTexture2Dファイルからテクスチャを読み込みます
SaveTextureToFileVoidテクスチャをPNGファイルに保存します
GetPreviewImagePathStringプレハブのプレビュー画像のパスを取得します
GetPrefabPreviewTexture2Dプレハブのプレビュー画像を取得します
public static Texture2D GeneratePreview(GameObject prefab);
public static void GenerateAndSaveAllPrefabPreviews();
public static void SavePrefabPreview(string prefabPath, Texture2D preview);
public static Texture2D LoadTextureFromFile(string filePath);
public static void SaveTextureToFile(Texture2D texture, string filePath);
public static string GetPreviewImagePath(string prefabPath);
public static Texture2D GetPrefabPreview(string prefabPath);
  • プレビュー画像はAssets/EAUploader/PrefabPreviews/{プレハブ名}.pngに保存されます。
  • GeneratePreviewは、1080×1080の画像を生成します。
  • GetPrefabPreviewは、プレビュー画像が存在しない場合nullを返します。

ShaderAPI


MethodTypeDescription
CheckShadersVoidAssets内のすべてのプレハブのシェーダーを確認します
GetExistingShadersListプロジェクトに導入されているシェーダーのグループ名の一覧を取得します
CheckShadersInPrefabsVoid指定したプレハブのシェーダーを確認します
CheckAvatarHasShaderBoolアバターに必要なシェーダーがすべて存在するか確認します
public static void CheckShaders();
public static List<string> GetExistingShaders();
public static void CheckShadersInPrefabs(string prefabPath);
public static bool CheckAvatarHasShader(GameObject avatar);
  • CheckShaders、CheckShadersInPrefabsは、シェーダーが不足しているプレハブがある場合にダイアログを表示します。
  • CheckAvatarHasShaderは、シェーダーが不足していない場合にtrueを返します。ダイアログは表示しません。

PrefabUtilityAPI


MethodTypeDescription
GetAvatarHeightFloatアバターの高さ(視点の高さ)を取得します
CheckAvatarHasVRCAvatarDescriptorBoolアバターがVRCAvatarDescriptorを持っているか確認します
CheckAvatarIsVRMBoolアバターがVRMか確認します
CheckAvatarHasTandOBoolアバターがAvatarOptimizerのTraceAndOptimizeを持っているか確認します
GetAvatarDescriptorVRCAvatarDescriptorアバターのVRCAvatarDescriptorを取得します
GetPipelineManagerPipelineManagerアバターのPipelineManagerを取得します
public static float GetAvatarHeight(GameObject avatar);
public static bool CheckAvatarHasVRCAvatarDescriptor(GameObject avatar);
public static bool CheckAvatarIsVRM(GameObject avatar);
public static bool CheckAvatarHasTandO(GameObject avatar);
public static VRCAvatarDescriptor GetAvatarDescriptor(GameObject avatar);
public static VRC.Core.PipelineManager GetPipelineManager(GameObject avatar);
  • GetAvatarHeightは、VRCAvatarDescriptorのViewPositionのY座標を返します。VRCAvatarDescriptorが無い場合は0を返します。
  • CheckAvatarHasVRCAvatarDescriptorは、avatarがnullの場合falseを返します。
  • CheckAvatarIsVRMは、VRM Converter for VRChatが導入されていない場合は常にfalseを返します。
  • CheckAvatarHasTandOは、AvatarOptimizerが導入されていない場合は常にfalseを返します。

VRMAPI


VRM Converter for VRChatが導入されている場合(HAS_VRMが定義されている場合)のみ使用できます。

MethodTypeDescription
ImportVRMVoidVRMファイルをインポートし、変換ウィンドウを表示します
public static void ImportVRM(string path = null);
  • pathを省略した場合は、ファイル選択ダイアログを表示します。
  • プロジェクトのAssets内にあるファイルは指定できません。
  • インポートしたVRMはAssets/VRM/{ファイル名}.prefabに保存されます。