[Unity] 3D玉転がしアプリを作る

unity を使った 3D玉転がしアプリを作ってみたいと思います。

  • unity でボールを作る
  • iPhoneの加速度センサーで上下左右に動かす

3D玉転がし

 
最終的なアプリ(動画)はこうなります。
(画面クリックで動きます)

 

Unity, Xcode 事前準備

 
MacにUnity, Xcode がインストールされ
unity のアプリをiPhone実機で実行できる状態から始めます
作成の概要はこうなります

  1. Unity で画面部品を配置
  2. 加速度センサーを使ったスクリプトを作成
  3. Xcodeを連携してiPhoneで実行

 

Unity で画面部品を配置

 
Unity メニューで
「GameObject」->「Create Other」->「Cube」で土台を作ります
同様にで Sphere(ball), Directional light を設定して配置します
 
スクリーンショット 2014-02-28 11.45.19
 
Cube のPosition, Rotation, Scale を設定
 
スクリーンショット 2014-02-28 11.46.02
 
Sphere(ball) のPosition, Rotation, Scale を設定
 
スクリーンショット 2014-02-28 11.46.20
 
Directional light のPosition, Rotation, Scale を設定
 
スクリーンショット 2014-02-28 11.46.34
 
Main Camera はもともとありますが、画面を見る位置を決めます
Main Camera のPosition, Rotation, Scale を設定
 
スクリーンショット 2014-02-28 11.46.53
 
Cube, Sphere に色を付けます
「Assets」->「Create」->「Material」
 
スクリーンショット 2014-02-28 11.47.27
 
色を設定して、
 
スクリーンショット 2014-02-28 11.47.47
 
Asset に出来上がった New Material をドラッグ&ドロップで Cube に入れます
同様に、 Sphere を赤い色を設定します
 

加速度センサーを使ったスクリプトを作成

 
ball が上下左右の加速度で移動するようにスクリプトを作ります。
iPhone の加速度センサー値は

Input.acceleration.x
Input.acceleration.y
Input.acceleration.z

のようにして取得でき
 
transform.position += new Vector3() に入れて
updat() にセットしballを移動させます。
 
直ぐに飛んでいってしまうのでフィルターをかます
ラベルにセンサー値を表示させるコードの方が長くなりました。
 
ballRun.cs

 
できたスクリプトファイルを
ball にドラッグ&ドロップします。
また、ball を選択して
「Component」->「Physics」->「Rigidbody」に設定します。
 
ios_6
 
スクリーンショット 2014-02-28 17.29.45
 

Xcodeを連携してiPhoneで実行

 

unity のアプリをiPhone実機で実行 と同様に
iOS をPlatformに設定して、Build And Run を実行
Xcode でビルド、実機に表示されます。

iPhoneを上下左右に傾けると
ボールが転がっていきます。
 

ページのトップへ戻る
 
sponsored link
  • このエントリーをはてなブックマークに追加