K3の住民

最近はレア社のゲームについては書いていませんが、一応レア社のゲームが一番好きな人です。『雪圀』で"圀"は"国"とほぼ同義ですが、国ではありませんって当たり前か(笑)。

【N64ゼルダ】「Weird Hover」の浮遊する理由について詳しく。

皆さん、こんにちは。雪圀です。
今回はN64ゼルダ(主に3DSのリメイクですが)におけるバグ技「Weird Hover」の
浮遊する細かい原因等が分かったので解説していこうと思います。


先ずそのバグを知っておく上で、N64ゼルダでのリンクのy軸の判定についての解説を
していこうと思います。

リンクのy軸について

一時期マリオ64DSの研究を少しだけしていたときに発見した最大水位保存バグ
ですが、これが今回のバグの細かな原因の解明の手助けをしてくれました。

先ずN64ゼルダをやり込んでいる方なら常識レベルかもしれませんが、N64ゼルダでは
リンクのx,z軸によってリンクが歩く床の音等が変化します。これはy軸が例えどんなに
高くなろうと関係ありません。その為に空中で砂埃や草を出すと言った妙な現象が
起こりますが、当然ですね。
これはリンクのx,z軸によってリンクのy軸の最小値が決定されている為です。例えば、
低い床lf,高い床hfがあったとします。

f:id:ryoryoau24:20180314095829p:plain

リンクの今現時点でのy軸の最小値はhfです。ここからlfの方角に向かってジャンプ
します。すると、リンクのyの最小値はlfとなります。ここまでは簡単だと思います。
しかし、このy軸の最小値が変わる瞬間、ここが「Weird Hover」を説明するうえでの
肝となります。

y軸の最小値の誤った変化

このとき、もしy軸にhfよりも高い座標のものがあったとき、このy座標の最小値が
変わる瞬間、つまりlfとhfの間を利用し、y軸の最小値をhfよりも高い座標に出来て
しまうことが判明しました。

f:id:ryoryoau24:20180314101311p:plain

だから落ち際や傾斜の異なった床同士でしか起こらないのです。つまりムジュラ3Dで
解説した「傾斜の異なる床同士の重複により発生する」は、ある意味では間違っては
いなかったということになります。

あとは、「y軸がどうしたら高くなるのか」と言う点ですが、これはムジュラ3Dでは
こちら時オカ3Dではこちらで説明出来ると思います。


以上です。短いですが今回はこれで終わりにしたいと思います。
あと色々な情報がブログ内で散らばっている状態なので、もうそれが散らばることが
無いようにまとめページ等を作ろうと思います(本当は散らばっていると困るので
備忘録として利用したいというのが個人的な理由ですが)。
だからブログの更新は少しの間だけお休みしたいと思います。

今回はこれくらいにしときます。