2010年1月15日金曜日

【Unity】その4:Unityの理解・用語

 今回から公式サイトにあるチュートリアルを開始します。チュートリアル・マニュアルでUnityについて冒頭部分で解説してあるので、これまでの投稿と重複する所もありますが確認していきます。

 Unityはゲームを開発するために作られた強力なツールです。FPSからパズルゲームまで様々な種類のゲームを開発するのに適しています。Unityはユニークな開発システムを採っています。多くのゲーム開発者はほとんどの時間をプログラミングに費やしますがUnityでは3Dモデリングソフトのようにアセット中心の開発形式を採用しています。

 Unityで開発するゲームはProject からなっています。プロジェクトはモデルからスクリプト、メニューなどゲームに必要な全ての要素を含んでいます。Unity(ver2.0)を最初に起動するとプロジェクト「Island Demo」をロードします。

 それぞれのプロジェクトはScene と呼ばれるファイルを1つあるいは複数個含んでいます。1つのシーンは1つのゲームレベルを含んでいますが、例えばゲームメニューやゲームオーバー時の場面、大掛かりなカット・シーンはそれだけで一つのシーンを構成していることもあります。ですからゲームのすべてのレベルはシーンと同義といえますが、逆にシーンが常にゲームレベルである訳ではありません。

 GameObjectComponent の関係を理解することはUnityを理解するために大切なことです。ゲームオブジェクトはUnityで基本となる要素です。ゲームオブジェクトはいわば空の容器のようなものです。その容器の中に様々な機能をもつコンポーネントを入れることでいろいろな役割を持たせることができます。ゲームオブジェクトは常に1つ以上のコンポーネントを持っています。
 ゲームオブジェクトの強力ところは他のゲームオブジェクトを含むことができるところにあります。ちょうどフォルダーの階層のように組織することができます。複雑なモデルなども一つの親ゲームオブジェクトに子ゲームオブジェクトを関係させることで一つのゲームオブジェクトとして扱うことが可能です。
 コンポーネントは空容器の「中身」を満たすものです。実際コンポーネントなしではゲームオブジェクトは何らの意味を持ちません。一方でコンポーネントはそれだけで存在することはできません。コンポーネントは目に見えるメッシュやマテリアル、粒子だったり、あるいはより抽象的なカメラやライトなどの物理的なモデルをもたないものであったりします。 
 ゲームオブジェクトは複数個のコンポーネントをサポートすることができます。ある種のコンポーネントは一つのゲームオブジェクトに2つ以上入れることができません。たとえば粒子(パーティクル)コンポーネントは一つのゲームオブジェクトに一つしか入れることができないので、複数のパーティクルを出したいときはヒエラルヒー関係をもったそれぞれの内に粒子コンポーネントを内蔵する複数個のゲームオブジェクトを組織する必要があります。

 Assetとはプロジェクトの材料・要素となるものでほとんど全てのもの—マテリアルやテクスチャ、オーディオファイル、さらにはひな形となるゲームオブジェクト(プレハブ)—で、インポートしたアセットはProjectビューに表示されます。シーンにドラックすることでHierarchyにも追加されシーンに含まれたことが表示されます。同一プロジェクト内の複数個のシーンで同じProjectビューにあるアセットを利用することができます。

 Prefabはひな形として定義されたアセットです。プレハブをシーンに配置するとプレハブを親とするインスタンスが生成されます。もしProjectビューのプレハブを編集するとシーン中のすべてのインスタンスが変更されます。プレハブはゲーム中の敵など同一のものをたくさん配置する要素に適しています。特定のインスタンスだけ編集することも可能です。

0 件のコメント: