「多関節キャラクタの作成方法」の編集履歴(バックアップ)一覧に戻る

多関節キャラクタの作成方法 - (2011/06/13 (月) 02:51:02) のソース

<多関節キャラクタの作成方法>
 多関節タブを利用した、多関節キャラクタの作成方法。
----
・多関節とは
 複数の関節(節)が、お互いの距離を一定に保ちながら、定められた範囲の角度で、隣の関節の移動に連動して移動。
→鞭のようにしなる蛸の足のような動作を表現可能。
 多関節となるキャラクタを「多関節[[フラグ]]をon」で作成し、多関節タブで各関節部(節)の動作や表示について設定。
 各関節部(節)には、別のキャラクタを配置することで[[当たり判定]]をもたせることも可能。
 各関節部(節)のキャラクタに登録された[[スクリプト]](回転や[[拡大縮小]]、描画関係)も有効だが、位置の移動は多関節の制御が優先される。
----
・多関節キャラクタの作成方法
(メインタブ)
 多関節フラグをonにして作成し、多関節タブも設定が必要。
 [[キャラクタ編集]]の[[パターン]]番号は無視されるが、搭載されたスクリプトは有効。

(多関節タブ)
 はじめに、各関節(節)の動作方式と[[描画方式]]を指定。(全ての関節に同じ設定が適応される)
[制御方式]
①IK(インバースキネマティクス):各関節(節)の位置と角度は、先端の動きに合わせて決定。
  基部(根元)は多関節を設定したキャラクタの位置に固定され、先端部(尾)は自機(プレーヤー)の位置を追尾。
  多関節を設定したキャラクタに設定されたスクリプトは有効だが、関節(節)となるキャラクタに設定されたスクリプトは無視。
→蛸足系や触手系の敵キャラクタに向く。(先端の動きに連動して、根元の位置が決まる)
②FK(フォワードキネマティクス):各関節(節)の距離と角度は、個別に設定。(未実装)
  未実装。
→未実装。(根元から順に、より先端部の位置を決めていく)
&color(red){→0.99.40で「FK」実装}
③追尾:各関節(節)の位置は、根元の動きをトレース(追尾)するように動作。
  基部(根元)は多関節を設定したキャラクタの位置を先頭にして、次の関節(節)は一つ根元の関節(節)の位置を追尾。
  多関節を設定したキャラクタに設定されたスクリプトは有効だが、関節(節)となるキャラクタに設定されたスクリプトは無視。
  注意点)先頭の関節(節)は、プレーヤー編集の武器設定で設定したパターン番号(パターン番号0で先頭を非表示)。
      多関節を設定したキャラクタのパターン番号は無効。
      一番根元の関節部(節)のキャラクタのパターン番号が2番目で、一番尾部の関節部(節)のキャラクタのパターン番号が最後尾。
→数珠繋ぎの敵キャラクタや、追尾レーザーに向く。(根元の位置を、時間差でより先端部がトレースしていく)
④遅延:根元と先端の間を各関節(節)が補完するように動作。
  基部(根元)は多関節を設定したキャラクタの位置に固定され、先端部(尾)は自機(プレーヤー)の位置となり、自機の移動の際に各関節(節)の位置を補完。
  多関節を設定したキャラクタに設定されたスクリプトは有効だが、関節(節)となるキャラクタに設定されたスクリプトは無視。
→敵と自機を結ぶラインや、自機から伸びるアームに向く。(根元の位置と先端部の位置を、一直線に等間隔に結ぶ)
&color(red){→0.99.38で「直線」実装}
[描画方式]
 ソリッド:関節(節)のパターン番号で指定した画像をそのまま表示。(パターン番号0の時は1の画像を表示)
 スキンニング:関節(節)のパターン番号で指定した画像を関節軸の方向に歪めて表示。(根元は円形,間は楕円形,尾部は滴形に指向性をもって変形)
 注意点)スキンニングは、IKと遅延では両端から制動される(根元が固定または移動し、尾部は自機=プレーヤーに固定または追尾)ため有効だが、
     追尾では根元(=移動の先頭)からしか制動されない(根元が先頭となって移動し、尾部はより先頭を追尾のみ)ため、有効でない。

 次に、多関節の節の数だけ、節(ジョイント)を作成。
[節(ジョイント)]
 追加:新規に節を追加。 
 削除:選択した節を削除。
 注意点)複製や順序の変更は不可能。

 最後に、各関節(節)の動作[[パラメータ]]、パターン番号や[[オプション]]キャラクタを設定。
[各関節(節)間の距離]
 最小距離:一つ前の関節(節)との距離を設定。(IKのみ) 
 最大距離:(未実装)
 注意点)最大距離は未実装。
[各関節(節)の回転角度]
 最小角度:一つ前の関節(節)と成す角度の最小値を指定。(IKのみ) 
 最大角度:一つ前の関節(節)と成す角度の最大値を指定。(IKのみ) 
 1フレーム内の最大可動角度:1フレーム内で関節(節)が回転できる範囲を角度の100倍で指定。(IKのみ) 
 追尾間隔(フレーム数):関節(節)を追尾する時間をフレーム単位で指定。
[各関節(節)の表示キャラクタ]
 パターン番号:関節(節)の位置に表示する画像のパターン番号を指定。(パターン番号0の時は1の画像を表示)
       (オプションキャラクタなしでも、パターン番号は反映)
 注意点)パターン番号0の時は1の画像を表示。
&color(red){→0.99.22で「パターン番号0で非表示」実装}
 オプションキャラクタ:関節(節)の位置に配置するキャラクタを指定。(配置されたキャラクタは関節の位置に同期)
           (パターン番号よりも優先され、より上層へ表示)
----
・各関節(節)のキャラクタの作成方法
(メインタブ)
 多関節フラグはonにしないで作成し、多関節タブの設定も不要。
 キャラクタ編集で設定してあるキャラクタの種類や各種フラグは有効だが、搭載されたスクリプトは一部無効。
→回転や拡大縮小、描画関係は有効だが、位置の移動は多関節の制御が優先されるため無効。
----
・多関節キャラクタの利用方法
①自機弾として登録
 プレーヤー編集の武器設定で、多関節キャラクタを登録。
②敵弾として登録
 敵弾のキャラクタに登録するスクリプト内で、攻撃([[ショット]])パネルや攻撃([[子生成]])パネルに、多関節キャラクタを指定。
 あるいは、敵弾のキャラクタに登録するスクリプト内で、攻撃(弾幕再生)パネルに、[[弾幕編集]]で多関節キャラクタを登録した弾幕を指定。
③敵機として登録
 多関節キャラクタ自身、または[[編隊編集]]で多関節キャラクタを登録した編隊を、[[ステージ編集]]で敵配置。
----
・問題点および要望
①節(ジョイント)の「複製」や「順序の変更」を可能にして欲しい。
②複数の節(ジョイント)のパラメータで、同時にまとめて同一値を入力したい。
&color(red){③関節の制御方式の「FK」を実装して欲しい。}
&color(red){→0.99.40で「FK」実装}
④関節(節)のパラメータの「最大距離」を設定できるようにして欲しい。
⑤関節の制御方式「追尾」において、先頭の関節(節)では武器設定でのパターン番号が反映されるのが紛らわしい。
→武器設定の多関節キャラクタ(キャラクタ自身のパターン番号は無視、武器設定のパターン番号を表示)が先頭、一番根元の節が2番目、一番尾部の節が最後尾。
&color(red){⑥関節(節)の「パターン番号0」に設定しても非表示にならず、「パターン番号1」の画像が表示されるのを修正して欲しい。}
&color(red){→0.99.22で「パターン番号0で非表示」実装}
&color(red){⑦関節の制御方式「IK」や「補完」で、「関節の先端部のターゲットが自機(プレーヤー)」になっているが、任意のキャラクタを設定できるようにして欲しい。}
&color(red){→0.99.39で「IKのターゲット指定」実装}
&color(red){→関節の制御方式「補完」で両端の関節(節)の座標を指定できれば、その間を関節(節)で満たすことで、始点と終点を設定して直線の描画が可能になる。}
&color(red){→0.99.38で「直線」実装}
⑧個々の関節(節)のキャラクタ(特に関節の両端)に移動スクリプトを設定して、任意にパターン化された動作をさせたい。
→関節の根元(=多関節キャラクタの位置)以外では、移動スクリプトは無効。関節の先端は基本的に自機を追尾。
----
・参考
→[[多関節 タブ]]
----
#ref(http://www41.atwiki.jp/stgbuilder?cmd=upload&act=open&pageid=324&file=%E5%A4%9A%E9%96%A2%E7%AF%801.png)
#ref(http://www41.atwiki.jp/stgbuilder?cmd=upload&act=open&pageid=324&file=%E5%A4%9A%E9%96%A2%E7%AF%802.png)
----