お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2009/12/28 16:49

紹介記事

完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

Index
基本操作
立体に素材を貼っていく
レベル作成:もう少し作り込むためには
いろいろな物体を配置する
屋外の地形を作る
地形にマッピング:マテリアルを作る
地面に木や岩を配置しよう
空をつけよう
平行光源を回転する
SpeedTreeを使う
SpeedTreeで作った木をUDKに取り込む
もっといろんなものを置きたい:インポート処理
Botを出現させる
Botに攻撃させてみる
Botを制御してみる
複数のBotを出現させる
Botを移動させる
Third Person Viewにする
仕掛けを作る:物体を動かす
Triggerを使う
物体を移動する:アニメーションエンジンMatinee
ゲームができちゃった場合:ライセンスは?

屋外の地形を作る


 前節で作成したゲームレベルは屋内のものでした。今度は屋外を舞台にしたゲーム作成について見ていきましょう。
 屋外についても,これまでと同様にBSPブラシでどんどん作り込んでいくことはできなくはないのですが,微妙な起伏などを表現していくには手間がかかりすぎます。
 UDKには,地形作成のためのTerrain Editorが標準で用意されています。これを使って地形を作ってみましょう。

 なお,これまでのテスト的なものと違って,以下の解説で使用するレベルは,やや規模が大きくなりますので,パッケージに名前を付けて保存しておいてください。本格的にレベルを作る際には,まずプロジェクトの名前を決めて,小まめにセーブしていくことをお勧めします。作業の途中でパッケージを指定する部分が出てきますので,あとでセーブすればいいと考えていると面倒なことになります。
 パッケージ名は,ここでは「terratest」としておきましたが,なんでもかまいません。

画像集#242のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう 画像集#243のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 操作は簡単で,[ツール]メニューの[新しいテレイン...]を選んで地形メッシュの大きさを指定すれば,基本的な地形が生成されます。とりあえず,大きさは32×32か64×64程度でいいでしょう。

画像集#051のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#052のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう 画像集#053のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#054のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 基本地形が生成/表示されました。とはいえ,起伏もなにもない状態ですので,Terrain Editorを起動して起伏を作りましょう。左側の編集メニューから山のアイコンの「テレイン編集モード」を選びます。
 パース図の動作をワイヤーフレーム表示に切り換えてください。

画像集#055のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 Toolで「ペイント」を選び,Brushで右端下のブラシを選んでみましょう。この状態で,Ctrlキーを押しながら地形を左クリックすると,どんどん山ができていきます。右クリックすると谷ができます。絵を描くように地形編集ができます。

画像集#056のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 では,光源を配置して(平行光源がよいでしょう),「ここから再生」してみましょう。いま作成した地形上を歩き回ることができます。

画像集#057のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#059のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう



地形にマッピング:マテリアルを作る


 地形とはいえ,チェッカー模様では雰囲気が出ませんので,模様を貼っていきます。
 コンテンツブラウザを開き,Texturesをチェック,フリーワード部分は,
  岩「Rock」
  草「Grass」
のようなもので絞り込みをかけてください。

画像集#060のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 まずは草から。好みのものを使ってよいのですが,同じようなファイル名で白っぽいノーマル画像があるものを選んでください。ここではT_UN_Terrain_Grass_03_Dを選んでみました。
 選択した素材を右クリックして,[新しいマテリアルを作成...]を選択します。ここでパッケージ名に,先ほど保存したパッケージ名を入れてください。そのままのパッケージ名で作ってもとりあえずの問題はないのですが,デフォルトで用意されているパッケージは書き込み禁止になっていますので,ファイルを保存したとき作った素材が保存されなくなります。

 さらにグループ名を適当に指定すると,真っ黒いマテリアルが作成されるはずです。これをダブルクリックしてUnrealマテリアル エディタを起動します。

画像集#061のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 編集画面が出ますので,まず,素材の模様をクリックし,Ctrlキーを押しながら右にずらします。

画像集#062のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 次に,左側にある出っ張りのうち,一番上の黒い部分を引っ張り,「Diffuse」という部分につないでください。左のプレビュー画面に模様が出てきたはずです。この小さな突起の黒は,画像の色成分をそのまま,赤/緑/青はRGBの各成分を分けて使用するときに使います。一番下の白は,透明度(α)成分と思われます。
 このDiffuseというのは,色の最も基本的な部分である拡散成分を意味しています。最低限,Diffuseさえ指定しておけば大丈夫です。

画像集#063のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 今回はノーマル画像のある素材を選びましたので,ノーマルマップも加えましょう。コンテンツブラウザでT_UN_Terrain_Grass_03_Nを選択し,マテリアルエディタに戻って,右クリックで[Texture]−[TextureSample]を選ぶと,先ほどの画像がエディタに取り込まれます。これの黒い出っ張りを,Normalと結んでください。

セットになっているノーマル画像を選択します
画像集#064のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

メニューからTextureSampleを選択します
画像集#065のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

読み込まれたデータ(青く色が変わっているが気にしなくてかまいません)をNormalにつなぎます。ついでにカラーマップをSpecular(光沢)にもつないでいます
画像集#066のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 ノーマルマップというのは,素材に凹凸をつけるためのもので,これを指定すると一気にディテール感が上がります。
 この状態でウィンドウを閉じるとマテリアルの状態が保存されます。同様に,Rockで適当に素材を選んで岩のマテリアルも作成しておいてください。手順はまったく同じです。

画像集#067のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 さて,できあがったGrassのマテリアルを選択したうえでテレイン編集に戻り,下のHeightMapとあるあたりで右クリックを押し,メニューから[新しいテレインセットアップレイヤー マテリアルから(自動生成)]を選択します。

画像集#068のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 新しい行が追加されましたね?
 パース図をワイヤーフレーム表示から「リット」(光源処理済み)に戻すと,地面に模様が付いているのが確認できるはずです。

画像集#069のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 岩のマテリアルも同様に加えてみましょう。

画像集#070のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 3行目が追加されましたか?
 新しく追加された行を選択したうえで,パース図上でCtrl+左クリックをしてみてください。最初は一瞬固まるかと思いますが,草原に岩の模様が描かれていくことが確認できます。Ctrl+右クリックで下地の色を戻すことができます。

画像集#071のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 素材には砂地などもありますので,かなり凝ったものも作り込めることが分かるでしょう。根性さえあれば,かなり広い地形も作成可能です。

 こうして作った地形には,もちろんStaticMeshを置いていくこともできます。UDKの素材には寺院系の建物用の素材も入っていますので,怪しい街を作っていくこともできるでしょう。ただし,BSPブラシや地形自体とは違って,StaticMeshによる構造物は当たり判定などが重くなりますので,実際にゲームを作るときには注意しましょう。

画像集#072のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう


地面に木や岩を配置しよう


 地形とくれば,木や草といった植生もほしくなるところです。TerrainEditorの面白い機能も紹介しておきましょう。
 コンテンツブラウザから,StaticMesh素材で「Tree」を検索します。BurntTree01というのを選んでおいてください。

画像集#075のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 テレイン編集に戻って,右クリックで[新しいデコレイヤー]を選んでください。名前はなんでもいいんですが,チュートリアルビデオにならってTreeとしておきます。新しくできた行のところで右クリックし,[選択したデコレーションを追加−]を選びます(これが出てこない人は,コンテンツブラウザで先ほどの木を選択しておいてください)。新しい行が追加されます。

画像集#073のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#074のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#076のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
 次に,右上の「View Settings」のところにある「プロパティ」の書類のアイコンをクリックします。Terrain_0のプロパティが開きますので,「Terran」-「Deco Layers」−「[0]」−「Decorations」−「[0]」と開いていきます。ここで出てきた,「Min Scale」「Max Scale」「Density」の3個所を0から1に書き換えておきます。

画像集#077のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 この状態で,追加した行を選択し,Ctrlキーを押しながら左クリックで地面をなぞっていきますと,ブラシ感覚で地面に木を植えていくことが可能です。もしかしたら,結構しつこく塗らないとなかなか出てこないかもしれません。その場合は,Dencityを上げてみてください。いままで塗ったところからニョキっと出てきます(まったく出てこない場合は,物体が適切な設定になっていませんので,続けて以下を読み進んで対処してください)。

画像集#078のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 いちいち手作業で指定しなくてもよくなるので,このデコレイヤーによるブラシ操作は非常にお手軽です。同じデコレイヤーに複数のデコレーションを指定しておくと,同時にいろんなものを混ぜて配置してくれます。3D景観作成ツールVueのエコシステムみたいな使い勝手です。

 さて,非常に便利な機能ですが,ほかのものを同じように置こうとしても素直にはできません。いろんなものを指定するには,実はちょっとした処理が必要です。
 使いたいStaticMeshをダブルクリックしてUnreal静的メッシュエディタを開き,プロパティ部分の一番下にある「Used For Instancing?」にチェックを入れておいてください。これで,いろんなStaticMeshをブラシで配置できるようになります。

今度は,こっちの草を選んで……
画像集#082のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

ダブルクリックでエディタを開き,Instancing設定をチェックします
画像集#079のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

木と草を同時に配置できるようになりました。プレイするとこんな感じ
画像集#083のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

木以外のオブジェクトでも大丈夫です
画像集#084のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

別のデコレイヤーを加えて岩を配置します
画像集#085のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

再生するとこんな感じです
画像集#086のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう


空をつけよう


 地形を塗り塗りして再生すると,それなりに楽しめるのですが,地面がリアルになると気になるのが空の暗さです。ということで空を追加してみましょう。
 空を表現する背景球にはSkyDomeという名前の付いたStaticMeshを使用してください。コンテンツブラウザで検索すればいくつか出てきます。ドラッグ&ドロップで配置して,すっぽりかぶせるように位置を調整します。

SkyDomeを検索(キーワードskydまででも十分)。好きなほうを地形にドロップしましょう
画像集#087のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

空はつきましたけど,あたりは真っ暗です
画像集#088のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 ビルドして再生すると,真っ暗で「あれ?」と驚く人もいたかと思われます。非常に大きな天井をつけたのはよいのですが,それによって光源が隠されてしまいました。
 配置したSkyDomeを選択して(コンテンツブラウザではありません),F4キーでプロパティを開いてください。

画像集#089のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 「StaticMeshActor」の部分をクリックし,「Static Mesh〜」をさらに開きます。「Lighting」を開き,そこにある「Cast Shadow?」のチェックを外してください。これで真っ暗になることはなくなります。

画像集#090のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 一般的にいって,UDKで操作中に「あれ?」と思ったら,

  • 全体をビルドしてみる
  • UDKを再起動してみる

というのが有効です。それでダメだったら,プロパティ値などを見ていきましょう。


平行光源を回転する


 ついでですので,光源をちょっといじってみましょう。
 地形など大きなオブジェクトとともに配置した平行光源は,あとで見つけるのが大変なこともあります。ここで便利なのが「シーン マネージャ」です。コンテンツブラウザを開いて,該当するタブを押して切り換えてみてください。
 
 最初はなにも出ていませんので「PersistentLevel」の部分をクリックしてください。配置されているオブジェクト一覧が出てきます。
 ここで「オートフォーカス」のチェックを入れてみましょう。これで,一覧からオブジェクトを選択すると自動的に視点がそのオブジェクトのところに移動してくれるようになります。非常に便利です。

画像集#299のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#300のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 Spaceキーを叩くなどで,ガイドを回転モードに切り換えて,背景の夕日っぽいものに合わせて光源の向きを変えてみました(ちょっとずれていますが)。
 
画像集#092のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#093のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう


SpeedTreeを使う


 さて,地形に木といっても,UDKのアセットではサンプルで見たような変な木しか入っていません。もっと普通の木を植えたいと思う人は当然いるでしょう。UDKには,植生表示ミドルウェアとして名高いSpeedTreeが付属しています。非常に多くのゲームで実績を挙げている定番ミドルウェアです。
 このSpeedTreeを使って,さまざまな樹木を作ってみましょう。なにぶん,こちらも非常に細かい設定が可能なミドルウェアですので,使用するための最低限のところを押さえていきたいと思います。

 まず,Unreal Editorとは別にSpeedTree Modelerを起動してください。SpeedTreeはModelerとCompilerの2種類のツールが利用できますが,今回はModelerのほうです。起動したら,[File]メニューから[New]で新しい木を作るようにします。

画像集#094のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

新規のTreeを作成します
画像集#095のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 右下の「Tree」マークのところで右クリックメニューを開き,[Add to selected]−[Trunks]−[Standard RT]を選んでみてください。

画像集#096のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#097のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
 
 画面に木の幹ぽいものが生えてきました。追加できる要素は以下のとおりです。

  • Trunks 幹
  • Branches 枝
  • Leaves 普通の葉
  • Fronds シダ類の葉
  • Roots 根

 追加の仕方は,上記と同様の右クリックメニューからです。ここでは,幹から枝を伸ばし,さらに枝を伸ばして葉をつけてみました。

