Connect 2021 キーノート以外の技術的話題
Andrew BosworthによるFacebookアカウントをリンク解除できるとの確約
Bozへ:「Facebookアカウントをリンク解除してFBアカウントを削除しても、これまでに買ったVRコンテンツを所有・使用し続けることができる?」 twitter.com/hmltn/status/1…
2021-10-29 22:24:16I’m still kinda unclear here, will I be able to unlink my Facebook account and delete it and keep and use my purchased VR content with Quest 2? @boztank
2021-10-29 11:10:07John Carmackの喋りきれなかった発表メモ
カーマックがキーノートのためにまとめていたメモ、本人の覚え書きなので意味がわからない所も多いけど、漏れた話も色々あって面白い twitter.com/ID_AA_Carmack/…
2021-10-29 14:59:47Here are the raw notes that I took preparing for my Connect 2021 talk. There was a good bit more I wanted to cover, as well as a lot of cryptic notes for consideration. dropbox.com/s/ruv739914jzq…
2021-10-29 09:41:19放熱の話: 人体をヒートシンク、血液をクーラントとして扱っては?という冗談(おいおいw) コントローラー: Questコントローラーを適当に掴むと大抵左右が違う方になってるの、USB-Aを一発で正しく刺せないのに似ている。色分けで区別する?
2021-10-29 15:02:21・コンテンツ量を手軽に増やすのに鏡のように左右反転した世界を作る(意外と新鮮に感じる)、Daedalus等でやってる ・そもそもiOSとAndroidで同じアプリを二度作らなきゃいけない現状が悲劇なので、更に個別対応を増やすべきで無い
2021-10-29 15:05:38・フレームの姿勢予測が上手くいってない場合、コンポジターは表示合成時点でそれがわかってる。そういうフレームは低コントラストでよく見えないように表示したほうが快適なのでは?(すげえ発想だ!) ・ちゃんとチューニングすればOculus Browserはあと50%は速くできる
2021-10-29 15:08:50・ヘッドセット被ってるほうがKN95マスク付けてるより幸せだ(??) ・Air LinkでH.264/265の代わりにコンピュートシェーダーベースのコーデック? ・サーバーサイドで音声を頭部姿勢に合わせてステレオミックスし、ローカルでtimewarp的に補正するべきか? 等々。
2021-10-29 15:16:51性能70%アップの可能性を謳うApplication Spacewarp
Application Spacewarp。アプリをQuestで36fpsで動作させ、モーションベクトルとデプスから間のフレームを予測することで72Hzの滑らかな表示を実現する。処理時間に70%ほど余裕ができる。PCのASWとは別の技術で、アプリ側で有効無効を設定できる。 facebook.com/watch/?v=29685… #Connect2021 pic.twitter.com/bmY0IcFsqr
2021-10-29 10:42:10フレームレートが半減したら当然レイテンシーは倍になるため、対策が色々必要になる。レンダリングパイプラインを端から端まで確認して3つの遅延対策を実装した。Phase Sync, Late Latching, Positional Timewarp。 #Connect2021 pic.twitter.com/891WK2Smvp
2021-10-29 10:45:41Application Spacewarp + Positional Timewarp (PTW)を使って36fps動作しているアプリの頭位置の反映遅延は、現行のストアに出ているフルフレームレートのPTWなしアプリよりも「短くなる」。マジすか。 #Connect2021
2021-10-29 10:48:13Phase Syncはメインスレッドやレンダリングスレッドの開始を多少遅らせ、コンポジット開始直前ギリギリで完了するようにすることで遅延を低減する。処理が軽いアプリほど大きくずらせるのでより遅延を削れる。 #Connect2021 pic.twitter.com/KkDytNvc7m
2021-10-29 10:53:08処理が重いアプリほどPhase Syncの恩恵は小さくなるが、逆にLate Latchingの恩恵が大きくなる。従来はレンダリングスレッド開始のBのタイミングで頭と手の姿勢情報を更新するが、Late LatchingではGPUにコマンドを投げる直前のCのタイミングでもう一回更新する。 #Connect2021 pic.twitter.com/AlcMzx04GR
2021-10-29 11:02:16C-Bの分だけ、つまりレンダリングスレッドの実行時間いっぱいまで遅延を削れるため、理論上ASW利用アプリで最大25ms、通常のアプリでも最大13ms削ることが可能。UnityやUnrealで使用可能。LLはアプリ側の実装となるため、ネイティブ開発者の場合は自分で組み込む必要がある。 #Connect2021
2021-10-29 11:02:16最後にPositional Timewarp。通常のTimewarpは頭の回転の補正を表示直前に行えるが、平行移動の補正は行えない。これを行うのがPTW。元々Application Spacewarpにはモーションベクトルとデプスバッファが必要なので、これを利用し、頭の位置移動に合わせて深度を再投影する。 #Connect2021 pic.twitter.com/uAN3s3ifrj
2021-10-29 11:07:37たとえアプリケーションのレンダリングが36fpsに落ちていても、コンポジターは常にフルフレームレートで動いている。このため、TWおよびPTWは2fに1回のApplication Spacewarpによって予測生成されたフレームに対しても適用できる。 #Connect2021
2021-10-29 11:08:47この3つの遅延対策の中で、Phase SyncはOpenXRベースのアプリ全てでデフォルト有効になるので、恩恵にあやかるのが最も簡単。Positional Timewarpは必要なバッファ情報を生成してさえいれば利用できる。Late Latchingは場合によっては手動実装が必要。 #Connect2021
2021-10-29 11:11:07もちろんApplication Spacewarpは銀の弾丸ではなく、適さない場面もある。1つのピクセルはそれぞれモーションベクトルとデプスを1つずつしか持てないため、半透明で重なっているものなどは苦手。遠くならあまり気にならないが、手やパーティクルなど、近くで速く動くものには向かない #Connect2021 pic.twitter.com/Drr8Ks3uak
2021-10-29 11:15:16また、Spacewarpは絵を変形する技術であるため、規則的な模様などの上に動く要素がある場合は歪みが目に付く可能性がある。 #Connect2021 pic.twitter.com/Qb8YOrblhf
2021-10-29 11:18:29高速に回転している物体など、モーションベクトルが正確に取れないくらい速い場合も予測フレームが正確に出せない可能性がある。速度を下げるか、そこだけシェーダーを使ってモーションベクトルを切ってしまう手もある。 #Connect2021 pic.twitter.com/NQhIyhqaYH
2021-10-29 11:20:28モーションベクトルをどう出力するかはアプリ開発者に委ねられているため、見栄えが良くなるように色々工夫してみるのをお勧めする。詳しくはドキュメントを参照。 #Connect2021
2021-10-29 11:22:16Unity, Unreal, 生OpenXRに対応。 #Connect2021 pic.twitter.com/9Y8iRvnvB5
2021-10-29 11:23:50