ちゅ るやさんで覚えるキャラ製作講座
第09回  ストライカーの作り方を覚えよう

この講座も9回目。
教えることも本当になくなってきました。

ということで今回はストライカーの解説です。
Varとは違った意味で難しくなるとおもいますので、
皆様がんばってください。



ストライカーを作成するのには、ヘルパーというものを使用します。
これはキャラのようなものを本体以外にも作成できる、といったものです。
キャラ本体のようにステートを使用していろいろな演出をすることができます。
ですがその分取り扱いが難しくなります。




今回の完成予想図です。

ちゅるやさんストライカー完成予想 図

ヘルパーの基礎を知ってもらうために、
そのばから動かず
①一定時間が経過する
②敵の攻撃を食らう
③敵に当たる
この3つの条件のいずれかで半透明になって消えるようなストライカー(谷口)
を作りたいとおもいます。

ということで、今回の素材です。
ちゅるやさん飛び道具素材

今回は一連の動作を3つに分けています。

ストライカーを呼び出すステート・・・ステート 1200
ストライカーのステート・・・ステート 1205
ストライカーが消滅するステート・・・ステート1206

これらを順に説明していきます。




①ストライカーを呼 び出すためのステート
ストライカー、つまりヘルパーを呼び出すためにはHelperというステートコントローラーを使用します。
[State 1200, ヘルパーの呼び出し]
type = Helper
trigger1 = time = 10
stateno = 1205;出現するヘルパーのステートです。
ID = 1205;ヘルパーのIDです
postype = p1;ヘルパーが出現する座標軸です
pos = 27,0;ヘルパーが出現する座標です。
helpertype = normal;ヘルパーの種類を設定します。
name = "taniguchi";出現させるヘルパーの名前です。
keyctrl = 0;キーの制御を受け付けるかどうかです。
ownpal = 1;パレットが本体と同期するかどうかです。

例によって説明していきます。
stateno ;呼び出すヘルパーのステートを指定します。
ID ;呼びだすヘルパーのIDを指定します。

これは見たままの意味です。
numHelper(****)でIDが****であるヘルパーの個数を
トリガーとして使用することができます。

name; 出現させるヘルパーの名前です。
このあたりは飛び道具やExplodのときにも同様のものがありましたね。

pos; ヘルパーが出現する座標です。
postype; ヘルパーが出現する座標軸です
座標軸はP1(自分)、P2(敵)、back(後ろ側の画面端)、front(前側の画面端)、
eft(画面左側)、right(画面右側) 等があります。


helpertype ;ヘルパーの種類を設定します。
normalならヘルパーとして扱われます(ですので画面外にも移動することができます)
playerならキャラと同等の存在として扱われます。
(キャラと同じで画面外には移動できませんし、CPUにもキャラとして扱われます。)

keyctrl ;State-1からのキーの入力を受け付けるかどうかです。
1なら受け付け。0なら受け付けません。

ownpal
;パレットが本体と同期するかどうかです。
これは、本体がpalfix等で本体の色が変更されたときに、
ヘルパーもその影響を受けるかどうかを指定します。
0で影響を受け、1で影響を受けません。


ということで、ヘルパーを呼び出すのには最低限これだけで十分です。
ヘルパー 呼び出しステートサ ンプル




②ストライカーが出 現するステート
引 き続いてヘルパーのステートに入ります。
とはいっても先ほども言いましたとおり、ヘルパーは、
キャラ本体と同じようにステートを使用することができます。
ですのでヘルパー独自の決まった形というのは存在しません。

ただし、ヘルパーに敵の攻撃が当たるような場合、
気をつけなければいけないことがあります。

キャラ本体の場合、敵の攻撃を受けると
ステート5000番台のいずれかに飛ばされる仕様になっています。
実はこれはヘルパーも同じなのです。
つまり、ヘルパーがダメージを受けたときの対策を何もしない状態で
攻撃をうけると
このように
分身してしまいます。
こうなるとこのヘルパーを動かすことはできません。
ただひたすら画面上にいるだけの置物になってしまいます。

これを防ぐための対策は主に2つ
竰・U撃を受けないようにする
竰燕U撃を受けたら他のステートに飛ぶよう に する
これらについて順に解説していきます。

竰・U撃を受けないようにする
これにはNotHitByというステートコントローラを使います。
これは、特定の攻撃を食らわないようにする、という時に使うステートコントローラです。
[State 1205, 攻撃をうけない]
type = NotHitBy
trigger1 = 1
value = SCA ;どの攻撃を受けないかを指定します。
                  ;Hitdefのattrとほぼ同じように指定します。
                  ;この例の場合は、すべての攻撃を受けないように指定しています。
