第14章 見えてきた全貌


Dchaps氏がくれた開発中の新しいツールの全容を見せることはできないが、カメラワーク変更については、ある程度説明しないといけない。

新しいツールで「カメラワーク」に関して変更できることは、下記です。

設定WINDOWイメージ
概略

項目 概略
@
Camera type カメラの動作を選択できる。(1〜8の値)
1:移動しない(カメラ位置1基準)
2〜8:移動する
A
カメラ位置1 Rotation00 カメラ位置1の場所での最大画角傾き
B
カメラ位置2 Rotation01 カメラ位置2の場所での最大画角傾き
C
カメラ位置1 FOVO0 カメラ位置1の場所でのFOV値(視野角)
カメラのレンズのように広角と望遠の調整が可能。
D
カメラ位置2 FOV01 カメラ位置2の場所でのFOV値(視野角)
カメラのレンズのように広角と望遠の調整が可能。
E
カメラ位置1 X Pos 00 カメラ位置1のX座標
F
Z Pos 00 カメラ位置1のZ座標(高さ 旧:H)
G
Y POS 00 カメラ位置1のY座標
H
カメラ位置2 X Pos 01 カメラ位置1のX座標
I
Z Pos 01 カメラ位置1のZ座標(高さ 旧:H)
J
Y POS 02 カメラ位置1のY座標
K
カメラ焦点 Target X カメラの焦点X座標
L
Target Z カメラの焦点Z座標(高さ)
M
Target Y カメラの焦点Y座標
N
Write All Index 変更した値をRAMに書き換え、その場でゲーム画面を更新する。
O
Update RFT RAM値の値をRDTファイルに更新する。

特筆することは、プレイをしながら、「数値」を変更し、書き換えた値が、その場でどのような変化が生じるかを確認することができることです。
そして、それが思う通りにはならなかったら、その場でまた修正することができることです。

今まで使用した「初期ツール」は、EFGのみ変更が可能でした。
それでは不足なので、自分で解析した不足部分のHIJとKLMは、バイナリエディタで書き換え、RDTファイルを更新し、ISOファイルに書き込み、PCSX2を起動し、変更した場所に移動して、動作確認するといった一連の面倒な作業をしていました。

これが新しく入手したこのツールによって、ゲーム画面を確認しながら、その場で値を修正してすぐに確認し、RDTファイルを更新することができるようになったのです。
つまり、手間が飛躍的に短くなったのです。

また、さらに今までできなかった「効果」も新たに判明しました。

・Camera type値の変更によるカメラ動作の変更(固定モードと移動モードの変更)
・画角度を傾ける。(階段や段差などで効果的)
・視野角を広げる。または狭める。(広角、望遠効果)

これらによって、様々なアレンジが可能となりました。

またこのツールによって特定できた情報は下記です。


しかし、このツールを使用したら大きな問題が見つかったのです。

カメラの焦点は2つあったことです。

考えてみれば、どうして今まで気づかなかったのが不思議でしたが、カメラ焦点の座標が2つあることが判明したのです。

はじめは、漠然とX,Y,H(Z)は、主人公からの相対的な距離と考えていたものが、その後の調査によって座標と判り、X1,Y1,H1と対にX2,Y2,H2とあることが判ったのにも関わらず、焦点だけは一つで、そこからの相対的な移動と考えていたのである。
様々な実験で理解できたのですが、焦点は、1と2があり、カメラの位置が、カメラ位置1からカメラ位置2へ移動した際に、焦点1から焦点2へ同時に移動しているわけです。

CAPCOMの開発ツールの画面
ケビンが動くと真ん中の青い旗が動く。
青い旗は、常に画面の中央にあり、それがカメラの焦点である。
そしてケビンが動くと、カメラがケビンを追う。
つまり、カメラは、「カメラ位置1」から「カメラ位置2」の間を移動する。
そして、青い旗も同様に動いていることがわかる。
つまり、青い旗も「焦点1」と「焦点2」の間を移動していると言える。
実験での確認
左記の画像は、中央の×がカメラの焦点です。
ケビンが手前に移動した時は、女子トイレの扉の前の床あたりに×の中央があります。
そして、ケビンが奥に進むと、同様に×が奥の壁に移動し、床よりも高い位置に移動しています。
つまり、奥行き(この場合Y)と高さHの焦点が変化していることがわかります。

新しいツールでの変更できる焦点は、KLMであり、これは、カメラの焦点1です。
つまり、カメラ位置1から撮影している座標です。
しかし、カメラ位置2から撮影するカメラ焦点2の座標データを変更することができません。

そしてカメラ位置2から撮影する場所がデータ上にどこかにあるはずですので、それを調べる必要がありました。
調べた結果、次の場所と特定できました。


しかし残念ながら、新たに入手したツールでは「カメラ焦点1」の座標は変更できますが、「カメラ焦点2」の座標を変更することはできません。
これについては、今のところはバイナリエディタで手入力で変更するしかないのです。

もう一つの問題

次に問題なのは、X座標,Y座標の数値を入力するのですが、相変わらず「どっちがX? こっちがY?」の混乱が発生し、その値の加減が難しいという問題が生じます。

画面を見ても「どっちがX+方向でどっちがY+方向」なのかが判断しづらく、かつ、各INDEXの座標とサイズがわからないので、値の±加減が難しいのです。
これは、自分にとって大きな問題で課題となりました。

この問題を解決するには、各エリアのINDEX領域(座標とサイズ)を正確に把握し、2次元にINDEX領域を描画出力し、それとゲーム画面を見比べながら新しいツールで各値を変更していく方法を取らないと効率がよろしくないことがわかりました。

しかし、それには更なる解析が必要で、かつ2次元のデータでイメージ描画出力をするツールを新たに作る必要があります。

とりあえずは、現時点でできることをやってみて、テストケースとして今できることを把握してみようと考えました。

自分の理想とするものには、かなり近づいてきたものの、細かい課題がいくつも残っています。
しかし、少なくとも以前に作ったものより、はるかにいい感じのものができたはずです。


細かいことは置いといて、目標であった迫力の追求ができ、見たこともないアングルや従来とは逆のアングルで表示されたり、ダイナミックなカメラワークに成功したと思ってます。



三歩目は、大いなる飛躍でした。


次章に続く