2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
FirebaseとUnity(全1記事)
リンクをコピー
記事をブックマーク
gremito氏(以下、gremito):では「FirebaseとUnity」ということでLT始めたいと思います。よろしくお願いします。
(会場拍手)
トップバッターということで、すごく簡単に話していこうと思います。今日のこのスライドはコードは一切ないので軽く。月曜ということでお疲れだと思うので、気楽に聞いてもらえればなと思います。
自己紹介です。岩本と申します。
ネットではgremitoというアカウントでよく活動しています。最近はUNIBOOKを書いたり、八耐というイベントもやっていたりします。
Unityとは? みなさんご存知だと思いますが、よく言われているのはゲームを開発するツールですかね。ゲームエンジンとも呼ばれています。
それはすでに過去の話で、今ではAR、VR、映像系でも使われています。グラフィック周り、3D、2D周りでソフトウェアを作るときによく使われるツールになってきています。FirebaseはそんなUnityをサポートしていて、そんな話をこれからしていきます。
Firebaseは、これだけSDKを提供しています。
Unityしか扱ったことがないとか、サーバーサイドを全然知らないという人でも扱いやすくサポートしていて、しかもドキュメントもしっかり作られているんですよね(笑)。
すでに公式ドキュメントを見ている人も多いかと思うんですけれども、それだけやり応えがあるって感じがしますよね。
何を提供しているかと言うと、ネイティブプラグインと言われている、最終的にはiOSやAndroidにビルドして使えるような形で、Unityが提供しています。
先々週か先週(注:イベント開催日は4月2日)くらいに、ほそ道さん(@jshosomichi )という方が登壇されたスライドなんですけれども、おもしろかったので紹介させていただこうと思います。
「Firebaseってモバイルアプリを役立たさせるBaaSと呼ばれるものだよね」というプレゼンテーションですが、ほそ道さんはフロントエンドの方なんですけれども、新規事業のプロトタイプを作るということで、その際にFirebaseを使った事例の紹介でした。
今回資料を使わせてもらいますが、この資料では「Noサーバインスタンス、Noサーバサイドエンジニア」ということで、フロントエンジニアがサーバーの知識がそれほど無い状態でもプロトタイプまでは作れました、という話でした。
おそらく、実際にサービスインまでできるような形だったりするんですよね。こうした図のようにサービスを作っていくんですが、Unityもこんな形でできちゃいます。
1点、ベータ版であるCloud Firestoreがまだサポートされていないと思うんですが、使うとしたらRealtime Databaseなんですけども。まあ、そのうち(Unityにも)SDKが出るんじゃないかな、というところで書かせてもらってます。
実際、iOS、Androidでビルドして、そこで提供されているFirebaseのSDKを使ってサービスを作っていくような形になると思いますが、Unityはマルチプラットフォームと呼ばれているツールでもあって、いろいろビルドができます。
最近では、WebGLもホットになってきて、ここにも(Firebaseを)使いたいときは、RESTAPIや資料上に書いていませんが、JavaScriptのSDKを使って、対応できることはできます。
Firebaseはいろんな用途に応じて、設計しやすいようなSDK提供がされているので、「これは使うしかないよね」ということで、いろいろ触って思ったことをこれから話していきたいと思います。
実際にFirebaseを用いてUnityで開発するとなると、こんな形になります。
何が言いたいかと言うと、共通化がすでにされているので、サーバーサイドの学習コストを通常よりもかけずにFirebaseを使うことができサーバー側の開発が短縮できます。
そして、先ほど言ったネイティブプラグインなんですが、これは何ぞや? という話だと思いますが、UnityではよくあるSDK提供の形なんで、C#とネイティブコードが主になります。
実際に、ネイティブプラグインと言われているAndroidやiOSの機能を呼び出すところのスクリプトは、Androidだとjarファイル、.aファイルなどが提供され、ネイティブの機能が使えるようになります。
一番上がC#で従来だと、次にAndroidでは、.aarファイルやjarファイルで最初は提供されていたんですけれども、最近は.aarファイルで提供されていました。iOSは生のObjective-Cで提供されていました。
Firebaseは、これらの形とは異なりdllファイルがほとんど.でした。
Androidは何も書いていませんが、実際にはAndroidマニフェストがちゃんとあります。先ほどの.aarファイルとかではなくて、おそらく上のFirebaseならではの拡張子(.srcaar)を使って、SDKを提供されているんじゃないかなと思います。
そして、どこがネイティブプラグインになっているかと言うと、.dllのところでおそらくC++やC#をパックにしていてSDKを提供しているようです。この.dllファイルは、ネイティブコードのパッケージになっています。
従来では、SDKを独自カスタマイズができやすい作りになっていたものの、Firebaseに関しては、独自カスタマイズできない状態で提供されていました。Firebaseは、独自カスタマイズしなくても良い、資料上のようにスッキリとした設計でSDK提供されているようです。
それでも「やっぱり独自のFirebaseのSDKを独自カスタマイズしたい!」みたいな変態さんがいるんですよ。僕もそのうちの1人なんですけれども(笑)。ネイティブプラグインとは、Android・iOSで提供されている機能をUnityで扱えるようにする。
独自カスタマイズする際には、先ほど紹介したネイティブプラグインを実際に作ることになります。
最近はVRが有名なので、VRを作るとなるとやっぱりPC、とくにWindowsで作ると思います。
そういえば、Appleが最新のHigh Sierraで外部GPUをサポートするとニュースがあって、おそらくその目的は「VR開発してよ」というアプローチなのかなって思います。
実際にそれでFirebase使いたくなったら、現状だと資料上のWebGLのようにRESTAPIを使って作っていくんじゃないかと思います。
FirebaseとUnityを連携させて開発するにあたって押さえておきたい話があります。まず1つが、ゲーム開発でクライアントやフロントエンドの人って、ゲームを面白くするために集中して作りこむので、バックエンドはお任せっていうことが少なくありません。でもFirebaseの一つひとつのサービスを知って、どうやって作っていくかをちゃんと知ってればゲームと一緒に開発できます。
その際、すでにローンチされているサービスがどうやって作られているのか話されている資料を参考にすると、然程難しく無いです。
2つ目に、独自のFirebaseのSDKを作るときは注意が必要です。この間GDCで、Firebaseは、Windowsマシン上のUnityへのSDK提供が発表されました。
Windows使ってVR開発している僕の知り合いに「VRでもFirebaseのFirestoreとかあのへんのサービスを使って、サービスを作りたいんだよね」という話をしていたんです(笑)。でも、この発表があったから結局作らなくてよかった、と。なので注意が必要なのです。
何が言いたいかと言うと、クライアントだけの話ではなく、サービス全体で意識して開発することが大事です。
Unityを使っている人はUnityだけで話が終わってしまったり、面倒くさいことはやらないみたいな。「3D上でやらなくちゃいけないことがあるから、サーバーなんて考えてられないよ」となりがちです。これは、別に悪いことではないです。
でも、サービスとしてユーザーに提供するというところは一緒なので、全体をちゃんと見据えてサービスを作っていくというところは意識して開発すると良いと思います。そんなきっかけ作りにもあると思い、最近Firebaseを使い始めました。
ご静聴ありがとうございました。
(会場拍手)
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略