Go Walk!開発日誌

前回の続き

フリーウォーク版のロジック改修

ロジック改変がちょーめんどくさそうなんで、すっかりやる気が出ない所に4連休になったんで、週明けの今日月曜まで結局何もせずにダラダラと過ごした。

ダラダラしてると脳みそが勝手に改修場所の検討や、ドラフトでロジック仮組みとかをやってくれて、そうして荒組みのロジックとオリジナルのソースとのDiffを(脳が勝手に)比較してる時に「ピーン!」と来た。あれ?ロジックそのまんまでいけんじゃね?

改修概要

オリジナルは加減速処理をした値をコースのトレーサーのspeedパラメータに突っ込んでるから、AddForce()で加速した速度magnitudeをspeedと比較してVerocityの値変えたったらいいんじゃねーの?と思った。それならこないだ書いた停止処理はそのままで、加速処理してるとこだけ変えればいいやん。

答えが出たんでプロジェクトを開いてソースを修正。改修は固定値でAddForce()したらパラメータに応じて速度調節って内容で、10行未満(!)の変更。ちょっと書きながら「これでいいんか?」と疑心暗鬼に囚われつつ、コンパイルエラーが出ないんでそのまま実行。PCVRでかぶると・・・ええ感じやがな!

画面キャプチャを見たら、PCVRのせいか、ステップのブレが激しかった。それでも実際やってるときは全くブレを感じないのは実際歩いたり走ったりする時と同じ。

シーンにTerraWorldで作成した京都某所を使ったが、設定がVR用じゃ無かったんで、オクルージョンカリングがおかしい。きっちり作ったシーンを歩き回りたい。

しかし、フィーリングはかなり自然。その辺をうろうろしてる感すげえw。結局スピードコントロール的にはオリジナルと全く同じなんやけど、移動が自由なだけで印象が全然違うなあ。

そして発見。オリジナルは向きを変えずに勝手に方向が変わるんで、個人的には足踏みよりスクワットの方がしっくり来てた。でも、フリーウォーク版は向いた方向に歩くんで、断然足踏みの方がいいし、自然。歩いてうろついてる感がすごい。おもしれえ。

ということでさっくりチューニングが出ちゃったんで、これを使った何かを考えよう。単純にうろついてた時に、向こうの方で怪獣とかがうろついてて、見つかって追いかけられたりしたらちょーおもろ怖いやろうなあ!と思ったんで、AI仕込んだ怪獣とかうろつかせて、どうやって逃げる/倒すかを思索する方向でちょっと考えてみよう。

太って若返る

親が特に目立った副反応も無く2回目のコロナワクチンの接種を無事に終えたっていうんで、じゃあ久しぶりに飯でも食いに行こうと。

しかし相変わらずのこのご時世。というか緊急事態宣言開けでまた感染者が増加するというパターン。ワクチン接種しても感染はするし、こちとら1回目の接種すらまだなんで、用心で家で食う事にして、手料理を振る舞った。

