前章で大きく前進したが、まだまだ問題がある。 各INDEXの正確な座標やサイズがわからないのである。 それがわからないと、ゲーム画面を見た時に「どちらがX方向」で「どっちがY方向」がすぐに判断できず、また距離感も掴めないため、カメラ位置や焦点位置を変更をする作業をしたい時に、かなり戸惑うのである。 このため、だいたいの当たりをつけて数字を変更してみて、どうなるか確認し、サイズ感や距離感を自分の感覚でつかみ、それを元に各数値を変更していく必要があります。 これでは、とてもやりにくいのです。 これを解決するためためには、ある種の「図面のような設計図」が必要なのです。 図面を作るとしたらば、知りたいのは「各INDEXの正確な座標」とそれぞれのサイズです。 これが判明すれば、その数値とカメラの位置座標と焦点位置座標を元に図面を作れるであろうと考えらます。 つまり「第7章 あなたは試練を与えたの?」で作成した初心のおおよその下記のような図面をもっと正確に作れるはずである。
上記のような図は、今現在の設定がどのようになっているかが、わかりやすい。 カメラアングルを変更したい場合に、上記のような図面があると作業効率が良くなるのです。 前回作った動画は、「対峙3の最初の戦いのエリア」だけです。そこはFILE1の零下のボスバトルで使われるエリアです。 その形状を真上から手書きで描くと、下記のような感じです。 しかし、これを見た時にどちらの方向が起点のX=0,Y=0の場所であるのかが、わかりません。 X=0,Y=0の方向を絵の左上にした場合、下記の4パターンの図面が考えられます。 これが「どっちがX?どっちがY?の問題」です。
そしてそれら各INDEXの座標やサイズなどの情報は、まだ不明である下記エリアにどこかに格納されていると思われます。
まずは、この不明な場所のデータ値を確認していき、何処が何を示しているのか判定していくしかありません。 座標は、今までの形式でX,Z,Yの順番で、各符号付きの4バイトの単位で格納されていることがわかっています。 HEXデータとしては00000000H〜FFFFFFFFHの値であり、それをマイナス符号付きの10進数に現わすと、-2,147,483,648 〜 2,147,483,647の範囲です。 そしてINDEXのサイズは座標の値が大きい値であっても、そのX方向,Y方向のサイズは、それほど大きくありません。 またZ座標は高さを表しているので、これも極端に大きな値ではありません。 この条件で不明であったデータを確認したところ、次のように分類できました。
上記のような結果になった。 下記は、対峙3のはじめのボス戦のINDEX0の座標ぽい値です。 すでに「カメラ位置1,2と焦点1,2のそれぞれのX,Z,Yの機能については、すでに判明しています。 それ以外を考察すると次の結果となりました。
この結果によって、各INDEXは、不当辺の四角の立方体であることが判明しました。 そしてそれは、P0〜P7までの8種類の座標でその形がデータとして納められていることが分かった。 この座標点を立体的に描くと次のようになります。
上記のような立方体でINDEXの領域のデータが格納されていることが判明し、その形は各INDEXによって様々である。 しかし、3次元の立方体でそれを描くと複雑な形状になってしまい、直感的に理解しにくい。 そこでやはり、真上から見た平面図に描くことにする。 真上から見た平面図は、下記のようになる。
これで一つのINDEXの座標とそのサイズがわかるようになった。 次は、ツールを作り、RDTファイルを読み込み解析し、INDEX毎にその座標データをExcelのシートに一覧出力するにするプログラムを作成し、その座標データをもとに全てのINDEXを2次元表示する機能を持たせます。
備考: こんな感じでエリアの各INDEXが表示され、その形が明確に見えるようになります。
このように対峙3のはじめのエリアの形が見えて、かつINDEXがどのように配置されていて、その座標やサイズが視覚的に見えるようになるわけです。 これによって、「どっちがX?こっちがY?」の問題と「数値とその距離感がわからない」の問題が解決できるようになります。 それには、さらにこの自作ツールをもっと良い形にする必要があります。 次章に続く |