リモートワークでAR案件やるの大変
この記事はMoAR - Museum of AR Advent Calendar 2022の17日目の記事です。
こんにちは
1歳7ヶ月になる息子がいまして、最近は自我と言語が爆発しつつあり、「アケテー!(ドア開けて!)」「オチター!(落ちた!拾って!)」「アッコー!(抱っこして!)」「アッチ!(あっちに行くよ!)」「ドジョー!(どーぞ、ここに座って!)」「メンメ!(そのメガネくれ!)」「ぷちゅー!(シナぷしゅやないかー!)」などなど、指示されたことを大人が動き、断るとポロポロ涙を流す、かわええ男です。
朝7時過ぎには起きて、朝飯を作りながら保育園の連絡帳を書き、大人の朝飯も作り、服を着替えさせつつ保湿をし、おむつを変え、保育園のカバンに着替えとオムツとエプロンとタオルとビニール袋と連絡帳を詰め込み、朝飯を片付け、自分たちも用意し、シナぷしゅを流した車に乗せる。8時過ぎ。妻を職場に届け、息子を保育園に届け、BGMをラジオに変え、職場に向かう。仕事し始めるのがだいたい9時半。
15時半には仕事を切り上げ、時短で働いている妻を車で迎えに行く。その流れで保育園へ行き息子を連れて帰る。自宅に着いたら、そこから1時間ほど仕事させてもらって(正直ここではあんまりできない)、庭に水をやり、洗濯を入れ、風呂を洗い、晩飯を作り始める。食べ始めるのは19時前ぐらい。片付け、息子と遊びつつ、20時過ぎに風呂に入れ、寝る準備をし、21時過ぎには寝かしつけ。残りの片付けをし、よし仕事続きしよう、と思うのは22時前。
ここで24時ぐらいまで頑張るか、一旦寝て5時ぐらいに起きてやるか、いつも悩む。(ちなみに、このブログは一旦寝て、3時に起きてから書き始めてる。)
土日はこれの保育園が無いver。特に土曜は妻が仕事なことが多いので、ワンオペver。火曜の夕方は追加でスーパーに行くことが多い。洗濯もせねば。掃除もせねば。火曜と金曜の朝はゴミ捨てもせねば。ドラム式洗濯機って週一で下の方のフィルタ掃除するの知ってました?乾燥フィルタは都度ごみ取り。いつ髪切るねん。外食って何???
ということで、自分の時間などない!!てことはもう諦めてるんだけど、それ以上にこの決まったルーティンを夫婦で分け分けしつつ毎日確実にやらないといけないわけで(んで、基本「イヤイヤイヤ!」とごねられたり、作ったご飯をポーイって投げられたりする)、マジで出張とか行けないのです。妻に上のルーティンを全振りして、じゃちょっと打ち合わせついでに案件の打ち上げとか忘年会もあるので、二泊三日いませーん!よろしく!とか、口が裂けても言えない。逆の立場でも、いやちょっと待てよとなる。そういう生活をしてます。
MoARの話はどうした
てなことで、なかなか東京に行くことができず、MoARのようなロケーションARな案件でも現場で試すということが難しいのです。それを言いたかっただけです。愚痴じゃない。Slackでオフィスで美味しそうなご飯の写真が流れてくるのをいつも眺めてる。愚痴じゃない。うん。頑張る。
遠隔での開発環境
さくーしゃ先生が、自分やベルリンで働くいぶくろさん向けに、MoARの開発できるようシミュレーション3D空間を作ってくれたり(途中で使わなくなってすみません)、LocationAnchorsのリプレイデータを使って、現場で撮影した動画を使ってAR実装ができるような仕組みを用意してもらいました。
これはほんと助かって、これないと作業むりでした。UnityのARFoundationでも同じような機能が欲しいといぶくろさんが作り始めてて、流石だなと思った。かっこいい。
現場で気付くARなこと
作業していくと遠隔だと気付きにくいなと感じる場面が増えてきて、その一つは「規模感」。8F建の道沿い曲面コンクリートビルを基にしたモーションは、やっぱりディスプレイ上で見るのと感覚が違う。
・スマホは縦長ディスプレイなので、オブジェクトをダイナミックに横移動すると見失ってしまう。
・大きいオブジェクトは、俯瞰で見るとインパクトあるけど、近くで見ると何がおきてるかわからない。
・上の方に配置されたオブジェクトは、実際見ると下からしか覗けない。
・小さいオブジェクトは、反対車線の歩道からみると小さすぎる。
・壁に沿わせて動くオブジェクトは、正面で見るのと、真下で見るのとで、印象が違う。
・オブジェクトの移動量は、ディスプレイでみる気持ちよさと、実際の距離にしたときの気持ちよさが違う。
などなど。
あと意外だったのが、
・ずっとスマホを上に向け続けると腕が痛くなる
という意見。人によって筋肉量が違うとは思いつつ多かった意見。あんまり長時間見てたら疲れる。なるほど。
さらにさらに、
・人通りがある中、立ち止まってスマホで何かを見る時の人の目をどう感じるか。
・昼と夜、時間帯によって見え方が違う。
・屋外だと、季節による服装や天候でも左右される。夏暑すぎて長く見れない。冬寒すぎて長く見れない。ダウンだとゴワゴワする。日光が眩しい。
・BGM入れたいがマナーモードにしてたり、車もよく通る。
・そもそも乃木坂という場所がら、何か目的をもって歩いているわけで、ダラダラとは見てくれなさそう。
みたいな、規模感と合わせてその時々の状況による行動心理みたいなとこも合わさって、なかなか「動画に合わせてスマホを上に向けてもらうと感じわかりますよ」というところでは読み取れない空気感がARにはあって、それにあうモーションを作ってくのは結構大変だなと思った。ここまでは演出の話なので、自分が思う前にチームの皆さんが実際体験して感じて軌道修正していただいたりしていただけた部分。
開発のつらさ
リプレイデータは、撮影時には何もコンテンツがない状態で、何かが起きてるようなイメージで録画してもらっているため、実際開発してると、今よく見たいなというところでカメラを横に振られたり、みたいなことで再度再生したりが開発長くなってくるとちょっとずつストレスになっていく。
あと前々回書いた、ARReferenceImage実装前の20cm弱のズレ問題というのも実装していくとつらくなってきて、特に壁のロゴを消すあたりの作業していた頃、TestFlightに出して東京のスタッフに現場で確認してもらって、でもやっぱり皆さん並列で作業しているMoAR各コンテンツや別案件もあり、いけるときに外で体験して動画キャプチャして、気になる点をSlackでダーっと出してもらったり。あ、このままじゃやばいと思ったら即MTGが組まれて解決したり。これも前回書いたSceneKitの実装がなかなか手こずって自分のモック実装のスパンが長くなったりして、いまなら外でテストできる!っていうタイミングと自分の実装のタイミングが合わなかったり。
ということがあり、ロゴの消す実装が、手元では結構うまくいったぜ!徹夜でやったかいあったぜ!とか思って進捗送った後、外で体験してもらったスタッフに「色全然違いますね」「安定してないです」というキャプチャだけもらったりして、これは自分の実装がARのさまざまな状況における対応に耐えられないのか、もうちょい色んな角度から撮影してどのタイミングが原因が調べられるのか、他のバグが起きていてそっちに引っ張られているのか、壁の色を取得する位置をもう少しズラすとか、壁の画像を少しサイズ調整するだけなのか、そもそもこのやり方で進めていくのが間違っているのか、、、、みたいな判断が、付かない。ちょっと3時間べったり外で体験しながらMo(AR)^2の壁ロゴ消しだけ時間くれますかと開発終盤言いにくい(言えばやってくれたかもしれないけど、自分の力不足もありその時間で遠隔話し合いで解決できるか怖い)、というところで残り時間も考えて、プロデューサー的に一旦壁のロゴ消す実装はトリで、残したままでいきましょうという判断になりそうになり(正しい。)、自分の肌感覚的に、「いや、現場で一日あれば、原因掴んで判断していけそうなら調整できるのに、、前段で話したルーティンをほぼ妻に任せて時間取ってやった実装が、自分が現場にいないだけで、何もできてないことになるの、マジでキツイ・・・・!!!!いや、これ今から行くしかないだろうよ!!!」というテンションで、20:36終電の新幹線に飛び乗り、岡山から東京へ。(ローンチ三日前です。明らかに自分のスケジューリングも悪い。普段の生活時間が自由にできない分、実装がうまくいかない日々が続くと、考えていた実装がどんどんできなくなり、気持ちが沈んでいくという負のルーティンになりがち。年度末の評価面談が怖い。どうしたもんだかなあ。なんとかなりませんか。)
ありがとう、現場
会社に到着したのが、24時過ぎ。
ARReferenceImage実装後で位置合わせピッタンコということもあり、バグっぽくみえているところを修正し、色抽出部分を修正して、画像修正して、もろもろ調整・・・んで、朝。
なんとか、採用できるレベルにはなったかと・・・。。
来てよかった・・・・・・。。。。
もう少し東京で作業
現場で実際ARコンテンツを初めて試して、「ああ、こういうことか」と今までスタッフが話していた懸念点みたいなことも分かってきて、なんというか今までは、Debug.Logを出せないShaderを書いてて結果なにも表示されないときの「原因どれやねん!!」みたいな気分というか(書いてて違う気もする)、結果だけを見て頭抱えてたのがクリアになった感じで、現場でデバッグしないと全然ダメだなと思いました。
作業していたらデザイナーのニロさんが横で演出についてベタ付きで実装しながらブラッシュアップできたのもありがたくて、遠隔で仕事しているとほんとそういうちょっと横に座って話しながら作業したり進捗を相談する感覚とかが完全に抜け落ちてて、全然開発効率が違った。めちゃくちゃありがたかった。(あと家のいつものルーティンを全無視で、夕方からあと何個かタスク潰せるなって思うことすら、めちゃくちゃ久しぶりの感覚で、時間ってこんなにあるのかって思った。若い時はしんどいしんどいと思ってたけど、仕事できるって本当に素晴らしい。)
あと、さくーしゃさんから気軽に助言がもらえるっていう事実。そうか、Whateverで働くってこういう恩恵があるのかって今さら思った。
ランダムでバラバラにロゴの色を設定してたら「ランダムは本当にバラバラになるから、ある程度絞った方がいい」とか、ロゴにのっけてる壁画像を馴染ませるためにぼかしてたら「本物に比べてのっぺりしてるから、コントラストあげてみたら?」とか。
朝方、会社の前でテストしてたら、後ろから出社したさくーしゃさんに画面覗き込まれて、「消えてるやん」って声かけられてビビった。(あと、基本的に、いまだに社長にもさくーしゃさんにもビビってる。普段会ってないから緊張する。)
いや、ほんと、Slackで声かけるの緊張するので、さくっと対面で話せるのめちゃくちゃありがたい。
てなことがあり、いや行ってよかったなと思った次第です。
まとめ
なにもまとまってません。
ただ、バタバタしたし、自分のタスク管理とスケジューリングのミスがかなり大きいので、反省することだらけの案件でした。(実は、これの前の案件も、その前も案件も、個人的にうまくいってなくって、今年はボロボロです。)
いつかまとめなければと思いつつ、結局三日通して技術的なことはあんまりなくて個人のブログになってしまいましたが、久しぶりに振り返って、ちゃんとせねばなと思いました。機会をいただき、ありがとうございます。
ぼちぼち、息子の朝飯作らねばなので、おわりじゃいっ。