それでちょっと久しぶりにがっつりと食ったら、1日で2kgも太った。(;´Д`)マジカー

最近寄る年波でさらに増加しようとする体重を、なんとか均衡状態に抑え込んでたのになあ。

使ってる体重計はスマホで受けて体組成を色々表示するやつで、最後に年齢が表示されるが、2kg増えた年齢は、今までで一番若かった。

太って若返るか、痩せて老化するか。やな選択だなあ。

Go Walk!開発日誌

もろもろうまく行かず

Go Walk!のエベレスト版を破棄にして、ちょっと宙ぶらりんになった。Go Walk! Fantasy Islandの申請の返事もまだ無い。

なので、Quest版をデチューンしてGo版にしよう。重いところが分かったんで、Go版でも現状のQuest版がそれなりに動く気がする。

新規プロジェクトをGo環境に設えて、Quest版から必要なファイルをコピー。各種調整してビルドするが、どうにも動かない。スクリプトを外すと動くんで、どっかが引っかかってんだろうけど、なんせUnity上では何の問題もなく動く。いちいちビルドしては実機で動かしてダメーを繰り返して、途中で折れた。めんどくせー。

フリーウォーク版の開発

しょーがないんでペンディングにして、Fantasy Islandで全ての生き物が出てから後の仕掛けを仕込んでおこうかと思ったが、ふと、フリーウォーク版をやってみようと思ってたのを思い出した。

そもGo Walk!は、運動不足解消の為の日々のルーチンなので、普通にウォーキングやランニングするのと同じくで、決まったコースを回るのがいいと思ってる。目的がはっきりして分かりやすいし、達成感と成長が実感できるだろうと。

でもこの「ステップで移動する」っていうのが意外とスマートで、途中であれこれ考えた、RPG風やFPS風のアイディア(コースを走るには逸脱が大きすぎて止めた)を、そのまんまRPGやFPSでやればいいんじゃねえの?と思ってたんで、実際やってみようと。

新しいプロジェクトに適当なシーンアセットとGo Walk!システムを入れて、とりあえずGo Walk!システムから、コースを走る為のパーツを全て取っ払って、AddForce()で動き回る様に変更。

AddForce()使うのが久しぶりすぎて、すっかりコツも何もかも忘れてて、えらく苦戦した。落ちていくからシーンアセットのプレファブにコライダーが無いんだと思ったら、単に自分のコライダーをdisにしてたり(表示があるから気付かんかった)、どこまでも飛んでいくなあと思ったらForceMode.Impulseにしてなかったり、やったのにまだ飛んでいくなあと思ったら、パラメータ未設定でunknownでエラーになってて落ちてたり(見かけ上は動いてるんで分かりにくい)。いちいちビルドして試しては「あれ?」ってなる繰り返しめんどい。

いやまあ、Quest使ってデバッグすればいいものをってなもんなんで、そもそもをめんどくさがってさらにめんどくさくなってるという。

まあそうしてなんとか動かすと、あーやっぱこれは面白いわ。手を使う仕組みをちゃんと実装するともっと分かり易いなあと衝動に駆られるが、進むチューニングを先にやろう。それにはアセットのデモシーンはかなり狭すぎたんで、10km四方くらいのシーンを作成。そうしてチューニングするも、あまりフィーリングが合わない。むずかしい。

なるほど、FoceMode.Impulseじゃあダメな。進む速度をロジカルにコントロールしなくっちゃあこれは無理だわ。うーん、これはこれでボリュームが増していくなあ。

エベレストは破棄

エベレスト版のGo Walk!は、結局新しいシーンでビルドしても起動できんかった。あれ?もしかしてUnity 2020かXR PluginだとGo Walk!システム動かんのか?と思って、めんどくさいが新規でプロジェクト作って適当なシーンのアセットで組み込んでみたら、動いた。よかった。

POLYGON Adventure – Low Poly 3D Art by Synty

そうか、もうこのEverestのプロジェクトは、どっかしら壊れてもーたんやな。動かん原因を探ったら新たな知見を得られるやろけど、そういう知見が活かされる機会はまあほぼなかったりするwんで、もうこのプロジェクトは破棄ーっ。

ここ最近エベレスト登山の動画や写真を漁りまくってたら、結構岩やら雪やらがゴツゴツしてるし、なんなら一番近いゴラクって村(?)からエベレストまでが、デカい氷河伝いに行くダイナミックなトレッキングコースで、そうした一連のコースをしっかり作り込んだ方がより楽しそうなんで、また改めて挑むことにしよう。

まあでも単純にバカでかい山に登るというのはすごく楽しいというのは分かった。

PCVRでは動くんで3回くらい登った
遠景はパノラマ

いっそ検証用に作ったプロジェクトで次のやつ作ろうかな。

エベレストあかんな

修正したビルドの再申請も無事済んで、Quest上で更新されたアプリの実行も問題なし。後は結果を待つだけなんで、Go Walk! エベレストを再開した。が、相変わらずQuest 2本体では実行できない。

とりあえず、PCVRでは実行できたが、Quest 2ではほんの一瞬メニューが表示されるだけで、どうやっても落ちる。うーん。

地形がでかすぎるからなあ、とオクルージョンカリングをかける。が、しばらく枠が生成された後、落ちた。(;´Д`) そうしてから、オクルージョンカリングを何度かけてもエラーが出る。

