ズーム・イン!

・最初に

 タイトルの意味は後半で。ベタな上に恥ずかしいタイトルですみません。

 今回は、視野角度(画角)についてです。視野角度とは、視点から見る事のできる範囲の角度のことです。と言っても言葉そのまんまで意味がわからないので図説。


視野角度90°
下の白い丸が視点
 
視野角度45°

 まぁこんな感じです。この明るい部分が可視部分で、それ以外は視野範囲外なので見えません(視界に入らない)。

 視野角度の指定には、投影行列を使います。Direct3Dの投影行列に関しては、詳しくはたていすさんのページに書いてあります。DirectX6のマニュアルが英語で困っている方は是非。

 

・視野角度の設定

 視野角度が違うと、見え方が違ってきます。


視野角度30°
視野が狭い
 
視野角度45°
遠近感は普通
 
視野角度90°
遠近感が強い

 視野角度を狭めると視線の先に見える物を拡大したような感じになります。広くすると遠くの物がより遠くになります。

 この画像だと遠近感の違いがわかりにくいので、視野角度を変えるとともに移動してみます(角度が狭いほど前進させる)。


視野角度30°
遠近感が弱い
 
視野角度45°
遠近感は普通
 
視野角度90°
遠近感が強い

 横線同士の間を比べるとわかるでしょうが、視野角度が広いと遠くがより遠くに、近くがより近くになります。遠近感が強くなっているというのはこういうことです。

 何か物体がこっちに向かっているという場合も、視野角度が狭ければスーッと近づいているように見え、視野角度が広ければ、それほどのスピードで近づいていないように見えてたのが近くに来るに連れてスピードアップして見えるような感じになります。これも遠近感が強くなっているせいです。


 視野角度を広げると近くの物が速く流れるので、迫力やスピード感を出す事ができます。N64だとF-ZEROXがそうですね。視野角度が狭いとあまり奥行きが感じられなくなり、少し迫力がなくなります。視野角度が広いと、広範囲を一度に見る事ができるという利点もあります。

 でも、視野角度が広くても問題があります。あまり広いと見た目がおかしくなります。

 Quake(PC)をやったことがある方ならわかるでしょう。Quakeの視野角度は90度だそうですが、パースが歪んでいるように見えます。

 同時に、この視野角度が広いという事は別の問題も引き起こします。

 

・3D酔いに関する個人的な考察

 DOOM系のゲーム(Quakeとか)や、その他3Dのゲームをやって、乗り物酔いのような症状の出る人がいます。このように3Dのゲームをやると酔ってしまうという人は少なくありません。この症状は通称「3D酔い」と呼ばれています。

 酔う原因は乗り物酔いと同じで、目で見る情報と三半規管で得られる平衡感覚の情報が違っているために起こります。

 例えば、ディスプレイの映像が横にスクロールしている映像を目で追うとします。視覚は、目の前が横に流れているからこれは横に移動しているんだと認識しますが、三半規管は別に移動する感じはないという認識をしているため、それぞれが矛盾します。この状態が長時間続くと、体は、「(危険な物を食べたり病気になっている時と同じように)体が何らかの異常を起こしている」と考えて吐き気をもよおさせます。これが酔う原因です。

 逆のパターンで、車の中で本を読む場合。視覚は、床に座って本を読む時と同じように止まっているので自分は動いていないと認識しますが、三半規管では車がカーブしたり揺れたるするたびに「自分は動いている」と認識するため、この場合も矛盾が生じて酔うことになります。

 それに加えて、揺れや移動を予測できないような時は酔いやすいというのもあります。車の運転をしている人は、自分がどう移動しようとしているかわかっているので酔いにくいです。バスの前の方の席に座ると、進行方向を見て「これからカーブする」ということを予測できるため酔いにくくなります。逆にバスの後ろなんかだと、進行方向側の風景が見難いので酔いやすいです。

 

 Quakeで、「その場で回転してると酔う」とか「目前に壁があってそのまま横に移動すると酔う」というのは、背景が流れる速度と視線移動によるものだと思います。移動は勿論、その場で回転するということも目の前の風景が横に流れていくことになります。この時に視線が風景につられて移動すると、視覚では「自分が移動している」と認識し、三半規管の「移動してない」という情報と食い違います。風景が移動する速度が速くなるほど、その違いは大きくなります。結果、酔います。

 「横に移動」の場合は、壁に接近すればするほど壁が横に流れていくのが速くなります(近くの物は大きく見えるため)。

 「視線がつられて移動」というのは意識せずしてしまうので厄介ですね。移動している物が目の前にあると、つい目で追ってしまう。すると視覚は「風景が流れている=移動している」と勘違いする。そして三半規管との矛盾が……。

 

 見た目が実際の見え方と違っても酔いやすくなるようです。例えば縦横比が歪んでいる(円が縦か横に潰れる)ような表示や、画面を斜めから見た時など。あと視野角度が広かったり。というより、画面に対する視野角度と画面の中の視野角度の違いが大きいと酔いやすいと思います。これもわかりにくいので図説。


視点と画面の
なす角が45°
 
画面に表示される
視野角度は45°
 
視野角度45°

一致し酔いにくい

 これなら見た目も普通なんですけど、次のような場合に歪んでいるように見えます。


視点と画面の
なす角が45°
 
画面に表示される
視野角度は
90°
 
視野角度が違う

ため酔いやすい

 ちなみに画面に近づく事で、画面に対する視野角度と画面に表示される視野角度を同じにする事もできます。


視点と画面の
なす角が
90°
 
画面に表示される
視野角度は
90°
 
視野角度
90°
一致するが……

 でも、こうすると回転や移動などで画面が流れる時に視線の移動を速く大きくさせなくてはいけなくなり、余計に酔いやすくなるかもしれません。画面全体を把握できなくなってプレイにも支障を来たすと思うので、この方法はやめておいた方が良いでしょう。これで酔いにくくなるかどうかもわかりませんし、目にも悪いです。テレビを見る時は離れてみましょう。

 予測できない動きで酔う、というのは3Dでも同じです。視線が動かないような動きなら良いんですけど、予測できない上に視線がつられて動くような場合は酔いやすいです。いきなりパン、しかも目で追えるような速度でしたりとか。


 視点移動が速かったり長距離だったり(大きく移動したり)すると、三半規管の情報との矛盾は大きくなります。そこで、視線を背景に合わさせず、あまり視線を動かない(極端にはキャラなど一点を見つめてプレイする)ようなタイプのゲームだと酔いにくいかもしれません。逆に画面が振動などで揺れたりした時、それにより視点が定まらない(視点がつられてブレる)ような人は酔いやすくなるでしょう。


 フレームレートは、高い方が良いんじゃないでしょうかね。要は「目で追えるか」と「追う速度が速いか」だと思います。フレームレートが低くて(15fpsとか)、目で追わずに瞬間瞬間の画像として捕らえると酔いにくいだろうし、フレームレートが高くても回転などの速度が遅ければ酔いにくいでしょう。

 でも、フレームレートが高い場合にカメラがいきなり移動したり回転すると問題ありますね。例えばキャラをカメラが追っかけていて、キャラがジャンプした時にカメラまでいきなり上を向くと危険でしょう。キャラの画面上の位置が変わらない(真ん中ならジャンプしても画面の真ん中のまま)ならまだマシかもしれません。

 20fpsはちょっと中途半端ですね。目で追うにしても、流れるように視線を移動すると画面がブレるように見えるし、いきなり移動や回転をすると視線の動きに迷いが出て動きに合わせにくいし。一番酔いやすいかもしれません。

 DOOM系のゲームは自キャラが見えてない(キャラの視点から見る)ため、どうしても背景を見ます。これが一番の原因かもしれません。

 ゲームをやると酔うのにテレビを見てても酔わないのは、ゲームならどんなカメラ移動だろうとできるけどテレビでは、空中から撮るだけでもクレーンが必要と、無茶・無駄なカメラ移動というのが少ない(できない)からでしょうか。映画やドラマではカット割りもありますしね。見てる方も、目で何かを追うという事はあまりしないと思います。

 

 3Dだと酔う、というのはある程度避けられない事かもしれませんが、いくつか対処法を。作り手の対処法としては、「回転・移動は速度を抑える」「予測できない動き方はしない」「視線が定まらないような動き方はしない」「視線を大きく速く動かさせるような動き方はしない」「視野角度は広いよりは狭い方が無難」「不自然な見え方をなるべく少なくする」「フレームレートは30fps以上」などでしょうか。対策ばかりすると迫力が失われるかもしれませんが。

 プレイヤーの自衛手段としては、「正しい姿勢でする(画面の正面に来る)」「画面から距離を保つ」「長時間しない(小休止を入れる)」「視線をあまり動かさないように意識する」「速くスクロールさせるような動き方はしない」などがあります。あと乗り物酔いと同じような対処方法も有効です。よく寝るとか。睡眠不足はいかんですよ。要するに、健康的なゲームのやり方が一番。

 

 これだけいろいろ言ってきましたが、これは飽くまで自分の推測にすぎません。多分いくつか間違いがあるでしょう。「これはこうじゃないか?」という意見があれば、掲示板に書いていってくださいね。

 

