はじめに
今回はゲームエンジン Unity との連携を紹介!
Mashup Awards 2017 に Unity さんも協賛されるということで、少しでも kintone を使ってほしい!という想いから急遽連携サンプルを作成しました!
概要
球(Sphere)が平面(Plane)と衝突したら、kintone にデータを登録するサンプルを紹介します。
結果
まずは結果からお見せしましょう!
Unity で Sphere が Plane と衝突すると、衝突した時間と物体名が kintone に登録されます。
複数の物体と衝突させて、こんなグラフにすることも kintone なら簡単です!
kintone の設定
kintone アプリの作成
次のフィールドをフォームに設置します。
フィールド名 | フィールドタイプ | フィールドコード |
---|---|---|
衝突日時 | 作成日時 | 作成日時 |
衝突した物体 | 文字列(1行) | name |
API トークンの生成
レコード追加権限のある API トークンを生成します。
API トークンの設定方法が分からない方は
APIトークンを生成する
を参考にしてください。
API トークン設定を保存した後、「アプリを公開」または「アプリを更新」ボタンもお忘れなく!
アプリ ID と API トークンは Unity の設定で利用するのでメモしましょう。
アプリ ID は URL から確認できます。
先ほど作成したアプリを開きます。その URL が https://{subdomain}.cybozu.com/k/705/
の場合、705
がアプリ ID になります。
グラフの設定
グラフの設定はこちらの画像を参考にしてください。
Unity の設定
Unity のインストール
まずは Unity をインストールしないことには始まりません。
Unity のホームページ
からインストーラーをダウンロードして、インストールしましょう。
Project の作成
Unity を起動したら、Project を作成しましょう。
こんな画面が立ち上がったら OK です。
レイアウトの設定
画面レイアウトは「Windows」メニューの「Layouts」から選択できます。
お好みのレイアウトを選択しましょう!
Object の設置
「GameObject」メニューから「Plane」と「Sphere」を追加します。(重なっていますが、中央に Sphere もあります)
さぁ次は Sphere を上に引っ張り上げて、重力を付与しましょう。
上に引っ張り上げるには、Sphere を選択すると緑、赤、青の矢印が表示されるので、緑の矢印をドラッグします。
重力を付与するには、Sphere を選択した状態で右下の「Add Component」をクリックし、「Rigidbody」を選択します。
重力が付与されたか確認しましょう。
中央上にある再生ボタンをクリック!こんな感じになれば OK です!
こんなに簡単に重力が付与できてよいのでしょうか。良ぃ~んです。
ちなみに、この再生ボタンを押している間の操作は保存されないので、動作が確認できたら再生ボタンを再度クリックしてください。
以降の作業は再生ボタンが無効の状態で進めます。
Script の設定
さぁ、いよいよ kintone との連携です。とは言っても簡単なのでご安心を。
ますは Script ファイルを用意しましょう。中央にある「Assets」を右クリックして、「Create > C# Script」を選択します。
ファイル名は kintone にしましょう。拡張子は自動付与されます。
先ほど作った Script ファイルの中身を書き換えます。
スクリプト(C#アイコン)を右クリックして、「Show in Explorer」を選択し、ファイルの場所を開きます。
kintone.cs ファイルをエディターで開き、内容を以下のコードに書き換えます。
14 行目は{subdomain}をご自身のサブドメイン名に変更します。
15,16 行目は先ほどメモした、アプリ ID と API トークンに変更します。
|
|
Script の内容が編集できたら保存し、その Script を Sphere にドラッグ&ドロップします。
Sphere を選択した際に、kintone(script)が表示されればバッチリです。
再生ボタンをクリックして、kintone にデータが登録されるか確認しましょう!
おわりに
今回は kintone にデータを登録しましたが、kintone のデータの取得も可能です。
データの保存先として kintone おすすめです!
この Tips は、Windows 10 Pro 1703、Unity 2017.1.1f1 Personal で動作を確認しています。