画像集#098のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう 画像集#099のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
画像集#100のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう 画像集#101のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
画像集#102のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう 画像集#103のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 これも模様がないと面白くありませんので,素材を指定していきます。
 右上にある「Assets」のMeterialの部分です。最初はなにも登録されていませんので,「+」ボタンで素材を追加します。

画像集#104のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 ファイル参照用のダイアログが開きますので「ConiferBark」(針葉樹の皮)を選んでおいてください。これは「Diffuse」,つまり一番基本的な色や模様を追加する部分に入ります。

画像集#105のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 「Diffuse」の下の「Normal/Height」ボタンを押し,「...」のファイル参照ボタンで,今度は「ConiferBark_Normal」を選びます。これで凸凹が表現されます。

画像集#106のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 さらに一番上の「+」ボタンでの操作を繰り返して素材を追加します。今度は葉っぱです。
 同様の操作でSampleLeaves_01を選んでみました。「_Spec」という語のついたファイルも用意されていましたので「Normal/Height」に加えて「Specular/Trans.」で光沢をつけます。

画像集#107のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 素材を登録したところで,各部に適応させていきましょう。まず,右下のつながり図でTrunkの部分を指定し,今度は左側に移ります。「Materials」という部分を探し,「Branch」の欄で「+」ボタンを押し,さらにドロップダウンリストを開きます。先ほど登録した素材が出てきますので,ConiferBarkを選択してください。

画像集#109のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう 画像集#111のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう 画像集#110のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 これでようやく模様がつきました。
 同様に,枝と葉っぱも指定していきます。葉っぱの場合は,「Leaf」のはずだろうと思うのですが,葉の指定を間違えていたようです。「Frond」のところで「+」ボタンを押してください。

画像集#112のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#113のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 なんとなく,葉っぱが少ないので,ちょっと大きくしてやりましょう。「Frond」の「Shape」でWidthとHeightをそれぞれ1にしてみました。

画像集#114のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#115のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 葉を一度削除して,FrondからLeaf系列のものに変えてみます。

画像集#116のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 今度はちゃんと「Leaves」がありましたので,そこの「Type」を追加し,マテリアルを指定していきます。

画像集#117のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#118のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 これで葉の茂った木ができました。

画像集#119のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 これで1種類の木ができたわけですが,ゲーム内に同じ形の木ばかり並んでいると,それはそれで不自然ですので,いくつかのバリエーションがほしいところです。しかし,毎回同じ操作を繰り返さなければならないのも不便です。
 SpeedTreeには,手早くバリエーションを作る支援機能があります。
 右下の図でBranch(下のほう)を選択したうえで,サイコロボタンを押すと,枝部分のバリエーションを展開してくれます。各部,どこでも有効なボタンですが,この部分を変化させるのがいちばん効果的でしょう。

画像集#120のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

変化をつけてみた例
画像集#121のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう 画像集#122のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう 画像集#123のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 いろいろいじって,気に入った感じになったら「Save as(名前を付けて保存)」で保存してください。

画像集#124のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう


SpeedTreeで作った木をUDKに取り込む


 SppedTreeで作った木をUDKで使用するためには,さらに操作が必要です。今度はSpeedTree Compilerのほうを立ち上げてください。

画像集#128のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 「Add Tree」ボタンで先ほどセーブしたファイルを読み込み,処理を進めます。出力先は,分かりやすいところにしておきましょう。
 「Create billboard atras」というのは,遠くになったら1枚絵に置き換えて処理を軽くするためのものです。とりあえず指定してもしなくてもどちらでもかまいません。

先ほどセーブしたファイルを指定します
画像集#125のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

指定したら次へ
画像集#126のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

出力フォルダなどを指定します
画像集#127のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 これでUDKの素材として変換されました。

 今度はUnreal Editorを立ち上げ,コンテンツブラウザの一番下にある「インポート」ボタンを押してください。先ほどSpeedTree Compilerで出力したフォルダを探して,全ファイルを選択してください。
 
複数のファイルを一度に処理できるので,すべて選択しておきます
画像集#129のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

グループを指定して,「すべてにOK」を押します
画像集#130のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 こうして,木がUDK用の素材になったら,UDK内で素材設定のやり直しをしなくてはなりません。一度に全部自動でやってくれればよいような気はしますが,UDK内の素材だけを共用で使いたい場合などには,個別に設定できるほうがよいのかもしれません。面倒ですけど。

