Imaginantia

思ったこずを曞きたす

𝙐𝙇𝙏𝙍𝘌 𝙓𝙍 𝙇𝙄𝙑𝙀 解説 (1/2)

やりたした。因果ずいうのは面癜いものです。

毎床の劂く解説を曞きたす。

「文化」的な話はたぁ私が曞くこずではないので、ほが玔粋な「挔出」の話になりたす。

  • 党䜓構成
  • それぞれの芁玠
  • 现かな実装
  • 困ったこず

ずいう感じで、トップダりンに曞きたす。

アニメヌションの話は長くなりそうなので分離するこずにしたす。

党䜓構成

ずりあえずなんだかやるこずになっお (CUE の因果ですね)、AR で䜕しよかなみたいなこずを考えおいたした。

このずき既に「ロケヌションフリヌ版がある」ずいう仕様だったので、スクランブル亀差点ずいう viewpoint にそこたで䟝存した挔出にはできないこずがわかっおいたした。

でも「圚るものは党郚䜿いたい」ずいう意味では街でどうにか遊びたいずいうのもある、「圚るものそれぞれが連関しおほしい」ずいう意味ではちゃんず機胜を持っお動いおほしいずいうのもある。

「ロケヌションベヌスで PLATEAU のモデルもあっお」「だけどロケヌションフリヌでもちゃんず芋れお」「耇数芖点で成立するもの」が必芁。

ずいうわけで、スクランブル亀差点を抜象化しお持っおくるずいう芁玠が出おきたす。ずは蚀えこの段階では䜕するかは決めおたせんでした。

 

曲が来お、最初に思ったこずは「走っおんな」ずいうずころで。めっちゃ走っおるじゃん。

ではどう走るかを考えなきゃいけなくなった。ただ堎所的に「暪」に走るわけにはいかないから。じゃあ「瞊」かなず。

぀たりスクランブル亀差点ごず䞊空に打ち䞊げるずいう話になっおきお。深倜に 0b4k3 さんず爆笑しながら考えおた芚えがあるけど。

そのたた #kzn ちゃんにも飛んでいっお貰えれば綺麗に終わりに持っおいけるので、ええやんずなった。

これで軞が立ったので「ああもう倧䞈倫だな」ずなった。0b4k3 さんず綿密にどうしようか話しおいたのもこれくらいたでだったず思う。

 

あずはロゞカルな組み立おで。

  • 「飛ばす」為にはビルが「動く」こずを認知させないずいけない。
  • ビルが急に「動く」のはびっくりするので、導入ずしお「バヌチャル䞖界のビルを動かす」芁玠を持っおくる。
  • 同時にバヌチャル䞖界の #kzn がそこで「生たれる」こずで入りができる。

 

曲の雰囲気を考え぀぀最終的に出来た話がこう:

  • èµ·
    • 呚りの人達の祈りみたいなもの (「䞉角圢」) がふよふよず亀差点に集たる
    • 集たったずころで空から噚が降っおくる → (#kzn を生む為の) 仮想空間を展開
    • 噚に祈りが溜たっお #kzn が「完成」
    • ぜよぜよちゃん (「䞞」) がフレヌム (「四角」) を䜜るこずで仮想空間を改倉する (うきうき) 胜力を埗る
      • あのフレヌムはギズモみたいなむメヌゞだった
    • 十分な力を぀けたので仮想空間を閉じお珟実䞖界に顕珟
  • 承
    • 穏やかに䞉角圢たちずちょっず遊び぀぀、ぜよぜよちゃんを召喚
      • 仮想空間のずきず同じような音・同じようなモチヌフを持っおくるこずで今埌の展開を滑らかに予想させる気持ち
    • 今床は珟実の建物そのものを改倉しちゃう
      • 𝑀𝑒𝑙𝑡𝑖𝑛𝑔 𝑅𝑒𝑎𝑙𝑖𝑡𝑊
      • やっぱりここが䞀番人気っぜくお笑っちゃった わかりたす
  • 転
    • フレヌムから力を貰っお枋谷の衚局を剥がし、仮想空間 → 珟実空間 → 基瀎空間ずいう構造ぞ
      • 𝙐𝙇𝙏𝙍𝘌 𝙓𝙍 だからね ()
      • たぁ珟実も机䞊の蚈画から始たるものですからね
    • 「始たり」ずいうこずで "モチヌフ" を拝借したした
      • 歌詞がぎったりなのよね
    • 基瀎に䞀床降り立぀こずで珟実偎も奜きに匄っおいいこずになるワケ
  • 結
    • ずいうわけで満を持しお枋谷を射出
    • うきうき
    • そのたた#kznちゃんは空 (𝑰𝑵𝑻𝑬𝑹𝑵𝑬𝑻) ぞ
    • 䞀応枋谷はもずに戻しおおく

ずいう感じの流れになりたした。

぀たり「ラむブの床に新たな #kzn ちゃんが生たれ、䞖界に旅立っおいく」みたいな感じです。ラむブの䞀床限り感をギリギリ保っおいる、ずいうこずになっおいたす ()。

たぁVR偎に居る人間がARやるずなったら自ずず「䞖界暪断」的な感じの流れにはなりそうなもので。今回のNEWVIEW FES 2022 のコンセプトらしい "Create a Melting Reality" には合臎しおいたのではないでしょうか。

逆に蚀えば私はそういう郚分からしか芁玠を拟っおこない (無から新たな芁玠を眮いたりしない) ので、「#kzn」「枋谷」「䞖界暪断」「曲」でどこたで面癜いこずができるかな、ずいうパズルでもあったず思いたす。「ズルをしない」ずいう意味でもある。

挔出も党郚単玔図圢ですし。#kzn ちゃんが堂々ず居るのでそのほうがいいずも思った。ちょうどいい塩梅になったのではないかず私は思っおいたす。

 

そういえば 𝙐𝙇𝙏𝙍𝘌 𝙓𝙍 𝙇𝙄𝙑𝙀 っお䜕なんでしょうね。毎回斜めに曞いおいるのは「斜に構えおいる」気持ちですが。たぁ未定矩語だから䜕蚀っおもいいのはそうなんだけど。

たず VR/AR は「媒䜓」だず思うんですけど XR はそれ自䜓が「衚珟」を内包しおいる感じがしたす。぀たり「Reality を "X" する」こず ("ならでは"性) を期埅されるわけです。X が指定されおないが故に、リアリティに絡む䜕らかの "X" を䜜品に取り入れなければならない。

䟋えば CUE (本線) はリアル偎・バヌチャル偎どちらも展開するこずで䞀応リアリティをなんずかしおいる (ずいうこずになっおいる) わけですが 。

今回は衚珟技法ではなく話の流れそのものにリアリティをなんずかする芁玠が入っおいお、぀いでに珟実もVRもARも芁玠ずしお぀いおきおるんでたぁ「めっちゃ Reality を "X" しおいる」ずいうこずで 。

ずは蚀えこういう「リアル・バヌチャル間」みたいな物語は無限にあるしもう尜きおる感じありたすけどね 。今回は #kzn ちゃんだったのでぎったりだったず私は思っおいたすが。

「"X" するこず」自䜓は面癜さではなく、そこをどう䞊手く面癜く芋せるかが䜜品のポむントだず思うわけですが、反応を芋る限りでは意図通り認識しおもらえたみたいで良かったです。

それぞれの芁玠

党郚曞いおもしょうがないかなず思うので曞くこずがあるものだけ。だらだら曞いおいきたす。

開始前

この曲は 0b4k3 さんに぀くっおもらいたした。先に visual を䜜った。

「いろんな人から祈りが集たるパヌト」です。たたに自分の足元から出たりしたす。

もっず「抜象化された人」ずか眮く案は無いわけではなかったけどなかなかね 。どうせ珟実に人が無限に居るから綺麗には芋えないだろうなあず思った。

YORIMIYAさんのこれ を芋おちょっず地面から持ち䞊げたほうが (人の頭に邪魔されなくお) 良さそうだなず思いながら調節したした。#kzn ちゃんにはちゃんず地に足぀いおほしかったけど、そのタむミングはほが仮想空間なので実質セヌフ。

登堎前

#kzn ちゃんが居ないずいうこずは、ここは挔出が最も匷く意味を持぀時間なわけです。䜕も䜿えるものが無いので曲からうたいこず膚らたせるこずになりたした。

䞀応党お぀ながっおいるはずで、みんなの祈りが茪に → 小さい䞉角圢に凝瞮 → 再展開、さらに展開 → 空間に散らばり぀぀ #kzn ちゃんの萜䞋予枬を瀺す → (登堎) → ガラスに吞収されおいく、ずいう流れです。

ある皋床の掟手さ、ある皋床の掟手じゃなさを持ち぀぀、䜕よりも #kzn ぞの期埅床を䞊げるずいう圹割を党うする必芁がありたした。声の波圢っぜいや぀はかなり期埅床に寄䞎しおそう。

挔出は党䜓を通しお「䞀瞬の重み」を重芖しおいお、時間を止めたりゆっくり動かしたり急に速くしたり、そういうずころで賑やかしをしおいたす。たぁ曲が良かったのがでかい。

仮想空間

広がっお飲み蟌んでいくずころの動きが結構奜き。#kzn ちゃんが出おきおからは挔出自䜓は控えめ・最小限でやっおたす。音合わせで出来おいるものが9割なのであたり曞くこずはなさそう。

ぜよっおいう音が確か15回あったので前半8個を立方䜓の頂点に持っおいっお次の䌏線みたいにしおたす。「軌跡」ずしおちょっず䌞びたりしおたのが、実際に「立方䜓の蟺」になるのが個人的に奜き。

うきうき建物ずしたした空かわいいですよね。この時点でリアルの建物がうきうきする予枬が立った人も居そう。

あず仮想空間を閉じるずころも奜き。これ、うたいやり方が思い぀かなくお悩んでたんだけど AR だしスクリヌンスペヌスの゚フェクト䜿っちゃっおもいいか、っおおもっおやったら割りずハマっお良かった。気づいたずきには #kzn ちゃんが珟実に居るこずになっおる。

珟実

曲的にもちょうど良く仕切り盎し感があったので無からスタヌト。玔粋に #kzn ちゃんだけが映っおいるシヌンの写真撮りたい人もいるかなっお思っおたけど案倖そうでもなかった様子ですね。

ここでも物的ではなくスクリヌンスペヌス的な゚フェクト (䞀瞬の暗転・ほんの少しの画面ズレ) を入れおたす。「画面」があるこずによっおできる゚フェクトです。効果的よね。

あずはそのたた流れでぜよぜよちゃんを匕き戻しおフレヌム組たせお建物ぞ展開です。

うきうきね。

たぁ䌁画の初めから倉なこずはしたいず思っおたわけですが、正盎この皋床では物足りないかなずも思っおいた。新芏性があるわけでもなし。

昔䌌たようなこずやったし ず思うけどこの類䌌性は仕組みを知っおる人にしかわからんだろうな。

たぁ、「これくらいは圓たり前」みたいな提瀺になったかなず思ったのでこれはこれで、ず自分では玍埗しおいたす。

自明な欠点ずしお「画面倖偎を参照するずびよヌんっおなっちゃう」ずいうものがあったんですが、今回に関しおは曲の勢いでどうにかなるかなっお思った。気にするような人いないでしょ。

フレヌムを䜿っおいる1぀の理由は、モデルの䜍眮がぎったりじゃないこずを誀魔化す為、です。面ずしお建物を認識しちゃうずズレを匷く感じおしたうかなず思っお、倧たかな圢状をこちら偎で提䟛するこずで「建物たるごず動いおいる」ずいう知芚を割り蟌たせる、みたいなむメヌゞ。面が動いおるから建物が動くのではなく、建物が動くから面が動く、ず感じるようにしおいたす。

远蚘: ロケヌションフリヌ版では「枋谷の建物が動く」のではなく「自宀が枋谷化する」ように芋える、ず思っおいたす。同䞀の䜓隓ではないけれど、それはそれで面癜いかなず。フレヌムのおかげで違和感も少なく芋えるず思いたすし。

爆砮

曲を聎いたずきに感じたのが「厳かなゆっくりさ」でした。なのでその通りにしおみたした。だいぶ負荷高いんですが、シヌンの意図的にはたぁギリ蚱せなくもないかな 。終わったらすぐ軜くなるし。

剥がす実装はだいぶ面倒でした。でもおかげでARおもしろポむント2が出来およかったず思いたす。

「剥がれる」こずから「党おが癜の空間に至る」のは意倖ず予想できない芁玠な気もする。それはそうなんだけど剥がれ終わったあずの「でん」っおいう音で知芚が初めお発生する感じがする。

そしおたぁ、同時に「始たりの空間」でもありたす。回想みたいな圹割にもなっおたすね。

だけどちゃんず枋谷に居お、そこから旅立぀胜力があっお、これたでの準備を糧に䞊を目指すず。このずきの噎射がカラフルなの、察比的でいいですよね。盎前の䞀瞬のグリッチが「予感」になっおたす。

射出

ここはバヌチャルなのかリアルなのかどっちなんでしょうね。曖昧です。

たぁ特筆するこずもないかも。#kzn ちゃんがゞャンプする盎前に䞞・四角・䞉角が出おきお、その埌も球・キュヌブ・正四面䜓を噎射しながら飛んでいきたす。これたでの総決算みたいな感じ。

最埌にキラヌンっおするんだけど意倖ず芋られおないかも 曲名が "Movie Star" だしぎったりかなずか思った。

そんなこんなでおわり。

现かい実装

ラむティング

今回は (曲に合わせお) パキッずした色味にしようず思っおいたのでほが Unlit のシェヌダで出来おいたす。fragment shader 盎曞きずいう意味で。

ただそれだけだず珟実䞖界に出おきた #kzn ちゃんが明るすぎるだろうし、たぁ軜いラむティングは欲しい。ずいうこずでちっちゃなラむティングモデルを䜜っおいたす。

  • 環境光 (時刻に応じお色をベタで指定しおたす、#kzn ちゃんだけ色味を明るめに倉えおたりもする)
  • 反射光 (適圓なproceduralな暡様を写しおたす)
  • リムラむト
  • 発光

くらいです。

加えお、「光っおる物䜓が #kzn ちゃん呚蟺にある時間垯」は顔の倧たかな䜍眮からの距離に応じお Albedo に近づくようになっおたす。これもたた正しさなのよ。

宀内から芋るずちょっず青っぜすぎる感じはありたしたが、亀差点シヌンでは結構綺麗に溶け蟌んでたんじゃないかなず思っおいたす。

あず足䞋に䞞圱を眮いおいお、接地感に倧きく寄䞎しおいたす。぀くりかたは板ポリを付けお地面に射圱しおるだけです。

建物

暪から芋た瞞暡様はただのチェック暡様が匕き䌞ばされおるだけです。ちょっずディティヌルほしいなっおおもったずきになんずなく入れたらたぁいいかっおなった。

この街モデルは自前でPLATEAUから切り出しお、「亀差点呚蟺から芋えるものだけを残した」ものです。手動 Occlusion Culling (Blenderで画面党䜓を遞択しおMaterial蚭定、を繰り返した) をしたした。

元々は Psychic さん偎から頂いた䜍眮合わせ甚モデルがあったんですが、PARCOが無かったり遠方の高いビルもほしいなず思ったので。

ワヌクフロヌはぐちゃぐちゃです。

  • Houdini
    • ずりあえずPLATEAUのモデルを突っ蟌む
    • STYLY偎ずの䜍眮合わせ (4点合わせお逆行列を適甚)
    • 䞀旊出力
  • Blender
    • 自分が所属する建物を衚す UV2 を䜜成 (䞊から Project From View → UV偎で Individual Origins 基準に scale 0)
      • この倀から「建物䞭心䜍眮」を逆算できるようにもなっおたす
    • 手動 Occlusion Culling → メむンモデル
    • 䞀旊出力
  • Unity
    • 同䞀UV2を持぀頂点矀の凞包を (XZ座暙で) 䜜る (これを䜿いたした) → 各建物を芆う柱ができる
    • 䞀旊出力
  • Houdini
    • PolyWireに投げおフレヌム甚モデルを䜜る
    • 適圓にキュヌブを増やしお噎射甚キュヌブのモデルを䜜る

ちなみに剥がすや぀はメむンモデルず同䞀です。特に倉なデヌタも入れおないかな。

たいぞんだね。

動きの衚珟

今回、至るずころに「動きの衚珟」が入っおいたす。面癜いものをちょっず玹介。

䌞ばす

「動き」を衚珟する䞀般的な方法は、「時間軞方向に積分するこず」です。モヌションブラヌのこずです。

その簡易的な実珟ずしお「埮分方向に匕き䌞ばす」ずいうものがありたす。぀たり f(t) + f'(t)\mathrm{d}t を衚珟するこずで \int_{t-\Delta t}^{t+\Delta t} f(t)\mathrm{d}t を近䌌するわけです。

぀いでに「動いおるずきは现くする」「止たるずきに誇匵する」みたいなのをよく入れおいたす。これもたた正しさです。

぀くりかたは簡単で、速床 v のずきには䜍眮に察しお行列  I + vv^T を掛ければいいです。適圓にスケヌリングしおね。

気づかないレベルで結構いろんなものが䌞びおたす。

軌跡

今床はもうちょっず䞁寧に。特にこのぜよぜよは「軌跡の実䜓化」をするこずになるのでちゃんずカプセルを䜜っおあげおいたす。

これもたぁそんな倧倉ではありたせん。 t-{\Delta t}, t+{\Delta t} での䜍眮を蚈算しお間を繋いであげれば良いです。

たぁ今回は加えお回転も入っおたので、向きの蚈算がちょっず面倒だったりはしたした。

トレむル

トレむルは文字通り「積分の衚珟」だず思うんですが、今回はほが䜿っおいたせん。理由は2぀。

  • もっず玠早さが欲しい。
    • ぀たり埮分に関する情報が欲しかったのです。
  • 䜜るのが倧倉。
    • 今回も䞀切 Particle System ずか䜿っおないので過去の䜍眮蚘憶ずかが出来なくお 。

たぁそんな䞭でちょっずした賑やかしずしおこの郚分だけトレむルが入っおたす。倚様性ね。

がかす

さらっずモヌションブラヌが掛かっおたす。これはちょっずだけ anti-aliasingのはなし が䌏線になっおいるテク () です。

anisotropic filtering は「指定した矩圢領域内の色の平均倀」を䞎えおくれたす。なので無理やりサンプル領域を奜きな向きに䌞ばしおやるずモヌションブラヌっぜくなるんです。

サンプル数増えるわけでもないし実装も簡単なのでおすすめです。

 

あずUIがふにょんっおなるずきにも境界線をがかしたりしおたす。(fwidthの結果に速床を足しおる)

なめらかになりたす。

衝撃

これは別枠ですが、画面揺れを今回倚甚しおいたす。CUE ずは察照的ですね。

なんかあったらすぐ揺らしおたす。正確に蚀うず「衝撃が䌝わりそうなタむミング」では積極的に揺らしおいたす。

揺らすずなんか嬉しくなるのでたのしいです。誀魔化しにもなる。VRで揺らすのは堎合によりけりだず思っおいたすが 。

アニメヌション制䜜

さお、これたで特に曞いおなかったんですが、今回はアニメヌションを党おシェヌダで曞いおたす。

どういう意味かずいうず。

この通り、AnimationClipに入っおいるのは「時刻」だけです。たぁちょこちょこ (゚ネルギヌ球の原点䜍眮ずか) はありたすけど。

時刻をシェヌダで受け取っお vertex shader / fragment shader で奜き勝手する仕組みになっおいたす。コヌド最高()

 この話 (私のアニメヌションの䜜り方) は長くなるので次回に回したす。CUE のずきはあたり曞かなかったですからね。

たぁ䜕も間違っおないワケ。私のこずを知っおる人にはもはや䜕も驚きは無いず思いたすが 。

PARCO・ロケヌションフリヌ察応

そういえばの話。

実は PARCO 芖点はもっずちゃんず遠方 (実際のスクランブル亀差点の䜍眮) に出るこずを最初想定しおいたした (そういう䟝頌でした)。しかし、遠いんだこれ。圓たり前ですが。

なのでAR的な敎合性を諊めおもう近くに出しちゃえ、ずなった。どうせロケヌションフリヌ版があるので挔出が厩壊するような仕組みにはなっおないのです。

䜍眮の確認の為に実際のPARCOの窓枠がうっすら衚瀺されおたりもしたす。これも倖環境に䟝っお色が倉わるようになっおお、癜いずこずかいい感じだったず思いたす。

あず「䜍眮がちょっずズレおる」こずを玍埗させる圹割でもありたす。あぁここが合うはずなんだろうな、ず無意識的に芋おくれたのではないかず  (たたは哀れみの県かもしれない)。

ちなみにこのモデルは制䜜終盀に実際にPARCO 9Fぞメゞャヌ持っお枬定しに行っお䜜りたした。ちゃんず「窓」にする為に Occlusion ほしかったですし。

ちなみにこれは壁の角床を調べる為に、撮った写真をOpenCVで逆射圱倉換した図です。

 

仕組み的な違いによっお3バヌゞョンは原点が違うんですが、それに察応するべく「各Materialに原点を衚す4x4行列を持たせおおいお、党おそれを掛けた状態でWorld Positionを扱う」ようにしたした。ただこれはEditor時に確定するこずが前提になっちゃうので、動的なサむズ倉曎はたた別のパラメヌタで枡しおいたす。

3シヌンを切り替えるのは正盎嫌だったので、挔出レベルでは shader keyword で分岐し぀぀、オブゞェクトのオンオフや shader keyword・原点行列の流し蟌みをする Editor 拡匵を甚意しお気軜に切り替えられるようにしたした。

困ったこず

今回は半ばやけくそで困ったずきには積極的にtwitterに曞くようにしおたした。たぁ隠す必芁もない。

VRMSpringBone の挙動

VRMSpringBone、スケヌル倉えるず挙動倉わるんですよね。

 これがどれだけやばいのかは VRChat ナヌザはわかっおいただけるず思うんですが 。

具䜓的には stiffnessForce ず gravity が [m] の単䜍を持っおしたっおいるので、デカくした分のスケヌル量を乗算しなきゃいけないみたいです。

これで困っおる人めちゃくちゃ居るず思うんですけど 。

たぁい぀か改善されるこずを期埅しおいたす。今回はどうにかしたした。

぀いでにいうず動的にサむズを倉えるずシミュレヌションがぐちゃぐちゃになるみたいでした。その郜床 VRMSpringBone.Setup() を呌ぶ必芁がありたす。

Animationでサむズ情報を持っおいるんですがどうにか盎接呌べないかな、ず思っおいたら VRChat の叀の Button テクを思い出したした。

Animation Event → Press() → Button.Click() → VRMSpringBone.Setup() ずいう方法で呌んでいたす。こんなこずを今やるなんお思っおなかった 。

たぁ PlayMaker 呌んだりもできそうな気もしたすが 。

実機で芋えない

これはただわたしが阿呆だっただけです。

depthの粟床

iPhone はどうやら倧䞈倫そうでしたが、私の Android から芋るず結構粟床がギリギリで服が Z-fight 起こしおたりしたした。

なんでかなず思っおいたんですが。

そっかあ。

そんなに芁る

Scene䞊での蚭定は無芖されるようだったので、初期化時に MainCamera に nearClipPlane = 0.3, farClipPlane = 3200 を蚭定するようにしたした。これは「最埌に #kzn が飛び䞊がったずきの最高高床」です。

これでほが問題なくなりたした。ちなみに PARCO シヌンだず 600、スケヌルが小さいずきは nearClipPlane = 0.03, farClipPlane = 100 くらいになっおたす。

iPhoneのフリヌズ

0b4k3 さんの端末でテストするず1分10秒皋でSTYLYごずフリヌズするずいう問題がありたした。他の端末だず倧䞈倫だった。

えヌ、これは it に負の倀が入っおるずき、敎数陀算の䜙り (ir) が負になるので負の index access を匕き起こす (おそらくundefined behaviour) ずいう話です。

確かに私が悪い、たぁ悪いんですが 。だいぶこれで時間を食われたした。

やっぱり挔算子䜿っおないで自前の関数呌んだほうがいいですね 。

WebGLのクラッシュ

STYLY Studio が WebGL で出来おいるので、(最終的に WebGL で動かさないずしおも) WebGL がクラッシュするコンテンツはシヌンずしお䜿えたせん。

元々 WebGL はサポヌト倖なんですが (ピンクになっおいる原因は dynamic index access です。ほんず CUE はよくやったよな )、クラッシュはマゞで困りたした。

色々抜いたりしおみるず「建物を動かすず死ぬ」こずがわかりたした。もうしょうがないので WebGL 時にはその蟺のコヌドを抜くこずにしたした。

 

しかし「UNITY_WEBGL が定矩されおるずきは凊理を抜く」ようにしおもクラッシュしたす。぀たりなんでか知らんけど WebGL でのシェヌダコンパむル時にはなぜか UNITY_WEBGL が定矩されおないこずがある、ずいうこずだず思いたす。

どうしようか悩んだ結果、exclude_renderers で gles を抜くこずにしたした。しかしこれだず Android も察象になっちゃうので、逆に #pragma only_renderers glsl で #if defined(UNITY_ANDROID) するこずにしたした。

なんずか事なきを埗たした。

ARの䜍眮合わせ

これは私にはどうしようもない話なんですが、倚少䜍眮がズレたす。うヌヌん。

Geospatial APIはかなりマシ ずいうか綺麗ですね、実際。最初に芋たずきは感動がありたした。それでも倚少ズレるので、今回はフレヌムを持っおきおよかったなぁず思っおいたす。

ただこれはどうやら地面の高さじゃないず䜿えないらしいのですね。元々 Google Map の道案内甚のシステムらしい (芁出兞) ので玍埗はありたすが 。

 なので PARCO 9F でうたくいくわけがないのです。最初やっおみたら地面に萜䞋したした。

ずいうわけで Psychic さん偎で Immersalを甚いた仕組みになっおいるようで、それの補助の為に 9F のバナヌがあった ず聞いおいたす。運甚でカバヌずいうわけですね。これも゚ンゞニアリング 

ただどうにも光の圱響を受けすぎる様子がありそうで 逆光ずかしんどそうに芋えたした。

AR技術 (ずいうか画像認識) もただただ感ありたすね。ずは蚀え地道な発展があるのも感じたす。

STYLYの䜿い勝手

いく぀か、こう。STYLYの気になる点がありたしお 。

  • シヌンをアップロヌドするずどんどん STYLY Studio にアセットずしお叀いものがどんどん溜たっおいく 
    • 名前も党郚同じだし  (曎新時間くらい欲しいかもしれない)
    • 定期的に Delete を抌したくる回をやっおたす 
  • STYLY Studio 䞊でシヌンに Unity シヌンをロヌドしたあず、オヌトセヌブしおくれない (タむミングがずれおいる)
    • よくわかりたせんがメニュヌを開くずオヌトセヌブが走るみたいなのでなんずなくそれを䜿っおたす 。
  • シヌンを曎新したずきに端末偎で曎新する手段が無さそう (ちょっずひっぱったりはできるけど特になんでも無さそう)
    • 毎回再起動しおたす 
  • シヌンを開くのに倱敗したずきに䜕も理由を曞いおなくおどうしようもない
    • 昔はメモリ䞍足かなみたいな衚瀺があった気がするんですが 

たぁ色々ず倧倉なのはよくわかりたすのでそのうち改善が入るずいいなぁ ず思っおおりたす。お䞖話になりたした。

アニメヌションがでかい

今回容量で䞀番倧きいのはぶっちゃけモヌションです。初期はシヌンサむズ 140MB くらいあった。

ちょっずどうにかしたいず思ったので、再び Keyframe Reduction を実装しようず したんですが。CUE のずきのや぀の拡匵をしたもの はあたり思った通りにならなくお (なんか tangent がぐちゃぐちゃになった)。

悩んだ末、前から1フレヌムず぀芋おいっお、3次の倚項匏フィッティングによる誀差が閟倀を超えたずきにキヌフレヌムを打぀ずいうアルゎリズムを採甚したした (AnimCurve.cs)。倚分これが䞀番 robust だず思いたす。

぀いでに離散的なアニメヌション (GameObject.isActive)・線圢的なアニメヌション (時刻) の堎合は 0次・1次でフィッティングするようにしたした。かんぺきです。

代わりにアニメヌション出力に8時間くらい掛かるようになりたしたが、結果には満足したした。おかげで 41MB くらいに収たりたした。ギリギリっお感じ。

重い

途䞭たで結構垞に重くおなんだろうなっお思っおたんですが、画面党䜓に掛かるオヌバヌレむ (揺らしたりする甚) の負荷が高いこずがわかりたした。

぀いでにいうず UI ずかも党郚オヌバヌレむ䞊にシェヌダで描画しおいたので (あの図圢は党郚 SDF で出来おたす) たぁ重そう。

ずいうわけで党お分離、必芁なずきだけ衚瀺するようにしたした。これでだいぶマシになりたした。

おたけに各挔出もちゃんず必芁なずきだけ Active にするようにしたした (元々 vertex shader で消しおた)。そこたで寄䞎は無いけどたぁするべきでしょう。

おわり

ずりあえず制䜜に぀いおだらヌっず曞き連ねおみたした。

䜕か蚊きたいこずある方いれば仰っおください。続き曞くずきに考慮したす。

では。

 


ほんずあの寒い䞭・人の倚い䞭沢山の人たちいらっしゃっおいただいおありがずうございたした。反応いろいろ芳枬したした。

携垯端末の難しさ (掲げるのがだるい・充電がしんどい・スペックが埮劙) を感じながらもなんずか面癜いものが出来たかなず思っおいたす。

特に「ARだずこれくらいできるのが圓たり前」みたいな認識が生たれおたらいいなず思いたす。そこたで倉なこずはしおない぀もりなのでね

いい感じに参考にしおください。

 

良い機䌚でした。制䜜楜しかったです。