• 締切済み

Unity, SDK, プロトコルの意味

Bluetooth機器と連動するスマホアプリ開発について質問させてください。 Unityは少し触ったことがあるのでアプリやゲーム開発ソフトだということはわかります。 SDKというのは何でしょうか?以前VRヘッドセットを使ったとき、PCにインストールしたことはありますが、開発者視点から見ると、どういう位置づけなのでしょう?開発ツールとありますが、ゲームを開発するにはUnityだけでは不十分でしょうか?Unity用SDKはネットに色々あるようですが、それらは基本無料で、アプリの種類によって、最適なものを選択するという理解でよいでしょうか? プロトコルは、Bluetooth機器とスマホアプリでやりとりをする共通言語だと理解していますが、全てのUnityで開発されたアプリは、同じプロトコルでしょうか?つまり、あるBluetooth機器があるとして、その機器は、Unityで開発されたアプリであれば、対応するのでしょうか?それともアプリごとに微妙に違うプロトコルが設定してあり、Bluetooth機器側も、その特定プロトコルに対応するよう設計される必要があるのでしょうか?とすると、そのプロトコルは、通常、ソフト側かハード側、どちらの都合で先に決めるのでしょうか? 素人質問で申し訳ありません。

みんなの回答

  • _backyarD
  • ベストアンサー率34% (199/580)
回答No.1

この場でうまく説明できるか自信がありませんが…… Unityはソフト、というよりはゲームなどのアプリを作る「ソフトウェア部品集」と「開発ツール」を合わせたものです。いろんな機械で動くアプリを作れるよう、各機械に共通な機能だけを集めて組合せた「開発ツールのセット」のようなものですね。 かたや、SDKとプロトコルはその単語だけだとUnityよりも広い、一般的な用語です。Unityが「トヨタのプリウス」のような名前だとすると、SDKやプロトコルは「自動車」とか「乗り物」のような位置づけです。 SDKは「Software Development Kit」、ソフトウェア開発キット。そのままだとなんだか分かりませんが、よくあるのが「あるハードウェアをソフトウェアから動かす際に、そのハードウェアに合わせたソフトウェア部品や命令を用意してソフトウェアを開発しやすくする部品集」のようなものです。 たとえば、Unityであるゲーム機のソフトを作りたいとなった時、Unityはいろんなものに(まだ存在しないものも含めて)対応できるようになっていますが、そのゲーム機固有の機能や性能を引き出す機能を持っていません。そこで、そのハードウェアメーカーが用意してくれているSDKを持ってきてUnityと組合せ、そのハードウェア固有の機能を使いこなしたソフトを使えるようにする、そんな感じの使われ方をするものです。ですので、SDKといってもいろんな種類があります。対象はハードだけではなく、ソフトウェアのSDKもたくさんあります(たとえば「WindowsのSDK」とか)。 また、プロトコルはそのままの意味だと「2つの機械やソフトウェアが互いに情報交換する際の取り決め、ルール」です。例示されているようにBluetoothで通信するための取り決めも「プロトコル」ですし、こうやってインターネットで通信してメッセージをやり取りする際のデータのルールも「プロトコル」で定められています。こちらも「何のプロトコル」かで内容も用途も全然違います。たとえば「IPアドレス」ありますよね?あの「IP」も「Internet Protocol」、すなわち、インターネットで通信を行うためのプロトコル(IP)で使うアドレス、なので「IPアドレス」だったりします。 漠然と用語の説明になってしまいましたが、このあとはご自分で調べて見られるなり、また再度、もう少し具体的なところに絞り込んだ質問を投げられるなりしてみてください。 参考になれば幸いです。

関連するQ&A