Google

2011年9月29日木曜日

最低限把握すべきクラス

Unityのゲーム制作は非常に簡易です。

実行時画面をシーンという概念で扱い、その中で動くのはGameObjectインスタンス。
GameObjectにはプロパティライクなComponent群が存在。
コンポジットパターンでルートからツリー構造を形成。
エンジニアならこれだけでも想像できるのではないでしょうか。

巷の紹介では、UI操作手順のスクショ付き解説が殆ど。
しかし同じでは詰まんないので、いきなり簡易クラス図を出してみましょうw

MystliveがCacooで描いた簡易クラス図です

一応Unity公式にはリファレンスがあります。
しかしFWのソースはユーザが取り出して見ることはできません。
UMLも見当たらないので、重要な部分のみを自力でざざっと描いたのがこれです。
結構省略&いい加減なので細かいところは突っ込まないでください。

んでは、ざっくりと解説。
普段使っていく上で、黄色のクラスが肝です。

先ほどの解説通り、シーン上で実行時に動くのはGameObject。
これ単体では描画機能すら有りません。(位置情報のTransformだけは最低でも付きますが)
で、テクスチャやコリジョンやメッシュ描画やら色々付けることが可能で、それらの組み合わせでオブジェとしての表現を成します。
GameObject自身は親子機能が無く、Transformがコンポジットになって親子付け。
位置情報がくっつくので、パーツをまとめたりアイテム持ったり等の表現ができます。

GameObjectの振る舞いを書くならMonoBehaviourを継承し実装。
基本的には書いたらGUI上で紐付けしなければなりませんが。
実装にはJavaScript、C#、Booどれでも使用可能で混在もできますが、混在してトラブルに何度もあっているので、速度面も兼ねてC#統一がお勧めです。
(しかしUnity謹製サンプルは全てJsという罠)

長いのでとりあえず今日はここまで。

0 件のコメント:

コメントを投稿