多くのゲームでYが上がるのはなぜですか?


19

学校でz軸が上がっていることを知りました。Blenderのようなモデリングソフトウェアでも同じです。ただし、多くのゲームでは、y軸が上がっています。

理由は何ですか?


実際、大学では多くの人が2D画像を描画するときにyを上方向に描画します(2Dではyもアップしているため、例を示すときに2Dの一般化として3Dを使用することが多いためです)。学校で実際にルールを学んだことを思い出せません。
Aufziehvogel

4
簡単な答え:何百万年もの間、数学者は、Xが左右に、Yが上下に移動する紙にXYグラフを描き、深さが追加されると、紙から出てくるZになりました。それほど単純な答えではありません。誰も何にも同意しません。なぜ彼らは任意の軸に同意するのでしょうか?=)
パトリックヒューズ


このカウンターは2Dでも直感的です。おそらく、Yが下がるXNAで始めたからでしょう。しかし、後ろにあるものを最初に描画する必要があり、画面スペースのより高い位置は、多くの場合、遠くにあることを意味します。これにより、タイルマップを描画するときにyが反転し、ロジックが厄介になります。
マドメニョ

Zを上にしたZYグラフを最初に使用した場合、この問題は発生しないことに注意してください。X軸を導入して、これで完了です。(または、同様に、YXグラフにW軸を追加した場合、この混乱もありません。)
リトルエンディアン

回答:


46

座標軸の方向は、重要な平面が異なり、X / Yがその重要な平面に合わせられた異なるドメインからのホールドオーバーであると思います。一部のアプリケーションでは、グランドプレーンが最も重要であったため、X / Yがグランドであり、Zはそれに垂直になりました。ただし、ゲームの場合、重要なプレーンは通常画面です(特に2Dで3Dに移行し始めたときはもちろん元に戻ります)。したがって、X / Yが画面であり、ゲームが3DになったときにZが垂直になりました。

2つの最大の3Dアートツールである3ds maxとMayaの間には、このような違いがあります。Z軸は3ds maxで上昇しています。これは、建築ツールから生まれたためです。一方、M軸では、映画制作ツールから伸びたためY軸が上昇しています。

特定のツールを学校で学んだことと比較するときに気付く重要なことは、それがすべてall意的であることです。すべての一貫性を保ち、異なる座標系間で正しく変換される限り、軸がどの方向に向けられているかは実際には関係ありません。


3

3Dで作成できたのは、画面空間を回転させるキューブや視差スクロールなどでした。このようなアプリケーションでは、XとYがスクリーンプレーンの軸であるため、Zは「深さ」でした。デモがさらに高度になるにつれて、機能するものを変更しないほうが簡単であるため、元の規則はそのままでした。

まさに今日のゲームの縦軸がYである理由については、違いを説明していない、よく書かれていないチュートリアルがたくさんあります。通常、X軸とY軸に主な移動平面を配置すると便利です(ほとんどの2D計算ではコード内で軸を交換する必要はありません)。ほとんどのサイドスクローラーでは、スクリーンプレーン(X / Y)に自然に一致します。アドベンチャーゲームなどでは、X / Yはゲーム内のマップ、ゲームパッドのコントロール、地形の高さマップなどに完全にマッピングされるため、水平面(重力の方向に垂直)としてうまく機能します。


2

私がこれまでに収集した限り、Y =アップ/ダウン、およびZ =深度は、重力が常に(-Y)方向にある物理学に基づいており、3Dを追加することは、基本を変更したくないことを意味します。それで深みができました。

Z = up / downメソッドでは、数学者へのスローバックです。X軸は、Z軸を伸ばしたときにテーブル上で平らだった紙の上に描かれたため、紙から出てきたため、上がっていました。ただし、多くのエンジニアもこの規則を使用します。

指定されたツールで使用される規則に関しては、MayaとUnityにはY-up(おそらく物理学のバックグラウンドを持つ人によって設計された)があります。3DsMax、およびUnrealにはZ-up(おそらく数学者/エンジニアによって設計された)があります。ただし、これらは一貫したシステムを使用する必要があったため、ある日に行われた単なる分割決定でもあると言えます。

この質問はモデリングツールに焦点を当てており、ゲーム開発のQ&Aサイトに掲載されているためです。エクスポート先の座標系を調べ、それに準拠していることを確認したい場合があります。

また、軸システムがハードセットで永続的であるシステムと変更可能なシステムがあることも認識します(BlenderとUnrealで変更できるが、誤っている可能性があると考えてください)


1

ゲームで使用される座標系は、モニターの寸法に基づいているためです。コンピューターが何かをレンダリングするとき、それは[0、0]のxおよびy座標を与える左上隅から始まります。レンダリングが画面の右側に進むにつれて、xの値が増加し、レンダリングが下に移動すると、yの値が増加します。座標系は基本的に2D空間の座標系ですが、原点は画面の中央ではなく左上隅にあります。

3DsMaxやMayaなどの3Dパッケージでは、重要なものに基づいてx座標とy座標の独自の定義があります。3DsMaxは建築設計に基づいており、2D平面に回路図を描くとyが上がります。主にアニメーションに使用されるMayaでは、地面はx、y、高さはzです。


Mayaでは、画面はX / Yであり、Zは画面に垂直です。
13:07にジョッキング

質問は「なぜ」ではなく「なぜ」であるため、それが現状のままである理由についての理由が欠けているためそれがどうであるかを繰り返します
マイクセンダー

公正に言えば、最初の言葉は「理由」です。この答えは、理由の説明から始まります。たぶんそれは素晴らしい説明ではありませんが、それは説明です。
ジョッキング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.