敵ユニットに攻めさせろ(移動設定)


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

シナリオ設定 その4

味方ユニット入場
予定では敵ユニットの移動設定でしたが、その前に味方ユニットを入場させましょう。
特にストーリーは何もないのでただ突っ立ったままスタートしてしまうので、意味ありげに登場させたいと思います。

各ユニットを個別の設定で隊列を整え登場させます。まずはウォーリアから設定しましょう。
上段AddよりType:Movementを選択します。名前はWRs move inとでもしましょうか。Initially activeにチェックをいれます。そのまま中段でAdd、Linkを選びます。LinkのダーゲットはWRsなので下段でAddからWRsを選びます(最初に味方=Light Forcesの設定で作ったWRsです)。中段AddでWaypointsを選択、フィールドビューで現配置位置からの移動先をクリックで指定します。

注:画像がありました

背景の砂地っぽいところなので非常に見にくいのですがピンク色で×の字に数字"1"が書いてあります。画面上で続けて数カ所クリックしていくと×の字に数字のマークが次々に表示されていきます。クリックした順番に指定ユニットが移動していきます。
次に中段でAdd、Formation Indexを選びます。これは移動後(指定ポイント)でユニットの隊列を整えます。Formation Indexを選択すると中段の枠の下にフォーメーションのスタイルの一覧が出てきます。これを下段Addで数字のみ入力します。ゲーム上の1キーによる整列は0、2キーは1という風に指定します。もちろんユニットの向きも指定できます。中段AddでFinal Facingを選び、フィールドビュー上でクリックしたまま、マウスを動かし方向を決めます。応用では、味方の偉い人が来るのを兵士達が整列して迎えるなんてことも可能です。以上を味方の他のユニットにも設定していきます。

注:画像がありました

さて、お次は敵ユニットの移動設定です。

敵ユニットに攻めさせろ(移動設定)
まずはソラルから設定します。池には深みがあるのでソラルをそこへ移動させます。敵設定でのTHsは全てのソラルの設定なので集団別にします。まずは自分のスタート位置から向かって左側のソラルの集団からやってみましょう。上段AddでType:Movement、名前にはTHs1 moveとでもつけましょうか。Initially activeにチェックを入れます。そのまま上段でAddを押します。Type:noneで名前をTHs1とします。中段でAdd Customを押し、Monster Identifierを選択、名前はsubjにします。フィールドビュー上でTHs1の集団を選びTHs1はこのユニットです、ということを定義します。上段のTHs1 moveを選択し、中段でAddからLinkを選択します。下段では今作ったTHs1を選択します。次に中段でAdd、Waypointsを選択します。移動先を指定したら、このソラルの移動設定は終わりです。実は予めこの集団が水の中に入ったとき、ちゃんと隠れるように配置してありますのでフォーメーションの設定は不要なのです(フォーメーションを指定しなければ、配置時の位置関係を保ったまま移動します)。ちなみに集団のセンター位置を指定せずに集団を移動させる場合、フィールドビュー上で設定した移動先のポイントは集団の中心にくるようです。
同様に右側のソラルの集団も設定します。

グールにワイト肉を拾わせ移動する(〜したら次に〜するの表現)
次はグール(Ghol)にワイトの肉を拾わせ移動させるという設定に挑戦します。取りあえず一番簡単な設定をしてみましょう。向かって最左翼のグール達9匹にワイトの肉片を持たせたいのでマップにワイトの肉片を追加します。

注:画像がありました

マップアクションウインドウ上段Addから、Pick up ObjectというType項目を選びます(Initially activeにチェック)。中段にはObjectという項目ができました。これを選択し、フィールドビューでワイトの肉を選び登録していきます。次に中段AddでLinkを追加し、予め作っておいたGLs1を下段Addボタンで追加します。これでこのグール達はワイトの肉を拾う動作をします。次にこのGLs1を移動させたいのですが上段でMovementを追加しInitially activeにチェックを入れるとGLs1は拾いに行く動作が完了しないまま、移動を始めてしまいます。つまりこの状態では「〜して。〜して。」と続け様に指示を出しているので最後に発した命令に対して行動を起こしている状態ではないかと思います(こういうのは苦手なのでどういう仕組みなのかはよく分かりませんが・・・プログラムってもんは条件付き命令を与えない限りは常に1つの命令に沿って動くもんなのでしょうか?)。そこで「〜したら次に〜する」という様に1つの行動が完了したら次の行動に移るという指示を与えなければいけません。上段でPick up Objectを選択し、中段でActivates on Successという項目を追加します。今指示しているワイトの肉を拾う行動が成功したら〜する、という仕組みになります。上段に戻りMovementを追加し、対象ユニット=GLs1、移動先等を決定します。先ほどのActivates on Successには下段でGLs1のMovementを指定できるようになったので指定します。ここで、ゲームを実際にプレーしテストを行うとGLs1は開始後、ワイトの肉を拾います。が、全てのGLs1が肉を拾いきる前に移動を始めてしまいます。上の図でいうと左上の奥のグールが定義するときに1番だからこのグールを基準に肉を拾う行動の成功を判断すのでしょうか?(分かりません^^;)そこで、上段の移動設定でTrigger Timeに5〜7という数値を与えます。5〜7秒遅れて移動を開始するために、全てのGLs1が肉を拾うことができるようになりました。さらに、拾う行動の成功に対してGLs1を2グループに分けて移動させることも可能です。GLs1_1とGLs1_2というユニットのグループを定義し、移動先をそれぞれ指定します(GLs1_1とGLs1_2にそれぞれMovementを設定する)。GLs1が肉を拾う行動の成功後(Activates on Success)、下段のaddでGLs1_1の移動とGLs1_2の移動を指定すればOKです。
















ツールボックス

下から選んでください:

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