/vrlab-dvrsdk

DMM VR Connect SDK

Primary LanguageC#MIT LicenseMIT

DMM VR Connect SDK

DMM VR Connect SDKはDMM VR Connectと連携して、ゲーム内でのアバター読み出しと配信機能が利用できるUnity Packageです。

内容物

各必要アセットに記載のバージョンは動作確認済みバージョンです。

UnityPackage内

  • DVRAuth

認証用ライブラリ

  • Examples/DVRAuth

認証とAPIの機能を使用するサンプル

  • DVRAvatar

アバターを読み込む (使用するにはUniVRM 0.62.0が必要です)

  • Examples/2DUIExample

主にスマホ用のアバターを読み込みサンプルです

  • DVRStreaming

Oculus Questから映像と音声をRTMPで配信するライブラリ

  • Examples/DVRStreaming

Oculus Questから映像と音声をRTMPで設定した先に配信するサンプル (使用するにはOculus Integration 20.1が必要です)
Oculus/OculusProjectConfigの以下の項目をONにするとURLの入力にキーボードが使用できるようになります
・Focus Aware
・Requires System Keyboard

  • DVRAvatarCalibrator

アバターをVR機器を用いて制御するためのライブラリ (使用するにはFinal IK 2.0が必要です)

  • Examples/SteamVRExample
  • Examples/OculusVRExample
  • Examples/UnityXRExample

VR空間内でログインからアバターのキャリブレーションまで自動で行うサンプルUIです
(OculusVRExampleを使用するにはOculus Integration 20.1が必要です)
(SteamVRExampleを使用するにはSteamVR Unity Plugin v2.6.1が必要です)

  • DVRCamera

第三者カメラやワイプ、カメラワークが出来るカメラ制御ライブラリ

  • Examples/DVRCamera

DVRCameraで出来るカメラワークのサンプルです

  • Examples/AvatarUpload

ConnectにVRMをアップロードするサンプルです

  • Examples/Common/LipSync

Oculus Lipsync Unity Integrationによるリップシンクのコンポーネントです。リップシンクが不要な場合インポートから除外してください
(使用するにはOculus Integration 20.1もしくはOculus Lipsync Unity Integration v29が必要です)

zip内

  • LICENSE

DVRSDKのライセンス表記です

  • README.md

この説明書です

  • third-party-licenses.txt

サードパーティライセンス一覧

unitypackageをインポートする前に必要なライブラリを事前にインポートしておいて下さい。使用しない機能はインポート時にチェックを外して下さい
各サンプルシーンにはPost-processing stack (v2)の設定があらかじめ適用されています。使用するにはPackage ManagerからPost ProcessingをInstallしてください

使用方法

1. DMM VR Connectに接続して認証する

まず初めに取得したクライアントIDを設定します。
Unity上でAssets/Resourcesフォルダを開き右クリック->Create->DVRSDK->Create Configrationを選択し、出来たファイル名をSdkSettingsとします
InspectorでClient_idに発行されたクライアントIDを入力してください。

// Unity用の初期化を行う
var config = new DVRAuthConfiguration(client_id, new UnitySettingStore(), new UniWebRequest(), new NewtonsoftJsonSerializer());

// 認証処理の初期化を行う
Authentication.Instance.Init(config);

// DMM VR Connectに接続して認証する
Authentication.Instance.Authorize(
    openBrowser: url =>
    {
        verificationUri = url;
        Application.OpenURL(url);
    },
    onAuthSuccess: isSuccess =>
    {
        if (isSuccess)
        {
            LoginSuccess();
        }
        else
        {
            LoginFailed();
        }
    },
    onAuthError: exception =>
    {
        Debug.LogError(exception);
    });

認証処理を行うことでDMM VR Connect上の機能を利用できるようになります。
利用できる機能のサンプルはAssets/DVRSDK/Examples/DVRAuth/Scenes内にサンプルシーンがあるのでご覧ください。

2. DMM VR Connectにアップロードされたアバターを読み込む

// VRMローダー初期化
vrmLoader = new VRMLoader();
// カレントユーザーを取得
var currentUser = await Authentication.Instance.Okami.GetCurrentUserAsync();
// 自身のユーザーIDからユーザー情報を取得してカレントアバターを取得(データ暗号化)
var myUser = await Authentication.Instance.Okami.GetUserAsync(currentUser.id);
var currentAvatar = myUser.current_avatar;
// アバターをダウンロードしてGameObjectを取得
CurrentModel = await Authentication.Instance.Okami.LoadAvatarVRMAsync(currentAvatar, vrmLoader.LoadVRMModelFromConnectAsync) as GameObject;
// ロードしたVRMを表示する
vrmLoader.ShowMeshes();
// 自動まばたきを使用する
vrmLoader.AddAutoBlinkComponent();

認証後は簡単にDMM VR Connectにアップロードされたアバターをロードしてゲーム内に表示できます。

3. アバターをVR内の自分の姿として動くようにする

calibrator.LoadModel(CurrentModel);
calibrator.DoCalibration();

シーンに置いたVRMCalibratorにHMD、左手、右手を設定してDoCalibrationするだけでアバターを動かすことが出来ます

4. アバターを使い終わったらリソースを解放する

vrmLoader.Dispose();

テスト環境

Windows 10 x64
Unity 2019.4.26f1

アプリ内や紹介ページにロゴを使用する

ガイドラインに従ってDMM VR Connectのロゴを使用できます。
ブランドアセット/ロゴガイドライン