なってんのこれ??とりあえずその詳細は置いといて、現時点で判明したのは「X1,H1,Y1,X2,H2,Y2」である。320バイトのデータ構造の中で6*4=24バイトが判った状態です。320-24=296バイトがまだ不明な状態です。それをひとつひとつ謎解いていく必要があるが、現時点謎があるのでそれを先に理解しないといけないような気がするのである。一つは、X1,H1,Y1とX2,H2,Y1は、絶対値の座標なのか、それともなにかを基準にした距離(相対値)なのかと、もう一つは、カメラの焦点についてである。そのカメラの焦点も座標なのか距離なのかも理解しないといけない。はじめは漠然とX,Y,Hは、カメラの焦点からの距離だろうと判断していたのだが、色々と試すとどうも違うようであった。カメラの焦点(プレイヤーの近く)に、カメラ近づけようとして、おおまかにXやYの値を減らすと、逆に遠くなったり、とんでもない場所からそこを写すのである。微調整が難しいのである。それが距離でなく座標と考えると、しっくりくるのだが、そうするとその値が極端に大きいように思えるのである。座標と考えた場合、その起点となる「0,0」の場所はいったいどこなのかがよくわからなかったのです。予想では、下記のマップの4隅のどこか「0,0」であると思うのだが、距離感がまったくつかめない。YとX値が大きすぎて、このMAPをはるかに飛びだしてしまうように思えるのである。あれやこれやと考えずに、座標と考え素直に各INDEX0のX1,Y1とX2,Y2の値を求め、それをこのMAPに「点」としてマークを配置したらどうなるのかを確認してみることにした。INDEXX1Y1X2Y2カメラの動き概要0912912682912913067Y方向に大きく移動1872112593872112593カメラ移動なし2884013070877013287YとXとHが微妙に移動3858312750844712775X方向に大きく移動4903212988870813226カメラ移動なし5790212939790712289Y方向に大きく移動。6893113049893113039Y方向へ微妙に移動7877312606877212960Y方向に大きく移動8784512865784711999カメラ移動なし9734512836743712754未使用??そして、その座標をMAPに配置すると、次のようになった。赤●は、X1,Y1であり、カメラが移動する場合のX2,Y2は青●で示している。矢印先の黄色のダイヤは、そのカメラのおおよその焦点を示している。プレイヤーが移動して、INDEXの領域に入った時に、赤●から黄色ダイヤ方向を撮り、プレイヤーが移動すると青●の範囲でカメラが動く。(常に黄色ダイヤを焦点としている)この略図はおおよその適当な図面であるので縮尺図としては、まったく正しくはないが、それにしても、各値があきらかに大きいのである。起点の0,0は、はるか遠い場所にあるのがわかった。BARの店内は、Xが7000〜10000位、Yが12000くらいから14000位の間に配置されているのだと思われる。開発者は、数字によって値を設定しているわけではなく、ツールによって自動的に値が計算させて設定されると思われるので、この数字そのものを恐らく意識はしていないと考えられる。これは、StuntmanSnake氏が保存していたオフィシャルのカメラ設定の動画で推測できる。カメラワークの担当者は、上記のようなツールでひょいひょいと設定をして、隣の人に「ねぇねぇ。「うーん...いいんじゃない?」て感じで設定していったに違いないのでしょう。カメラの焦点について次は、カメラの焦点について調べないといけない。カメラは、常に画面の中央を映している。これは当たり前といえば当たり前だが、重要なポイントでもある。それは常にプレイヤーの近くでもある。上記の動画では「青い旗」が画面の中央にあり、カメラは常にそこを見ていることがわかる。その場所が「カメラの焦点」である。我々は、プレイヤーを中心に見ているので、プレイヤーが画面の中心にいると思いがちであるが、実はそうではない。前から気にはしていたことだが、「上から下を見下ろす」アングルがほとんどであると思われる。逆に「下から上を見上げる」アングルを思い出そうとしてもなかなか頭に浮かばない。思い出すのは、「階段や梯子を昇り降りする」ところや、「記憶の病院へ続く吊り橋」と「記憶の病院の屋上へ行くための外廊」と「突破の最後のところのトラックの荷台」部分である。他もよく見るとどこかあるとは思うが、強い印象に残っていない。どちらにしても圧倒的に「上から下を見下ろす」アングルが多いのである。その角度は緩やかな場合もあるし、急角度もある。普通にプレイをしていて、「見下ろす」感じがしなくても、よく見ると緩やかな角度で下の方角を見下ろしているところが多いと思われる。ほとんど地面を映すようにしているのである。地面が画面に映らないと、地面に落ちているアイテムや地面に倒れたゾンビなどが視界に入らない可能性がある。ローアングルで下から上を見上げるようにしてしまうと、地面が画面に入らず、落ちているアイテムや倒れているゾンビや倒れている仲間に気づかない可能性があるわけである。これを防ぐため、ほとんど「上から下を見下ろす」アングルが多く、なるべく地面が映るようにしていると思われる。それは「迫力を感じる」アングルとはいえない。巨大な敵と相対する時に、上から下を見下ろすアングルよりも、下から上を見上げるほうが迫力が増すのである。巨大な敵と戦う時に遠い場所からそれを撮るよりも、近い場所から撮ったほうが、敵が大きく見えてさらに迫力が増す。迫ってくるゾンビに対してローアングルで撮るとその迫力も増し、恐怖感を味わうことができると思われる。この調整ができれば、かなりアグレッシブな戦いを演出できるはずだ。話が長くなったが、カメラの焦点のデータの場所を特定する必要がある。それを見つけて値を変更することによって、今まで見れなかった場所や、逆のアングルを見ることがてぎるようになるはずである。その場所は、ある程度推測することによって格納場所を特定できると思われる。理解しやすいカメラ焦点の「高さ」を指定しているところを探すと良いと思われる。カメラはほとんど上から下を見下ろすので、見下ろすアングルでは、少なくともH1より低い位置で地面(0)よりも高い位置がに焦点が合うようにしているはずだ。下記、INDEX0の場所でH1とH2の値をそれぞれ変更した時の動きである。地面より少し上にあるこどわかる。上、222未満の値であることがわかる。例�Aを見ると、ケビンが手前に移動し、カメラの高さH1が222になった時に、×印は地面を映している。面の壁ではなく、その手前の女子トイレの扉の手前あたりにあるとわかる。従って、女子トイレの扉のあたりのY座標がカメラ焦点のY値であると推測できる。例�Aだけでは、わかりにくいのでもう一つ例�Bでも確認してみる。例�BY1=12682→12882Y2=13067例�Bは、Y1の値を+200して、ケビンが手前に来た時に、ケビンに寄った時の実験です。印は、女子トイレの扉の少し手前当たりにある。焦点のY値は、女子トイレの扉の手前あたりだとわかる。上記の結果により、INDEX0のカメラの焦点は、次ように推測できる。XX1とX2の値はともに同じ値であり、9129である。×印を見ると画面から向かって左寄りに見える。通路中央ではなく左寄りである。カメラは通路中央からそれを撮影しているように見える。従って、カメラのX1の9129の値より少し多い値と推測できる。9129〜9300あたり000023A9〜00002454A9230000〜54240000H例�@で推測したが、少なくとも10以上で222未満。50〜100の間だと思われる。10〜222の間0000000A〜000000DE0A000000〜DE000000Y例�Aと例�Bで女子トイレの手前あたりと推測できたが値までわからない。少なくとも、Y1の12682以上、Y2の13067あたりの前後だと思われる。上位と下位を入れ替えた16進のHEXデータの予測範囲の値をすでに特定したX1,H1,Y1,X2,H2,Y2以外の不明な領域をバイナリエディタで当てはまりそうな場所を探せばよい。この不明領域から上記に当てはまる条件の値をバイナリエディターで探す。(黄色は、すでに特定したX1,H1,Y1でピンクはX2,H2,Y2である)そして「これかな?」「いやこっちかも?」「あれ?違う?」て感じで、その値をバイナリエディターで変更してみてカメラの焦点が変わることを確認していくしかないのである。違った場所を書き換えると何が起きるかよくわからなくなる。値をまたもとに戻し、「これではなかったから、やっぱりこれかな?」という感じで堂々巡りをしてしまう。毎度毎度だが苦しい調査であるが、このように一つ一つ特定していくしかないのである。その結果、特定できた。だいたい予想通りの値であった。下記のところまで特定できた。これによって、カメラの焦点とカメラの位置とその移動範囲をそれぞれ変えることができるようになった。はじめは、〇〇さんが作ったツールによってそられが可能になったが、そこから先の調査と特性の研究は自分の力である。その値を変更する場合は、10進数で数値を考え、それを16進数に変更し、それ特定したアドレスをINDEX単位でオフセットアドレスを計算し、そこを書き換えて、AFSExplorerでRDTファイルをインポートし、実動作を確認し、うまくいかない場合は、またやり直すというカット&トライで試しながらやっていく必要がある。これを全てのシナリオの全てのエリアの全てのアングルを変更していく場合、とてもではないが、手作業によりバイナリエディタで書き換えていく方法は無理がある。少なくともある程度はツールを作る必要がある。この解析だけでは不足である。320バイトのデータ構造の中で9*4=36バイトが判った状態です。320-36=284バイトがまだ不明な状態であり、そのデータがどのようなものかも想像が足りていないのである。足りないと思われる情報は、次と考えている。少なくともそれらは特定して変更できるようにしたいと思っています。それにしても、残りの不明のデータ領域には、まだまだ様々な情報があると思われる。これから先どうすかるかが課題である。次章に続く新規サイト001のフッタ。