GoやQuestで設定する自分のOculusAvatarを自作アプリで使えるかやってみます。
通信もしたいけど、まだ知識がない。。。
追記に追記を重ねぐちゃぐちゃになった。
- アバター
- SDK
- LocalAvatar
- Questビルドでアバターが表示されない
- 追記:AppID追加
- 公式情報
- OculusUserID
- 切り分け???
- 寄り道(飛ばして
- アバター使っている事例
- 最後に
アバター
ここでいうアバターとはこれです。
前まで目は眼鏡などでかたくなに隠れていたけど、いつの間にか眼鏡なしverも選べるようになってる!!
眼鏡の下からも目が見えた。
Unityでのダミーアバターの下も目がきょろきょろしている
本物っぽくなるらしい。
喋りに合わせて表情もかわるとも書いてるけど、Questのアバター作成画面で試した限りは変わらなかった。
SDK
OculusIntegrationにAvatar関係も入っています。
Oculus Avatar SDKというのもありますが、最新版(1.31.0)にはすでにUnity向けのものは入っていなくて、上で言ったIntegrationだけを使えばいいみたいです。
昔はこっちにUnity向けのも入っていたみたい。
2年前と少し古いですがこちらの記事を参考に触ってみます。
LocalAvatar
LocalAvatarというサンプルシーンを触ります。
実行すると大きいアバターと小さいアバターがいます。自分は大きいアバターに乗り移っています。
ShowFirstPersonをはずすと
自分の頭は非表示になります。音と手は表示されるようです。
どちらも外すと声も手もなくなりました。
ちなみにStartWithControllersにチェックを入れるとコントローラーが出ます。
何も設定してないとQuestのコントローラーでした。
ここがActiveになってる。
でも手動ではactiveにできない
RemoteLoopback
鏡のように自分と同じ動きをするアバターが出ます。
少しだけ動きが遅れていました。
このサンプルではLocalAvatarの動きのデータをPacketという形で送り出し、それを目の前にあるRemoteAvatarが即受け取ることで同じ動きを表現している、ということになります。
Oculus Avatar SDKの使い方&アバター通信サンプル 面白法人カヤック VR部ラボ 第4回 | MoguraVR News - VRの「いま」を掘りだすニュースメディア
ここのサンプルをいじれば通信ができるのか~
Questビルドでアバターが表示されない
とりあえずAndroidビルドしてQuestで動かしてみます。
Editor上だと仮のアバターだけどQuestなら自分のアバターになるのかな?
・・・そもそも表示されませんでした><
調べたらアプリをアルファ版に登録しないといけないらしい。
I had to upload to app to oculus store in alpha channel and add myself and my test accounts as testers
そういえば以前そういうツイート見た気がする。。。
OculusのPlatformSDKとかAvatarSDKってAppID必須?AppIDはダッシュボードでアプリ作成して取得するんだけど、Questだと企画審査通らないとアプリ作成できないですよね?ということはQuestでPlatformSDK使うアプリは試作してみることすらできないかんじ?
— ながみね (@KzoNag) May 30, 2019
おわり!
QuestはGoでは簡単にできたアルファリリースとかも審査が必要でできない。
note.mu
ただQuestでの動きを取ることはできる。
Photon使ってQuestでマルチでアバター出すのできた!Quest側のアバターがエディタ上でも再生されてる。マイクからの入力で口も動いてるっぽい。OculusAvatarすごい! pic.twitter.com/VurSe873LM
— ながみね (@KzoNag) June 30, 2019
あくまで個人のアバターを表示することができない、ということかな?
追記:AppID追加
Goでやる場合など、appIDを手に入れられた場合。
UnityEditorの上のOculus>Avatar>EditorからAppIDを入れるところがある
古いIntegrationだとOculusAvatar>からこんな感じ。
あとLocalAvatarにはOculusUserIDを入れる場所がある。これは勝手に入ってた??
これが必要なのかよくわからない。
あとOculus>Platform>EditにもAppIDを入れるところがあった。
Rift時代の情報しかなかった。
でもOculusGoでAvatar使っているやのせんさんも凹みさんの記事を参考にしたらしい。
この記事ね。Oculus Avatar SDKの解説。ちょっと古いけど役に立った。 https://t.co/bwz6T3Xv8I https://t.co/t6pQno14QN
— やのせん@VR教育者 (@yanosen_jp) October 12, 2018
公式情報
公式情報みます。
Goで書いてる。
テストのためのUserIDも書いてあった。
手順通りにやったけどAndroidでもEditorでもオリジナルアバターは表示されなかった。
ただUserIDをtext表示したらEditorでは数字が表示されたけど、Androidだと何の数字も表示されなかった。
マジでわからん
フォーラム
OculusUserID
凹みさんの記事を参考に、UserIDを取得して自分のモデルを出す。
ここに入力して、
下のコードでDebugLogにIDが表示されるはず・・・
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Oculus.Platform;
public class getAPI : MonoBehaviour
{
void Start()
{
Core.Initialize();
Users.GetLoggedInUser().OnComplete(msg => {
Debug.Log("自身の ID" + msg.GetUser().ID); // 自身の ID(16 桁の数字)を表示
Debug.Log("自身の ID文字列" + msg.GetUser().OculusID); // 自身の ID(文字列)を表示
});
}
なかなかされない、生成直後はされないって記事にも書いてあった。
そもそもDebugLogの部分が呼ばれていない。
切り分け???
・OculusGo用でアルファリリースして、自分をテストユーザーに招待してもアプリは表示されない。
Go用に登録したappIDを入れる
・この状態でdebugモードでAndroidビルドしてQuestに入れたらダミーのものが表示された!
古いIntegrationだと下のほうに頭が表示されていたがユーザー独自のものではない。しかも動かない。謎の頭
・AppID入れない状態でもダミー表示された!??なにもわからん。前は表示されなかったのに
・AppIDを入れてwindowsビルドしたらEditorと同じダミーアバターが表示され動く
寄り道(飛ばして
アバター表示されない原因を探ってた時の寄り道。関係なかった
参考記事を見たら
Oculus Avatarは、ビルドされたアプリ上だとデフォルト状態で描画されません。これを解決するためには、以下の2点を設定した上でビルドしてください。
・Edit > Project Settings > Graphicsの設定項目の1つ、「Always Included Shaders」のSizeを3つ増やし、Project内のOvrAvatar > Content > Materials にあるAvatarSurfaceShaderAvatarSurfaceShaderSelfOccluding、AvatarSurfaceShaderPBS
を新たな3項目に設定する
Build SettingのArchitectureをx86_64
とありました。
Build SettingのArchitectureをx86_64はWindowsビルドの話かな?
shaderを追加するのはできました。
これでビルドしたけど表示されなかった。。。
追加したシェーダーってアバターに使われているものなのか?
でも現在のアバターはAvatar_Mobile_SingleComponentを使っている・・・
これを追加してビルドしても無理だった!!!
こちらの記事の「Oculus Questアプリをビルドするには」を参考にビルドの設定を変えた。
「Player Settings… で Graphics APIs の Vulkan を削除する」の部分が見つからなかったけど、AutoGraphicsAPIのチェックを外したら表示されるのかな?と思ってチェック外したら大量に処理が走って時間がかかかかかかかか
手順的にもIntegrationを入れる前にやることだし、やらかした感
アバター使っている事例
今回できなかったけど、逆にアバター使えている公式以外のアプリってあるのかな?
こちらのSlidesGoというアプリでは使っていた!
Oculus Goでプレゼン動画を作成するアプリ SlidesGo をアップデートしました。Oculus Avatarが使えるようになり、表示中のスライドの前後のスライドも発表者が見れるようになったのが主な変更です。詳しいことは https://t.co/xZBG6Knm5q をご覧ください! #SlidesGo pic.twitter.com/oVIKAqh9Hc
— やのせん@VR教育者 (@yanosen_jp) October 17, 2018
Goはアルファリリースが割と簡単にできるので使えるのか
他はあんまり思いつかないな~VR55とか
あんまり使ってないのかな
あとQuestってOculusRoomsなくなったから余計にアバター見ない。
最後に
「oculus avatar quest」で検索したらVRchatの記事ばっかり出てくる!!!!
Qiitaで探したら出てきた。
かといって「oculus avatar quest -vrchat」で検索してもそんなに出てこない