2022/7/30(土)

OpenXRを用いたゲーム開発がひとまず終わった。こんな感じの的あてゲーム。

プレイ画面の画像

OpenXRの基本的な機能

  • セッションの作成・管理
  • HMDスクリーンへの描画
  • HMD座標姿勢の取得
  • コントローラの座標姿勢・ボタン押下状態などの取得
  • コントローラのバイブレーションの利用

などは一通り試したし、VRアプリケーションによくある機能

  • レーザーポインタによる選択UI
  • VR空間に対応した立体音響(OpenALを用いた)

といったあたりも出来た。また3Dモデルの読み込み・表示といったあたりの実装の経験も積めたので、技術的な実験としてはかなり満足することができた。休学中の1か月を捧げるだけの価値はあったように思う。blenderの基本的な使い方を覚えることができたのも収穫だった。

一方、3Dモデルのボーン・モーフ変形の実装まではこぎつけられなかった。逆運動学の勉強もしていないし、VRMモデルをアバターとして身体に同期させるような類まではまだまだ少し道のりがありそう。あとはGPU最適化の類の実装も出来なかったな。結局現状ではモデルのマテリアルの数だけデスクリプタセットを持ち、メッシュの数だけ頂点バッファを作ってプリミティブの数だけドローコールを呼び出している。ここを本当は巨大な頂点バッファに全てを押し込め、テクスチャを1つのアトラステクスチャにまとめ、複数のドローコールをDrawIndirectでまとめるべきなのだ。

とにかくOpenXRの入門を書けるだけの知識は揃ったので書いていこうと思う。しかし、foolslab.netでは書かないことにしようと思う。

完全に話が飛ぶのだが、foolslab.netを移行しようと思っている(以前の日報にも書いた)。理由は単純に「バカの研究所」はサイトの名前としてどうかと思っているから。大昔にbakanahitoを名乗っていた名残りの名残りでしかなく、サイトの趣旨を代表するようなワードでもなんでもない。OpenXR入門を嚆矢として少しづつ移行していくつもりでいる。

新しいサイトの設計図などはまだあまり考えれていない。速度は正義という信条に基づきWordPressから脱したいみたいな野望もあるのだが。ひとまずVR関連の研究がひと段落したので頭を回す余裕が出来た。明日ちょっと考えよう。


今日摂取したコンテンツ。

ScyllaDBとかいうのがあるらしい。「シェード」という単語が良く分からないが、コアごとに全く分かれてタスクに取り組むのは確かに効率的に思える。あまり深く理解しきれてはいないが、スケールアウトの思想を古いものとするスケールアップファーストの思想というのは興味深い。

https://qiita.com/awk256/items/41ecf7facd1ce3254876


シェリー「フランケンシュタイン」を読み進めた。フランケンシュタインが自身の作り出した怪物と対峙してとにかく話を聞くところまで読んだのだが、この怪物やたら語り口が教養深い…そんな教養を習得するような機会があったのかこの怪物に。そこまで考えてある訳ではないのかもしれんが。

怪物の境遇の哀れさの書きぶりがすごい。とても読ませる。明るい家庭をのぞき見してその輪に入れてもらえないか来る日も来る日も考え込む下りは本当に切なくなる。


ハクメイとミコチの10巻を読み進めた。基本的に丸っこくてかわいい感じのキャラデザと平和な世界観ではあるのだけど、会話に妙なリアリズムのある距離感や苦みがあるのが良い。その上で最終的に丸く収まる、というより各自たくましく、かつ寄り添ってやっていくので心が温まる。


今日は朝とても頭が痛かったのでポカリを飲むなどした。熱はないので何らかの栄養不足、水分不足、神経症の類のように思われる。

Categories: