Tuval tabanlı bir oyun motoru yapıyorum ve herkesin bir genel bakış açısından nasıl elde edileceğine dair iyi bir bilgi olup olmadığını merak ediyorum. Aradığım şey, geleneksel kuş bakışı ve eski SNES mode7 görünümü arasında bir yerlerde. 3B yanılsamasını vermek için sadece hafif bir açı.Mode7 benzeri perspektif, tuvalde dönüşüm mü?
Perspektif eğrileriyle başa çıkmak için en iyi yolun ne olacağını anlamaya çalışıyorum. 3B matrislerin aşırı gitmesine neden olacak şekilde rotasyon yapmıyorum, ama harita katmanlarını tutarlı bir açıyla işlemeye başlayabilmem gerekiyor ve açı ayarlanabilirse iyi olurdu. Ayrıca derinlik çözgü ile uğraşmak zorundayım. Temel olarak, piksellerin alt sırasının 1: 1 piksel genişliğinde ve yüksekliğinde olması gerekir, daha sonra, örneğin% 5 daha küçük veya bunun gibi bir şey elde edersiniz. İstediğim şey, büyük bir tuvali doku olarak temin edebilmek ve 0 ile 90 arasında bir kamera açısı sağlamaktır. Burada 0 mükemmel yataydır ve 90 kuş gözü görünümüdür.
Herhangi bir ilgili öğretici veya örnek kodunuz var mı? Ben biraz çevrimiçi arama yaptım, ama bulduğum her şey ya bu uygulamada kullanım için uygun ya da her türlü çılgın 3D skewing ve rotasyon şeyler yapmak, aşırı karmaşık görünüyor. Tek istediğim, normal kiremitli ızgarayı alıp, biraz döndürme, dönme ya da karmaşık şeyler gibi bir yere geri yatırmak.
İşte benim istediğim bir örnek; Here's an example. http://img801.imageshack.us/img801/2176/perspectivesample.jpg
Alt piksel sırası 1: 1 pikseldir ve üstündeki her satır giderek yatay ve dikey olarak kısalır. Üst orta bölgenin kaynak dokusu normal olarak alt orta bölgenin yüksekliğinin yaklaşık yarısı kadardır, fakat perspektife uyması için dikey ve yatay olarak büzülmüştür.
Düşüncelerim en iyi ihtimalle geçerli görünümünüzü düz, kuşbakışı görünümünde başka bir tuvale, üstte ve yüzde yaklaşık% 50 daha fazla alan ile render etmektir. Bunu gerçek görünür tuvale çizin.
Tek sorun, açıları hesaplamak söz konusu olduğunda matematiği emerim.
Çevrimiçi bir yerde grafiksel bir örneğiniz var mı? Sadece ne istediğine dair daha kesin bir fikir almak istiyorum. Teşekkürler – Castrohenge
İstediğimi göstermek için bir resim ekledim. Harita aslında 32x32 ızgara kalıbıdır, ancak perspektif eklemek için geriye doğru yatırılmıştır. –
Bu ilginç: http://acko.net/blog/projective-texturing-with-canvas –