このように設定してください。
ちなみにあたり判定がないヘルパーには必要ありません。
あと、このステートはキャラ本体にも使用することができます。
でも、今回の講座ではこっちは使用しません。


竰燕U撃を受けたら他のステートに飛ぶよう に する
これにはHitOverrideというステートコントローラを使用します。
[State 1205,攻撃を受けたときの処理]
type = HitOverride
trigger1 = Time = 0
attr = SCA, NT, ST, HT, NA, SA, HA,NP,SP,HP;どの攻撃を受けないかを指定します。
                                                              ;Hitdefのattrとほぼ同じように指定します。  
                                                              ;この例の場合は、すべての攻撃を受けないように指定しています。
                                                               ;SCA,AT,AA,AP と書いても同じ意味です。
stateno = 1206;移動するステートを指定します。
time = -1;有効時間を指定します。

このように指定してください。
このステートもあたり判定がないヘルパーには必要なく、
キャラ本体にも使用することができます。
今回の講座では、こちらを使用してダメージを受けても、
ヘルパーが消えるステートに飛ぶようにしています。



③ストライカーが消 滅するステート
3,ヘルパーが消えるステート
最後にヘルパーを消すためのステートです。
実は2とまとめてもよかったのですが、
消えるときに半透明にしたかったたので
あえて分割しました。

ヘルパーを消すためには
Destroyselfというステートコントローラを使用します。
使い方は
[State 1206, ヘルパー消滅]
type = DestroySelf
trigger1 = Animtime =0

このようにヘルパーを消したい条件を記入するだけです。
実は画面上に一度に出すことのできるヘルパーの数は決まっています。
ですので、いらなくなったヘルパーはできるだけすぐ消すようにしましょう。

以上、CNS部分の説明は終わりです。
今回の技のステートはこんな感じにな ります。

次にCMDですが、これも普通の技とほぼ変わりありません。
[State -1, 谷口]
type = ChangeState
value = 1200
triggerall = command = "b"
triggerall = command != "holddown"
triggerall =Numhelper(1205)=0
trigger1 = statetype = S
trigger1 = ctrl
ヘルパーの数を制御したいときはNumHelperをトリ ガーにしてください。
今回の場合は谷口を一人しか出せないようにしてあります。


以上で9回目の講座を終わります。
ヘルパーを覚えることで製作することができるキャラの幅は何倍にも増えます。
ですうので、わからないことがあったらこの章を何回も読み直すなり、
他の資料にあたったりしてみてください。


これで基本的なことはすべて解説しました。
次の章では最終問題を1つ用意してあります。
腕試しに挑戦してみてください。

また、この章にも問題があります。
今回のは是非とも解いていってください。
では、次の講座でまたお会いしましょう。




問 題1
問題1素材
せっかくのストライカーが谷口だけでは少々寂しい感じがします。
そこで
c ボタンを押すと、
この動画のように

ちゅ るやさんの背後からかがぶーが突進するようにしなさい。
条件:

ストライカーを呼び出 すステート・・・ステート 1210
ストライカーのステート・・・ステート 1215
ストライカーが消滅するステート・・・ス テート1216
としてください。
筐 脀 かがぶーが画面中に一人だけしかだせません
③ かがぶーが画面端を超えたら消えるようにしてください。
画 面端を超えたかどうかを判定するトリガーは
FrontEdgeDist
で す。
④ その他の条件は谷口といっしょです。
答え




問 題2
もうお気づきの方がいるかとは思いますが、
ヘルパーに関して1つ黙っていたことがあります。
実は飛び道具もヘルパーで作成 することができるのです。
実は手慣れた製作者はわりとヘルパーで飛び道具を作成しています。
これはなぜかといいますと、

①ヘルパーはステートコントローラーが使用できるので
いろんな効果や軌道の修正(ホーミング等)を行うことができる。

②mugen本体に
 に色が変更される効果が付与された攻撃が当たると
キャラ本体まで色が変わってしまうというバグがあります。

特に②を避けるためにヘルパーで飛び道具を作る人が多いです。
そこで

前 回(第08回)で作成した飛び道具をヘルパーで作り直しなさい。

答 え




参 考文献

ク リエイターズJAPAN2の緑茶氏によるステートコントローラー解説
http://cjmk2.hp.infoseek.co.jp/ryoku/index.html

月の住処,クリエイタールーム
http://tukiken.hp.infoseek.co.jp/muge/cr/creater.html

地球の応接間 ムゲンの業 第三回:ホーミング・自動追尾技
http://www.purple.dti.ne.jp/earth/mugen/tecnic/jidou.htm

ちょっとこ丸氏製作教材カンフーマン