Skip to content

YoakeLab/vrlab-dvrsdk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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のロゴを使用できます。
ブランドアセット/ロゴガイドライン

Packages

No packages published

Languages

  • C# 97.2%
  • Java 2.2%
  • ShaderLab 0.6%