Dolphinエミュのコントローラ設定駆使し連射・鬼シェイクの実現

ポク太郎です。

またサボって遊んでることがバレてしまう投稿。

MAMEPPSSPP以上に複雑でより高度な設定可能な任天堂WiiエミュレータDolphinコントローラ設定の話題です。夏休みの自由研究の題材にでもして下さい。

使用したバージョン
Dolphin 2407直近の安定板


最も高度設定可能なエミュレータDolphin

便利設定が使えると言えば、MAMEPPSSPP。1ボタンに複数のパッド側ボタンを割り当て可能で自由自在に操作感覚を変えられます。

それより更に高度なのがDolphin。“多様なコントローラ”を売りにしたWiiなので、力の入れ方が違います⇒Dolphinではボタン設定が自由自在なだけでなく、数式表記で設定可能!

なので、秒間30連射トグル動作組み合わせ設定も自由自在。

トグル動作…1度押すとその状態を保持し、再度押すと解除される動作。ターボモードのON/OFFなどに便利。
組み合わせ動作…例えばL2を押しながらL3でステートロード、L2を押しながらR3でステートセーブなど。

ただ、“高度な設定”は分かりづらいのが宿命。

そこで、便利だと思われる“高度な設定”例を次項から列挙します。

ここでの話題とは無関係ですが、通常のパッド設定はゲームキューブデバイス設定で行い、ザッパーヌンチャク・特殊コンのマウス割り当てにはWii側を使うのが一般的のようです。

Dolphinエミュのコントローラ設定駆使し連射・鬼激シェイクの実現

複雑設定窓の仕様・編集の仕方

“高度な設定”=“複雑設定を入力する窓”は設定のボタンを右クリックすると出現。

Dolphinエミュのコントローラ設定駆使し連射・鬼激シェイクの実現

画像中の「Toggle(‘TAB’)」と書かれた枠内に論理式を記述します。

左上枠の中から目的のキーを探しダブルクリック、右上プルダウンから論理式を選択することで入力可能。この枠内はキーボード編集も可能なので文法エラーが起きないよう編集して下さい。

また下方に「0」と表示されたバーが見えますが、そこをクリックし、設定したキー(例の場合はTABキー)を押すと反応が赤いバーで表示されます。連射スピード確認や動作確認に便利です。

例①】組み合わせ~フルスクリーン切替をL2+L3で

最初に、ボタンの組み合わせで実現する機能から。コントローラ設定の話ですが、ホットキー設定も同じ仕様なので、そちらでの実例です。

例では「フルスクリーン切り替えをL2+L3に設定」。L3とはアナログスティック奥の押し込みボタン)

Dolphinエミュのコントローラ設定駆使し連射・鬼激シェイクの実現

論理式“&”を使用し、「‘Trigger L’ & ‘Thumb L’」と入力。←ホームページ上に表示されたコレをそのままコピーしても多分ダメなので、頑張って入力して下さい。

3ボタン同時押しにしたい場合は、更に“&”で後ろに繋げればそれも可能です。

例②】トグル~ターボモード状態を保持

次は、トグル。これもホットキー設定での実例。

トグル動作とは押すと状態が切り替わり再度押すまでその状態を保持し続けるもの。

例では「ターボモード切替をR3に設定」。R3とはアナログスティック奥の押し込みボタン)

Dolphinエミュのコントローラ設定駆使し連射・鬼激シェイクの実現

制御構造プルダウン中の“Toggle()”を使用し、「Toggle(‘Thumb R’)」と入力。←ホームページ上に表示され…以下略。

例③】連射~秒間30・15の実現と計算方法

次は、連射。ここからコントローラ設定での実例。

例では「テンキー0が秒間15連射」。‘NUMPAD0’て部分を目的のキーに変えて頂ければ。

Dolphinエミュのコントローラ設定駆使し連射・鬼激シェイクの実現 Dolphinエミュのコントローラ設定駆使し連射・鬼激シェイクの実現

2パターン作ってみました。使い勝手の良い方をどうぞ。制御構造プルダウン中の“Timer()、Toggle()、Pulse()”を使います。

‘NUMPAD0’ & Toggle( Timer(0.032) )」と入力。←ホームページ上に表示され…以下略。
‘NUMPAD0’ & Pulse( Timer(0.064) , 0.032 )」と入力。←ホームページ上に表示され…以下略。

