2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
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.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.04
いつも遅刻や自慢話…自分勝手な人にイラっとした時の切り返し 不平等な関係を打開する「相手の期待」を裏切る技
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.03
職場の同僚にイライラ…ストレスを最小限に抑える方法 臨床心理士が語る、「いい人でいなきゃ」と自分を追い込むタイプへの処方箋
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
2024.12.05
「今日こそやろう」と決めたのに…自己嫌悪でイライラする日々を変えるには
PR | 2024.12.04
攻撃者はVPNを狙っている ゼロトラストならランサムウェア攻撃を防げる理由と仕組み