メインコンテンツへスキップ
  1. Posts/

240804-映画鑑賞とアバター変換

日記 映画 Unity メタバース/VRC Hugo
otagao
著者
otagao
どこにでもいるオタク
目次

インサイド・ヘッド2
#

イーアスに向かい、アーテくんと頭脳系かえるくんと一緒に映画『インサイド・ヘッド2』を観た。

今まであまり「感想文」というものを書いたことがないのでグダグダな文章になってしまいそうだが、感想としては、

ネタバレ注意!

まず映像のクオリティに関して、(少なくとも物心ついてからは)ディズニー/ピクサー作品を劇場で観るのは初めてだったのだが、やはり流石のクオリティだった。表情やアクションなどのモーションはさることながら、細かいディテールも素晴らしかった。特に、感情たちの輪郭が少し粒子的に描かれていたのは、擬人化された存在であることを伝える表現としてかなり分かりやすいなと思った。

(いい意味で)飛び道具的な表現として、黒歴史としてしまい込んでいたアニメやゲームのキャラが登場するシーンが良かった。そのキャラ達だけレンダリング手法が明らかに異なり、ある種「浮いている」表現になっていたのが面白かった。

次にストーリーに関して、私は前作を観たことがなかったのだが、最初の数分で世界観の設定を自然と把握することができた。キャラクター化された感情が行動を制御し、行動の結果得た記憶が自己を形成するという流れは(生物学的正しさはさておき)とても自然に「納得できる」設定だった。

最初のうちは、前作からいた古参組の感情たち VS 思春期になって表れた新参組の感情たちという対立構造が描かれるように思えた。しかし、実際のところはどちらも「ライリーを幸せにする」という目標のもと動いており、その手段が異なることで意見の不一致、すれ違いが起きていただけだった。

最終的に古参組たちは、新参組たちから制御権を取り戻すために記憶の雪崩を起こす。それによりライリーの自己の核は、嫌な記憶まで取り入れたものに再形成される。新たに形成された核は、古参組たちが(要らない枝=記憶を省き、盆栽を育てるように)作り上げた「私はいい人」というもの、そして新参組たちがいびつに急造した「私は全然ダメ」というもののどちらでもなく、常に揺れ動くカオスなものだった。しかしライリーは立ち直り、自分らしく行動できるようになる。

古参組の感情たちが当然のように行っていた「ライリーにとって嫌なはずの記憶を遠くに飛ばす」という処理が、結果的にライリーの自己を画一的なものに制限していたことがわかる。これは単なる作劇上の転換点としてだけでなく、現実世界の我々への教訓としても大きな意味を持つと感じた。

嫌な記憶、忘れたい記憶と向き合うことは苦痛であり、常に意識することは誰にだって困難なことだが、そうした記憶も「自分は自分である」という自我の形成に大きく貢献しているわけだ。これは捉え方によっては絶望的な話ではあるが、同時に希望でもあると思う。

あと、

ガチ下品 普通にムカムカのキャラクターデザインがエッチだな……と思った

といったところだろうか。全部人力で書いたのに、めちゃくちゃChatGPTが出力したような読みづらい文章になってしまったような気がする。これは自分が今までまともに感想文を書いてこなかったことに由来すると思うので、今後も様々な作品の感想を都度書いていきたい。

これでイーアスで映画を観るのは二回目となったが、やはり映画館で観る映画は良いものだと思った。

あと、これは先月末に観た時も抱いた(割としょうもない)感想なのだが、出身地である福岡市の映画館と異なる点として、上映前の広告が注文住宅やホームシアターシステム、高級SUVなど、「金持ってるファミリー層」に訴求する商品ばかりだったのは、やはり地域性による違いを感じて面白かった。

VRCのアバターアップロードに挑戦
#

結論から言うと、普通に失敗した。

話は数年前に遡る。詳しい経緯を説明しようとすると泥沼すぎるので省くが、SALLA.Rという頓挫したVTuberプロジェクトがあった。

