001 はじめに
002 ゲーム作成
003 各種メニュー確認
004 「キャラクター」作成
005 「ステージ」作成
006 「デモ」作成
007 「テストプレー」
008 「ステージ」編集
009 「キャラクター」編集
010 パレット管理
011 アニメーション
012 「座標移動」
013 重力の設定
014 その他スクリプト
015 「リアクション」
016 ヒットエフェクト
017 スクリプトの並べ方
018 攻撃動作
019 「コマンド入力」
020 攻撃判定
021 やられ判定
022 やられ動作の設定
023 「タイトル画面」作成
024 タイトルカーソルの表示
025 「キャラクターセレクト」
026 各種インターフェイス
027 ラウンド関連の表示
028 CPUの動作指定
029 「ストーリー」の作成
030 ヒット数の表示
031 投げ技の作成
032 ゲージ消費技の作成
033 ステージの組み方
034 デモシーンの組み方
035 格闘ツクールの仕様
■ コマンド解説
001 画像呼出
002 座標移動
003 防御枠
004 攻撃枠
005 リアクション
006 サウンド
007 キャンセル条件
008 色変更
009 オブジェクト発生
010 変数による分岐
011 条件分岐:技中有効
012 条件分岐:基本分岐
013 条件分岐:ランダム分岐
014 条件分岐:コマンド入力
015 スクリプト移動: 移動
016 スクリプト移動: 呼出
017 スクリプト移動: ループ
018 座標・画像変更
019 スクリプト変更
020 スペシャルゲージチェック分岐
021 ライフゲージチェック分岐
022 ゲージ変更
023 パレットアニメ・揺らし
024 停止
025 残像
026 終了
■ テクニック解説
002 画面レイアウト
003 カラーセレクトの設定
004 ヒットエフェクトの研究
005 ヒットエフェクトの描き方
006 スクリプト一覧のテキスト化
007 通常立ちの設定
008 VSで開始位置指定
009 雛型キャラの作成
010 INIファイルの内容
011 変数の大小チェック
012 当て身投げの作り方
013 必殺技コマンドの設定
014 アニメ作成_通常攻撃
015 ゲームモードによる分岐
016 変数の一覧を記録
017 受け身入力の判定
018 ダウン値による分岐処理
019 飛び道具の作成
020 ワープ技の作成
021 ヒット硬直のコントロール
022 ステージの地面表現
023 ヒット数表示の固定
024 横方向のホーミング攻撃
025 1P/2Pの判別
026 ライフ減少アニメ
027 画面下部の表示内容
028 ステータス表示の意味
029 ガードクラッシュの表現
030 押せないOBJ
031 アイテムのあるゲーム
032 復活する技の作成
033 空ガードの作成
034 ステージ選択付きキャラセレ
035 ゲージMAXの表示
036 固定ダメージを表現する
037 ラン動作の作成
038 投げ技によるKOの作成
039 ボタン溜め押し技の作成
040 中段攻撃の作り方
041 製作に役立つツール
042 カラーセレクトに適した画像
043 相手によって動作変更
044 横幅のあるキャラを表現
045 ラウンド限定の動作
046 影色の塗りを効率化
047 モードを切り替えるキャラ
048 当たり判定設定のコツ
049 空中ジャンプを表現する
050 キャラの向きを判別する
051 途中でKOしない乱舞技
052 カウンターヒットの作成
053 OBJの動作を停止
054 ハイジャンプの作成
■ バグ・よくあるミス
Q_A よくあるミスQ&A
001 消せない画像
002 リスト選択とキーボード操作
003 アニメプレビューで落ちる
004 起動直後に落ちる
005 OBJ発生位置がずれる
006 着地すると技終了
007 画面端でのヒットバック1
008 グラデーションが汚い
009 画面端でのヒットバック2
010 境界のアンチエイリアス問題
011 ガードされてもキャンセル可能
012 プレーヤーの読込に失敗
013 謎の残像が発生する
014 コマンドが左右反転する
015 パレット管理でよくあるミス
016 下溜め技が失敗する
017 パレットウィンドウで落ちる
018 コンボが途切れない
019 やられ中にしゃがみ可能
020 ソフトのバージョン表記
021 空中でコマンド左右反転2
022 左右押しでガード前進
023 真空投げが発生する
024 空中でコマンド左右反転3
■ テスト時のチェック項目
■ 解説用データ ダウンロード
044
横幅のあるキャラを表現
格闘ゲームには(人外も含めて)老若男女様々なキャラクターがいて、
それぞれ異なる体格と間合いを持っています。
数ある体格の中でも横幅の大きいキャラを2D格闘ツクール上で
作成する場合は少し注意する必要があります。
今回は2D格闘ツクール上で横幅のあるキャラを表現する方法について、
具体的な例を通してそのコツを説明したいと思います。
現状の確認
スクリプトを作成する前に、
まずは横幅の大きいキャラを通常のキャラと同じ方法で作成した場合に
どのような問題があるかを確認しておきたいと思います。
以下は今回の処理で使用するキャラグラフィックです。
※上記画像はPNG形式となっております。
ゲーム内に読み込む際はBMP形式に変換してください。
ここでは横幅が大きいキャラの例としてケンタウロスをイメージした絵を用意しました。
早速エディタにグラフィックを読み込んでみます。
グラフィックを読み込むとだいたい上記画像のような配置になります。
絵に合わせてぶつかり判定を置いてテストしてみます。
画面を見ると、1つ不自然な点があります。
問題点1
影のサイズがキャラに対して小さい
------------------------------------------------------------
引き続きテストしていきます。
今回対戦相手として選んだキャラは
近距離間合い、遠距離間合いで異なる攻撃を行うよう設定しています。
近距離攻撃 | 遠距離攻撃 |
なお、間合いを判別する基準値は
「キャラクター」-「基本」の画面にて設定します。
今回の例では、間合い設定が 80 となっています。
自キャラと相手キャラの距離が80ドット以下の場合、近距離間合いと判断されます。
一方、距離が80ドットより大きい場合は遠距離間合いと判断されます。
実際に、横幅の大きいキャラを相手に攻撃してみます。
近距離間合い
遠距離間合い
ここでも不自然な点があります。
問題点2
近距離間合いが成立しない
ここから先では、上記2点の問題を解決するためのヒントを説明していきたいと思います。
横幅の大きいキャラの間合い
まずは近距離間合いが成立しない原因を確認しておきます。
間合い距離計算式
間合い距離 = キャラAの中心軸 から キャラBの中心軸 までの距離
今回テストで使用したキャラの中心軸とぶつかり判定を以下に示します。
上記画像では2キャラが最大限近付いた状態ですが、
2キャラ間の距離は間合い判定値よりも大きい値となっています。
ぶつかり判定の大きさにもよりますが、
横幅が大きいキャラの中心軸が奥まった位置にあるため
相手キャラの中心軸がそこまで近付けていない、とイメージしてください。
この問題を解決するには、
横幅が大きいキャラの中心軸を前方へずらすのが有効です。
キャラグラフィックを後方へずらして配置することで
相対的に中心軸が前方へずれることになります。
再びテストプレーをしてみます。
今度は横幅が大きいキャラの中心軸に近付くことが出来ているため
ちゃんと近距離間合い用の攻撃動作が発生します。
ただし、影の位置は相変わらず ズレたままとなっているので
これも修正していきたいと思います。
横幅が大きいキャラの影1
現状では、キャラに対して影のサイズが小さく不自然です。
これを解決する手っ取り早い方法がオリジナル影の設定でしょう。
オリジナル影の設定
2D格闘ツクールのキャラスクリプトを見ると「影」
という行があります。
ここに何もスクリプトが置かれていない場合は、
2D格闘ツクール標準の影がキャラの下に表示されます。
2D格闘ツクール標準の影がどういう画像かは
格闘ツクールをインストールしたフォルダ内にある
text
という名前のBMPファイルを確認してください。
※左下に見えるぼんやりした楕円形がそうです。
標準の影をベースとしてオリジナルの影を作成する場合は
これを基準にすると良いかもしれません。
「影」 行に画像を置いた場合は、その画像がキャラの影として表示されます。
表示位置のルールは通常のキャラグラフィックと同じなので
エディタの中心軸などを基準にして位置合わせすると良いです。
なお、「影」行に画像以外のスクリプトのみを置いた
場合は影の表示がなくなるので注意してください。
実際に以下の画像をオリジナル影
としてエディタ内に読み込んでみます。
※上記画像はPNG画像となっております。
ゲーム内に読み込む際はBMPに変換して使ってください。
テストプレーで表示すると、このような感じになります。
ちょっと大げさですが、大きな影が表示されています。
影の形はサイズも含めて自由に設定できるので
凝った形の影を試してみると面白いかもしれません。
ただ、この方法には1つ弱点があります。
------------------------------------------------------------
オリジナル影の弱点
2D格闘ツクール標準の影を使っている場合は
キャラがジャンプして空中に跳び上がると、それに連動して影の色が薄くなります。
一方、オリジナル影をセットした場合はキャラがジャンプしても影が薄まる動きが有りません。
1体だけ影の薄まる動きが無いのが気になる場合は
他のキャラもオリジナル影にすることで同じ条件にすることが出来ます。
( どのキャラも影の薄まる動きが無くなるので目立ちにくくなる )
どうしても影の薄まる動きが必要だ
という場合は以下で説明する方法を使うことになります。
横幅が大きいキャラの影2
オリジナル影の問題点については上で説明しましたが、
ここで紹介する方法も完璧な方法とは言えません。
ただ、上手く調整を行えばかなり自然な感じに影を表示できると思います。
ここから先の処理ではオリジナル影を使いません。
「影」スクリプト行に画像などを置いている場合はカットしておいてください。
------------------------------------------------------------
OBJの影を利用する
2D格闘ツクールのオブジェクト発生命令
には、
「影を出す」
というオプションが有ります。
これをONにしておくと、画面内に配置したOBJに
キャラと同じような影が表示されるようになります。
また、同じ設定画面に「親と同期」
という項目がある点にも注目してください。
このオプションをONにした場合は、
OBJがキャラの位置に合わせて移動するようになります。
ここまで読んで勘の良い人は既に気付いているかもしれませんが、
今回説明する方法では、これら2つのオプションを利用して
幅のある影を(多少誤魔化し気味に)表現します。
------------------------------------------------------------
影用OBJ行の作成
まずは、影を表示する元となるOBJを用意します。
上記画像を見ればわかる通り、特別難しい設定は必要有りません。
ここで用意するOBJは影表示用のダミーなので絵を表示する必要は有りません。
透明画像を配置するようにしてください。
透明画像が手元に無い場合は、以下の画像を使ってください。
※ゲーム用BMPは上記画像のリンク先にて提供しております。
また、ここでは影をずっと表示したままにするので
画像のWAIT値は 0 、つまり無限にしておきます。
------------------------------------------------------------
影用OBJの発生
次に、影用OBJを発生させる処理を用意します。
発生するタイミングとしては、ゲーム開始時が自然でしょう。
「開始時」
スクリプト行にオブジェクト発生命令
をセットしてください。
ここでは追加した影の効果がわかりやすいよう
影用OBJ2つをキャラの前後に配置しています。
影用OBJの影は、その中心軸の位置に影を発生させるので
OBJ発生命令の中心軸がそのまま追加影の発生位置となります。
なお、影用OBJの発生位置をキャラから極端に離れた位置にすると
ジャンプ時に影の薄まる動きが不自然になるので注意してください。
( 逆に、複数の影を1箇所に集中して配置した場合は影の薄まる動きが見えにくくなります )
テストプレーで処理を確認してみます。
キャラのサイズに合わせて幅のある影が表示されています。
キャラをジャンプさせた場合は、以下のような感じになります。
影をよく見ると、少しだけ薄く表示されています。
左にいる通常サイズキャラに比べると影の色が濃いですが、
横幅のあるキャラの表現としては自然な感じに見えるのではないかと思います。
どれだけ自然に見せられるかは影用OBJの数と位置調整次第です。
テストプレーを繰り返しながら上手く調節してください。
最初の方でも少し述べましたが、
格闘ゲームの面白さは様々な特徴を持ったキャラクターが使えること。
そして、使うキャラを変える事で対戦の条件が変わってくることだと思います。
( 例えば、武器や手足の長さなどは攻撃範囲・リーチに大きく関わって来ます )
影表示の問題で横幅の大きいキャラを諦めてしまうのは勿体無いです。
ここで説明したテクニックをヒントに、色々な体格のキャラを表現してください。
影用OBJの配置は自由なので、上手く配置すれば
2人組のキャラを表現することも出来るかもしれません。
以上、長くなりましたが横幅のあるキャラを表現についての説明を終えます。
なお、今回説明した内容について気になる点や疑問点などがあれば
掲示板 にて受け付けておりますので気軽にお尋ねください。