同梱パッケージについて

VRoid SDKはUniVRMを含みます。VRoid SDKをインポートする際に自動的にUniVRMがインポートされます。Exampleを利用するには新しいInput Systemが必要なため、公式ドキュメントを参考にプロジェクトに導入してください。

CharacterModelExampleを利用する

<aside> ✏️ Assets/VRoidSDK/Examples/CharacterModelExample/PrefabsのVRoidHubControllerを利用すると、同様の手順で新しいシーンへ導入できます

</aside>

ExampleやPrefabを使わない方法

ログイン

class Login : MonoBehaviour
{
    void Start()
    {
				// 通信に使うThreadContext
				var context = SynchronizationContext.Current;
				// ダウンロードしたcredential.json.bytesを読み込み
				var credential = Resources.Load<TextAsset>("credential.json");
				// 設定に使うアプリ情報
				var credentialJson = credential.text;
				// 認可に使うConfigの作成
				var config = OauthProvider.CreateSdkConfig(credentialJson);
				// OAuthの認可を扱うClientを作成する
	      var oauthClient = OauthProvider.CreateOauthClient(config, context);
				// ログインに使うBrowserを作成
	      var browser = BrowserProvider.Create(oauthClient, config);
				// ローカルにアカウントファイル保存済みかつ期限が切れてない
				var isLoggedIn = oauthClient.IsAccountFileExist() && !oauthClient.IsAccessTokenExpired();				
				// ログイン
				if (!isLoggedIn)
				{
						// すでに認可済みだが期限切れの場合は再認可。 
						// そうでなければブラウザを開いて認可フローを開始する。
						oauthClient.Login(
							browser,
							(account) => { /*ログイン成功時*/ },
					    (error) => { /*ログイン失敗時*/ }
						);
				}
    }
}

モデルの読み込み

var defaultApi = new DefaultApi(oauthClient);

oauthClient.Login(
		browser,
		(account) => {
			// モデル読み込みに使うModelLoaderを初期化
			ModelLoader.Initialize(
				config,                  // Credentialから作成したConfig
				defaultApi,              // 認可済みのAPI
				"PASSWORD_FOR_YOUR_APP", // モデル暗号化のパスワード
				10                       // モデルの最大キャッシュ数
			);

			defaultApi.GetAccountCharacterModels(10, (models) => {
				// モデル読み込みの開始
				ModelLoader.LoadVrm(
					models[0],  // 読み込むモデル
					(gameObject) => {
						// 読み込み完了後のコールバック
						gameObject.transform.parent = this.transform;
					},
					(progress) => {
						// 読み込み中の進捗コールバック
					},
					(error) => {
						// エラー発生時のコールバック
					}
				);
			}, (error) => { });
		},
    (error) => { /*ログイン失敗時*/ }
	);