第二話 伝わらない
打ち合わせは木曜日の午後二時からだった。
水瀬陽太がその日の朝、フロアに着いたのは八時半だった。定時より一時間半早い。理由を聞かれたら「準備があって」と答えるつもりだったが、誰も聞かなかった。そもそも、坂部雄一はすでに昨日の夜から来ていたらしく、デスクの上にエナジードリンクの缶が五本並んでいた。
「おはようございます」と陽太は言った。
「ん」と坂部は答えた。モニターから目を離さないまま。
田中さやかは十時過ぎに来て、「眠い」とだけ言ってコーヒーを三杯立て続けに飲んだ。
打ち合わせまでの時間、陽太はLODシステムの続きを触っていた。昨日言われた課題、ローポリから板ポリへのトランジションを滑らかにする処理。遠くにいるユーザーを板ポリ(一枚の平面に画像を貼り付けたもの)に差し替えるとき、切り替わりが唐突だと逆に目立つ。理想は、だんだんポリゴンが減っていって、気づいたら板になっている、という流れだ。
陽太はシェーダーコードにいくつかのアイデアを試した。ディザリングを使って境界をノイズでぼかす方法、切り替え距離に応じてアルファ値を変えて透過させる方法。どちらもそれなりに機能したが、動きの速いユーザーに対しては不自然さが残った。
「何やってる」
気づいたら坂部が後ろに立っていた。
「LODのトランジションです。動きが速いと切り替わりが目立つんで、速度に応じて切り替え距離を動的に変えようとしてて」
「うん」
「アプローチとしては間違ってないですか」
「間違ってない。でも速度だけじゃなくて、カメラとの角度も考えて。真正面から見てる板ポリは粗が目立つけど、斜め後ろから見てる板ポリは誰も気にしない」
「視線方向の情報を使うってことですか」
「そう。もう一個変数が増えるけど、結果は全然違う」
陽太はコードを見返した。なるほど、とすぐに思う。視点と板ポリの角度を計算に入れれば、正面から見られているときだけ高品質のモデルを優先して残す、という判断ができる。
「やってみます」
「うん。今日の打ち合わせで使うデモ環境、そのLODで動いてるから」
「もし変更が間に合わなかったら」
「間に合わなくてもいい。今日は技術デモより、向こうの感想を聞くのが目的だから」
坂部はそれだけ言って戻っていった。陽太はコードに向かいながら、今日の打ち合わせのことを考えた。
凛宮リリス。
昨夜、帰ってから改めてアーカイブ配信をいくつか見た。雑談配信、ゲーム配信、ライバー同士のコラボ。見れば見るほど、この人は本当に思ったことを口に出すタイプだとわかった。感情の解像度が高い、というか、自分の感覚を言語化することへの抵抗がない。
配信中に「この演出、なんか嘘っぽい」と言い、「この曲、私の声に全然合ってない、作ってくれた人ごめん言うね」と言い、「今日の俺のプレイ、昨日よりも下手だった、理由わかんないけど」と言う。スタッフへの感謝も謝罪も、視聴者への愛も批判も、全部同じ平らな温度で話す。
だから好かれているのだろう、と陽太は思った。取り繕わない人間には、独特の引力がある。
---
午後一時五十分に、田中が陽太に声をかけた。
「そろそろ会議室に行こ」
会議室は十三階にあった。エレベーターで一つ上がると、雰囲気が変わる。十二階のエンジニアフロアと違い、壁が白く、床も清潔で、空気が少し静かだった。廊下を歩いていると、スーツ姿の社員とすれ違った。
会議室は「ARIEL」という名前のついた部屋だった。広さは十二畳ほど。中央に長机が置かれ、奥の壁には大型モニターが二枚並んでいる。片方はPCと繋がっていて、ECHO世界のデモ画面が映っていた。のどかな街並みと、数体のアバターが歩いている。
坂部はすでにいた。相変わらずパーカーとジーンズで、手にエナジードリンクを持っている。スーツを着ていないのは場違いではないかと陽太は思ったが、田中も私服だったし、もう気にしても仕方ない。
「向こうは何人来るんですか」と陽太は坂部に聞いた。
「リリスさんと、マネージャーの澤田さん。二人」
「凛宮さんは……素顔で来るんですか」
「当然。ここはオフィスだから」
陽太は少しうろたえた。考えてみれば当然のことなのに、「凛宮リリス」というVライバーのイメージが強すぎて、「その中の人が生身で来る」という実感が薄かった。
配信の中の凛宮リリスは、水色の長髪に猫耳のついた少女のアバターだ。しかし中の人は三十代の女性で、本名は星宮凛。それはファンの間では広く知られているが、本人がはっきりと顔出しをしたことはない。
ということは、今日陽太は、その顔を初めて見ることになる。
「緊張しなくていい」と坂部が言った。見透かしたように。「仕事の打ち合わせだから」
「はい」
「ただ、思ったことは正直に言って。向こうも正直に言ってくれる人だから、こっちが建前で返したら話が咬み合わなくなる」
田中が「坂部さんの最初の打ち合わせ、覚えてる?」と言った。
「なんか言った?」と坂部は聞いた。
「最初の五分で、エンジニア二人が口も利けなくなってたやつ。リリスさんが技術的なことを鋭く突いてきて、答えられなくて固まってたやつ」
「ああ」と坂部は短く言った。特に反省の色がない。「そのときはこっちの準備が足りなかった」
「陽太くんはちゃんと準備してきた?」と田中が陽太に聞いた。
「昨日の夜、配信を三本見ました」
「それは技術的な準備じゃないんだよな」と田中は笑った。
「技術的な準備も、LODの話は……」
「大丈夫。難しく考えなくていい。リリスさん、ちゃんと話を聞いてくれる人だから」
二時丁度に、ドアがノックされた。
---
入ってきたのは二人だった。
先に入ってきた男性は三十代半ばくらい。きちんとしたスーツを着て、手に書類を持っている。これがマネージャーの澤田だろう。
その後ろから来た女性を見て、陽太は一瞬、思考が止まった。
星宮凛は、配信でのアバターとは全然違う外見をしていた。当たり前のことだが、実際に目にすると少し衝撃だった。水色の長髪ではなく、黒い髪を首の後ろでまとめている。猫耳はない。代わりにあるのは、思ったより背が高く、姿勢がよく、目が細くて、口元が少し固い、という印象だった。
服装はシンプルで、白いシャツと黒いパンツ。年齢的に三十代前半から半ばだろうか。実際より少し老けて見えるのは、眼差しが落ち着いているせいかもしれない。
「澤田です。よろしくお願いします」とマネージャーが先に挨拶した。
「星宮です」と凛が言った。声は配信の声より少し低い。「よろしくお願いします」
坂部が紹介した。「テックリードの坂部です。こちらは田中と、インターンの水瀬です」
「水瀬です。よろしくお願いします」
凛がちらりと陽太を見た。何も言わなかった。評価でも否定でもなく、ただ、一度見た、という視線だった。
全員が席についた。
「今日は時間を取っていただいてありがとうございます」と坂部が切り出した。「ECHOのプロジェクト概要は事前に資料でお送りしましたが、まず実際のデモ環境を見ていただいて、それからフィードバックをいただく、という流れで考えています」
「わかりました」と澤田が言った。
「凛宮さんには、今日ヘッドセットをつけてECHOの世界に入っていただけますか。短時間で構いません。実際に体験してもらってから、率直な感想を聞かせていただければ」
凛は頷いた。
坂部が準備していたVRヘッドセットを机に置いた。モーションキャプチャー用のマーカーも用意されている。今日のデモは本格的なフルトラではなく、ヘッドセットと両手のコントローラーによる簡易版だ。
「慣れてますか、VRは」と田中が聞いた。
「一通りは」と凛は答えた。短い答えだった。
ヘッドセットを装着する前に、凛が一度だけ質問した。
「アバターは誰が操作するんですか、今日は」
「凛宮リリスのアバターを使います。別の担当者がモーキャプで動かすか、今日はコントローラーで手動操作になるかどうかは……」
「私が操作します」と凛は言った。「自分のアバターが自分の思った通りに動くかどうか、それを確認したいので」
「わかりました」
---
凛がヘッドセットをつけて、ECHOの世界に入った。
モニターにはその映像が映し出された。彼女の視点から見た世界だ。石畳の広場、並木道、カフェのテラス。ファンタジーとリアルの中間くらいの世界観で、陽の光がやわらかく街を照らしている。
広場には数体のAIアバターが動いていた。今日はオンラインのユーザーがいないので、ダミーのアバターで代替している。
凛が操作を始めた。ゆっくりと歩き、広場を見回し、並木道に向かう。操作は慣れているようで、ぎこちなさがない。
陽太はモニターを見ながら、同時に凛本人の様子を観察した。ヘッドセットをつけた状態でも、身体の使い方が端正だった。無駄な動きがない。操作に集中しているというより、世界の中にいることに集中しているような印象だ。
三分ほど経って、凛がカフェのテラスに立った。
モニターの中で、彼女のアバター、凛宮リリスが、周囲を見回した。水色の長髪が風に揺れる。猫耳がぴくりと動く。青い目が、世界の隅々まで確かめるように動いた。
陽太は、技術的なものとは別の感覚として、そのアバターが美しいと思った。誰かが何百時間もかけてモデリングしたものだ。テクスチャの細かさ、髪の物理演算、表情の可動域。
でも。
陽太は気づいた。アバターの表情が、変わっていない。
凛はコントローラーで移動や視線の操作をしているが、今日のデモには表情トラッキングが入っていない。フェイシャルキャプチャーのシステムはまだ開発途上で、今日は導入できていなかった。
モニターの中のリリスは、ずっと、アバターのデフォルト表情のまま、ほんのりと口を開けた、ニュートラルな顔で、世界を見ている。
---
十分後、凛がヘッドセットを外した。
澤田がヘッドセットを受け取った。凛は少し目を細めて、窓の外を見てから、テーブルに視線を戻した。
「感想を聞かせてください」と坂部が言った。
凛はすぐには答えなかった。五秒ほど、何かを整理するように間を置いてから、口を開いた。
「世界のクオリティは高いと思います」
「ありがとうございます」
「街の作り込みとか、光の感じとか、歩いているときの足音の響き方とか。そういうところは、ちゃんと作られていると思った」
「でも」と坂部が言った。続きを引き出すように。
凛が坂部を見た。少し眼差しが変わった。直接的な言葉を選ぶ前の、ほんの短い間。
「私の表情が、全然伝わらない」
「はい」
「伝わらないというか、存在しない。世界の中に入ったとき、私がどう感じているか、何を面白いと思っているか、どこに驚いたか、そういうものが何も出てこない。出せない。リリスが動いているのに、リリスがいない」
坂部は頷いた。表情を変えないまま。
「それは認識しています。今日のデモには表情トラッキングが入っていないので」
「わかってます。今日の問題じゃなくて」と凛は言った。「本番でどうするかの話をしたい」
「聞かせてください」
凛は少し前のめりになった。
「私がリリスとして活動しているのは、ファンの子たちと何かを共有したいから。笑って、驚いて、怒って、悲しんで、そういうものを一緒に感じたいから。でも表情が出ないなら、それができない。どんなに世界が綺麗でも、リリスが笑えない世界では意味がない」
「技術的には」と陽太は思わず言っていた。全員が陽太を見た。
「失礼しました。続けてください」
「いえ、言って」と凛が言った。陽太に向けて、初めて直接話しかけた。「技術的にはどういう話になるんですか」
陽太は少し背筋を正した。
「表情トラッキングの実装は、いくつか選択肢があります。ヘッドセット内のカメラで顔を認識する方法、外部のフェイシャルキャプチャー装置を使う方法、それから……配信でよく使われるような、骨格ポイントベースのトラッキングを発展させたものとか」
「その中で、精度が一番高いのは」
「外部のキャプチャー装置ですが、ECHOはユーザーが家から参加することを想定しているので、機材を揃えてもらうのは難しい。ヘッドセット内カメラの認識精度も、最近は上がってきていますが、まばたきとか、口角の動きとか、微細な変化を拾うのはまだ難しくて」
「つまり、今の技術では完全にはできない」
「完全には、難しいです。ただ……」
陽太は一瞬、考えた。
「AIで補完する方法があります」
---
全員が陽太を見た。
「続けて」と坂部が言った。いつもの「ふーん」ではなく、少し前のめりな声だった。
陽太は言葉を選びながら話した。
「たとえば表情のトラッキングが荒くて、まばたきの検出が十フレームに一回しかできないとします。でも人間のまばたきには一定のパターンがある。前後の文脈から、次のまばたきがいつ来るか、ある程度予測できる。それをAIに学習させて、検出できなかった部分を補間する」
「補間というのは、でっちあげ、ってことですか」と凛が言った。
「言い方としては……そうなります。ただ、本人の過去の表情パターンを学習した上での補間なので、でたらめな表情が出るわけじゃないです。本人らしい表情が、正確なタイミングで出る、という感じです」
凛は少し黙った。
「要するに、私が眉を上げたとき、AIが『この人が眉を上げたということは、この文脈ではこういう表情になるはずだ』と判断して、アバターに出す、ということ?」
「そうです。厳密には、本人の過去の表情データから作ったモデルを使うので、他人の表情を当てはめるわけじゃない。あくまで、本人らしさを保ったまま、細かいニュアンスを補完する」
「……面白いことを言う」と凛は言った。
批判でも肯定でもない言い方だった。ただ、興味を持った、という感じ。
坂部が口を挟んだ。
「技術的に実現可能な話?」
「理論としては、はい。ただ学習データが必要で、あと本人のキャリブレーション(初期設定)に時間がかかると思います。あと、コンピューティングコストが……」
「後で詳しく聞かせて」坂部は陽太に言った。それから凛に向き直った。「他に感じたことはありますか」
凛は少し考えて、また話し始めた。
「もう一つ気になったのは、音の話です」
「音」
「さっき世界の中を歩いていたとき、自分の声が……というか、リリスの声が、ちゃんと自分の口から出ている感じがしなかった。空間の中に声が浮いている、みたいな感覚で」
陽太は、音響レイトレーシングのことを思った。資料に書いてあった技術的課題の一つだ。実装が途中のままになっている、と久保が言っていた。
「音響の空間処理が、まだ完全じゃないです」と田中が言った。「実装はしてますが、反響とか、声の方向性とか、まだ調整が必要で」
「改善される予定はある?」
「あります。ただ、優先度的に後回しになっていて」
凛は澤田のほうを見た。マネージャーと何か目線でやりとりして、また前を向いた。
「優先度を上げてほしいです。私が感じる問題は、表情と音の二つが大きい。世界のビジュアルは本当に良くできていると思う。でもリリスとして『ここにいる』という感覚が、この二つのせいで全然持てない」
「持てない、というのは」と坂部が聞いた。
「いつも配信するとき、私はモニターの前に座っているけれど、それでもリリスとしてちゃんとそこにいるつもりでやっている。ファンの子たちのコメントが流れてきて、笑って、反応して、そういうやりとりの中に私がいる。でもECHOに入ったとき、その感覚が全然なかった。リリスの皮を着て、でも自分がどこかに閉じ込められているみたいだった」
会議室がしばらく静かになった。
陽太は凛の言葉を反芻した。リリスの皮を着て、自分がどこかに閉じ込められているみたいだった。
それは技術的な問題だ、と陽太は思った。でも同時に、技術だけでは解決できない問題だとも思った。世界を作ることと、その世界に「誰かがいる」という感覚を作ることは、全然別の話だ。
---
打ち合わせは一時間半で終わった。
最後に澤田が「今後のスケジュールについて」を確認して、次回の打ち合わせの日程を決めた。凛は最後まで表情を大きく変えなかったが、帰り際に坂部に一つだけ言った。
「さっきのインターンの子が言っていたAIの話、もう少し聞かせてもらえますか、次回」
「もちろん」と坂部は言った。
凛が陽太を見た。一秒ほど。
「期待しています」
それだけ言って、澤田と一緒に会議室を出ていった。
ドアが閉まったあと、田中が静かに言った。
「『期待しています』って、リリスさんが言ったの初めて見た気がする」
「そうなの?」と陽太は言った。
「あの人、基本的に期待しないんだよね。期待した分だけ失望するから、って言ってたの、どこかの配信で聞いたことある」
坂部は手にしていたメモを眺めていた。ボールペンでいくつかの単語を丸で囲んでいる。「表情」「音響」「AIによる補完」。
「陽太くん」と坂部が言った。
「はい」
「今日言ってたAIの補完、本当に作れそう?」
陽太は少し間を置いた。口から出任せではなかった。でも確信があったかというと、それもちょっと違う。
「作れると思います。ただ、実装したことはないので、やってみないと細かいところはわからないです」
「正直でいい。じゃあやってみて。メインの業務の隙間でいいから、プロトタイプを作ってみて。来月の定例までに何か見せられるものがあったら理想」
「わかりました」
「失敗してもいい。というか、一回は絶対失敗するから、早く失敗して」
「……はい」
坂部は立ち上がって、エナジードリンクを一口飲んだ。
「行こう。宇宙旅行バグ、また出てたから」
田中が「また!?」と言って、三人は会議室を出た。
---
その夜、陽太はフロアに残った。
定時を過ぎてから、坂部と久保が先に帰った。田中は別の作業があると言ってまだいる。他のメンバーが二人、モニターに向かっている。陽太はいつものデスクで、今日の打ち合わせのことを考えながら、コードを書いていた。
表情の補完、というアイデアは、会議室で咄嗟に出てきたものだった。でも話しながら、頭の中でアーキテクチャが固まっていった。
基本的な仕組みはこうだ。
まず、本人の表情データを大量に収集する。配信のアーカイブ映像がある。リリスの配信は公開されているものだけで数百時間分ある。そこから顔の骨格点を抽出して、表情のパターンを学習させる。
次に、リアルタイムの入力データを処理する。ヘッドセットのカメラで顔を読み取って、荒い骨格データを得る。それを学習済みモデルに渡して、本人らしい表情として補完する。
最後に、補完された表情データをシェーダーに渡して、アバターの顔に適用する。既存のフェイシャルシェーダーを拡張する形になる。
書いてみると複雑だが、パーツに分ければそれぞれは解決済みの問題だ。転移学習を使えばゼロから学習モデルを作らなくて済む。問題は、推論の速度だ。リアルタイムで処理するためには、フレームごとに何十ミリ秒かの壁がある。
陽太はノートに手順を書き出した。紙のノートだ。コードを書くときはいつも、最初に手書きで設計を書く癖がある。
一、配信データからの骨格抽出パイプライン。
二、表情パターンの学習モデル。
三、リアルタイム推論の最適化。
四、シェーダーとの統合。
どこから手をつけるか。一番リスクが高いのは三だ。リアルタイム推論が間に合わなければ、すべてが成立しない。だから最初に三の実現可能性を確認するべきだろう。
陽太は簡単なベンチマークコードを書き始めた。今日のところはプロトタイプでいい。動けばいい。動いてから考える。
時刻は午後九時を回っていた。
---
十一時ごろ、田中が陽太のデスクに来た。
「まだいるの?」
「少し試してることがあって」
「宿舎はどこ?」
「渋谷から三駅です。終電ぎりぎりまでいけるので」
田中は陽太のモニターをちらりと見た。意味を理解しているのかどうか、しばらく眺めてから言った。
「さっきの会議、よく発言できたね。私のインターン一日目なんか、一言も口開けなかったもん」
「思わず出ちゃっただけで」
「それが大事なんだよ。考えてからしゃべるやつは、ここじゃなかなか間に合わない」
田中はコーヒーのカップを持ったまま、陽太の隣の椅子を引いて座った。
「凛宮さんのこと、どう思った?」
「想像より……静かな方だな、と」
「配信と違うでしょ」
「全然違いました。配信では、あんなに声が大きくて」
「声の大きさは変わらないけど、熱量の出し方が違うよ。あの人、本人モードのときは抑えてる。リリスモードのときは全開にしてる。別人というより、同じ人間の二つの側面、っていう感じ」
「配信で言ってたこととか、今日の打ち合わせで言ってたこととか、根っこは同じだなとは思いました。誰も気づかないような細かいことにこだわる、っていう部分が」
「そうそう」と田中は言った。「あの人が発注側として一番怖いのは、こっちがどこかで手を抜いたとき、絶対に気づくところ。そして気づいたことを必ず言う。傷つけようとして言うわけじゃなくて、ただ正直なだけなんだけど、受け取る方は刺さる」
「坂部さんが向こうに『遠慮しないで言ってくれ』って言ったのは、最初からわかってたってことですかね」
「そういうこと。あの二人、何気に気が合ってると思う。どっちも正直者で、言いたいことを言う。でも、かみ合うかは別の話で」
「かみ合わない?」
「言葉が似てても、求めてるものは違う場合がある。リリスさんが『伝わる』ってどういうことかを考えてるとしたら、坂部さんは『動く』ってどういうことかを考えてる。リリスさんはユーザー体験、坂部さんはシステム設計。どっちも正しいんだけど、向いてる方向が九十度くらいずれてて」
陽太は少し考えた。
「間に入る人間が必要、ってことですか」
田中がちょっと笑った。
「そういうことかもしれない。陽太くんが今日言ってたAIの話、あれはどっちの言葉でもあった気がして。技術の話でもあったし、リリスさんが言ってた『伝わる』の話でもあった」
「それは……そう言えるかどうか」
「言えると思う。たまたまかもしれないけど、そういう立ち位置に自然になれる人は貴重だよ」
田中は立ち上がって、「私も帰る、終電あるから」と言った。
「お疲れ様でした」
「陽太くんも早く帰りな。朝また来るんでしょ」
「来ます」
「元気だな」田中は苦笑いした。「じゃあ。ドア閉めてくれる? 最後に残るの確定したやつが戸締まりするルールだから」
「わかりました」
田中が帰った。残ったのは陽太と、もう一人のエンジニア、入社一年目らしい小宮という人間だけになった。
小宮はイヤフォンをしていて、陽太のことを意識していない様子だった。陽太も自分のコードに戻った。
ベンチマーク結果が出始めていた。思ったより悪くない。最適化を入れれば実用的な速度が出そうだ。
陽太はノートに書いた手順を見直した。一から四の順番に、丸をつけていく。最初の壁は超えられそうだ。
---
翌朝、陽太が出社すると、坂部のデスクにエナジードリンクの缶が七本並んでいた。
昨日の五本から二本増えていた。ということは、坂部は昨夜一度も帰っていないということだ。本人は今の時間、どこかで仮眠しているのか、それともまだコードを書いているのか。
デスクにはメモが一枚置いてあった。手書きで、走り書きの文字が並んでいる。
「音響レイトレ、実装再開する。担当引き継ぎ、来週の月曜。陽太くん、AIの件は先にモデルアーキテクチャだけ提案してくれればいい。実装は後。」
陽太はメモを読んで、小さく笑った。
音響レイトレーシングは、昨日凛が指摘した「声の空間感がない」という問題に対応するものだ。後回しになっていたと田中が言っていた。坂部は帰らずに、優先度を変えて動いた。言葉にしていなかったが、伝わっていたのだろう。
陽太はメモをデスクの端に置いて、PCを立ち上げた。昨夜のベンチマーク結果が画面に残っている。
一、配信データからの骨格抽出パイプライン。
二、表情パターンの学習モデル。
三、リアルタイム推論の最適化。
四、シェーダーとの統合。
三はとりあえず目処が立った。次は一を進める必要がある。配信のアーカイブ映像から顔の骨格点を抽出するパイプラインを組む作業だ。
ただ、一つ問題がある。
配信映像から抽出できる顔の情報は、アバター(凛宮リリスの2Dまたは3D映像)のものだ。生の顔ではない。つまり学習データは「本人の表情」ではなく「アバターの表情」ということになる。これを補完のベースにしても、本人の微細な表情のパターンには繋がらない。
そうすると、別のアプローチが必要だ。
アバターの表情ではなく、本人の生のフェイシャルデータを取得する。それには本人の協力が必要になる。
陽太はその問題を書き留めた。今日中に坂部に相談するべきことだ。場合によっては、凛本人に追加のセッションをお願いしなければならないかもしれない。
それは少し緊張する話だった。
昨日の凛の最後の一言が、まだ頭に残っていた。
「期待しています」
期待されることへの緊張と、応えたいという気持ちが、陽太の中でしょっぱるように混ざった。
---
午前中、坂部が仮眠から戻ってきた。
目の下にクマがあり、それ以外は特に変わっていない様子だった。コーヒーを一口飲んで、椅子に座って、即座にキーボードを叩き始める。
「坂部さん」と陽太は声をかけた。
「ん」
「AIの件で、一つ問題を見つけて」
「言って」
「配信映像から取れる顔データはアバターのもので、本人の生のデータじゃないです。本人らしい表情の補完をするなら、本人の生のフェイシャルデータが必要で」
坂部は手を止めた。
「うん、そうだね」
「なので、凛宮さんに追加でキャリブレーションセッションをやってもらう必要があって……その調整を、お願いできますか」
「そっちから連絡していい」
「え?」
「澤田さんとのやりとり、繋いであるから。プロジェクトの技術的な調整は、エンジニア側から直接やりとりしていい、ってなってるから。メールでもチャットでも、澤田さんに連絡して日程調整して」
「わかりました」
「リリスさん本人とも、直接やりとりしていい。業務上のことなら」
陽太は少し意外に思った。事務所のタレントとの直接連絡というのは、もう少し手順が複雑なものだと思っていた。
「さっさとやって」と坂部は言った。「向こうのスケジュールは毎週詰まってるから、早く確認しないと枠が埋まる」
「今日中に連絡します」
「あと」坂部は少し間を置いた。「一個だけ言っとく」
「はい」
「リリスさんに限らず、ライバーの方たちに接するときは、技術的な話は技術的な言葉で言わなくていい。伝わる言葉で言う。昨日の会議でお前がそれできてたのは、良かった」
「ありがとうございます」
「これは褒めてる。珍しいから言っておく」
坂部は再びキーボードを叩き始めた。珍しく褒めたことで、会話は終わり、ということらしかった。
陽太はメールを開いた。澤田宛の文面を考えながら、一方で昨日の打ち合わせのことを反芻した。
凛が言っていた言葉が、どうしても引っかかっている。
「リリスの皮を着て、でも自分がどこかに閉じ込められているみたいだった」
あれは、技術の問題だけではないと、陽太は感じていた。表情が伝わらない、声の空間感がない、それらは確かに技術で解決できる。でも「どこかに閉じ込められているみたい」という感覚は、もっと根本的な何かに関係している気がした。
人間がバーチャルの世界に「いる」と感じるためには、何が必要なのか。
表情が伝わること。声が空間の中に正しく存在すること。身体の動きがアバターに同期すること。
それだけだろうか。
陽太は少し考えて、もう一つ思った。
誰かに、見られていること。
配信中の凛は、チャットに流れるコメントを読んでいる。視聴者が笑って、驚いて、共感して、それが文字として返ってくる。それが「誰かに見られている」という確かな実感になっている。
ECHOの世界では、その感覚を作れるだろうか。ファンのアバターが目の前にいて、リアクションして、笑顔を見せる。それが本物の誰かの反応だとわかったとき、初めてリリスは「ここにいる」と感じられるのかもしれない。
そのためには、ファン側のアバターの表情も豊かでなければならない。リリスの表情だけを作っても、それを受け取る誰かがいなければ、独り言と変わらない。
陽太はメモに書き足した。
「双方向の表情。ライバー側だけでなく、ユーザー側も。」
問題は芋づる式に増えていく。でも奇妙なことに、増えるたびに、面白さも増している。
---
その日の夕方、一つ予想外のことが起きた。
陽太がキャリブレーションセッションの日程調整メールを澤田に送った三時間後、返信が来た。澤田からではなく、直接、星宮凛からだった。
件名は「セッションの件」と、飾り気のない四文字だった。
本文はこうだった。
「水瀬さん。澤田から連絡を受けました。来週水曜日の午後三時以降なら空いています。場所はそちらのオフィスで構いません。一つ確認なのですが、セッションでは具体的にどんなことをするのか、事前に教えていただけますか。知らずに行くのが苦手なので。よろしくお願いします。星宮凛」
陽太はメールを二回読んだ。
「知らずに行くのが苦手なので」という一文が、なんとなく、凛という人間らしいと思った。事前に全部把握しておきたい。コントロールが利かない状況を嫌がる。配信での印象と合致する。
陽太はすぐに返信を書いた。
セッションの内容を、できるだけ具体的に説明した。最初にフェイシャルキャプチャー装置のキャリブレーション。それから、さまざまな表情を意図的に作ってもらって、データを収集する。喜怒哀楽の強いものから、微細なものまで。次に、コントローラーを使って実際にECHOの世界に入ってもらい、今日のデモとは違う条件で体験してもらう。時間は三十分から一時間を想定している。
書いてから、一つ付け加えた。
「顔のデータを取らせていただくことになるので、もし抵抗がある部分があれば事前に教えてください。やり方を変えます。」
送信して、少ししてから返信が来た。
「わかりました。当日よろしくお願いします。あと、AIで補完するという話、もう少し詳しく聞かせてもらえますか。興味があります。」
陽太はその短い一文を見て、指がすこし止まった。
興味がある、と言っている。昨日の「期待しています」に続いて、凛は珍しく前向きな言葉を使っていた。田中の言葉を思い出した。あの人、基本的に期待しない。
陽太は返信を書き始めた。専門用語を避けて、でも正確に。凛に伝わる言葉で。
フロアの外で、渋谷の夕暮れが広がっていた。窓の向こうのビル群が橙色に染まって、人々が行き交っている。誰もが何かを持って、誰かのところへ向かっている。
陽太はキーを叩きながら、思った。
プロジェクトECHOが目指しているのは、人が人に届く場所を作ることだ。距離があっても、バーチャルでも、アバターを纏っていても、それでも誰かに届く。誰かの笑顔が伝わる。誰かの声が空間に息づく。
それはとても難しくて、今の技術では半分もできていなくて、それでも誰かがやり続けている。
陽太が送信ボタンを押した瞬間、背後で久保が叫んだ。
「また宇宙旅行バグ!!」
「えっ」「どこ触った」「俺じゃない」「また物理か」
フロアが一瞬にして騒然となった。
陽太は椅子を回転させて、その騒ぎに加わった。宇宙に飛んでいくアバターを呼び戻すために、また一時間かかるだろう。でもそれも含めて、ここは本物の現場だと思った。
整然とした教科書のプロジェクトではなく、毎日何かが爆発して、毎日誰かが怒鳴って、毎日誰かが笑いながらコードを書いている場所。
陽太はキーボードを持ち直した。
宇宙旅行を止めるのが先だ。AIは、その後。