画像集#131のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 ということで,UDKで模様を貼り付けるにはテクスチャ素材をマテリアルにしなければいけません。すでに何度かやってきたのとだいたい同じ手順です。ベースになるテクスチャ画像から,右クリックメニューでマテリアルの作成を指定します。

ダブルクリックでマテリアルエディタを開きます
画像集#132のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

同じ系統の名前のノーマルマップファイルを選択します
画像集#133のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

TextureSampleとして読み込みます
画像集#134のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

こんな感じでごく簡単につないでおきましょう
画像集#135のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
 
 以上のように,幹や枝などの部分はこれまでやった地形マテリアルとほとんど同じです。木の皮ですので,光沢はつけませんでしたが,とくにルールはないので,テクスチャをそのまま指定してもかまいません。

 途中は省略しますが,葉っぱのほうは少しだけ変わってきます。まず,スペキュラー用のマッピングファイルがあるので「Specular」にはそれをつなぐこと,そして「Opacity Mask」(透過マスク)指定にも線をつなぐことです。この場合は,白の突起から線を伸ばしてください。

画像集#136のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 さらに重要なのは,これまで指定しなかった下のプロパティ部分を変更する必要があることです。
 上から3番目の「Blend Mode」で「Blend Masked」を選択します。

画像集#137のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 さて,最後にファイルのインポートで作られていたテクスチャ以外のファイル,SpeedTreeと書かれた緑色のファイルをダブルクリックで開きましょう。

画像集#138のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 コンテンツブラウザで,先ほど作った幹のマテリアルを選択したうえで,Branchのマテリアル部分で緑の「←」ボタンを押して,素材を取り込みます。

画像集#139のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 同様に,葉のマテリアルを選択しておいた状態で,葉の部分のマテリアルを指定しましょう。「Leaf Card Material」の部分になります。Billboardを生成しておいた人は,「Billboard Material」もここで指定できます。

画像集#140のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 これで素材設定も終わり,UDKでそのまま使える木ができました。試しにドラッグ&ドロップで配置してみましょう。

画像集#141のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#142のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 意外と小さかったので,全体的に拡大してみましょう。

画像集#143のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#144のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 ちょっと大きくしすぎましたけど,このようにしてさまざまな樹木を配置できるようになります。しばらく見ていれば分かるように,これらは硬い木ではなく,風などで微妙に動きのできる自然な挙動の木となっています。

 これを先ほどの地形でのデコレーションレイヤーでエアブラシのように使ってやれば,景観も楽々……なのですけど,この状態のままではデコレーションに設定できません。また,SpeedTreeからStaticMeshを出力するには,製品版のSpeedTreeが必要になるようです。いまのところ,うまい方法は見つけていません。まあ,手作業で頑張りましょう。


もっといろんなものを置きたい:インポート処理

 
 SpeedTreeによって,木だけはやたらと本格的なものが置けるようになりました。しかし,それだけではゲーム世界として作り込みようがありません。標準添付のサンプルオブジェクトだけでは種類に限界があります。もっといろんなオブジェクトを持ってきて置きたいと思うのは誰しも同じです。
 UDKには,当然ながら3Dツールで作ったオブジェクトを取り込む方法がいくつかあるようですが,Mayaや3ds Maxなどは誰もが使えるものではありません。そういった環境が揃っていて,自前で作れる人は,今回の対象外です。ここではフリーの3Dデータを取り込む方法を検討していきます。以下,いろいろ導入すべきものが多くなりますが,手順どおりにやればいろんなものを持ってこられると思います。ただし,試した限りでは,うまくいかないものも多いので,手順を把握するまでは無難な素材を使ってください。

 さて,UDKで扱える3D形状データは,拡張子.T3Dと.ASDの2種類です。これらの形式で出回っているデータはほとんどありませんので,一般的な3Dファイル形式からのコンバータを探しましょう。
 まず,T3Dですが,Crossroads 3Dというフリーツールがあります。現在サポートサイトは閉鎖されてオンラインヘルプなどが見られない状況ですが,ツールそのものは入手できますし,ちゃんと使えます。適用できるファイル形式は,やや少なめです。

http://www.free2u.org/freeware/graphics/3d_graphics/crossroads_3d.html

 ASDのほうは,オープンソースの3DツールBlenderにASD形式で出力できるプラグインがあるようです。
 形状データだけ持ってこられればどちらでもいいのですが,テクスチャなどの処理もやってくれるので,今回はBlender中心で解説していきます。

 まず,公式サイトからBlenderをダウンロードし,インストールします。

 インストール手順は省略しますが,おそらくインストールの途中でPython 2.6をインストールしろという指示が出てくるので,表示された公式サイトからPythonの最新版をダウンロードし,インストールしておきましょう。Pythonというのは,スクリプト言語の一種で,いろいろなツールの自動実行などでよく使われます。12月21日時点では2.64が最新でした。
 Pythonをインストールし,Blenderのインストールも完了したら,コントロールパネルからシステムの部分を開きます。システム環境変数として,

  PythonPath
  C:\PYTHON26;C:\PYTHON26\DLLs;C:\PYTHON26\LIB;C:\PYTHON26\LIB\LIB-TK

  
のように設定してください(Pythonのインストール場所によって,必要なパス指定は異なります)。

画像集#244のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 次に,BlenderからASDファイルを出力させるエクスポータプラグインを導入します。標準ではついていませんので,以下のサイトからASDのものをダウンロードしてください。種類がいくつかありますが,上のほうにあるのが新しいようです。適当なフォルダに保存しておいてください。

http://www.katsbits.com/htm/tools_utilities.htm

 これで下準備は終わりです。

Turbo Squid
画像集#245のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
 さて,持ってくる素材はどこで探せばいいのでしょうか。
 3D素材としてはGoogle Sketchupの3Dギャラリーでのデータが膨大で,最近発売されたShade 11の変換機能が強力だということなので,Shadeの体験版を導入して実験的に変換し導入できるところまでは確認しているのですが,3Dギャラリーの使用条件を確認すると派生創作物は公開はおろか制作も禁止されている可能性があるのでここではパスします。
 フリー3Dデータの配布サイトは数多いので,検索などを駆使してみてください。とりあえず今回は,XNAでの素材協力などにも積極的なTurbo Squidの3Dデータを変換してみました。このサイトは基本的には3Dデータの販売マーケットなのですが,無料素材も多いので,今回は無料素材を選んで並べてみます。
 まず,素材の検索ができますので,希望のジャンルを選んだうえで価格が安い順に並べるとFree表示のものがたくさん出てきます。これらは3DCGに使うにはポリゴン数が少ないものなどが多いのですが,ゲームで使うなら許容レベルのようにも思われます。まあ,Unreal Engne 3の実力からいうと役不足ではありますが。

 検索ページがありますので,適当に素材を見つけたら,ユーザー登録をして,ダウンロードします。

画像集#246のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう 画像集#247のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 変換に適した素材ですが,テクスチャファイルが複数に分かれているものは面倒ですので,いろんなテクスチャが1枚にまとまっているタイプをお勧めします。ファイル形式としては,Wavefront Obj形式が無難なようです。Blenderの標準インポータにはたくさんのファイル形式が用意されているのですが,メジャーに使われているものは,3ds,x,lwoとobjくらいだと思います。3ds MaxやMayaのネイティブ形式は読み込めません。
 ダウンロードしたデータは,圧縮ファイルを展開して保存しておきます。なお,モデリングデータと一緒に付いてくる画像ファイルがJPEGだったりしたら,BMPなどに変換しておいてください。

 では,Blenderを起動してください。
 ファイルメニューから[Import]−[Wavefront(Obj)]を選びます。

画像集#248のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 ファイル一覧画面になりますので,先ほどダウンロードしたファイルを指定します。なお,上方向へのフォルダ移動は「 .. 」(ピリオド二つ)の行を押してください。選んだら読み込みボタンを押して読み込みます。

Objデータを指定します。フォルダは各自が保存したところを指定してください
画像集#249のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

データが読み込まれました(中央に小さく表示されているのが,それ)
画像集#250のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 次に,読み込んだデータをASD形式で書き出します。まず,エクスポート用のプラグインファイルをBlenderに読み込みます。Shift+F11を押して,Blender内のテキストエディタを開きます。
 右クリックメニューから[Open]を選び,先ほどダウンロードしてきたプラグインファイルの保存場所に移動して,ファイルを読み込みます。

テキストエディタ内にスクリプトを読み込みます
画像集#251のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