0.032なる数値について。60フレームとは1フレーム=1/60秒=0.016秒=16ms。

ゲームとはフレーム時間毎に判定・表示されるパラパラ漫画なので1フレームが最小単位。つまり、60フレームのゲームなら1/60秒間オフ→1/60秒間オン→1/60秒間オフ→1/60秒間オン→…と繰り返す秒間30連射が理論上の最速。
60フレームなのか30フレームなのか入力判定のみ60フレームなのかはゲームによるので、控えめな数値にしとくのがオールマイティー。
まず、Timer()の仕様は、カッコ内の数値の秒数まで順に数え1に近付いていく→1になったら0に戻るカウンタ。

Toggle()の仕様は、カッコ内が0.5を超えたら1を保持し、それまでは0を保持。つまり、0.032の期間0→同じ期間1→…→。←秒間15連射。

Pulse()の仕様は、第1引数が0.5を超えたら第2引数の時間1を保持。つまり、0.064の半分の期間0→0.032の期間1→…→。←秒間15連射。

ちょっと分かりづらいので、連射速度別に表にしときます。仕様を勘違いしてなければ合ってるはず。式中の数値をいじって調整してみて下さい。

Dolphinの連射設定ホームページ上に表示され…以下略。
秒間5連射 ‘NUMPAD0’ & Toggle( Timer(0.1) ) ‘NUMPAD0’ & Pulse( Timer(0.2) , 0.1 )
秒間8連射 ‘NUMPAD0’ & Toggle( Timer(0.063) ) ‘NUMPAD0’ & Pulse( Timer(0.125) , 0.063 )
秒間10連射 ‘NUMPAD0’ & Toggle( Timer(0.05) ) ‘NUMPAD0’ & Pulse( Timer(0.1) , 0.05 )
秒間15連射 ‘NUMPAD0’ & Toggle( Timer(0.032) ) ‘NUMPAD0’ & Pulse( Timer(0.064) , 0.032 )
秒間30連射 ‘NUMPAD0’ & Toggle( Timer(0.016) ) ‘NUMPAD0’ & Pulse( Timer(0.032) , 0.016 )

これらTimer()で実現したものは“時間によるオンオフ切り替え”なので同期連射になりません。高橋名人以下の控えめ連射がオールマイティー。

例④】三角関数で鬼シェイク

Wiiのゲームでありがちなのが「コントローラを振れ!!」。そのシェイクを1ボタンで鬼振りしてやります。

例では「テンキー0押すと三角関数でX、Y、Zの値を無茶苦茶に」。

Dolphinエミュのコントローラ設定駆使し連射・鬼激シェイクの実現 Dolphinエミュのコントローラ設定駆使し連射・鬼激シェイクの実現 Dolphinエミュのコントローラ設定駆使し連射・鬼激シェイクの実現

シェイクX軸に「‘NUMPAD0’ & sin( Timer(0.016) )」と入力。
シェイクY軸に「‘NUMPAD0’ & cos( Timer(0.032) )」と入力。
シェイクZ軸に「‘NUMPAD0’ & tan( Timer(0.048) )」と入力。←ホームページ上に表示され…以下略。

X、Y、Z軸それぞれ別の三角関数を使い、Timer()内の値をバラバラにし角速度もグジャグジャにしてランダムシェイクを目指します。

また画像撮り忘れましたが、シェイク設定付近にある「強さ」をデフォルト10cm→20cm、「周波数」をデフォルト6Hz→12Hzなど変更すると効果的です。

面倒くさい鬼シェイク要求を1ボタンでクリアしてやって下さい。

非常に高度な複雑設定が可能なDolphin。高度故にちょっと難しいです。本投稿を参考に研究して頂ければ。

論理式if文が使えるてことは、「通常時は連射無し、R1押しながらA押すと連射」てのも自由自在です。

そんな便利なDolphinですが、今現状ではコントローラキーボード・マウスの混在操作はできないっぽい。左手無線PS3コントローラ+右手マウスでできるといいんだが。

ホットキーは無条件にできるんだけどな。

俺が知らないだけかも知れませんが、改良された・判明した等あった場合には、またDolphin話題で投稿いたします。

コメント

タイトルとURLをコピーしました