ACB使用例
自動フレア
IRミサイル対策となるフレアミサイルの自動射出設定です
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
1個目 | Hostile Missile closer than [input] meters | 500 | Weapon Systems | Fire weapons | なし |
Affect range | 2 |
- 解説
- AIが敵ミサイルを500m以内に探知した場合、ACBの隣にある武器で攻撃します。
- フレアの場合、使用する武器はミサイルなので、ミサイルコントローラーの隣にこの設定を施したACBを設置することで稼動します。
- ACBの設定画面にあるTestボタンを押し、きちんと稼動するか確かめましょう。
- 最も重要な点として、AIにMunition warner(飛来物検知器)が接続されていなければ一切稼動しません
- 敵のミサイルが見えており、AIにMunition warnerを接続していても稼動しない場合、Munition warnerの探知範囲外だと思われます。
- また、Munition warnerは回転(機体の旋回運動なども含まれる)によって探知性能が低下します。同じ方向を複数のMunition warnerが向いているようにすれば補えますが、「どんな時でも100%探知できる」という期待はしない方が良いでしょう。
- この設定がよくわからない場合、6面全てにMunition warnerを設置したAIメインフレームを別に設置することで解決できます。
自動ホバリング設定
ヘリコプター型の機体を高度100前後でホバリングさせるために
必要なACBによるスピンブロックの自動制御のための設定です。
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
1個目 | Activate when altitude less than [input] | 95 | Spin Blocks | Set rotation speed to [affect var] | 30 |
2個目 | Activate when altitude greater than [input] | 105 | Spin Blocks | Set rotation speed to [affect var] | 10 |
- 解説
- 高度95未満では1個目のACBの設定によりスピンブロックを最大速度でまわすことで高度を上げます。
- しかし、高度105を超えたところで2個目のACBに主導権が移り、スピンブロックを最大速度の1/3の速度でまわすようになり高度が落ちます。
- その後、高度が95未満まで落ちたところで1個目のACBに主導権が戻り、スピンブロックの回転速度が最大に戻ることで高度が上がります。
- よって、高度100前後でホバリングをするようになります。
- ホバリング飛行するために必要なスピンブロックの回転速度は機体によって様々なので、より適切な数値を求めていじるといいでしょう。
- ACBによる回転速度の設定はスピンブロックでもヘリブレードでも共通でAffectsはSpin Blocksを使用します。範囲設定に注意しましょう。
- Dedicated heliblade spinnerを用いる場合はalways up functionを大きく設定することであっちこっちに移動することを防げます。
- Activate when altitude less than [input]のinputの数値はビークルが上昇を開始する高度を表し、Activate when altitude greater than [input]のinputの数値はビークルが下降を開始する高度を表します。従って、これらの数値の差を大きくすることで上下に大きく動いて回避したり、逆に差を小さくして一定の高度を保つようにできます。
- Set rotation speed to [affect var]で設定した数値はどれだけ強力に高度を変えようとするかを表します。細かい調整が面倒なら30と-30にしておけば、上下に強く振動しますが、高度を保ってくれます。
- height above sea/ground less(greater) then やheight above Terrain less(greater) thanでも高度をとってくれます。地形との接触が気になる場合は試してみるとよいでしょう。Terrainの設定はむしろ潜水艦で使うことになるかもしれません。
回転アンテナ
スポーン後に回転し続けるアンテナのための設定です。
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
1個目 | Activate on spawning | なし | Spin Blocks | Set rotation speed to [affect var] | 5 |
- 解説
- Spawn時(生成時)に有効になるACBを使い、スピンブロックを速度5でまわしています。
- 一度ACBで設定したスピンブロック等は、他のACBや入力装置で設定が上書きされない限り稼動し続けます。
- 何らかのコントローラーで別のスピンブロックを動かす際に同時に動いてしまって設定が消えてしまう場合、
- Activate Every [input] Secondを使用しましょう。
後退翼
航空機で採用されていた後退翼の設定です。スピンブロックで蓋の開閉や角度をつける際にも使用します。
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
1個目 | Activate on spawning | なし | Spin Blocks | Rotate to [affect var] degrees | 10 |
- 解説
- Spawn時(生成時)に有効になるACBを使い、スピンブロックを角度10に設定しています。
- 一度角度を入力したスピンブロックは、他のACBや入力装置で設定が上書きされない限りその角度を保とうとします。
- 何らかのコントローラーで別のスピンブロックを動かす際に同時に動いてしまう場合、Activate Every [input] Secondを使用しましょう。
- ACBで何度も同じ角度を入力しても角度が変わることはありません。
推力偏向ジェットエンジン
スピンブロックに取り付けたジェットエンジンを動かし、推力偏向させることで高い機動力を得るための設定です。
イカした呼び方をするならベクターノズル!
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
1個目 | Activated when control recieved to nose down | なし | Spin Blocks | Rotate to [affect var] degrees | -5.0 |
2個目 | Activated when control received to nose up | なし | Spin Blocks | Rotate to [affect var] degrees | 5.0 |
3個目 | Activate Every [input] Second | 0.5 | Spin Blocks | Rotate to [affect var] degrees | 0.0 |
- 解説
- 二次元推力偏向のみ対応しています。
- スピンブロックは機体に対し垂直に回転し、0度で機体後方、90度で機体の上面にジェットエンジンが向く設定を前提としています。
- ビークルコントローラーで操作できるほか、AIに操作させる場合でもLUAは不要です。
- 1.ACBの1個目と2個目で上下の推力偏向を行います。
(角度は好みで設定してください)
(10度以下が安定稼動できる目安です)
- 2.ACBの3個目で動いてしまったエンジンをこまめに水平に戻し、機動力で機体が振り回されすぎないようにします。
※inputにロール設定を用い、左右1対とすることでロール制御も推力偏向のみで可能になります。
※スピンブロックを左右に振れる様に設置し、ACBをヨーで制御出来るようにすることでヨー方向への推力偏向が可能になります。
プロペラ推進
Spin BlockにHelicopter bladeを取り付けたものや、Dedicated heliblade spinnerを使って、プロペラを推進力にする設定です。
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
単純方式 | Activate on spawning | - | Spin Blocks | Insta spin the spin block | - |
この方式では、ビークルがスポーンした瞬間から、全力でプロペラを回転させます。
AIによらずに制御しているので、AIを停止させてもプロペラは停止しないという特徴があります。
Dedicated heliblade spinnerも、ACBのSpin Blocksで制御します。
この方式は、ビークルに他のSpin BlocksがあるとACBの範囲設定が煩雑になるという欠点があります。
なお、この例では、前向きにプロペラを付ける(トラクター式)ことを想定していますので、後ろ向きにプロペラを付ける(プッシャー式)ときは、使用するAffectを「Insta spin reverse the spin block」にして下さい。
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
Complex Controller方式 | Activated when control received to go forward | - | Control | Complex Control Key (1 = A). Use TGYHUJIKOL | TGYHUJIKOLの中から、任意の文字 |
この方式は、別途Spin BlockまたはDedicated heliblade spinnerのUI(Qキーで出る画面)で設定を行う必要があります。
まず、開いたUIの右側にT、G、Y、H、U、J、I、K、O、Lといった文字が並んでいますので、ACBで指定した任意の文字をクリックして、緑色にして下さい。
次に、左側にあるボタンからInstant Spinを選択して下さい。
この設定により、Complex Controllerの前にプレイヤーがいるとき指定したキーを入力すると、設定済みのプロペラをInstant Spinで回転させることができます。
そして、ACBで「when control received to go forward」を指定していると、AIが前に進もうとする時に、プレイヤー同様にキー入力をしてくれるので、間接的にプロペラを操作してくれます。AIだけにプロペラを制御させる場合、Complex Controllerは設置する必要はありません。
この方式は、AIにプロペラを操作してもらうので、AIを停止するとプロペラも停止します。
ACB OR回路
ACBとスピンブロックをを使ってOR回路を作る際の設定です
例として水深50mを潜航中の潜水艦が、海底との距離50m以下もしくは敵の高度が20m以上の場合にPIDを操作して浮上する潜水艦の回路を考えてみました
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
1個目 | Activate if object infront~~within [input] Meter | 1.0 | General purpose PID | Set set point of all G.P PIDS | 0 |
2個目 | Any target above [input]m altitude | 20 | Spin Blocks | Rotate to [affect var] degrees | 90 |
3個目 | ...height above Terrain less than [input] | 50 | Spin Blocks | Rotate to [affect var] degrees | -90 |
- 解説
- 下記画像のようにACB、スピンブロックを配置することで動作します
- どちらか一方のスピンブロックが回転し1個目のACBの背面にメタルブロックが来ると作動、浮上を開始します
- スピンブロックを回転させる2個目、3個目のACBの有効範囲設定をお忘れなく
ACB AND回路
ACBとスピンブロックを使ってAND回路を作る際の設定です
例として浮上中の潜水艦が、海底との距離100m以上かつ敵の高度が20m以下の場合にPIDを操作して潜航する潜水艦の回路を考えてみました
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
1個目 | Activate if NO object infront~~within [input] Meter | 1.0 | General purpose PID | Set set point of all G.P PIDS | -50 |
2個目 | Any target below [input]m altitude | 20 | Spin Blocks | Rotate to [affect var] degrees | -90 |
3個目 | ...height above Terrain greater than [input] | 100 | Spin Blocks | Rotate to [affect var] degrees | 90 |
- 解説
- 下記画像のようにACB、スピンブロックを配置することで動作します
*各スピンブロックに1個のメタルブロックが取り付けられています。画像では重なっているだけですので注意 - 2つのスピンブロックが回転し1個目のACBの背面からブロックがなくなると動作、潜航を開始します
- スピンブロックを回転させる2個目、3個目のACBの有効範囲設定をお忘れなく
ACB AND反転回路
上記のAND回路は全て条件を満たしたときに「一番のACBの背面一定距離内にブロックが無い状態」になるのですが、リペアテンタクルでこの回路を含むビークルを建造する場合、「サブオブジェクトはメインオブジェクトより後に建造される」というルールによって、一時的に無条件で一番のACBの動作条件が満たされてしまいます。
特にEternalなどの相互建造能力を持つビークルの建造条件をこのAND回路で高等制御しようとすると、この仕様上の穴に嵌って相方が完成して切り離される前にACBが誤作動して相方が更に相方の建造を始め、ビークルがこんがらがってしまいます。
ACBはメインオブジェクト限定な上に現状どのブロックから作り始めるというのは設定可能ですがどのブロックを最後に建造するのかは設定できず、かといってただ条件を反転させただけではAND回路が機能しません。
ではどうするか?
一番のACBで動かすのを更に別のスピンブロックにして条件を反転させ、「ACBの背面一定距離内にブロックが有る状態」をトリガーにする四番目となるACBに連絡するしかありません。
ちょっと回路が大型化しますが、高等回路を組むうえでは必要となる機会が多いです。
但し、これだけではクッションが一つ挟まるだけで誤作動は止められません。
正しく動作させるには下記の初期化用二重化回路も組み込む必要があります。
ACB AND(OR)初期化用二重化回路
ACBはマインクラフトのレッドストーン回路とは違って「条件を満たさなくなったら元に戻す」という処理を単独ではできません。
AND回路やOR回路で「条件を満たさなくなったら処理を停止する」回路が必要な場合、条件が満たされなくなったときに回路を初期状態に戻すためのACBが別途必要になります。
上記の反転回路同様、この初期化用回路を入れておかないと複雑な回路では何かの弾みで誤作動を引き起こしかねません。
方法としてはスピンブロックを動かすACBのすぐそばにそのスピンブロックを初期状態に戻すためのカウンターACBを設置し、そのACBの動作条件を対となるACBの動作条件の逆になるように設定することです。
上記の反転回路を含む回路を二重化する場合は反転処理用のACBの動作条件となるオブジェクトとなる「スピンブロックで動くブロック」を二段積して反転処理用ACBの上に「ACBの背面一定距離内にブロックが有る状態」をトリガーに、「反転処理用のスピンブロックを初期状態に戻す」処理を実行させればいいです。
なお、条件を満たした場合に動作するACBに5程度ディレイをかけて、満たさない場合に回路を初期化するカウンターACBのディレイを0にしておけば、万一条件を満たしたと誤検知しても、カウンターACBがスピンブロックをロックしてくれるので誤作動の危険性が減ります。
ややこしくなりますね。
でもこのギミックを使いこなせればより複雑な場合分け処理が出来るようになります。
残念ながら大型化は避けられないので被弾によって回路が損傷してしまう危険性が増します。
こればかりはどうしようもないので装甲で守るなどしましょう。
ACB AND,OR混合回路
上記二つの回路は組み合わせることが可能です。
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
1個目 | Activate if object infront~~within [input] Meter | 1.0 | General purpose PID | Set set point of all G.P PIDS | 0 |
4個目 | Activate if NO object infront~~within [input] Meter | 1.0 | General purpose PID | Set set point of all G.P PIDS | -50 |
2個目 | Any target above [input]m altitude | 20 | Spin Blocks | Rotate to [affect var] degrees | 90 |
5個目 | Any target below [input]m altitude | 20 | Spin Blocks | Rotate to [affect var] degrees | -90 |
3個目 | ...height above Terrain less than [input] | 50 | Spin Blocks | Rotate to [affect var] degrees | -90 |
6個目 | ...height above Terrain greater than [input] | 100 | Spin Blocks | Rotate to [affect var] degrees | 90 |
- 解説
- 潜水艦の例で組み合わせた場合、
海底との距離100m以上かつ敵の高度が20m以下の場合にPIDを操作して潜航
海底との距離50m以下もしくは敵の高度が20m以上の場合にPIDを操作して浮上 - 実用的な回路が出来上がりますね♪
非戦闘時Off設定シールド(単一設定のビークルのみ対象)
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
1個目 | ..when enemy range > [input] or no enemies | 5000 | Shield Projectors | Turn shields off | なし |
2個目 | Activate if enemy range < [input] | 5000 | Shield Projectors | Turn shields to (reflect) | なし |
レーザーアブソーブ、ディスラプト設定を行っていない艦であればこれを全体に適用するだけで接敵時にシールド起動、敵が壊滅した際にシールドがOFFに出来る設定。
(勿論レーザーアブソーブだけ、にするのであれば可能)
複数種類のシールド設定が混在する場合、一つ一つに対応する起動用ACBを用意する必要があるが一応可能。
(停止させるだけならそれ用のACBは一つでよい)
AIの索敵機能に依存している為全ての索敵機能が失われるとシールドがOffになる為注意されたし
ついでに5000m以上離れている場合シールドがOnにならないのでこれも一応注意。
ACB | 使用するinput | inputの設定 | 使用するAffected | 使用するAffect | Affectの設定 |
---|---|---|---|---|---|
1個目 | 項目 | 項目 | 項目 | 項目 | 項目 |
コメント
- このページを訪れた初心者の方々がすぐ見つけられるように、フレア発射装置をトップに移動しました。 -- 2016-11-15 (火) 23:39:40
- シールド自動展開が5km以上だとonにならない件ですが、「Activate if enemy range > [input]」にしてinput設定を0mにすれば解決できたと思います。 -- FR? 2017-05-03 (水) 01:28:30
- エアポンプや下向きスクリューによる姿勢制御などの設定例が欲しいです -- 2017-09-18 (月) 13:44:02