とりあえずと、オクルージョンカリングの消去を実行したら、Unityが落ちた。(;´Д`)キャー

うーん。訳分からん。何回か試すも変わらずでどーしようもない。とりあえず前回歩いた時に地面にめり込みまくってたんで、コースを修正する。そしてまたビルドして実行するが、同じように落ちる。うーん。

オクルージョンカリングのエラーでググると、まさに同じ議論が。メモリが64GBのマシンでもあかんかったとか無理やーん、と思いながら見ていくと、最後に「Occlusion Areaコンポーネント使うたらええで」と。

どう使うんや?と思ったが、とりあえずでオブジェクトにセットしたら、サイズを入れるだけっぽい。数値を入れるとオブジェクトに枠が付いてるので収まるように入力。そして焼くと、無事焼けた!なるほどー。小さいのは適当にしてくれるけど、でかいのは範囲を指定せんとなんかー。

でかい範囲をオクルージョンカリングで焼く場合は、
Occlusion Areaコンポーネントで範囲を指定するといいぞ。

しかし、エベレストだけでもこれで、周辺地形は更に広い。これは無理やん。なのでパノラマに焼こうと、いくつかのパノラマキャプチャアセットを試したが、今回Unity 2020にしちゃったせいで、どれも対応せず。orz 尽く手詰まり。_ノ乙(、ン、)_

Occulus Integrationに付いてるキャプチャは動くが、範囲が狭すぎて(いや、対象がでかすぎるだけか)使いもんにならず。

なので、2019で開いてキャプチャしようかと、プロジェクトをコピーしたが、かなり時間がかかりそうなんで放置して、そのまま忘れて翌朝気付いたら、まだコピーが終わってない!見たら、ファイル数が200万オーバー!コピーをキャンセルして見ていくと、Occlusioinとかいうフォルダに200万オーバーのファイル。なるほどオクルージョンカリングを最初に焼いて失敗したファイルがゴミで残ってたんか。数十分がかりやったがなんとか削除した。再度焼くためにオクルージョンカリングの消去を実行すると、今回は無事完了。ベイクを100/5でやってたんで、10/5で実行し直すと、時間はかかったが無事成功。

じゃあこれでオッケーか、とビルドして実行するも、変わらず落ちる。_ノ乙(、ン、)_

とりあえず実行だけでもできんと心が折れそうなんで、地形を全て非表示にしてビルド。さあこれでできるだろうと実行すると、メニューも何も出ないまま点滅が続く。

もうだめかも分からんね。

申請、再送信。

Oculus Quest/Quest 2「ステップ」用VRアプリ「Go Walk! Fantasy Island」の、申請後発覚した不具合を修正した。

水のマテリアルやシェーダーは色々持ってるけど、元のイメージに近い奴は、全部が全部URPのみ対応。いや、URPに変えればいいし、変更できるかの検証は済んでるけど、どーもURPの細かい部分の絵作りが好きになれない。なので結局、スタンダードシェーダーで水っぽくしたやつを作って差し替えた。残念。

んで、App Labの申請の返事が全然来ないんで、新たにビルドをアップして差し替えたり出来んのかなあ、と管理画面を見ると、「申請」ボタンが「申請をキャンセル」ボタンになってた!なんや管理画面からキャンセルできるんかー、と速攻キャンセルして、新たなビルドで再申請。

しかし、8日経っても返答無しって・・・いつまでかかんねんな・・・_ノ乙(、ン、)_

ひさびさのアマプラビデオで無駄に過ごす

あれこもこれもうまく行かず。しょーが無いんでひさびさにアマプラビデオで「後で見る」に溜めまくってたのを見る。

適当に頭の方にあった「不滅のあなたへ」。原作は最初「なんじゃこれ?」と思ったが、緩やかに進む時間の中でメッセージがしっかりと伝わる良作やった。あまりに進行が遅いんで読むの止めたが(漫画はなるべく完結してから単行本で読む派)、まだ連載続いてるんやろか?と思いながら見たら、突っ込みどころばっかりで速攻萎える。いや、最低1話は全部見んと作品としての評価はー、と思ったら、板だかなんだかを切ってるところでもうあかん。終了。ひどいってもんじゃない。原作はすこぶるいい作品なんやがなあ。

もう原作も知らんのがいいなあと、BURN THE WITCH。いいね。絵もテンポもいい。ほぼ一気に全3話見た。んが、3話しか無いんか?ストーリーがさっぱり分からんがな。調べると、ジャンプなんとかの漫画原作らしい。で、漫画を探す。

最近はありがたいことに直ぐオンラインで読める。さっくり読むと、冒頭だけでなるほど納得。セリフ一つからしっかり練り込まれて過不足無く組み立てられてて世界観が非常に分かりやすい。って、続けて読んでみたら、アニメは1話抜かしてるんかーい!どっかで「アニメの方を先に見た方がいい」みたいな事を書いてたからアニメ先に見たけど、設定ややこし過ぎんのに肝心の1話が抜けてたら、そら訳分からんやろーと。んでしかも2話以降は漫画もアニメも全くおんなじとかな。せっかくいい作品やのに初見を迷わせたらあかんやろ。

最近仕事にも思うところやが、エンドユーザには分かりやすくせんとあかんし、仕事上のやり取りはプロとして、極力はしょってスピーディーにやらなあかん。のが、仕事のやり取りに分かりやすさを求めるくせに、エンドユーザには足らなすぎなもんを平気で出す。ほんまにな。そういうとこやぞ。

次いでアマゾンオリジナルのPANIC観る。アメリカンドラマの、謎話しをたっぷり間延びさせた王道の作りでくそくだらん。しょせんシナリオライターが書いたどーでもいい話を、せめてテンポよく見せんかったら、途中で素に戻ってもう見てる事がバカバカしくなるやろうと。2話見たが、もうええわ。

また無駄な時間を過ごしてしまった。ただでさえ最近月日が経つのが加速度つきすぎて、3月までどころかもう半年があっという間の数日間隔で過ぎてしまってて、1日々々がちょー貴重やってーのにな。しかし早すぎるなあ。仕事が進まなすぎて困る。

メニューが出ないバグの原因が判明した

これまでも、OSのアップデート後とかに、操作できないwとかいう致命的なバグがちょこちょこあって、まあ翌日くらいには整合してか、正常になったりしてたんで、今回のいきなり顕在化した「開始後、メニューが出ない」バグも、もう直ってるんじゃ無いか?と期待しながら動かしてみたら、全く直ってなかった。_ノ乙(、ン、)_

うーん、OSのアップデートでなったなら、もうどうしようも無いが、無理繰りスタートしてみたら、度々消失するものの、とりあえず動作自体は全体的に正常の模様。これはちょっと原因を探ってみるかーと。

とりあえず走り出せば、しばらく進んだところでチカチカとした後、正常に表示される。その後、インフォ枠やメニューが、出たり出なかったりする。消えてる時は、どうやらパーティクルも消えてる。そして、途中の池や川の水面も消えてる。

そうして消える時は、どうも特定の方向に視線が合う時の模様。どういうことやろか?この消える視線の先・・・あー、水面か?どうも消える視線の先には、水のマテリアル貼ってるオブジェクトがある位置に合致する。そして、水面は常に表示されない。

この水のマテリアル、このシーンに付いてたもので、アセットの説明にも「VRには使えへんで」とあったが、使えてたんでそのまま使ってたが、ここ1月ほど前からだったか、真っ白になってしまっていて、空の色が反映されてるみたいなんで、空の設定変えちゃったせいかな?と思いながら、プライオリティが低く放置状態で、リリース間際にようやく調査して、マテリアルの設定色を変えることでそれっぽく表現できた。

しかし、全く表示されなくなってるんで、原因はコレっぽい。

海の表面は表示されてるが(ここは海の表面が使われてる)
池の水面は消失
川の水面も消失

じゃあ、問題なく表示されてる海のマテリアルを、池と川にも適用してみるか、と適用してビルド。

結果、だめー(;´Д`)マジカー。何も変わらない。相変わらず海は表示されてんのになあ。