・画角

 最近のレースゲームにはよくリプレイモードがありますが、それが多くなり始めたのはやっぱりグランツーリスモ(PS)が出てからでしょうか。

 今の3Dレースゲームのリプレイで当たり前のように使われてるのが、ズームイン・ズームアウト(ズームアップ・ズームダウン)です。遠くから来たらその車にズームして、近くまで来たらズームアウト、通りすぎていく車をズームイン、とか。グランツーリスモのリプレイでも使われています。

 3Dでズームインをするには、画角を調整します。画角を狭めるとズームイン、広げるとズームアウトの効果が得られます。この画角というもの、視野角度と同じ意味です。カメラの視野角度のことを画角と言います。視野角度を狭めればズームインできます。

 ここでちょっと最初の方にやった画像を見てみましょう。わかりやすいよう順番を逆にします。


視野角度90°
遠近感が強い
 
視野角度45°
ちょっとズームイン
 
視野角度30°
もっとズームイン

 どんどん拡大していってるのがわかるでしょうか。画角を狭くすると、離れた場所からでも物体を拡大してみる事ができます。と言っても3DCGならどんな場所だろうと近づく事ができるんですけどね。でも、ズームインとカメラが近づくのとでは見え方が違います。

 この緑のワイヤーフレームの画像を見比べるとわかりますが(特に90度から45度の変化)、画角を狭める(ズームインする)と、だんだん遠くが近くなります。が、近くはあまり変わりません。

 図にするとこんな感じ。


自分が近づく場合。
全ての物体が移動
した距離だけ近づく
 
最初の状態
 
画角を狭めた場合。
遠くと近くで移動した
距離が違っている

 距離が遠ければ遠いほど近くなり、近ければ近いほど変わりません。このため、背景にはいくら近づいても近づけないけど画角を狭めれば近づいたように見えます。グランツーリスモでも、走行中は背景は普通なのにリプレイでは背景がやたらと拡大されて見えることがあります。これは走行中より画角が狭いためです。

 カメラが近づくと物体までの距離は近づいた分だけ一律で減算されますが、画角を狭めると物体までの距離が1未満の数値で乗算(つまり割り算)されたように近づきます。副作用として、普通のカメラでは不可能なほどに速く大きく画角を変えると風景が奥と手前で潰される、または伸ばされるような感じに見える場合があります。先程の画像でも、正方形が視線方向に潰れているのがわかるでしょうか。

 これを演出に利用する事もよくありますけどね。カメラを近づけながらズームアウトしたり。

 ズームインというのは、正確に言うと物体が近づいているのではなく、画角を狭めるせいで遠くの物ほど大きく見えるため近づいたように見えるんですけど、先程の例のように「距離に乗算されるみたいになる」と考えた方が理解しやすいでしょう。

 

 実際に使われている所を見るなら、まず前述のグランツーリスモのリプレイを見てください。大体のカットでズームイン・アウトが使われています。Replay TheaterのDemonstrationの、Demo 1なんかわかりやすいかもしれないですね、カメラ固定(画角もそのまま)のS字の後に思いっきりズームインする所があるので。固定に限らず、移動するカメラなんかもあります。

 ゼルダの伝説(N64)にやたらと使われてました。Zボタン押すだけでもちょっとズームイン。デモ部分では多用されてます。炎の矢を手に入れる時(ハイリア湖で…)、普通のカメラではできないほどに思いっきりズームアウトします。世界が曲がって見える……。

 1080°(N64)では自分で画角を広げたり狭めたりできるので、どうなるかを観察するなら一番かもしれません。

 僕が最初にズームイン・アウトを見たのはパイロットウィングス64でした。知名度低いですけど64本体と同時に発売されたソフトです。

 あぁ、また64ばっかり……。そうそう、セガラリー2(DC)ならCMでも見れますね。あとテレビ番組を見ていれば普通使われるでしょう。バラエティ番組なら使わる場面が多いかもしれないですね。

 今回画像作成用に作った、視野角度調節のサンプルデモを置いておきます。これで視野角度を変えた時の効果もわかるでしょうか。

fovtest.lzh(57KB)

 

 視野角度、3D酔い、画角の3本立て(?)でお送りしました。あまり他では説明されない分野なので(特に画角)、ちょっと取って置きだったんですけど、ネタが足りなくなってきたのでやってしまいました。3Dに関してはあとは環境マッピングぐらいか?それ以降は細かいネタを小出しにしていくことになるかもしれないですね。

 3D酔いに関してはまだまだわからないことが多いので、何か思う所があれば掲示板に書いてみてください。この文章に加筆します。

 次はSTGの作成について……の前に、企画めいたことでもやろうと思っています。ゲームデザインに関する話、かな?

 

written by Y.Ohde  e-mail : oode@alles.or.jp

back