LoginSignup
4
1

More than 1 year has passed since last update.

初心者 flutter_unity_widget 2022.2.0のpub.devを読む 1

Last updated at Posted at 2022-10-19

初心者を名乗るものは、いつまでも初心者である。 

 先日、トヨタのFlutter研修のビデオを見ていたら、講師が冒頭でそんなようなことを言っていた。きっとそれは正しい。なので、いったんは、私もそろそろ初心者を冠するのは卒業しようかと思ったのだが、結局、また書いている。

初心者記事を書く理由

 だれでも、どんな分野でも、人はまず初心者から始まって、だんだんに成長していく。ほんの数ヶ月で卒業する人もいれば、ちょっと滞って乗り越えていく人もいる。けれどその後に、いつもまた新しい「初心者」が現れる。 
 私がプログラミング初心者として一番困るのは、たいがいの技術記事が、初心者向けではないことだ。「あたりまえなこと」が省かれている。限られた紙面で要領よく知見を伝達するのに、それは必要なことだろう。この「あたりまえのこと」が省かれている記事をちゃんと読めるようになれば、初級卒業なのかもしれない。だけれど実際問題として、たぶん多くの初心者が、「省かれたあたりまえ」に躓いて、時間が溶ける。 
 なので私は、省かないで書く、を心がけている。あるいは、省かれていて困ったこと、を書く。そういう記事は、中級、上級者には冗長でムダが多いだろう。だから私はタイトルに初心者と付記し、タグ付けもすることで、はっきりとこれを初級者に届けたいと思っているし、中・上級者にも無駄足を踏ませないようにしているつもりだ。

なぜ flutter x unityか 

 私がこれまで書いてきた初心者記事はFlutter × ブロックチェーン(停滞中)やFlutter × MySQL8(いったん終了)のように、そもそもあまり記事のない領域だし、それって初心者がやることか、まずはどれか一つしっかりやれよ、と言われたら返す言葉もないのだけれど、これは性分なので仕方がない。今回も、FlutterFlameもあるのに、なんでUnityなんだと言われればそれまでだけど、それをやってみたいと思い、せっかくこういうwidgetがあるのだから、「いつかもっとよくわかるようになったら」などと言っていないで、今、挑戦すればいいんじゃないかと思っている。

flutter_unity_widget 2022.2.0とは何か 

 公式ページを読んでいこう。


FlutterでUnityを埋め込むためのFlutter unity 3Dウィジェットです。Unityで作ったアプリをFlutterでレンダリングして、フルスクリーンとエンベッダブルモードで楽しむことができます。Android、iPad OS、iOS、Webで動作し、Windowsは完成間近です。現在、unityフォルダには、デフォルトのシーンを使用したものと、Unity ARファンデーションサンプルをベースにした2つのUnityアプリの例があります。
注意:Unity 2019.4.3以降のみサポートします。UnityFrameworkはエミュレータをサポートしていません。注意:Graphics APIは当面OpenGLES3のみをご使用ください(Androidのみ)。 公式ドキュメントのDeepLによる翻訳


 この解説がするっと読める人は、この記事を読む必要がないだとろうと思う。ほとんどわからない、でも、とりあえず問題はない。

Notice


レックス・アイザック・ラファエル(Rex Isaac Raphael)のタグを付けてください。使用しているUnityのバージョンに合ったFUW unitypackageを常に使用してください。

このプラグインは、少なくともUnity Engineの使い方を知っていることを前提にしています。もし、unity widgetの表示方法に問題がある場合は、unityプロジェクトのビルド設定を適当に変更してください。

今後、パッケージのバージョンは、適切なテストの後、unityのリリースに合わせて変更される予定です。これはパッケージが他のバージョンと互換性がないことを意味するものではありません、それはただ、unityバージョンで動作するようにテストされたことを意味します。

Windowsはもうすぐです。

^2022.1.0+5 は Flutter 3.0.0 をサポートし、今のところ PlatformViewSurface のみで動作します。この意味は、UnityWidgetにuseAndroidViewSurface: trueを渡す必要があることです。この問題を追跡することができます。現在、AndroidViewのサポートに取り組んでいます。(同)


 DeepLの「変な」部分もあえて直していない。気になる方は英語原文に当たってください。
 ここで大事なのは第2パラグラフ「少なくともUnity Engineの使い方を知っていることを前提にしています」だろう。ちなみに私は、Unityで球やキューブを装飾して動かしたり、三次元空間内を一人称視点で歩き回ったりすることができるが、ゲームを完成させたことはまだない。そして「問題がある場合は、unityプロジェクトのビルド設定を適当に変更」する能力があるか、といったらあまり自信はない。
 このあとの具体的設定で、Flutter3とそれ以前についての言及がある。ネット上の記事や動画は、作成時期によって、Flutter3ではないもの、また、Unityが古いものもある。参照するときは気をつけて読んでください。

Installation

pubspec.yamlへの追記が Flutter3とそれ以前が分けて書かれている。fileへのimportも、他のパッケージと同様だ。

Preview

初心者にはわかりづらいところだが、この動画は何を表しているのか。一つは、Unityでつくったキューブの回転するシーン。もう一つは、Flutterでつくったスピード調整バー(名前がわからない)。つまりFlutterの指定した速度で、Unityの挙動を制御している。単なる「Unityのアニメーションを見られるFlutterアプリ」なわけではない。 

具体的なセットアップ方法は次回以降で

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1