- - PR -
□ ボールオブジェクトの作成と設定
次に、ボールオブジェクトを作成します。方法は、Unityのメニュー[Game Object]→[Create Other]→[Sphere]を選択します。
小さい球が[Position]でいう「0, 0 , 0」に作成されました。もう少し見やすく、またカメラの画角に入るために[Position]は「0, 25, 0」で、[Scale]は「50, 50, 50」に[Inspector]ビューで設定しましょう。[Game]ビューは下図のようになるはずです。
![]() |
| ボールオブジェクトがあらわれた。どうする? |
この状態で[Game]ビューの左下にあるコントロール(下図)の左のスタートボタンを押してみてください。
![]() |
| 左のスタートボタンを押すと、どうなる? |
特に何も起こらないと思います。ここでボールに対して、現実世界と同様に重さを持つ物理モデルを適用します。Sphereを選択した状態で、Unityメニューの[Component]→[Physics]→[Rigidbody]を選択します。
すると、Sphereの[Inspector]ビュー上にRigidbodyのプロパティが追加されます。プロパティには[Mass](質量)などがあることが分かります。今回は、[Mass]を「100」に設定してください。
また、[Use Gravity]のチェックボックスはOnにしておいてください。ここでもう一度スタートボタンを押すと、ボールが落下し、floorに落ちるのが確認できると思います。
□ ボールオブジェクトに加速度センサのスクリプトを適用
ここからが本番です。ボールオブジェクトに動きを付けてみましょう。今回は、iPhoneの加速度センサを利用し、後ろに傾けると前進、前に傾けると後進(画面手前方向)、左に傾けると左方向、右に傾けると右方向に動くようなスクリプトを作成し、ボールオブジェクトに適用します。
まず、[Project]ビュー上の[Create]ボタンを押し、[C Sharp Script]を選択します。今回は、C#ですが、JavaScriptの方が得意な方は、JavaScriptでも作成できます。
![]() |
| どのスクリプトを作成するか選択 |
次に、作成したScriptを選択すると、[Inspector]ビュー上にあるScriptが下図のように表示されます。[Edit]ボタンを押すと、Scriptのエディタが表示され編集可能になります。
![]() |
| [Edit]ボタンを押しましょう |
Scriptエディタに、以下のように記述してください。
using UnityEngine;
using System.Collections;
public class BallBehaviourScript : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float z = iPhoneInput.acceleration.z * -5;
transform.Translate(0, 0, z);
float x = iPhoneInput.acceleration.x * 3;
transform.Translate(x, 0, 0);
}
}
重要な個所を順に説明すると、以下のようになります。
- using Unity Engineの使用を宣言
- MonoBehaviourクラスを継承したBallBehaviourScriptクラスを作成。MonoBehaviourクラスは、オブジェクトの動作を定義するために必要なクラス
- Update( )関数内にiPhoneInput.accelerationから各軸の加速度を取得
- 取得した加速度をtransform.Tranlateでセットし、ボールを移動させる
□ iPhoneにインストールして確認
「サンプルを動かしてみよう」の章で行った方法と同様にiPhoneにインストールしてください。iPhoneを傾けることで、ボールが転がっていることが確認できると思います。
□ ボールオブジェクトをカメラで追従するように設定
最後に、ボールオブジェクトをカメラで追従できるように設定します。これは簡単で、[Hierarchy]ビュー上でMain Cameraをボールオブジェクトに対して、ドラッグ&ドロップしてください。
もう一度、実機で確認すればボールの動きに対してカメラが追従しているのが分かると思います。これは、Hierarchy(階層化)によってボールオブジェクトがカメラの親となるため、親が動くと同様に子も動くためです。階層化は、よく使われるので、覚えておいてください。
iPhoneで動かした様子は、以下のキャプチャのようになります。
![]() |
| そして、iPhoneへ… |
ボールオブジェクトの色が違うのはMaterialを作成して、DiffuseやSecularの色を変えたためです。自身で設定してみてください。
「ここが大変だよ」を乗り越えた先に……
今回は、OpenGL ESを使ったiPhoneアプリの作り方や、Unityの基本的なところを説明しましたが、いかがでしたでしょうか。今後、ゲームを作成するうえで、アニメーションの適用、Materialおよびコントローラの作成など種々の要素があると思いますが、[ヘルプ]メニューからドキュメントをたどっていけば、方法は書かれているので、ぜひ3Dのグラフィックを生かしたiPhoneアプリやゲーム作成にチャレンジしてください。
さて、本連載は今回で最終回です。いままで本連載「ここが大変だよiPhone開発」をご愛読いただき誠にありがとうございました。この連載では、「ここが大変だよ」というテーマの下、開発から販売するところまで一通り紹介致しましたが、いかがでしたでしょうか?
アップルが2008年にスタートしたAppStoreという革命的なソフトウェアマーケットは、いまや総アプリ数が15万本を超えるマンモスプラットフォームになっています(ちなみに、主な家庭用ゲーム機では1000〜3000本程度といわれています)。
iPhone端末自体のUX(ユーザーエクスペリエンス)が素晴らしいだけでなく、AppStoreがもたらしたアプリ開発者が簡単に代金回収できるシステムは、アプリ開発者のモチベーションを上げ、新アプリが続々登場することとなり、それによってアップルも後発、独自OSながら約1年半という短期間で対応アプリ数が15万本を超えるまでに成長しました。
今後もアプリは増えるだろうし、新型モバイル端末の噂もあり、ますます競争が激しくなっていくと思われますが、基本的に本連載で一通り網羅しています。本連載が新たに参入する皆さまのお役に立てたならば幸いです。
■ @IT関連記事
| App Store登録もOK! JavaScriptで作るiPhoneアプリ これ、俺ならこう使う(5) HTML+JavaScriptでiPhoneアプリをWebアプリ的に開発しつつ、App Storeで販売できてしまう一挙両得のハイブリッド手法でCoCoTwitter作りました 「リッチクライアント & 帳票」フォーラム 2008/11/28 |
||
| はじめよう3D描画、BREWでOpenGL ESプログラミング BREWアプリケーション開発入門(6) OpenGL ESプログラミングの準備とEGLインターフェイスの設定を行い、OpenGL ESによる3Dグラフィックス描画にチャレンジする |
||
| 1-2-3-4-5 |
| INDEX | ||
| ここが大変だよiPhone開発(最終回) OpenGL ESが大変な3Dアプリ開発を楽にするUnity |
||
| Page1 iPhoneゲーム開発に欠かせないOpenGL ESだが…… ここが大変だよ。OpenGL ESのiPhoneアプリ |
||
| Page2 小っちゃいことを気にしなくてすむ「Unity」とは UnityでiPhoneアプリを作るための準備 |
||
| Page3 Unityのサンプルを動かしてみよう |
||
| Page4 Unityで、簡単な3DのiPhoneアプリを作ってみよう |
||
| Page5 「ここが大変だよ」を乗り越えた先に…… |
||
ここが大変だよiPhone開発 バックナンバー 連載インデックスへ»
- 第1回 日本人がつまずかないためのiPhone開発ポイント
- 第2回 iPhone開発。まずはサンプルを動かしてみよう
- 第3回 iPhone音楽アプリ「メロディベル」ができるまで
- 第4回 ここが大変だよiPhone実機テスト+OS 3.0の新機能
- 最終回 OpenGL ESが大変な3Dアプリ開発を楽にするUnity
| ご意見、ご感想は Smart&Social 会議室へどうぞ |
| Smart&Social フォーラム トップページへ |
TechTargetジャパン
- JenkinsでCIすればAndroidアプリ開発はもう怖くない (2012/5/23)
Androidアプリ開発における継続的インテグレーションの重要性やJenkinsの利点を解説し、環境構築の仕方や使い方の手順を紹介します - Open Graphアプリを作りApp Centerに登録するには (2012/5/18)
ユーザーの活動を共有できるFacebookの新機能を使ったアプリの開発方法と新しいアプリストアへの登録手順を解説 - Bootstrap、Hogan.js、FinagleなどTwitter系OSS (2012/5/15)
Twitterのアーキテクチャやオープンソースへの取り組みなどの講演模様をお届け。OpenJDKやStorm、Gizzard、Twitter4Jも注目 - ソーシャルゲーム/スマホ開発イベント記事が人気 (2012/5/11)
4月はソーシャルゲームの開発者向けイベントや、Webとネイティブの対決が熱かった! UnityやPerfumeも見逃せない!?
|
|
キャリアアップ
スポンサーからのお知らせ
イベントカレンダー
- - PR -