うーん。何か、海は適用のオプションに違いがある可能性もあるから、全然別のマテリアルを適用してみようか、と適当に水色のマテリアルを適用して、再ビルド。

結果、メニュー出たーっ!よかった、当たった。

そして池も当然出てる。
川も当然出てる。

ってえことは、水面のレンダリングが必要時に、エラーで描画できず、それに巻き込まれて、UIとパーティクルも消失してた、って事かー。

しかし、公開申請後にバグるとか、何の罠やねんっちゅうねん(怒)。

とりあえず水のマテリアルの代わりをどーにかせんとやんなー。色々試した結果でやっぱり元のコレが良かったからなあ。めんどくせー。とりあえず海との適用差を調べて、あかんかったら差し替えやなー。

Go Walk! Everest

ちょっと1日ゆっくりしてから、次のに取りかかった。次は「エベレスト」!

Fantasy Islandは、セットで買ったAssetsに入ってたFantasy Adventure Environmentっていうシーンを試してみたら、めっさ美しくさかって、これは何かに使いたいなあと思ったところのGo Walk!のアイディアが来たんで、既定路線やった。

で、最終的に色々仕込んだけど、まだ「とっととリリースしよう」と思ってた頃、単にコースを回るだけやと、これは1月も経ったら飽きるかもやなあ、と思って、次のシーンを検討してた。

