デジタルな日々

UnityでLeapMotion


今度はUnityでLeapMotionを動かしてみるぞ!

 

 

まずはUnityをインストール

 

Unity – Game Engine ダウンロードページからダウンロード!

 

UnityはPro版は有料だけどFree版は無料で使える、お金がないのでFree版即決!!
(初回起動時にPro版かFree版かPro版の30日トライアル版を選択できます)

 

Unityのアカウントを作らなきゃいけないらしいのでアドレスとパスワードを設定して作る。
アンケート的なものに答えるとUnityのサンプルファイルが開いて起動する。

 

Unityのサンプルゲーム
サンプルのクオリティ高ええええwwww

 

次にnityの使い方を覚えるためにドットインストールで勉強

 

ドットインストール Unity入門

 

そして…

 

はじめてのUnityゲーム

 

おおお自分でゲームが作れた!!

 

ドットインストールではプログラミングの基礎を簡単に学べるからおすすめ、1回3分で終わるから気軽に進められるしね!

 

 

というわけで次はLeapMotionのサンプルファイルがディベロッパーサイトで配布されてるのでダウンロード

 

Leap Motion Developers

 

ファイルを解凍すると「Assets」とか「Library」とか「libLeap.dylib」などがあるフォルダがあると思うのでそのフォルダ内のファイルを全部コピー
そしてUnityで新規プロジェクトを作成し、作成したフォルダ(Assetsとかが入っている)にコピーしたファイルを貼り付ければOK
(Assetsなどは置き換えでOK)

 

するとUnityがファイルを読み込んでくれる。
「Assets/LeapMotion/Scenes」に様々なシーンファイルがあるので色々起動してみよう

 

LeapMotion(Unity)サンプル1

 

ブロックの波を起こすサンプル

 

 

LeapMotion(Unity)サンプル2

 

ブロックをガチャガチャ触れるサンプル

 

 

LeapMotion(Unity)サンプル3

 

ブロックをつまめるサンプル(指をくっつけるとそこに引力が発生するプログラムらしい)

 

 

 

最後のおつまみゲームがおもしろそうだったのでちょっといじってみよう

 

「おつまみを全部移動させたらクリア」みたいなお題にしよう

 

まずは横っちょに青いブロックを作成

 

おつまみゲーム

 

で、Javascriptでこんな感じのスクリプトを描いてこのブロックにくっつける

 

#pragma strict

var touchedBox : int = 0;

function Update () {
// もし接触しているBoxの数が4つ以上ならクリアシーンへ移行
if(touchedBox >= 4) {
Application.LoadLevel(“Clear”);
}

}

function OnCollisionEnter(obj:Collision) {
// もし何かと接触して、それがCubeならばtouchBoxに1足す
if(obj.gameObject.name == “Cube”) {
touchedBox++;
}
}

function OnCollisionExit(obj:Collision) {
// もし何かが離れて、それがCubeならばtouchBoxから1引く
if(obj.gameObject.name == “Cube”) {
touchedBox–;
}
}

 

 

クリアシーンも作る、とりあえず「Clear!」と表示させるだけ
新しいシーンを作成してMainCameraに以下のスクリプトをくっつける

 

#pragma strict

var style:GUIStyle;

function OnGUI() {
GUI.Label(Rect(10,10,100,30), “Clear!!”, style);
}

 

で、コンポーネントの設定のとこでフォントとかを設定
 

これでおつまみゲーム完成

 

おつまみゲーム2

 

ブロックを4つとも青いところに置く(接触させる)とこんな感じのクリア画面に

 

おつまみゲーム3

 

本当にちょっといじっただけだけど意外と簡単にできた。

 

Mac用のアプリとしてビルドさせたらなぜかLeapMotionの入力を受付なくなっちゃったんだけど、
調べてみたらどうやらアプリと同じフォルダ階層に「libLeap.dylib」と「libLeapCSharp.dylib」を置いておかないといけないらしい

 

Windowsの場合は「Leap.dll」「LeapCSharp.dll」「Unicorn_Slam_Data」を一緒に置いておく。

 

なおこれはフリー版のみ必要なことなのでPro版は気にしなくてOkかな
詳しくはこちらで(英文)
  → Setting Up a Project — Leap Motion C# and Unity SDK v1.2 documentation

 

 

 

次はUnityの使い方を覚えつつよりゲームらしいものを作っていきたいね
(今はボールを作って壁にぶつかると色を変えるようにしたり、壁にボールがぶつかった回数を表示させるように調整してます…)

 

次はテニスみたいなものとかUnity-CHANを使った何かをやろうかな

 

UNITY-CHAN!

 

 
 

ProcessingでLeapMotionその2

→ to be continued…

 

 

※これまでリンクが同じタブで開かれる設定になってて不便だったので、新しいタブで開く設定に変えましたm(_ _)m

 

コメントを残す