はじめてのマップ作成

「はじめてのマップ作成」の編集履歴(バックアップ)一覧に戻る
はじめてのマップ作成」を以下のとおり復元します。
The Valve Developer Communityのチュートリアル(英語)
http://developer.valvesoftware.com/wiki/Swarm_Mapping_basics

Alien Swarm SDK -SIMPLE MAP - tutorial part 1(英語)
※微妙に古い動画なため、外側の箱にstructure_sealと名付けないで進めてしまっているので注意。
http://www.youtube.com/watch?v=iYycbPWa9do

Hammerのインストールが済んでいるとして話を進めます。
AlienSwarm -SDKを起動し、Hammer World Editorを立ち上げてください。
メニューバーのFile→Newを選択して空のマップを作成し、下のような画面になったことを確認してください。


#ref(tutorial.jpg)


中央の4つの画面のうち、グリッドで区切られているものが三次元空間を各方向から見た設計図、区切られていないものはカメラを通して見た映像です。

#ref(tutorial1-1.jpg)

各画面の左上にマウスカーソルを合わせると、top(x-y) side (x-z) front(y-z) cameraと表示されます。
これが、その画面が3次元空間をどの方向から見ているかを表しています。

top,side,front画面を選択中に、スペースバーを押しながら画面をドラッグすると水平移動、マウスホイールで拡大縮小ができます。


cameraはその名の通りカメラです。FPS画面でマップ内を見回ることができます。

カメラ画面を選択した状態で、WASDキーを押すとFPSでありがちな水平移動、
スペースバーを押しつつドラッグをするとマウスルックで辺りを見渡すことが可能です。





ここから先は文字では分かりにくいと思いますので、このページの最初で挙げた動画も併せてご覧ください。
手始めに、マップ内に直方体を作ります。左のBlock tool(白い箱の画像)をクリックしてください。

#ref(tutorial2.jpg)

左上にtop(x-y)と表示される画面の適当な場所をクリックし、適当な場所にドラッグします。
すると白い破線が現れます。この破線が、作ろうとしている直方体の場所を指定しています。

#ref(tutorial3.jpg)

topから四角形の形を指定しただけでは直方体にはならないので、sideかfrontの画面から高さを指定する必要があります。
sideかfrontの画面から破線の長方形を探してください。

そして、四角形の底辺中央の下にある白い四角をドラッグし、下方向へ伸ばし好きな形にしてください。

#ref(tutorial4-1) &ref(tutorial4-2)

これで直方体の形は決定しましたが、生成する前に直方体に貼り付ける画像(テクスチャー)を指定します。
右のメニューに正方形の画像が表示されていると思います。

画像5

画像の隣にあるBrows...と書かれているボタンをクリックします。
するとテクスチャー一覧が表示されるので、適当な画像をクリックします。
ただし、物体ではない特殊なテクスチャーを選ぶと正しく動作しないので注意してください。

画像6

テクスチャーを選択したら、Enterキーを押すか破線の四角形の上で右クリックしてメニューからCreate Objectで直方体を生成します。

画像6-1-1




次に、エンティティ(実体)を設置します。マップ作成に馴れて居ない人はエンティティと言われてもイメージがつかみにくいと思うので、大雑把に説明すると
マップの形を構成する地面や壊れない建物(ワールド)以外で、マップ内に存在するものは全てエンティティです。

エンティティを生成するには、左のメニューの中でEntity tool(チェスのポーンのような画像)をクリックします。

画像7

右のメニューのCategoriesとラベルの貼られたドロップダウンメニューの中がEntitiesになっていることを確認して、
Objectsの中がinfo_player_startになっていることを確認します。

画像8

info_player_startというのがこれから生成するエンティティの名前で、マップ開始時にプレイヤーが出現する場所を指定するエンティティです。
これを先ほど作成した直方体の上に生成し、ゲーム開始時に直方体の上にプレイヤーが現れるように設定します。

グリッドのある画面上をクリックすると座標を指定する緑色の十字が現れるので、先ほどと同じ要領で座標を指定して生成してもいいのですが、
カメラ画面を使うともっと楽にエンティティを生成することができます。

画像9



以上の操作で先ほど作成した直方体を上から見下ろしてください。

この時、ワイヤーフレームモードで表示されている場合、カメラ画面左上のcameraをクリックしてメニューを開き、
3D Texturedを選択するとテクスチャ付きの3D画面を見ることができます。

そして、適当なポイントをクリックして人型の物体(遠目からだと直方体)が生成されれば成功です。

画像10


さて、マップ完成のようの思えますが、これでは動作しません。
このままではプレイヤーが直方体から落ちると永遠に落下し続けることになります。
また、空に向けて銃を撃ったとして着弾する場所がありません。

ソースエンジンでは、このようにマップ内が空間に囲まれていないものをコンパイルしようとするとMap Leakエラーが出てコンパイルできません。
それは、見下ろし視点のAlienSwarmでも同じです。

この問題を解決するために、AlienSwarmのマップを作る時は、マップ全体をstructure_sealと名付けられたfunc_brushエンティティで囲うようにと決められています。

エンティティには、それ自体が位置情報を持つエンティティと、直方体(ブラシ)をエンティティにするものがあります。
info_player_startが前者で、このfunc_bruthが後者です。

この作業を行うために、まず先ほど作成した直方体と、info_player_startを囲う大きな直方体を作成します。
テクスチャーはtoolsnolightというものを使います。
Browse...をクリックしテクスチャを選択するウィンドウが表示されたら、ウィンドウ下部にあるFilter:と書かれたドロップダウンメニューに
tools/toolsnolightと入力すると探しやすいです。

画像11

大きな直方体を生成すると小さな直方体とinfo_player_startが直方体の中にめり込んだ形になっています。
これでは正常に動作しないので、Selection toolで大きな直方体を選択し、右クリックメニューから「Make Hollow」を選択し、OKボタンを押します。
Make Hollowとは、選択した直方体の中身をくりぬくツールです。

画像12

これで、Map Leakエラーが起こる心配は無くなりました。ここから先はAlienSwarm特有のおまじないです。
作成した外枠をSelection Toolで選択してから、右クリックメニューからTie to Entityを実行します。

画像13

すると、プロパティウィンドウ(エンティティの情報を設定するウィンドウ)が表示されます。

画像14

classと書かれているドロップダウンメニューの中からfunc_brushを選択し、右下の適用ボタンをクリックします。
これで、外枠はfunc_brushというエンティティになりました。

次にstructure_sealという名前をつけてやります。
プロパティの一覧の中に「Name」というものがあるはずです。それをクリックし、右のドロップダウンメニューにstructure_sealと入力すれば完了です。

画像15

最後にマップのソースファイルをコンパイルしてテストプレイします。
メニューのFileからRun Mapを選びます。特に項目は変更せずにOKを押せば自動的にコンパイル、AlienSwarmの起動まで処理をしてくれます。

画像16

これで完成です。お疲れ様でした。
後は色々なHammerの機能を使ってみたり、Entityを設置してプロパティを設定して遊んでみてください。




間違ったテクスチャーを張ってしまった場合、左メニューのSelection tool(矢印の画像)を選択してください。

画像6-1

カメラ画面からテクスチャーを張り替えたい直方体をクリックして選択します。
(下でせつめい

画像6-2-1

次に、貼り付け直したい画像を右のBrows...を押し、先ほどの要領で選択し
左メニューのApply current texture(茶色の箱の画像)をクリックして適用します。

画像6-2

復元してよろしいですか?

ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。