Neden birçok oyunda Y var?


19

Okulda z ekseninin yukarıda olduğunu öğrendim. Blender gibi modelleme yazılımlarında da aynıdır. Ancak birçok oyunda y ekseni yukarı kalmıştır.

Sebebi nedir?


Aslında, burada üniversitede birçok insan bir 2D görüntü çizerken y'yi yukarı doğru çekiyor (tahmin et çünkü 2D y de yukarıda ve genellikle örnekleri gösterirken 3D'yi 2D'nin genellemesi olarak kullanıyoruz). Okulda bunun için gerçekten bir kural öğrendiğimizi hatırlamıyorum.
Aufziehvogel

4
Basit cevap: Milyonlarca yıl boyunca matematikçiler XY grafiklerini X'in sağa ve Y'nin yukarı doğru gittiği kağıda çizdiler ve derinlik eklendiğinde kağıttan içeri giren Z oldu. O kadar basit bir cevap değil: kimse bir şey üzerinde anlaşmıyor, neden keyfi eksenler üzerinde anlaşıyorlar? =)
Patrick Hughes


Bu sayacı 2D için de sezgisel buluyorum, belki de Y'nin aşağı indiği XNA ile başladığım için. Ancak arkadaki şeyler önce çizilmeli ve ekran boşluğunda daha yüksek olması genellikle daha uzakta anlamına gelir. Bu, tilemaps çizerken bazı y'leri ters çevirir ve mantık garip hale gelir.
Madmenyo

Başlangıçta Z ile ZY grafikleri ile çalışsaydık, o zaman bu sorun olmazdı - sadece bir X ekseni tanıtırdık ve onunla yapılırdık. (Ya da, benzer şekilde, YX grafiklerimize bir W ekseni ekleseydik, bu karışıklığa da sahip olmazdık.)
Little Endian

Yanıtlar:


46

Bence koordinat eksenlerinin yönü, kritik düzlemin farklı olduğu farklı alanlardan tutuculardır ve X / Y bu kritik düzlemle hizalanmıştır. Bazı uygulamalarda zemin düzlemi en önemlisiydi, bu nedenle X / Y zemindi ve Z buna dik olarak sona erdi. Bununla birlikte, oyunlar için kritik düzlem genellikle ekran (özellikle de 2D olduklarında ve 3D'ye geçmeye başladığında) ekran.

En büyük iki 3D sanat aracı olan 3ds max ve Maya arasında bu tür bir ayrım görebilirsiniz. Z ekseni maksimum 3ds, çünkü bu mimari araçlardan büyürken, Y ekseni Maya'da yukarı, çünkü bu film yapım araçlarından büyüdü.

Herhangi bir aracı okulda öğrendiklerinizle karşılaştırırken fark etmeniz gereken önemli olan şey, bunların tamamen keyfi olmasıdır. Her şeyi tutarlı tuttuğunuz ve farklı koordinat sistemleri arasında doğru bir şekilde çevirdiğiniz sürece eksenlerin hangi yöne yönlendirildiği gerçekten önemli değil.


3

Çoğunlukla, 3D ile yapılabilecek her şeyin bir ekran alanı dönen küp veya paralaks kaydırma veya benzeri bir şey olduğu zamanlardan daha eski. Bu tür uygulamalarda Z, "derinlik" idi çünkü X ve Y, ekran düzleminin eksenleriydi. Demolar daha da geliştikçe, orijinal sözleşmeler kaldı çünkü çalışan hiçbir şeyi değiştirmemek daha kolay.

Bugünün oyunlarının neden dikey eksen olarak Y'ye sahip olduğuna gelince - farkı açıklamayan birçok kötü yazılmış öğretici var. Genellikle birincil hareket düzleminin X ve Y eksenleri üzerinde olması en yararlıdır (böylece çoğu 2D hesaplamanın kodda takas eksenleri gerektirmez). Çoğu yan kaydırıcı için, ekran düzlemine (X / Y) oldukça doğal olarak rastlanır. Macera oyunları ve benzerleri için, X / Y yatay düzlem kadar iyi çalışır (yerçekimi yönüne dik), çünkü oyun içi haritalara, gamepad kontrollerine, arazi yükseklik haritalarına ve diğer birçok şeye mükemmel şekilde eşleşir.


2

Y = yukarı / aşağı eğildiğim kadarıyla ve Z = derinliği, yerçekiminin her zaman (-Y) yönünde olduğu fizik üzerine dayanır ve daha sonra 3D eklemek , temel bir şeyi değiştirmek istemediğiniz anlamına gelir , böylece derinlik yapıldı.

Z = yukarı / aşağı yönteminde bu matematikçilere bir atış olduğunu. çünkü Z / ekseni uzatıldığında X / Y masanın üzerinde düz olan kağıda çizildiğinden, kağıttan çıkıyordu ve bu nedenle yukarı çıkıyordu. mühendislerinizin çoğu da bu sözleşmeyi kullanacaktır.

verilen araç tarafından kullanılan sözleşmeyle ilgili olarak: Maya ve Unity'nin Y-up'ı var (muhtemelen fizik geçmişi olan biri tarafından tasarlandı). 3DsMax ve Unreal ise Z-up'a sahiptir (muhtemelen matematikçiler / mühendisler tarafından tasarlanmıştır). bununla birlikte, tutarlı bir sistemin kullanılması gerektiğinden, bunların sadece bir gün alınan bölünmüş bir karar olabileceği de söylenebilir.

çünkü bu soru bir modelleme aracına odaklanıyor ve bir oyun geliştirme Soru-Cevap sitesine yerleştiriliyor. hangi koordinat sistemine vereceğinizi incelemek ve buna uyduğunuzdan emin olmak isteyebilirsiniz.

ayrıca bazı sistemin eksen sisteminin sert ve kalıcı olduğunu ve diğerlerinin değiştirilebileceğini (Blender ve Unreal'da değiştirilebileceğini düşünün, ancak yanlış olabilir)


1

Çünkü oyunlarda kullanılan koordinat sistemi monitörün boyutuna dayanmaktadır. Bilgisayar herhangi bir şey oluşturduğunda, [0, 0] 'ın x ve y koordinatını veren sol üst köşeden başlar. Görüntü oluşturma ekranın sağ tarafına doğru ilerledikçe, görüntü oluşturma aşağı hareket ettiğinde sırasıyla x değeri artar, y değeri artar. Koordinat sistemi temel olarak 2B boşluğudur, ancak başlangıç ​​noktası ekranınızın ortasında değil sol üst köşede bulunur.

3DsMax ve Maya gibi 3D paketlerde, kendileri için önemli olan şeylere dayanarak kendi x ve y koordinatları tanımlarına sahiptirler. 3DsMax mimari tasarıma dayanıyordu, eğer 2B düzlemde bir şematik çizerseniz, y yukarıda. Esas olarak animasyon için kullanılan Maya'da zemin x, y ve yükseklik z'dir.


Maya'da ekran X / Y ve Z ekrana diktir.
12'de

Aşağı düştü, çünkü soru "Neden" değil "Nasıl" değil, neden olduğu gibi nedenleri yok , sadece nasıl olduğunu tekrarlıyor .
Maik Semder

Adil olmak gerekirse ilk kelime "çünkü" yani. bu cevap nedenlerin açıklanmasıyla başlar. Belki bu büyük bir açıklama değil, ama bir açıklama.
12'de
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.