マップディター使用法
まずはじめに
- マップを作成する前に、ALT+FでFogofWarを必ず解除してください。
各キーの役割
- AまたはDキー
- 選択したオブジェクト、ユニットの高さを変更
- ZまたはCキー
- 選択したオブジェクト、ユニットの向き・角度を変更(平面)
- Xキー
- 角度変更(注:回転軸が3次元)
- Sキー
- 選択したオブジェクト、ユニットの大きさを変更(通常は1)
- Ctrl+C
- コピー
- Ctrl+V
- ペースト
- Ctrl+Z
- やり直し
- SHIFT
- 押しながら選択することで複数選択できます。
マップの作成
- まずは土台となるマップをつくります。これ無しにはマルチマップもシングルマップもできません。
マップを作るにはまずF2キーを押します。これがマップ作成画面です。
- 適当にオブジェクトを配置しTextureで塗ってみましょう。
オブジェクトの配置(entity)- 家アイコン
- 一番上の家のマークはオブジェクトの配置です。色々触ってみるとわかるでしょう。
- humanやらvehicleがあるところですよね。ただ今作ってるのはマップであり、ミッションではないのでこれらはスルーしてください。(map作成画面で配置したhuman, vehicleはうまく動作しない虞あり)
地形とテクスチャ等の変更(land)- マス目アイコン
- Textureなんかちょっとややこしいですが慣れればコツがつかめるかと思います。最初は他のマップのテクスチャをインポートしながらやってみよう。(例えば市街地マップを作る時はファレーズのをインポートしてみたり)
- heights
- 地形を変更します。SHIFTキーを押しながらだと地形を滑らかに、ALTキーを押しながらだとカーソルを合わせた場所と同じ高さの地形になります。
- textures
- テクスチャを作成、変更します。TEXTUREは言ってみれば地面の塗り絵です。色々試してみましょう。
境界線設定(clip)- カメラアイコン
- マップの境界線設定です。(ユニットの進入禁止区域設定など)
ミッションの作成
- 3キーを押してミッションエディタに切り替えましょう。
- 3キー
- ミッションエディタに切り替えを行う。
天候と日時設定
- まずミッションエディタに切り替えて最初にやることはF6!天候と日時設定!これは既存のを選んでもいいし自分で参考にしながら作ってもOK。
- F6キー
- 天候と日時設定を行う。
プレイヤー設定
- ミッション作成で次にやることはF9キーのPlayerの設定です。各ミッションにおいてそれぞれの軍にはすべてPlayerというのが設定されています。(ドイツなら2連合なら1など)
- まずはplayerの欄を見てください。2つの項目playerとdiplomacyというのがあります。最初に自分が動かす軍のplayerを決めてください。(0以外。1か2推奨)
- 次にdiplomacyを決めます。diplomacyというのは各Playerに所属するユニットがお互いに対しどういう反応を示すか、ということをあらわしています。たとえばPlayer1は2に対して敵対、3に対しては友好、4に対しては中立、などです。
- F9キー
- プレイヤー設定を行う。
ユニットの設置
- 設置したユニットのPlayerを割り振るにはユニットを選択し、Playerの欄から選ぶ。この時例えば建物にユニットを配置したい、または乗り物に載せたいというときにはF1の画面を開く。テンキーの数字がそのまま動かすPlayerに対応している。(例えばPlayer2を動かしたい時にはF1画面を開いた後にテンキー2)
- F1キー
- 建物・車両へユニットを搭乗させる。
①援軍としてどっかからやってくる。
②マップにスポーンする。
①は最初からマップに置いておく。で、なんかのイベントを起こした時に”Actor to Waypoint"っていうスクリプトで移動させる。
②も最初からマップに置いておく。これは一緒なんだけど、そのマップに置いたユニットを見えなくする方法がある。マップに置いたユニットを選択してみよう。Tagっていう項目がある筈だ。そのTagにhiddenと書き込め。そうすればゲームを起動した時にそいつは見えなくなってるはずだ
- この"Tag"っていうのはスクリプトによって(ゲーム中に)リアルタイムに書き換えることができる。つまりこのhiddenタグをユニットから削除することによってそのユニットはマップ上に現れるわけだ。ユニットのタグはALT+Tで表示できる。
- Tag欄にhiddenと書き込むとゲーム中では見えなくなる。(エディタでは見えるけど)Tagは応用が利いて、例えば画像のようにunit1や2と書き込む。すると、unit1のタグを背負ったやつがある地点に来たら~、やunit2が死んだら~などのイベントの発生条件が作れる。
- あとタグはデフォで表示だった。ALT+Tは表示を消したいときに使う。
Hiddenで見えなくなったユニットを見えるようにする方法
- イベント全般の作り方から。FOWでは各スクリプトのことをTriggerって言います。F3画面のクランクみたいなアイコン。Triggersっていう欄で右クリックするとAddとか表示されるよね。これが新規のトリガーを作る画面。適当に名前をつけよう。
- 新しいトリガーを選ぶと2つのボックスがあるのがわかる。ConditionとCommandだ。Conditionっていうのはその名の通り、条件。誰かが死んだ~、誰かがどこかに行った~、誰かがなんかのアイテムをもったら~など。
- Command欄でまた右クリック。AddであたらしいCommandを作る。Select Commandとかいっていっぱい出てきたはずだ。とりあえずユニットがスポーンするコマンドを作ることにしよう。
- 一覧からentity_stateを選ぼう。するとまた一覧が・・・Propaties for "entity_state"??entity_stateっていうのは直訳すると”あるオブジェクトの状態”を示す。オブジェクトには当然人間や乗り物が含まれるわけだ。
- スポーンで大事なのはこの一覧の中のたった2つ。Selectorとinactiveである。Selectorとはそのコマンドで一体誰が対象になるのか?ということ。inactiveはhiddenで消えている状態だと考えればいい。
- 最初にinactiveをクリック。消えている状態を止めれば現れる、もちろんoffを選ぶ。Selectorだな。
- sourceとamountには触れない。大事なのは次から。mids…ユニット個々に割り振られた番号。(ユニットを選択してみるとmidsの欄がある。)具体的なユニットの番号だから沢山のユニットを選択するときは全部入力してやらなきゃいけない。(midsはちゃんと確認すること。さらに注意、一応自分で割り振ることもできるが重複できないのでエディタに割り振ってもらったのをそのまま使うのがベター)
例 midsが 1, 34, 12, 77の4体をターゲットにする場合は1 12 34 77と半角スペース入れながら昇順で入力する。
- tag…さっきも出てきたtag。SSにはhiddenのほかにunit1とunit2のタグを持ってるユニットがいる。このtag欄に例えばunit1と入力すると、hiddenが解除されるのはunit1のタグを持っているやつだけになる。(unit1 unit2と入力すれば2体、hiddenと入力すれば全員)あらかじめ一度のトリガーでhidden解除するユニットを決めている場合、いちいちmids調べるのはかなり面倒。
- Selectorでchap1のみ指定すれば、chap1全員が一度にhidden解除できる。
- zone…別の項目で設定できるマップ上のある”地点”。円又は多角形の範囲で指定できる。後で説明しよう。
- player・・・前に出たけど、各ユニットは9つあるプレーヤーという項目があったよね。player1を選んで、他zoneやmidsを選ばなければplayer1のユニット全員がコマンドの影響を受ける。
- type・・・選んでみると分かるけどユニットタイプだね。単体では使わないかな?
- state…人間であれば生きているか死んでいるか(あまり使わない。死んだユニットをターゲットにしてもなぁ・・。乗り物であれば、operatable(ぶっ壊れてないかどうか)movable(移動できるか=車輪は故障してないか、履帯は切れてないか)inhabited(人は乗っているか)など細かいターゲット設定ができる。
- 以上の6項目は組み合わせて使うこともできるし単体でも使うことが出来る。
例 plというタグをもったhumanがAという範囲に来た場合(CONDITION)、chap1というタグを持ったplayer2のユニット5人がリスポーンする(COMMAND)等。
- なんとなく感じてもらえばいいんだけど、ConditionとCommandって似てない?設定はほぼ同じなのでCommandを覚えればConditionもいけるはず。
- midsは一体一体調べなきゃいけなくてめんどい半面、ミスが起こらないのが特長(そのユニットが死んだりして画面上にいないのでない限り絶対起こる。)
- たまたま1 2 3だったりしたけど、実際ユニットが増えるとすんげー長い羅列になるから、そんときはTagを使っていこう。
Condition
- まずはTrigger一覧で選んでCondition欄で右栗→Addしよう。
+camera 意味分からん。氏ね
+entities さっきもでてきたentities。要は「あるオブジェクトがある状態になったら」ってこと
+near あるユニットに近づくこと(誰が誰に近づくか)。距離なども設定可能。
+crew あるユニットに乗ったら。(たとえば置いてあるpz6に乗り込んだら敵がやってきた~とか)
+linked 野砲なんかを繋いだら。使わないかな・・・
+see_enemy 敵を見つけたら。(これも”誰が”見つけたのかを設定できる。)
+see_actors 誰かを見つけたら。(誰が、誰を見つけたかを設定できる。)
例:森ではぐれた仲間を見つけると(condition)近づいてくる(command)など)
+arrivalわからん
+inventory あるアイテムを持ってたら(書類カバンとか)
+rand?
+signal?
+task ゲームでも出てきた目標のこと。taskが表示されている・達成されている・失敗しているから設定する。(ある地点を制圧するというタスクを達成したら(cond)敵が攻めてきた(comm)など
+difficulty 難易度(使わない)
- 90パーセントentitiesしか使いません。あとはsee系・event・trigger・taskくらいか。
ZONE
- ZONE・・F3画面から破線の円のアイコンを選択。New CircleかNew Polyを選ぶ。
- Circleは円。 New Polyは好きな図形で範囲を書ける。Radiusは半径。これで設定したzoneの名前がさっきのzone指定の欄にあらわれるようになるぞ!この円の中に入ったら、この円から出たら なども設定できる。
- Waypoint・・・旗マークを選ぶ。Groupsは特に意識しなくても良い。慣れてから触ること。Addをクリックした後、地面をクリックすると縞々のコーンがたつ。これがWaypoint。CommandにはActor_to_waypointっていう項目があり、特定のユニット(達)をWaypointに移動させることができる。
- 重要なのはこのWaypointは各々を”繋ぐこと”ができる点。これにより経路を指定できるのだ!方法は置いたWaypointを”経路の順に”SHIFTキーを押しながら選択する。
- 選び終わったらLinkボタンをクリック。矢印で経路が表示される。注意してほしいのは1-2-3-4-5という経路にしたい場合はその順で選ばなければいけないことだ。
- また1-2-3-4-5という風に繋いだからといって必ず1から通らなければいけないということでもない。Command-Actor_to_Waypointでユニットを移動させるときにWaypointの2を指定すると、2-3-4-5という経路で移動する。
Commandで使うスクリプトについて。
- 一覧で主に使うのはactor, entity, actor_state(最重要), delay, eventくらい。actorは字面を見ればどんなのか想像できるはず。entityはさっきのinactiveくらいが使えればOK
- actor_stateは動作主の状態を表す。移動速度、警戒度、武器は構えているか等。
- delayはスクリプトの間の空白の時間。たとえば敵が来る!というメッセージが出た40秒後に敵がスポーン。等
- eventはちょっと説明が難しい。使う時は2ch専用板か、BBSで訊いてほしい。言ってみればスイッチみたいなもの。あるトリガーでevent"A"のスイッチが入る。別のトリガーでevent"B"のスイッチが入る。この二つの条件でまた別のトリガーが発生、等
追記:Conditionは組み合わせることができる。しかも単に1の条件と2の条件があった時、というのだけでなく、1で”ないとき”、2で”ないとき”や1は満たして、2は満たしてない、3か4が満たされている。という複雑な条件付けもできる。
例:防衛マップなんかで、司令官が生きている・ユニットが空爆地域にいないの2つの条件が重なるときに空爆が行われる、というスクリプトを組むとしよう。司令官が生きている、は+entity-selectorでmids指定&stateのnot deadを使う。
- この条件だと”Player1がkuubaku areaにいる”ことがきっかけになってしまう。いない”ことが条件のハズ・・・・
- そんなときは背反条件を使う。下の空白が1 & !2になってるのにお気づきだろうか?!をつける事で”その反対”を条件にすることができる。
- たとえば!1にすると司令官が生きて”いない”ことを条件にできる。また1 | !2とすると司令官が生きているか、”又は”空爆エリアにplayer1がいないことが条件となる。
上記:2chFOW板転載 作者乙。
最終更新:2007年04月19日 22:41