2010年6月27日日曜日

Unity3D学習の1

XNAでもまだめんどくさい気がしたのでUnity3Dはじめました。とりあえず用語と基本的なワークフローと参考リンクをメモする。

Unity3Dとは

3Dゲームやインタラクティブコンテンツの為の統合開発環境。

用語

Project > Unityで作られるゲームはプロジェクトから成る

実体としては何か管理ファイルとかがあるわけでなく、ゲームの部品を入れておくためのただのディレクトリ。構成に制限は無いが、アセットの種類ごとにフォルダ分けするよう推奨されている。

Scenes > プロジェクトはシーンと呼ばれるドキュメントを1つ以上含む

シーンは1つのゲームレベルや画面などを定義する単位となる。外部ツールやUnity内の各種エディタで部品作ってシーンに配置するという流れでゲームを作っていく。

GameObjects > Unityの基本ブロック

ゲームオブジェクトは、コンポーネントと呼ばれる機能やその他の部品のコンテナになる。すべてのゲームオブジェクトは自身の位置や向きを定義するTransformコンポーネントを含む。ゲームオブジェクト間で親子関係を持つことが出来る(子ゲームオブジェクトのTransformは親からの相対になる)。

Components > GameObjectの構成要素

コンポーネントとは、メッシュやマテリアル等の描画要素や、カメラやライト等の抽象的なものとか色々である。単体では存在せず、常にゲームオブジェクトに付加される。パーティクルシステム等、コンポーネントの種類によっては1つのゲームオブジェクトに同じ種類のものを複数持たせられない場合がある(ゲームオブジェクトを階層化してそれぞれに持たせるのはOK)。

Assets > プロジェクトにインポートされた部品

プロジェクトペインに表示される各種部品の総称。マテリアルやテクスチャ、オーディオファイルやプレハブ等。プレハブは以下で説明。

Prefabs > テンプレート定義されたアセット

ある目的で組み上げたゲームオブジェクトを雛形として保存したもの…と言っていいかわからんけどそういうイメージ。プレハブをシーンに追加した場合、コピーではなくリンク(インスタンス)が作成される。プロジェクトペインでプレハブの設定を変更すると、シーン内のすべてのインスタンスに即座に反映される。シーン内のインスタンスの設定を変更することも出来るが、その場合オリジナルのプレハブとのリンクが切れる。

基本的なワークフロー

Unityのインターフェースの説明はここ(インターフェースの学習 日本語訳版)参照。

①とりあえず空またはなんか入ってる適当なGameObjectを作成する。作成すると開いてる最中のSceneに追加され、SceneビューとHierarchyビューで確認できるようになる。

UnityScreen_01

②作成したGameObjectにConponentや別のGameObjectを追加(2a)したり、Assetsを作るか外部からロード(1.5)してGameObjectに追加(2b)などしていって、作りたいものを作る。

UnityScreen_02

③あとはSceneで確認しながら納得行くまでいじればGameObjectが出来る。これをゲームが出来るまで繰り返すとゲームに!

UnityScreen_03

そのうちもうちょっとまともに書くんじゃないかと思います。

参考