その頃はまだOculus Goベースで考えてたんで、ポリゴンの手持ちシーンから、どれにしようかなって感じやったが、Questベースに変えてから、リアルな地形を作るAssetsを使って、世界の名所、景勝地を巡るシリーズで出すのもええなあと、世界の名所10選とかググったりしては妄想してた。

でー、たまたま何かドキュメンタリーとかを見たような気がするが、登山とかどうやろうかと思った。山頂というゴールがあるし、そうそう行ったり登ったりできんし、見晴らしがよくて開放感もあるやろし、実際登ったら大変なルートを、さっくり登れるのは面白いんじゃないかなあと。

そうして、今回はUntiy 2020で早速新しいプロジェクトを作って、Oculus Quest用設定を施して、Go Walk!に必要な各種Assetsを入れて、地形作成のAssets、World Composerも入れて、エベレストと、その周辺の地形を、久しぶりに使うんで、モタモタしつつキャプチャ。

そしてさっくりとコースを引いて、とりあえずのプレイ。

エベレスト!

スタート地点は、映像でよく見るテント村みたいになってるところら辺から。まだとりあえずなんで、山以外何も無し。しかし、山でけーっ!いやあ、思った以上にリアルやなあ。

とりあえずどれくらい時間かかるやろかと、最高速度で速度固定を外して、さっくり進んでみようとしたが、 歩けど歩けど全然進まんw。周りが白いし、山がでかいしでスケール感が壊れる。しかしそれがリアルっぽくてやばい。楽しいw。

Fantasy IslandのCコースでも、最高速度で速度固定を外すと10分くらいで1周回るが、これは30分経ってやっと中腹。ながっ。

中腹からの眺め

視界調整もしてないんで、もっと遠くまである山並みも全然出てなくて残念。

しかも、まだコースを適当に引いただけなんで、途中で地面にめり込んでしまって、度々下が素抜けになる時があって、それがやたら高くて怖すぎる。コースはちゃんと作らんとやな。

VRでないと伝わらない高所感

しかしこの高さは、山間にロープ張って綱渡りとかも面白いかもなあ。

頂上までは行かんかったが、思った以上に面白かった。途中、山ほどアイディアが出てしまったんで、シンプルな無料アプリにしようと思ってたけど、ちょっと色々仕込もう。やっぱり想像と実際にやるのとでは全然違うなあ。

しかしそれより、Oculus QuestをPCにつないで試走しようとした時、テストユーザを誤って削除したせいでメニューから消えてたGo Walk! Fantasy Islandが復活してるのに気付いた。

「あれ?もしかしてもう審査通ってApp Labに公開された?」と思って、起動してみた。どうやら審査はまだみたいで、復活した理由も分からんが、起動したらなぜかメニューが出ない!いや、視線を横にすると出る。でも正面を見ると出ない。やばい!今まで見たことないバグが出てるーっ!

先日から使い始めた動画編集アプリのDaVinciで、テキストとYoutubeアップロードの機能テストのついでに、バグの状況の動画を作ってアップしてみた。

どうもOSのアップデートがあったっぽいが、そのせいか?前のバージョンのテスト版も同じ症状で、ここ1週間くらいずっとテストして問題無かったのに、っていうか、過去こんな状態になったこと無かったからなあ。うーん。やばい。

とりあえずどーしようもないんで、審査の結果出るまで放置するしかやなあ。

リリース版をApp Labに(ようやく)アップした

あー、長かった。くっそ長かった。

昨年9月中頃、ステイホームで増えていく体重をどうにかすべく、屋内でなんとかならんかと始めたスクワットがなかなかに効果的で、ステップという名前を付けて、楽しく続けるためにVR内を歩き回るアプリを作ろうと、Oculus Go用Appとして開発をスタートしたのが10月に入った頃やったっけか。8ヶ月かー。

その間、M1 Macを買ってはバグだらけで翻弄され、Quest 2を買ってその可能性に思いを馳せ、URPを試しては細かいところでうまくいかず、苦心惨憺実装したらアセットのアップデートであっさり対応され、プロジェクトも何回か壊れ、山ほど英文マニュアルを翻訳しては山ほどサンプルを作って、Goではいよいよ埒が明かんくなったんでQuest用に切り替え、そういやそのせいで水面が真っ白になって途方に暮れたがなんとかなって、それでも何もかもが足らずで永遠に続くと思われてたが、ようやっとキリのいいところまで出来上がった。辛さ一入だっただけに感慨深い。

まだ雲や天気も実装できてないし、軽量化もあかんし、LODも植栽も適当なままやし、インターフェースもそのまんまやしで、どこまでも終わらないっちゃあまだまだ終わらんけど。キリが無いんでここで世に問わせていただく。先がありそうなら作り込んでいく。その前に無料版のやらエベレスト版やら作らんならんな。

これでフィニッシュ!と思った数日前からも、App Labに上げる画像の作成でプレイ画面をキャプらんとあかんかったり、動画も必要やったりでまためんどくさい日々やった(その辺がめんどくさくてSIDEQUESTにも上げ切らんかったなあ・・・)。

動画と言えば、こないだ解約したAdobe CCの期日はまだ残ってるが、今後も踏まえてで動画の編集は今回からDaVinciになった。ちょっと前にフリーでおすすめのWin用動画編集アプリをいくつか調べて、一番よさげなのとして入れといた。

さっくりとプレイ動画をキャプチャして、適当にカットしたのをつなぐ算段で、初めてDaViniciを開いたが、さすがに初見ではさっぱりわからんかったが、Youtubeで検索したこちらの動画がひととおりの丁寧な説明で、サックサクと進んだ。だいたい20カットくらいつまんで並べて、じゃあ曲付けるかと思ったが、行き当たりばったりでフリーBGMをググると、一つ目のサイトの1曲目がイメージドンピシャ。そのままはめると、それまでカットした長さもほぼテンポに合ってて、2、3カ所クリップ間をずらしただけで出来上がった。いやーマジカー。さっくり終わったー。

そうして本日、動画と画像を全てアップして、最後にビルドもアップして、申請終了。

なんか「山ほど申請来てるからちょっと待ってや-」みたいなメッセージ出てたけど、どれくらいかかるんやろなあ。通ったらプロモーションもせななやなー。まだまだ長いなー。

まずは、無事通りますよーに。