なにげにぷろぐらまーWiki - Unity3D

目次

概要


ゲームを作るための各種ライブラリ、レベルデザインエディタなど、ゲームを作るための統合ツール。
以下のプラットフォームに対応している。
全部は確認してないし、抜けがあるかも…
ライセンスその他
PC不要
iOS必要
Android必要
PS3必要
Xbox360必要?
PSVita必要
Wii必要
Flash3.5で対応されたばかり

用語

シーン一つのステージデータ。ここにGameObjectを配置してゲームを構成する。
ゲームオブジェクト(GameObject)Transformという位置情報のコンポーネントを持ったオブジェクト。
ここにコンポーネントを付けてキャラやアイテムを作る。
コンポーネント(Component)コリジョン、アニメーション、メッシュ、音、カメラ等、一つの機能をまとめたもの。
ユーザーオリジナルのコンポーネントを作れる。
プレハブ(Prefab)GameObjectを複数まとめて(階層構造)一つにしたもの。グループ化みたいなもの。
プロジェクト(Project)プレハブ、モデルデータ、スクリプトなどをまとめて管理している場所。
ヒエラルキー(Hierarchy)シーン配置情報のようなもの。日本語では階層構造。
シーン内のすべてのGameObjectを改装構造で管理している。

GameObjectとコンポーネント


シーンにマップパーツやキャラクター等のゲームオブジェクト(or プレハブ)を配置してゲームステージを作成する。
配置するものは全てGameObjectという単位。
あるいは、GameObjectを複数まとめたPrefabという単位になる。

最終的には、複数のシーンをまとめて一つのパッケージにビルド・出力する。


GameObject単体は何も持たないオブジェクト。
(正確には Transformという座標・回転・サイズと階層構造を持つコンポーネントを持つ。)

このGameObjectにゲームを構成する部品となるコンポーネントを複数持たせることができ、
別のGameObjectを子に持つことも出来る。

コンポーネントには、
  • BoxCollider, SphereCollider 等のコリジョン
  • モデルを動かしたり、人体モーション等を実装するアニメーション
  • 音の発生源
  • カメラ(フレームバッファ、レンダーターゲットへの描画、描画対象の選択)
等、多数ある。

また、コンポーネントは自由に作成でき、
プログラマはゲームに合わせたコンポーネントを作成するのが主な作業になる。
コンポーネントはスクリプト(C#, JavaScript, Boo)で記述する。

リソースについて

メッシュデータ


Unityが対応している3Dモデリングツール
  • Maya
  • Cinema 4D
  • 3ds Max
  • Cheetah3D
  • Modo
  • Lightwave
  • Blender
他にもあるようです。

対応しているファイルフォーマットは
  • .FBX
  • .dae
  • .3DS
  • .dxf
  • .obj

詳細は以下のページ。
http://unity3d.com/support/documentation/Manual/Me...

シェーダー


Cg言語ベースらしいですが、Unity用に拡張された形になっている。
バーテックスシェーダー、フラグメントシェーダーが利用できる。
また、シェーダーの簡易版(?)としてサーフェイスシェーダーというのがある。

シーンの構成について


タイトルメニュー、ゲームシーンなど、別々のシーンファイルとして作成することになる。
タイトルメニュー

↓シーンの読み替え

ステージセレクト

↓シーンの読み替え

ゲーム本編:ステージ1

と言った感じ。
このシーンを読み替えた時に、シーン中(ヒエラルキー中)にあるゲームオブジェクトは一旦破棄される。
ゲームプレイデータの様な常駐させたいオブジェクトは特殊な方法で破棄されない様に設定する必要がある。

チュートリアル


チュートリアルサイト

ここの 3DPlatformTutorial.pdf を読みながら、3DPlatformTutorialStart.zip のプロジェクトをいじると、
Unityの基本的な要素を理解しやすいかも。

※最新の Unity3.5に対応しているかどうか、未確認。

参考リンク