やねうら王公式チャンネルの動画の件についてです。
まあ、標題の件については、動画を見ていだければ良いとして、この動画をどうやって作っているのかについてわりと質問をいただいたので解説します。
トラッキングについて
まず、頭と手のトラッキングにはOculus Quest2を用いています。
Oculus Quest2でClusterというVR会議アプリにログインして、そこで撮影しています。
HaritoraXを買って、足のトラッキングもしたいのですが、現在売り切れ中なのでまだそこまで出来ていません。
LeapMotionという手の指のトラッキングを行うハードウェアがあるのですが、この上位機種であるUltraleap IR 170(36,000円程度)も購入したものの、思っていたようなトラッキング精度ではなかったので、これは速攻でやねうら王チームのMizarさんにプレゼントすることにしました。
Oculus Quest2は私は256GBモデルを買いましたが、PC側につないで遊ぶなら128GBモデルでも良かったかも知れません。(Oculus Quest2単体で動くゲームはあまり面白いゲームがないもので…)
それはともかく、昨年買ったもののなかでは、私は
・Oculus Quest2がベストバイ(買って一番良かったもの)
・Ultraleap IR 170ワーストバイ(買って一番悪かったもの)
となりました。
この二つを同時に注文したのって、なんだか運命的(?)だと思うんですよね。
Oculus Quest 2 128GBモデル : アマゾン
VRアプリについて
Clusterは、VRM(アバターのモデルファイル)を持ち込める会議アプリなのでVRMファイルを用意すればその姿で会議ができます。Clusterは先週ちょうど持ち込めるVRMのサイズ制限が撤廃されたので、いままではUnityでボーンの数などを削らないと持ち込めなかったアバターが持ち込めるようになりました。
ClusterのVRM制限撤廃とOculus Quest2により、上のような動画を作る下地は完璧に揃いました。
ClusterにはOculus Quest2単体でログインできます。
// VRChatはPC版でないとアバター持ち込みはできないので、このへん少しハードルが高いです。
アバターはVRMが作れるソフトで作りましょう。VRoid Studioがわりと簡単に作れるのでお勧めです。でも、現時点では目や鼻などのパーツが少ないのでなかなか思うようなアバターにならないというのはあります。
VRoid Studio : https://vroid.com/
やねうら王公式のアバター(正木わかる)は、セシル変身とItemShop、DressMakerというスズキセシルさんのソフトを使っています。
それぞれ有料ですが、アバターの制作をオーダーメイドすることを思えば全然安いです。
素晴らしいソフトを作られているスズキセシルさんに感謝致します。
音声について
音声は、台本を書き、VOICEVOXというPC用の無料アプリでmp3ファイルを生成しています。VOICEVOX単体だと一気に合成できないので、このfrontendとして、UniCoeというソフトを用いています。単語を辞書登録できるので、イントネーションは単語登録を繰り返して調整しています。将棋ソフトでよく使う用語は限られているでしょうから、ひたすら単語登録しておけば、あとあと楽ができそうです。
無料でさまざまな音声合成エンジンや音声ライブラリを扱える汎用合成音声エディタ「ユニコエ」が登場(GIGAZINE)
https://gigazine.net/news/20220105-unicoe/
VOICEVOX : https://voicevox.hiroshiba.jp/
マイク入力
事前に用意したmp3をスマホで再生して、自分の口元にスマホを持ってきて、リップシンク(音に合わせてアバターの唇を動かすこと)をしていました。しかし、これだとハンドフリーにならないのでOculus Quest2のコントローラーが握れません。(1本目の動画はそうやって撮影したものです)
Oculus Quest2のヘッドホン端子は、マイク端子は兼ねていない(4極ではない)のでマイク入力を行うことができません。仕方ないので、マイク穴(左下と右下にある)にイヤホンをセロテープで巻きつけ、そのイヤホンにスマホからmp3を音量最大にして再生するようにしたのですが、イヤホンからの音の出力は小さすぎてアバターの口がうまく動きません。
仕方ないのでヘッドホンを買ってきて、ヘッドホンを図のようにセロテープで巻きつけたのですが、これでもまだアバターの口が半分ぐらいしか開きません。
PC版Cluster + SteamVR + Oculus Air Link
そこで、仕方ないので、PCからClusterにログインすることにしました。PCにOculusアプリ(PC用)とSteamVRをインストールして、PC側とOculus Quest2は、Oculus Air Link(要するにWiFi)で接続。PC側のGPUはそこそこスペックが必要になります。
これでログインしようとしたものの、PC版のClusterからOculusのコントローラーを認識しないようでずいぶん試行錯誤したのですが、どうもSteamVRを先に起動してると駄目で、Clusterを先に立ち上げればうまく動きました。
それで何故PC版のClusterを使うのかと言うと、PC版ならマイクからmp3を流し込んでやれるからです。物理マイクに直接スマホのスピーカーから音を流し込んでも良いですが、そんな原始的なことはしたくないので、仮想スピーカーと仮想マイクがloopbackしている(つながっている)ようなオーディオドライバーを用意して、その仮想スピーカーに対してmp3を再生します。そうすれば仮想マイクからその出力が返ってくるので、Clusterのマイクデバイスをこの仮想マイクにすれば良いです。
このようなオーディオドライバーには、↓がシンプルで使いやすいです。
Virtual Audio Cable : https://vb-audio.com/Cable/
どうやって録画するか
録画のためには、もう一つ別のアカウントでClusterにログインする必要があります。
Clusterは幸い、Androidに対応しているので、Androidタブレット、スマホ等で複数ログインして、それらで画面録画を行いました。画面録画は、スマホの画面録画の機能で録画したのですが、スマホ端末のスペックが低いと高い解像度で撮影できてなかったり、遠方にいるアバターの描画品質を「高」に設定しておかないと荒く表示されたままであるのとか気づかず、画質が荒くなってしまいました。(これ2つ目の動画で画質が荒かった原因)
ちなみにClusterはワールドをプライベート設定にして、フレンドのみをそこに招待できるので、その状態で撮影しています。
まとめ
私は2本の動画を作ってみて、やっとVRの世界にも慣れてきた気がします。今後、他の将棋ソフト開発者の人たちとClusterやVRChatのなかで対談ができたらと思っています。
Oculus Quest2はマジお勧めなので、皆んな買おう!
追記
Leap Motionで↓このトラッキング精度が出ているらしい。Ultraleap、私の使い方が悪い可能性が高い。(手元が暗すぎるだとか、Ultraleapを中空に取り付けていないだとか…)
追記 2022/1/21
Ultraleap、私がプレゼントした製品をMizarさんのほうで検証したところ、普通に使えている&トラッキングできる範囲が広いのだそうです。私は枕を涙で濡らすことにします。
やねうら王公式チャンネルが開設されて嬉しいです。このチャンネルを通じて先月の記事「強い将棋ソフトの創り方、速攻レビュー」で話されていた「将棋ソフト開発の知識を残す」ことが実現できそうで良かったです。
2本目の動画も見ましたが、ツイートされていた「開発者以外にはいままであまり伝わっていなかったと思うので、開発者以外の方にも見てもらいたいです。」の目的が達成できているように思います。
少なくとも2012年あたりからコンピュータ将棋やこのブログを追っていた私(プログラマでありながら開発に着手したことがない)でさえ、やねうら王をベースにして(フォークして)思考エンジンを開発する開発者の最初のモチベーションを初めて知れました。
ついでに動画の作り方についてもこの記事で紹介されていて興味深かったです。(YouTube動画の概要欄にでもこの記事のURLをリンクしてはいかがでしょう。動画だけ見てブログ記事の存在を知らない人にも有益そうに思います)
動画の作り方について(要望ではなく)雑談程度にコメントしておきます。私もかつて「ゆっくり解説動画」の作成にチャレンジしたことがあったり、たまたま半年ほど前にOculus Quest2を買ったりしていたので少し親近感を感じながらこの記事を読んでいました。(私はMac使いなので音声はMYukkuriVoiceを使って動画編集は(無償なので)DaVinch Resolveでやっていました)
【動画内に字幕はつけないの?】
YouTubeでいろんな動画を見ていて、特にゆっくり解説系の動画だと「発言そのものの字幕」があることで動画が非常に見やすく(理解しやすく)なると感じていますが、やねさんの動画では字幕をつける予定はないでしょうか?
ただ、1本目、2本目のコメント欄に「台本」を丸ごと載せているのは面白いと思いました。そんなことをしている(解説系の)YouTube動画は見たことがなかったですが、文字だけで動画内容を理解できるので字幕をつけるのとは別に有益な方法だと感じました。
【音声について】
ゆっくり動画を作った経験のせいで、音声は動画編集時に当てているのだと思っていました。アバターの口の動きをつけるためにもリアルタイムで音声入力をしないといけないのですね。(それとも別の意味があるのかな?)
【録画について】
> 録画のためには、もう一つ別のアカウントでClusterにログインする必要があります。
録画するだけならミラーリングで別端末に映したものを録画すればいいのかと思っていましたが、これは第三者視点でアバターを録画するために別アカウントが必要ということですかね。Clusterで録画に関して何ができるのか詳しくないですが、置きカメラみたいな機能はないということですよね…。
【Eliteストラップは使っていますか?】
もはや記事の内容とは関係ないのですが、Oculus Quest2のゴーグルを装着するにあたって後頭部を固定する「Eliteストラップ」なるものは使っていますか?
私はこれを使わず(持っておらず)頭のゴーグルが少し動く状態のままOculus Quest2を数時間プレイしたせいで酔ってしまいました。もし使っていなければEliteストラップなしでも困らないのかどうかちょっと気になったのでした。
P.S.
YouTubeのコメント欄はURLを書いたりできず使い勝手が悪いけれど、やねさんに動画の感想を伝えたいと思ってTwitterとブログを見たらこの記事の存在を知ってこのコメントを書いている次第です。
(なんだかかなり長文になってしまいすみません)
> やねさんの動画では字幕をつける予定はないでしょうか?
今後、つけようかとは思っています。
それとは別に、台本自体は、今後も毎回コメント欄に貼り付けておこうとは思っています。
> これは第三者視点でアバターを録画するために別アカウントが必要ということですかね。
はい、そうです。Cluster、イベントのスタッフなら置きカメラのような機能が使えるそうなのですが、一般ユーザーは使えないようです。
> 「Eliteストラップ」なるものは使っていますか?
使ってないです。Oculus Quest2、半脱ぎぐらいの状態で使ってタブレットのほうの操作もやらないといけないので固定されていないほうが便利なんですw
返信ありがとうございます。
ストラップなしでOculus Quest2を使っているとお聞きできて参考になりました。(と言いながらOculus Quest2を数時間やってみたら結局酔ってしまいました)
字幕の検討もされるということで一視聴者として嬉しいです。今後の動画にも大いに期待しています。
協力しあえる場を作る。超感動しました。『桜木君がこのチームにリバウンドとガッツを加えてくれた~』をふと思い出した。Ultraleapは手元が明るすぎだと思う。知らんけど
> 超感動しました。
高評価256回ぐらい押しといてくだされw
// 偶数回押すと高評価押したことにはならないか..
>VRChatはPC版でないとアバター持ち込みはできない
とあるのですがVRChatでもポリゴン数減らしたりシェーダー変えたりしたら一応持ち込みは出来ますよ。(自分はそれでやっています)
Clusterやセシル変身は知らなかったので試してみたいですね!
×VRChatでも
○Oculus Quest2でも
ああ、そうなんですか…。(私が見てたの古い記事のようで)
ただまあ、VRMのサイズ制限、わりと厳しい感じが…。> VRChat
まぁポリゴン数はMAX15000制限なのでマテリアル的には人型には十分見れるレベルですがシェーダーが悪くテクスチャの質がかなり落ちる方が大きいですね…
一応セシル変身を用いたアバターでVRChatのQuest2対応アバターはこんな感じで作れました。ご参考までに…
https://twitter.com/tsukinomoto/status/1482437949929459714
気付いたのでここにでも書いておきます。
YouTube動画の概要欄にこの記事へのURLが貼られていると思いますが、YouTubeがクソなのかURLが途中で省略されていて別ページへのリンクになってしまっているようです。
> 本チャンネルの動画をどうやって作っているかについては、ブログに記事を書きました。
> https://yaneuraou.yaneu.com/2022/01/1…
余談ですが、YouTubeは基本的にコメントにURLが書けないし(スパム扱いされる)、URLがなくても(確率的にスパム扱いされるのか)書き込みが無かったことにされてしまったりすることがあるので中々まともに使えないなと思いながら使っています。
ありがとうございます。修正しておきました。(前の動画の概要欄のところからコピーしたらそうなってました) リンク自体はURLが長いものも貼れるようでした。