Paralaks katmanlarını seviye düzenleyicide nasıl görselleştiririm?


9

Unity'de bir 2D oyun yapıyorum, ancak bu herhangi bir 2D oyun motoru için geçerli olacaktır.

Ortografik kameralarla çok düzlemli paralaks uygularsam, arka plan katmanının spritelarını yerleştirmek ve diğer katmanlardaki spritelarla nerede hizalanacaklarını bilmek zordur.

İlk içgüdüm, her katman için bir tane olmak üzere birden fazla kamera kullanmak ve arka plan katmanları için kameraların hareket hızını azaltmaktı. Bu, tüm arka plan spritelarını her kareyi hareket ettirmek zorunda kalmaz. Sorun, yarı hızda hareket eden bir katmanın, editörde görüntülendiğinde ana katmanın yarısını kaplamasıdır. Bu yüzden oyunu koyarken spriteların nereye yerleştirileceğini bilmek zor. Katman sayısını artırdıkça sorun katlanarak kötüleşir.

Bunu nasıl çözebilirim? Düzenleyicide onlarla çalışırken katmanları amaçlanan hareket hızlarına göre ters ölçeklendirmeyi denedim. Bu, tüm arka plan spritelarını ana katmana göre doğru konumlara yerleştirir, ancak korkunç bir şekilde bozulur.

Paralaks arka planlarını test etmek için sadece emip sürekli çalışan ve düzenleyen oyun arasında geçiş yapmam gerekir mi?


4
Böyle bir oyun yaptığımda, editördeki kamerayı sürükleyebilmeniz ve paralaksın nasıl çalıştığını görebilmeniz için yaptım. Yine de Unity'de böyle bir şeyin nasıl yapılacağından emin değilim.
Ocak'ta Tetrad

Yanıtlar:


1

Unity'ye aşina değilim, bu yüzden size yardımcı olamıyorum, ancak ihtiyacınız olan şey, örneğin, bir dizi kaydırıcı veya sayısal alanla çalışma sırasında bu değerleri ince ayar yapmak için bir GUI uygulamak gibi görünüyor. Çalışma anında belirlediğiniz değerleri (ölçek, hız, vb.) Değiştirmek için alanları uygulamak oldukça kolaydır, bu da size anında geri bildirim sağlar. Yerleşim için alanları veya tıklama sürüklemeli manuel yerleşimi kullanabilirsiniz (uygulanması biraz daha zor, ancak çok daha sezgisel olabilir).

Bu, bir değişikliğin her küçük kısmı için kodu derlemeden ve çalıştırmadan size tam kontrol sağlar. Sonunda mutlu olduğunuz bir görünüm ve izlenime vardığınızda, bu değerleri sabitler listenizde kullanın. Düzenlemekte olduğunuz değişken sayısı (örneğin, çok sayıda düzeydeki sayısız hareketli grafik konumu) nedeniyle bu çok göz korkutucu ise, bunu manuel ayarlama ile aynı işlevsellik ile ancak ayarlanan verilerin yaratılması ve saklanması sonucu.


Evet, bir seviye editörü kullanmak, kendiniz kodlasa da, ya da benim durumumda Unity ile mevcut editörle çalışacak şekilde ayarlamanın en iyi yoludur. Paralaks kurulumumu her katman için ayrı bir kamera nesnesiyle kodladım ve kameraların her biri, her kareye ana kameraya göre uygun şekilde hareket ettirilir. Ardından, ana kamera düzenleyicide sürüklendiğinde bile güncellenmelerini sağlamak için [ExecuteInEditMode] kullanın. Sadece ana kamerayı doğrudan hareket ettirmeyi hatırlamam gerekiyor.
TenFour04

1

Bir fikir: Ön katman için bir kamera yeterli. Yerleştirme, z düzlemindeki mesafeden uzağa serpilir ve mesafeyi döndürmek, o arka katmanı hareket ettirmek için bir kesir verir.

Örneğin, ön kameradan bir nesne mesafesi (10) arka plan katmanında 1/10 hareket eder. Mesafe 2 nesnesi, kendi katmanında 1/2 hareket eder.

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.