各自が保存したプラグインファイルを指定してください
画像集#252のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 ファイルが読み込まれたことを確認したら,再度右クリックメニューを開き,[Execute Script]を選択します。保存場所を聞かれるので,元のデータがあった場所を指定してください。

画面内に読み込まれたら,メニューから実行を選択します
画像集#253のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 これで,データが書き出されます。変換中にエラーが発生することもあるので,まずはできるだけ単純なデータを選んでみてください。

 では,UDKに読み込んでみましょう。
 コンテンツブラウザを開き,下の「インポート」ボタンを押し,変換したデータと画像ファイル一式をまとめて指定します。

画像集#254のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 グループを適当に指定して「すべてにOK」で処理を進めると,コンテンツブラウザ内にデータが取り込まれるのが分かると思います。

画像集#255のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
 
コンテンツブラウザ内に取り込み完了
画像集#256のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 StaticMeshのサムネイルが出てないのが気になりますが,とりあえず,テクスチャからマテリアルを生成しましょう。
 
お馴染みの手順ですが
画像集#257のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像を選択したうえで,コネクタの部分からメニューを開いて指定していくこともできます
画像集#258のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

こんな感じでつないでください
画像集#259のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 マテリアルを貼り付けましょう。ダブルクリックでStaticMeshを開いて,「LODinfo」の下を掘り続けると,指定部分が出てきます。先ほど作ったマテリアルを選択しておいたうえで,緑色の「←」のボタンを押してください。

画像集#260のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 では,マップ上に置いてみましょう。

ドラッグ&ドロップで配置……
画像集#261のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

再生してみましたが……
画像集#262のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
 
 あれ? 出てきません?
 
 いろいろ調べてみるとスケールが小さすぎるようです。近づいて,よーく確認すると豆粒ほどの風車があります。このまま拡大しても使えなくはないのですが,使い勝手が非常に悪いので,あらかじめBlenderで拡大して変換しておきましょう。ものにもよるのでしょうが,かなり拡大してようやく画面に出てくる感じのものが結構ありました。

よーく,近づいてみると,確かに配置はされていました
画像集#263のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

かなり拡大してようやく形が分かる感じ
画像集#264のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 では,Blenderに戻って,拡大します。Blenderの操作方法は非常に難解ですので,とりあえず以下の手順だけ覚えてください。
 まず,(先ほどエクスポートしたままの状態であったなら)左下にあるグリッド模様のボタンを押して,3D Viewに切り換えます。次にSキーを押してサイズ変更モードに入ります。適当にマウスをドラッグすると線が伸びて図形が拡大されますので,適当なところでクリックしてください。

 ここでHomeキーを押し,全体を表示させたら,またSキーで物体を拡大します。これを繰り返してください。あまりやりすぎると表と裏がひっくり返ったような図形になりますので注意。適当なところで再度ASDに変換してみてください。テキストモードへの移動はShift+F11です。

(必要があったら)3Dモードに戻ります
画像集#265のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

Sキーを押してからドラッグで拡大
画像集#266のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
Homeキーで全体表示してさらに拡大……
画像集#267のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう
これは拡大しすぎです
画像集#268のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 もう一度UDKに取り込んで,適切な大きさになるようにしてください。

画像集#269のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 地形上にいろいろ配置してみました。

画像集#270のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#271のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

画像集#272のサムネイル/完全図解,無償配布のUnrealEngine 3開発キットで3Dゲームを作ってみよう

 なお,試してみると,うまくいかないことも多いようですので,取り込めたらラッキーくらいのつもりで,ダメならさっさと諦めて次の素材を探すのをお勧めします。

●Index
基本操作
立体に素材を貼っていく
レベル作成:もう少し作り込むためには
いろいろな物体を配置する
屋外の地形を作る
地形にマッピング:マテリアルを作る
地面に木や岩を配置しよう
空をつけよう
平行光源を回転する
SpeedTreeを使う
SpeedTreeで作った木をUDKに取り込む
もっといろんなものを置きたい:インポート処理

Botを出現させる
Botに攻撃させてみる
Botを制御してみる
複数のBotを出現させる
Botを移動させる
Third Person Viewにする
仕掛けを作る:物体を動かす
Triggerを使う
物体を移動する:アニメーションエンジンMatinee
ゲームができちゃった場合:ライセンスは?

  • 関連タイトル:

    Unreal Engine

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:12月22日〜12月23日