大きめの展望
今回、この挑戦をして記事化しようと思った決め手はこのビデオである。初心者には遠き道程だが、ここまでできる技術なのだとわかっていれば、やりがいもある。オープンソースではないのでコードを見られないのが残念だけれど、仕方がない。
スモールステップ
展望はともかく、初心者はただひたすら、一歩ずつ刻んで行くしかない。公式ドキュメントを読み進めよう。
Setup 1
これについては、ビデオチュートリアルもありますので、こちらをご覧ください。
こんな親切なことが書いてあったら、喜び勇んで「こちら」のリンクを踏むのは当然だろう。すると、この動画に至る。
なんでこんな古い動画?
たった4分27秒の動画だ。だから5分後とはいわないまでも、15分ぐらいでうまくいくんじゃないか、と思ったのが、沼の始まりだった。躓きの原因は、今はある程度わかっている。この動画、古いのだ。2019年4月である。たった43日前に更新している公式ドキュメントが、今なお3年以上前の動画を推奨しているのはなんでなんだろう、と思わないでもないが、「変わっているところもある」と知って、それを意識して視聴すれば、確かによくまとまっている。
前提として知っておくと楽なこと
このパッケージが二つのプラットフォームをどう繋ぐのか、最初の段階で私はよく理解していなかった。例えばFlutter x ブロックチェーンでは、異なる言語とはいえ、一つのVisualStudioでコードを書くのだから、あまり不思議に思わず進めた。だが今回は片やAndroidStudio、片やUnity、どう繋ぐのだろう。
結論からいってしまえば、UnityのプロジェクトをFlutterのプロジェクトにまるごと埋め込んでしまうのだが、もちろんそのためにいくつかの段階を踏むことになる。ただ、その「入れ子構造」が念頭にあれば、この動画を見て迷うポイントは一つ減るだろう。
変更箇所はどこか
この動画は、GitHub上のパッケージをまるまるダウンロードしてきて、その中のexampleをちょっと細工してオリジナルに仕上げる、というつくりになっている。が、そもそもそのexample内のDemoAppが3年前と今では違っている。なので、画面を必死に睨んで「同じようにやろう」と固執すると、「見つからない」「違う」「え゛〜(>_<)」ということになる。
-
DemoApp内のSampleSceneが違う
- 動画ではAssetのSceneにSampleSceneが一つだけ入っていて、そこにはCubeがある。これにマテリアルで色を付けているが、それは「自分でやった」という印みたいなものだから、あまり気にしなくていい。
- 現在のDemoAppでは、Sceneの中にNativeScene、SampleScene、scene_2という三つのfileがあって、どれを開けても動画と同じではない。ここで引っかかることなく、「動画は古いんだ」と思い定めて、次に進まなくてはいけない。この段階でオリジナリティーにこだわる気がなければ、Cubeに色を付ける、という寄り道も特に必要ではない。
-
FlutterへのExport画面が違う
- 動画ではExport AndroidとExport iOSという二つの選択肢しか出ない。
- 現在はdebugモード、リリースモード、plug-inなど、ずらっと選択肢がドロップダウンで出てくる。「おお、進化してる」と喜んで、とりあえずどちらか好きなdebugモードを選ぼう。
-
出力されるdirectory名が違う
- 動画では「UnityExport」というdirectoryができていることを確認する。
- 現在は「unityLibrary」というdirectoryになっている。くれぐれも、「UnityExportがない!」と慌てないように。
-
Flutter側での詳細設定が違う
- 動画ではいくつかの詳細設定をしているが、不要になっているものもある。これは次回以降、現在のドキュメントと比較しながら確認していく。
-
できあがるアプリが違う
- ここまで来れば予想できることだが、動画とは違う画面が出力される。でも、もうそんなことは気にならないはず。
次回は実際に手を動かしていこう