その公式BOOTHショップにVRChat対応のアバターが販売されていたので(https://salla.booth.pm/items/2752817)、プロジェクトがトラブり始め、先行きが危うくなり始めた段階で念のために購入、ダウンロードしておいた。

だが、VRChatにアバターをアップロードするためには、単純にデータを所持するだけでなく、

  1. VRChatアカウントの信用ランクを初期状態のVisitorからNew Userまで上げる
  2. VRChat Creator Companionを用いてUnityでアバターをビルドする

と、2つの要件を満たす必要がある。購入した当時の私は特にVRChatを頻繁に遊ぶわけでもなく、Unity系の操作を覚えようという気力もなかったため、自然とアバターデータの存在を忘れかけていた。

しかしこうして筑波大学に入学し、VR分野に興味のある知人が時折VRChatについて言及したりスクリーンショットを上げたりしているのを見ているうちに、ふと今の自分であれば両方の要件を満たせることに気付いた。ちょうどVketという大規模なイベントが開催されているのも相まって、アバターアップロードに挑戦するにはもってこいの状況だと思ったわけだ。

さっそくストレージの隅からアバターデータを引っ張り出し、同梱されていた取扱説明書を読んでみたのだが……作成日は2021年2月であり、現在の環境とかなり異なる記述になってしまっていた。

それだけなら他のネット記事で代替が可能なのだが、アバターデータ自体にも2024年現在と異なる仕様があった。髪の毛やスカートの揺れを制御するアセットとして、VRChatにおいて現在主流のPhysBone(無料)ではなくDynamicBone(有料)が使用されていたのだ。

最初はその事実に気付かず、アバタービルド時に発生したエラーをこちらのツールを用いて単純に消すことで対処した。するとアップロードには成功するのだが、自分の動きに対してスカートや髪が一切揺れなくなってしまう。上の動画を見てもらえばわかるのだが、SALLA.Rはロングスカート姿であるため、スカートが揺れなくなると足が思い切り貫通してしまって無茶苦茶な見た目になるのだ。

次にこちらのツールを用いて、DynamicBoneをPhysBoneに変換した。しかし私の使い方が悪かったのか、やはりスカートは一切揺れないままであった。もう少し調べてこちらの手順を試してみたところ、正常に変換が完了したように見えた。しかし実際にアップロードされたアバターを使ってみると、スカートに一切の重量感が感じられず、まるで無重力空間で薄い布を動かすかのようにヘニャヘニャな挙動になってしまった。

この状況から考えられることは3つほどあり、

  1. Unity初心者すぎる私のやり方が悪いだけであり、うまくやれば変換できる
  2. 完璧に変換することが困難な形式でDynamicBoneが設定されているため、しっかりDynamicBoneを買ってそのまま運用する必要がある
  3. そもそもアバター制作者がDynamicBoneを設定する時点で問題が生じており、少なくともVRChatにおいては正常に動作しない

DynamicBoneを正攻法で運用しようと思うと20ドルほど支払う必要があるため、2と3を検証するには少し出費が手痛い。しばらくはこのまま変換する手法をいくつか試してみて、うまく行かなければ1からPhysBoneを設定してみることにも挑戦してみたい。

私のVRChat道は、まだ始まったばかりだ——

ブログ修正
#

またしてもブログをいくつか修正した。

  • 階層タグの導入
    • Obsidianのような感覚で運用してみる
    • 例えば労働/Uber Eatsのタグページから労働のタグページに飛ぶための導線が用意されていないっぽいので、そこはいずれ改善したい
  • フォント指定
    • 一律でBIZ UDPGothicを使用することにした
    • どのデバイスで見てもダッシュなどの表示に問題がなくなる……はず
      • いやなんかAndroid版Firefoxだと反映されてない!どうすればいいんだ
  • カラースキームの再変更
    • デフォルトのblowfishから逆張りでnoirに変更していたのだが、通常のテキストとハイパーリンクの見分けがつかないという致命的な問題が生じていたため、forestに再変更した
    • はっきりと見分けがつくようになったが、今度はなんかオタクすぎる配色になった気もする
    • 出来合いのものだけでなく、いずれ自力で配色を指定できるようになりたい
  • 折り畳み表記を使えるように
  • 自動リダイレクトするように
    • このブログはCloudflare Pagesでデプロイしているのだが、デフォルトのotagao-blog.pages.devドメインと、独自に保有しているblog.otagao.netドメインのどちらでもアクセス可能な状態になっていた
    • 主にこちらの記事を参考にアクセス制限設定とリダイレクト設定を行った
      • ここは詰まったポイントだが、(サブパスも全てリダイレクトさせたいなら)一括リダイレクトのURLを指定する際に該当パラメーターを有効化する必要がある