unity3で作る最初のシーン(1)~基本オブジェクトの取得とビューの操作~



上のような簡単なシーンを作りながら、unity3の特にCG表現のインタフェースに慣れて行きましょう。では順を追ってやっていきましょう。

ちなみにこのチュートリアルの元にしているunity公式チュートリアルはTutorial 1 – GUI Essentialsです。

Ⅰ.まずは、ゲーム空間に簡単な3Dメッシュを表示させてみましょう。

New Project

NewProject 新規プロジェクトの作成

1.新規プロジェクトを作成して、空(から)のシーンを作成してみます。
1)空(から)のフォルダを作成しておきます。
unity3で新規プロジェクトを作成するには、空(から)のフォルダへでないと作成されないです。言いかえれば「空のフォルダ」自体があるプロジェクトの入れものなので、空でなければいけないという仕様です。softimageで新規プロジェクトを作成しようとすると、softimageが空のフォルダを作ってくれてその中にフォルダ群をる作ってくれたわけですが、unityではデザイナーが作ってあげなければいけない仕様だということです。
なのでプロジェクトを置きたい場所に、あらかじめ空のフォルダを作成して、適当な名前を付けておきましょう。この例では、unity-semiという名のフォルダを作っています。
2)unity3で新規プロジェクトを作成します。
・ File > New Project > とし、先にで作成した空のフォルダを指定します。
パッケージ(素材ライブラリ)の読み込みウインドウが

パッケージの読み込み

開きますが、今回は空っぽの
プロジェクトにしたいので、
まずは何もチェックを入れずにOKします。
・作成され開かれたプロジェクトのhierarchy(階層)ビューをみると、空(から)の
Unity_NewProject2

unity 空(から)のプロジェクト

ゲーム空間(シーン)にも必ずカメラ(main camera)は初めから用意されていることがわかりますね。しかし他のものは何もないので、背景色(background color)を除いて、gameビューにはなにも表示されません。この状態が新規プロジェクト新規シーンのunityのデフォルトの状態です。background colorの設定は、main cameraオブジェクトの設定項目の一つとして、main cameraオブジェクトを選択したときのinspect view(詳細ビュー。SIでのプロパティページと同じですね)にいつも見えています。

2.シーンに3Dオブジェクトを配置してみます。
まずはunity3の中で作れるオブジェクトを取得してみましょう。unity3でのプリミティブの取得の手順と考えましょう。
unity_GetGameObj

GameObjectを取得

Game Object->Create Other->plane (プレーン) 平面を取得。SIではグリッドにあたりますかね。
Game Object->Create Other->cube 立方体を取得

3.環境光の設定
Plateとcubeがうっすら見えているのは・・・そうです、初期設定で「環境光(ambient light = SIのアンビエンス)」が有効になっているのですね。unity3では原則的には環境光を使用したライティングを行うのです。
unity3のサンプル画像やサンプルゲームを見ると環境光でなく間接光計算をしているかのようなフォトリアル度 が見て取れるので、「原則的には環境光を使用したライ ティン
unity_AmbientLit環境光の設定

グを行 う」ことには疑問に思った方もいると思いますが、これは事前に間接光計算で生成するライトマップが寄与している表現で、unity3はリアルタイムには間接光計算はできないのです。そして「事前に間接光計算で生成する

ライトマップ」機能は有償のプロバージョンにしかありません。無償版にもライトマップ機能があり ますが、AOを生成ができますが、間接光計算による焼き付けはできない仕様となっています。つまり無償版unity3の中だけで行えるフォトリアルな表現の限界は低いわけで、そのことに注意してビジュアルデザインコンセプトや他のCGアプリを交えたワークフローを考える必要があります。

cg_unity_AmbLit_img

plane & cube with ambient light & background color

※ちなみに
UDK3、CryENGINE3の方は間接光を使ったリアルタイムレンダリングを行う初期設定になっていますから、環境光は使用しないことが推奨されています。unity3とは異なるライティング・レンダリングコンセプトなので留意しておきましょう。

 

4.直接光(源)の取得
GetGameObj_lit

Game Object - light etc

unity3のライティングの初期設定が、環境光(源)が有効、かつ直接光源(=ライトオブジェクト)はなし、ということが分かりましたね?
それではライトオブジェクトを取得してみたいと思います。
ライトオブジェクトはGame Objectメニューの中上段(右図の黄色領域)に、以下の3種類が用意されています。
1)directional light ディレクショナルライト (方向性ライト=無限遠光源=平行光源)
2)point light ポイントライト 点光源
3)spot light スポットライト スポットライト
では point light ポイントライト を取得してみましょう。
Game Object->Create Other->point light
getting point light

point light の取得

するとライトが何も照らし出さない状況ですが、これは予想どおりでしたね?・・・ unityでもSI同様、ライトを取得するとワールド座標の原点・立方体の中に配置されましたので、まずは立方体の外側の面を照らすようには見えないわけです。
ではポイントライトを上方に移動させて立方体を照らすようにしたいと思います。
そのために次に、unity3のシーンビューのカメラ操作法と、ライトなどのオブジェクトのトランスフォーム操作法を見てみましょう。

 

5.シーンビューの操作
unity3の「シーンビュー」とは、SIのfront,right,top,user ビューのこと、つまりgame view(カメラビュー)意外の全部のビューです。それらのビューでの回転・パン・ズーム操作です。
1) 回転 Rotating (Alt+LMB)
2) パン Panning (Alt+MMB)
3) ズーム Zooming (Alt+RMB)
※これはMudboxでの操作と同一ですね。しばらく操作法メモをモニター近くに貼ったりして慣れるようにしましょう。
6.オブジェクトのトランスフォーム -Transform Tools とショートカットキー-
(SIのSRTパネルとそのショートカットに当たります)
cg_unity_SRT_op

Transform Tools

1)移動ツール->矢印ギズモをマウスで引っ張る操作(ショートカットキー:w)
2)回転ツール->回転ギズモをマウスで回す操作(ショートカットキー:e)
3)スケールツール->矢印ギズモをマウスで引っ張る操作(ショートカットキー:r)
※SIのそれらのショートカットはvcxですから、unityのショートカットはキーボードの上下に点対称になった感じですね。
ではpoint light オブジェクトを前上方に移動させて、立方体を照らしてみましょう。
SRT_op2

point light を前上方に移動して立方体を照らす