Cheat Engineでポケモン X・Yのカメラを変更する方法
ポケモン X・Yのカメラを、まるでゲームを作ったゲームフリークの開発者のように自由に操作してみたいと思ったことはありませんか?このチュートリアルでは、ズームを自由に引いたり寄せたりする方法や、カメラが自分を映す角度を変える方法を紹介します。さらに、鏡(自宅の鏡など)に主人公がどう映っているかといった、これまで気づかなかったゲームの細部も発見できます。
このガイドでは、カメラのメモリアドレスを見つける方法と、それを使って変更できることをステップごとに解説します。そのためには、PCのエミュレーター(Citra、Azaharなど)でプレイしてCheat Engineをダウンロードするか、メモリ内の値を検索できるようにCTRPFを導入した3DSでプレイする必要があります。機能が充実していて検索オプションも多いので、できれば前者をおすすめしますが、3DSでも問題ありません。そちらの方法も解説しています(手順は少し長くなります)。
エミュレーター(PC)でカメラのアドレスを見つける方法
Cheat Engineの設定
Cheat Engineを初めて使う場合は、始める前にいくつかの設定を有効にする必要があります。この手順を飛ばすと、プログラムがエミュレーターのメモリをスキャンせず、検索結果が何も表示されません。
- 公式サイトからCheat Engineをダウンロードしてインストールします。
- Cheat Engineを開き、Edit → Settingsに進みます。
- 左側のメニューからScan Settingsを開きます。
- Scan the following memory region typesの項目で、MEM_PRIVATE、MEM_IMAGE、MEM_MAPPEDの3つすべてにチェックを入れます(最後のものがエミュレーターのメモリを含む項目です)。
- OKを押して変更を保存します。

カメラの値を探す
Cheat Engineの設定が終わったら、カメラの値を探し始めましょう。まずは、プログラムがメモリを読み取れるように、起動しているエミュレーターを選択します。左上のFile-> Open Process、または虫眼鏡付きのモニターのアイコンをクリックし、画像のように使用しているエミュレーター(私の場合はCitra)を選択します。

次に、ゲーム内の街や町に移動し、Value TypeでArray of byteを選択します。そして、表のバイト配列を貼り付けます:
| 場所 | 検索するArray of byte | 元のズーム値(float) | ズームのバイト |
|---|---|---|---|
| 通常カメラ(ほとんどの場所) | CD CC 70 43 00 00 00 00 33 33 A3 40 00 00 00 00 00 00 00 00 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 54 B1 21 08 64 B2 21 08 08 44 22 08 | 240.8000031 | CD CC 70 43 |
このarrayは、ゲーム内のほとんどの場所で使われている通常カメラ用です。値が変わるのは動的カメラのある特別な場所(一部の道路の特定エリアなど)だけで、そこでは値が異なるため、このarrayでは結果が出ません。現在のところ、そうした場所について次の値が見つかっています:
arrayを貼り付けたら、First Scanを押します。結果が1件だけ表示されるはずです。

3DSの項目で紹介している方法(floatで検索)も使えますが、おすすめはしません。時間がかかるうえ、arrayなら一発でアドレスが見つかるからです。ただし、場所を移動した場合は、カメラの値が同じでもNew Scanで検索し直す必要があります。メモリアドレスは動的で、いる場所によって変わるためです。
3DS(CTRPF)でカメラのアドレスを見つける方法
3DSでも手順はほぼ同じですが、CTRPFのメモリ検索機能を使います。好きな場所に移動してカメラの値を検索しましょう。私の場合はアサメタウンに戻ります。Value Typeをfloatにして240.8000031を検索します。かなりの数の結果(20件ほど)が表示されるので、カメラが変わるものが見つかるまで1つずつ編集していく必要があります。正しい結果はたいてい08で始まるアドレス(08xxxxxx)にあるので、まずはそれらを試してください。私の場合は、表示された2つの08xxxxxxアドレスのうち2番目でしたが、環境によって異なる場合があります。

カメラのズームを変更する方法
アドレスが見つかったら、結果をクリックし(青くハイライトされた状態にします)、CTRL+Bを押すか、右クリック → Browse this memory regionを選びます。これでメモリエディターが開き、値を編集できるようになります。

カメラのズームを制御している値は240.8000031(float型)で、16進数では43 70 CC CDです(動的カメラのある場所では値が異なります)。ただし、メモリ上ではバイトが逆順(Little Endian形式)で保存されているため、どのメモリエディターでも反転したCD CC 70 43として表示されます。Cheat Engineで変更するには、最初のバイト(CD)をダブルクリックすると、ドロップダウンメニューが開きます。型を1 byteからFloatに変更すると、値がfloat形式で表示され、バイトよりもずっと分かりやすく編集しやすくなります。

3DSではfloatで検索しているので、メモリエディターを開かずに検索結果から直接値を変更できます。それでも、後でほかの値も変更できるので、メモリエディターを使うのがおすすめです。その場合、メモリ上では値がそのまま(CD CC 70 43)表示されます。値を変更したいときは、最初のバイトを選んでXを押し、Converterを選んでFloat欄に新しい値を入力します。自動的に16進数に変換されます。メモリに書き込む前に、それらのバイトを逆順(Little Endian)にするのを忘れないでください。

値を変えるとすぐに効果が分かります。値を大きくするとカメラが遠ざかり、小さくすると近づきます。この例ではカメラを600(16進数で44 16 00 00、Little Endianでは00 00 16 44)に設定しており、ご覧のとおり視野がかなり広くなっています。

実は、メモリ内の値を毎回探さずにそのままチートとして使いたい場合は、動的カメラのないすべての場所(屋内を含む)でカメラを変更できるコードを、ポケモン X・Y チートの記事で紹介しています。
ほかに変更できること
アドレスが見つかれば、操作できるのはズームだけではありません。その周辺には、カメラをさまざまな形で変化させる値がほかにもあります。

- ズーム:
CD CC 70 43(240.8000031). - 垂直角度:
C3 F5 22 C2(-40.74000168). 値を小さくする(例:-88.74)とカメラが回転し、真上からの視点のようになります。-90.74を下回るとカメラが反転します。 - 横回転:値を大きくするとカメラが左に、小さくすると右に回転します。
- Y軸の移動:値を大きくするとカメラが上がり、小さくすると下がります。
- 立体視の範囲:左右の目が3Dの2つの画像を1つに融合し、奥行きを感じられる距離の範囲です。
- 立体視の基準面:すべての物体が同じ距離にあるように見える仮想の面です。
- FOVY(垂直方向の視野):頭を動かさずに上下に見える範囲です。検索するには
92 0A 06 3F(1057360530)、または92 0A 06 3F 44 55 00 00 E8 00 00 00 1C BB 69 14(0.5235987902) を使います。 - 追従モード:カメラが主人公を追いかけるかどうかを決めます。00 = 追従する、01 = 追従しない。
例:真上からのカメラ
垂直角度を-87.74にすると真上からのカメラになり、-90.74で限界に達します。それより小さくするとカメラが反転します。


たとえば角度を-12.74にすると、三人称視点のカメラにすることもできます。

ポケモンのチュートリアルとチートをもっと見る
このチュートリアルが気に入ったら、サイト内のこちらもチェックしてください:
コメントを残す