紹介記事
完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
これなら来年くらいには1万本くらいのゲームが出てきてもおかしくなさそうな状況なのですが,まあ,立ち上げただけではなにをしていいのか分からないくらいたくさんの機能が付いていますので,ダウンロードはしてみたけど……というところで止まっている人も多いのではないでしょうか。
そこで,UDKのインストールが終了して,Unreal Editorが起動して,さて……と固まってしまった人に贈るUDKの使い方ガイドを始めてみましょう。基本コンセプトは,
- 最小限の複雑さにする
- モデリングはしない
- プログラミングも最小限に
- 全部タダで
ということでやっていきます。
対象は,プログラムなど作ったことがない人まで含んで,UDKに興味のある人全員です。いろいろ触ってみて,やはり複雑で分かりにくい部分も多いように思われるので,ほぼ全手順を図解する方式でいってみたいと思います。ぜひ読みながら実際に操作してみてください。
Unreal Development Kitのダウンロードはこちら
UDKの必要動作環境
- Windows XP SP2またはWindows Vista
- 動作クロック2.0GHz以上のCPU
- 2GBのメインメモリ
- Shader Model 3.0に対応したグラフィックスカード(GeForce 6/Radeon X1000 以上)
- 3GB以上のHDD空き容量
インストールは済みましたか? ある程度3DゲームができるPC環境ならまず大丈夫だと思いますが,PhysXも含まれていますので,Radeon系よりはGeForce系のほうがいいでしょう。エラーを気にせずインストールすれば,一応Radeon系でも使用できるようです。CPUは高速ならいくらでも高速なほうがいいですけど,まあ非力でもそれほど大差ありません。コア数も多いに越したことはありませんが,1コアでもたぶん大丈夫です。
今回の作業の一部は,GeForce 7400M搭載のノートPCのDell XPS M1210で行っています。動作環境の下限ギリギリで,一部,動作や表示が正常でない部分もありますが,ツール自体はなんとか使えています。
Unreal Editorが起動すると,黒い背景に青のメッシュ,そして赤い立方体が表示されているはずです。この赤い立方体は,テキストエディタやグラフィックスエディタでのカーソルに相当するものです。Unreal Editorでは,グラフィックスエディタで絵を描くように,立体物を作っていきます。
さすがにさらさらとマウスを動かすと立体ができあがるというわけにはいきませんが,似たような考え方になっています。2Dのグラフィックスツールでは,ブラシを選び,適当な位置でマウスボタンを押すと,そのブラシで模様が描かれるのと同様,この赤いカーソルをいろんな形に変形させて,任意の位置でCSG演算(物体の足し算/引き算など)すると,画面内にその立体が配置されるようなイメージです。ここで使う基本的な立体図形を,BSPブラシと呼びます。
BSP(Binary Space Pertitioning)というのは,id Softwareのジョン・カーマック氏がDOOMの制作で用いた空間分割による当たり判定の効率的な実装法のことで,FPSなどでは最も基本的な技術になっているものですが,その空間内でブラシのように使えるものというイメージのようです。
このBSPブラシで作られた立体には,空間の構成要素として衝突判定やライティング情報があらかじめ焼き付けられています。重要なのは,BSPブラシで作られた物体は,ゲーム内で動かせないことです。動かせる物体は,別途StaticMesh(静的メッシュ:動作のついていないポリゴンオブジェクトの意)を使って空間内に配置します。
Unreal Editorは,基本的にレベル作成のためのツールです。レベルというのは,FPSなどでのプレイ空間を表すもので,日本の一般的なゲーム用語にすると「ステージ」や「マップ」が近いかもしれません。レベルを作って,敵AIや武器アイテムなどを配置すれば,FPSの概略はできあがります(Unreal Engine自体はFPSに特化したものではありませんが,さすがにFPSが最も作りやすくなっています)。
まず,Unreal Editorの基本的な使い方からです。
とりあえず,UDKをインストールしてUnreal Editorを起動していますね? ワンポイントのウィンドウを軽く読んだら消して,スタートページも閉じておきましょう。そのまま左のバーにある「CSG和演算」というボタンを押してみましょう。
画面にある立方体に模様がつきました。新しい物体がBSP空間に加えられたわけです。
立方体の上面にマウスカーソルを置き,右メニューで[ここから再生]を選択してみましょう。
立方体の上面を指定してメニューを開いて,再生 |
起動したけど真っ暗 |
なにやら表示されましたが,真っ暗でなにもわかりません。ESCキーでウィンドウを閉じて,また右メニューを開き,[アクタを追加]−[Add Light(DominantDirectionalLight)]を選びます。
アクタ(Actor)というのは,ゲーム内で使用されるいろんな機能を持ったものの総称のようなもので,敵キャラなどもアクタですし,今回使う照明もアクタです。アクタの追加のメニューを見れば,効果音やプレイヤーの出現位置などもアクタとして扱われているのが分かります。要するに,いろんなものがあります。
この状態で,もう一度先ほどと同じ操作で[ここから再生]をすると,立方体の上にキャラクターが乗っていることが分かります。FPSと同様の操作で移動もできますし,マウスクリックで銃も撃てます。基本立方体がゲーム内でどれくらいの大きさなのかを確認してください。概算で4m四方くらいでしょうか。画面に表示される「LINGHTING NEED TO BE REBUILD」のメッセージは,いまは気にしなくてかまいません。
Fキーを押すと自分の姿も見れます。このように,UDKには最初からFPSの基本要素が組み込まれています。部屋や地形などのレベルを作って,敵を出せば,そのままFPSができそうなことはお分かりになったと思います。
もう少し要素を追加しましょう。一番上あたりにある(メニューバーの「ツール」の「ル」の字の下)「不均一なスケーリングモード」というのを選んでください。次に赤い立方体をクリックします。三色のガイドが出てきますので,適当に赤い丸のガイドを縮めて,緑を伸ばします。次にSpaceキーを3回押して,ガイドが矢印になるのを確認したら,右にずらします。別にきっちり立方体に合わなくてもかまいません。
この状態で,再度「CSG和演算」ボタンを押し,立体を追加します。
再生すると,追加部分が確認できます。
四角の模様が縦長に伸びていますが,これは,「ここに模様を貼り付けると間延びしますよ」ということを意味しており,綺麗なレベルを作るうえでは障害になります。
横道にそれますが,一番上の面をクリックで選んで,F4キーを押し,サーフェスのプロパティを開きましょう。「配置」という項目の下にある「適用」ボタンを押すと,テクスチャのUVTileの倍率(模様の縦横比)が,ダイアログに指定してある1.0に戻り,隣の床タイルと同じになります。きっちり繋がり具合を合わせたいときは,一番上の「パン」を使って模様をずらしていきます。
次に球体を選んでみましょう。
赤いカーソルが出てきますが,……球体ぽくないですよね。
左の球体アイコンのところで右クリックすると,球体用ブラシの基本設定ができます。ここで,「Sphere Extrapolation」の数値を上げてみましょう。2,3,4と増やすに連れてだんだん球体に近づいていくのが分かります。
場所をずらして順に生成していったものが下の図になります。
次に,色付きのパース図の周りにある三面図を使って,赤いカーソルを移動してみましょう。三面図は,マウスホイールで拡大/縮小できます。パース図では位置取りが正確に行えませんので,三面図を使うことも覚えてください。
ここでは最初の立方体の端に重なるくらいの位置に置いて,「CSG差演算」を押してみてください。立方体の一部が削られることが分かります。
パース図をクリックして,Gキーを押すとカーソルが非表示になりますので確認しやすくなります。このように,立体を削る方向で作り込んでいくことも可能です。
ちなみに,パース図内での視点移動は,カーソルキーで前後左右,PageUp/Downキーで上下に移動できます。方向を変えるには右クリックしてマウスを移動させてください。また,左クリックを押しながらマウスを前後に移動させると,高さを保持したまま前方/後方に移動できるモードになります。これも覚えておくと便利です。
立体に素材を貼っていく
チェッカー模様だけでは見映えがしませんので,違う模様を貼ってみましょう。
上部メニューにある黒っぽいアイコンを押して,コンテンツブラウザを開いてください。双眼鏡の隣のアイコンです。
まず,素材が多すぎるので「オブジェクトタイプ」で「Materials」にチェックを入れて,今回適用できるものだけに絞ります。Materialというのは,テクスチャ(模様)やノーマル(凹凸),スペキュラー(光沢)などさまざまなマッピングをまとめて行う指定がされた素材のことです。
検索して出てきたものを適当につかんで,パース図の立体の上にドラッグ&ドロップしてやると,模様が変わるのが確認できます。
よく見ると,「Material」と「DecalMaterial」の2種がありますが,貼り付け可能という意味ではどちらも同じです。DecalMaterialのほうは,普通のMaterialを貼った上からワンポイントで貼り付けることができます。
ドラッグ&ドロップだとポリゴン単位で指定が必要なので,球体などは指定が面倒です。どこかの面を選択しておいて,右クリックメニューで[サーフェスを選択]−[すべての隣接要素]を選ぶと,球体全体の指定が一度で可能です。
もちろん,全体がつながっているようなマップだと,全体が選択されてしまいますので,状況を見て使ってください。球自体を選択する方法としては,Shift+Ctrlキーを押してクリックする方法があるのですが,その状態ではマテリアルを適用しても全体には貼り込めません(移動や削除などで使用してください)。
球体全体が選択された状態で,コンテンツブラウザから素材を選択し,球体のところで右クリックメニューを開くと[マテリアルを適用:〜]といったものが追加されていますので,それを選択します。
ただ,球体というのは特殊な形状なので,平面用のマッピング素材はうまく適用できません。全体を選択したうえでF4キーを押してプロパティを開き,「配置」を変えるなどして,ある程度の調整は可能です。
レベル作成:もう少し作り込むためには
もう少し具体的なものを作っていきましょう。
ファイルメニューから[新規作成]を選ぶか,Unreal Editorを立ち上げ直します(再起動をお勧めします)。さっきまで作業していたものはセーブする必要はないでしょう。
最初に表示されている立方体ブラシのカーソルを,先ほども使った「不均一なスケーリングモード」で適当に拡大します。だいたい部屋1個分の大きさを適当に決めてください。「CSG和演算」で物体を生成します。
次に,均一なほうの「スケーリングモード」でブラシカーソルをちょっとだけ縮小して「CSG差演算」のほうをクリックします。
カーソルキーでどんどん近づいて物体の中に入ると,四角い空間ができていることが分かります。
照明がありませんのでLightを加えましょう。部屋の床の真ん中のあたりで右クリックしてメニューを出し,[アクタを追加]−[Add Light(Point)]を選択します。先ほどは平行光線でしたが,今度は点光源です。
生成したら,矢印をつかんで少し上に配置します。矢印になっていない場合は,Spaceキーを押してモードを切り換えてください。
再生してみましょう。
真っ暗ですね? では,ここで作ったシーンとライトをビルドしてみましょう。ビルドとは,空間の変更をきちんとシステムに認識させることで,再計算させると操作内容と表示の辻褄があうようになります。先ほどまでは,ビルドをしなくても,たまたま不具合が出なかったのですが,ある程度の操作を加えていくと,都度都度ビルドしていくことが不可欠となります。
ビルドには,ジオメトリのビルドやライティングのビルドなどいくつか種類がありますが,当分は「すべてビルド」だけを使うようにしてください。
ここで,ちょっと室内に小さな立方体を置いてみます。部屋を作るのに使ったブラシカーソルを縮小していってもよいのですが,左の縦のバーにある立方体アイコンのところで右クリックすると,ブラシのプロパティ画面が出ますので,そこで大きさを指定していくとよいでしょう。大きさは適当でかまいませんので,室内に入るように配置して,CSG和演算で実体化させます。
今度は,カーソルを避けて立方体を選択し,Delキーで消去します。三面図の右側からは消えた物体が,パース図には残っていますね?
では,ここで全体をビルドしてみましょう。
きちんと立方体が消えました。エディタ上で見えているものと,システムに登録されているものは,必ずしも同じではないということを覚えておいてください。食い違っておかしくなっていたら,とりあえず,ビルドしてみましょう。
部屋に模様を貼っていきましょう。平面にマテリアルをドラッグ&ドロップするのは同じですが,コンテンツブラウザで素材を絞り込んでいきます。
壁は「Building」または「Wall」
床は「Floor」
というキーワードで検索してください。BuildingよりもWallのほうがたくさん出てきますが,建物用でないものも交じっています。
壁の模様が細かすぎるので,もっと大きくしたいと思ったとしましょう。サーフェスを選択してプロパティを開き,そこにあるスケーリングという部分をいじって横の適用ボタンを押せば,貼り付ける模様の大きさが変わります。
いろいろな物体を配置する
部屋だけでも寂しいので,物体を配置してみましょう。
コンテンツブラウザで,「Static Meshes」を選択します。出てくる要素が少ないときは,左上の「すべてのアセット」ボタンを押してください。
いろいろな素材が出てきました。これをドラッグ&ドロップすれば自在に配置できます。
Epic Gamesが提供している素材は,SF系と遺跡系の色が強くて,できるものに偏りは出そうですが,とりあえず置いてみる分にはよいでしょう。なお,自分でゲームを作る場合はこれらのアセットを含んで配布することはできないようですのでご注意を。
- 関連タイトル:
Unreal Engine
- この記事のURL: