<同封サンプル>
①多関節キャラサンプル
②物理演算サンプル
①多関節キャラサンプル
キャラクタ単体デバッグでタイプ親A~Dを実行してください。
角度は+方向が時計回り
パターン番号0は表示オフ
Forward Kinematicsの略で、関節の根っこから角度と長さを指定して姿勢を制御します。
機械的な動きは作りやすいですが、複雑な動きを付けようと思うと制御パネルの数が増大してしまいます。
Inverse Kinematicsの略で、関節の先っちょを動かして全体の姿勢を制御します。
狙った姿勢を取らせにくいのが欠点です。
プレイヤーを追尾するタイプです。
関節用のキャラ(パターン番号6,7,8)は中心位置をキャラの中央ではなく、やや外側にすることで見た目とのずれを小さくしています。
砲台が乗る最後の節はパターン番号を0にして非表示にしています。
IKのポイントは最小角度と最大角度の設定です。
一つ前の節からの相対角度を設定するのですが、±179度までの範囲で設定してください。
また、最小角度<最大角度になるようにしてください。
最小角度がFK用の角度設定になっています。
スクリプトで各節の角度を動かしています。
節が破壊できるようになっています。
ベースとなる子には破壊後のパターンを設定しておき、オプションキャラクタとして破壊可能パーツを乗せています。
多関節用の子キャラから制御用の孫キャラを射出し、追尾するように設定しています。
孫キャラは、親からの信号でパス移動するようになっています。
「タイプC子右手制御」キャラのパターン番号を1とかにすると動きが視認できます。
FKは親の回転量を子に伝達することができます。
一番根っこになる節で伝達係数、収束係数を設定し、全ての節が影響を受けるようにしています。
伝達係数を大きくすると、親の影響を強く受けます。
収束係数を大きくすると、親が停止しても子が停止するまでの時間が長くなります。
スクリプトで自前で節を回転させるときにもこの係数を利用することができます。
②物理演算サンプル
Physics.sbdをシューティングゲームビルダーver0.99.60以降で開き、通しデバッグで実行してください。
方向キーで移動
AボタンかZキーでショット
仕様や設定方法はヘルプを見てください。
0.ゲーム設定
物理演算タブで「物理演算を使用する」にチェックを入れます。
重力は全体にかかります。
1.自機
種類をkinematicにして、他のキャラから影響を受けなくしています。
2.自機ショット
Gravityを0にして重力の影響を受けなくしています
攻撃ヒット後、すぐ消滅させると物理演算の判定ができない可能性があるので、攻撃フラグを落とし、1フレームウエイト後に消滅させています。
表示を消しているのは、物理演算により1フレームだけ角度が変化した絵が表示されることがあるのを防ぐためです。
3.自機ミサイル
上向きのミサイルはGravityを負にして上向きに重力がかかるようにしています
4.自機オプション
プレイヤーオプションは物理演算できないため、自機から子を生成して自前制御しています。
5.敵キャラ
横スクロールSTGの場合、キャラが背景に同期して動くため、前向きの力が発生します。
このため、回転しかしていないキャラが勝手に手前に滑ってくるように見えます。
6.地面,地面回転
このように、背景の一部として固定されているものは種類をstaticにします。
回転や移動をしていてもstaticでok。
7.パネル
ゲーム設定の計算制度の数値を上げると勝手に倒れなくなります。
- 物理エンジンによる当たり判定と、通常の攻撃防御判定の関係
まったく別のシステムとして動作します。
同じサイズの当たり判定を用意しても、片方のみヒットすることはあります。
自機ショットのような処理をいれることで回避できるかもしれません。
最終更新:2012年08月07日 11:03