Peki bu tür bir etki yaratmaya nasıl devam edebilirim? Piksel gölgelendiricilerden, karışım modlarından / filtrelerden, bitmap efektlerinden, parçacık sistemlerinden mi bahsediyoruz? Gerçekten platforma özgü değil. Sadece teoriyi arıyorum, ancak belirli örnekler veya bağlantılar harika olurdu. Ve daha fazla ayrıntı daha iyi.
Yukarıdakilerin hepsi.
Kaynak kodları ile kurcalamadığınız sürece, bunu nasıl yaptıklarını tam olarak bilemeyebilirsiniz .
Ancak, iki oyunun bakış açısından, her ikisinde de bağlı ve gemiyi izleyen geometri gibi görünen şeyler var . Temel bir nokta-hareketli parçacık sistemi olmayabilir, ancak hepsi bu kadar zor değil.
Bazı oyunlar kavisli bir çizgi algoritması kullanacak ve bundan bir köşe listesi oluşturacak ve izin iki uç noktasına uygulanan farklı dokularla biraz doku oluşturacak, böylece bir noktada egzoz sıcak görünüyor ve diğer tarafta daha serin ve uzaya gidiyor.
Bir oyuncunun gemisi ilginç bir durumdur, çünkü hareketler tahmin edilemezdir ve ya eğri algoritmanızın kontrol noktalarını güncellemeniz ya da en son gemi pozisyonunu örneklemeniz ve buna dayanarak tepe konumları oluşturmanız gerekebilir.
Bir göz atın bu cevap size kontrol noktalarının kapalı çalışan bir şey yapmak istiyorsanız önceki bir sorudan. Gereksinimleriniz için, oyuncuların konumunu örneklemek muhtemelen çok daha iyi çalışacak ve daha kolay anlaşılacaktır.
İşte size düşünmenizi sağlayacak bir şey:
Oynatıcı konumunu örneklemeye başlayın. Bu noktalar , geometrinin oluşturulabileceği izinizin gövde segmentlerini oluşturacaktır. Ayrı bir kuyruk segmenti tutmak iyi bir fikirdirAyrı bir dokuya sahip . Bir oyuncunun ne zaman döndüğünü tespit etmek ve bu segmentlerin sıklığını artırmak isteyebilirsiniz, aksi takdirde bloklu eğriler elde edersiniz. Sürece etkisi bu olmadığı sürece :)
Belirli olaylarda, segmentlerin üretimi durdurması gerekir ve mevcut olanların kuyruğa en yakın vücut segmentinden başlayarak yavaş yavaş aşağı doğru başlaması gerekir (ancak kuyruğun kendisi değil). Bu, oyuncunun yavaşlaması durumundadır. Ancak, segmentlerin küçültülme hızı oyuncunun gemi hızıyla eşleşiyorsa, çıkarıldığı anda yeni bir segment oluşturulacaktır. Dolayısıyla bu tam hareketli bir gemi için de işe yarar. Patika uzunluğu her zaman aynı olacaktır - bu da akışkan, tutarlı bir akış sağlar.
Kafa segmenti daima oyuncunun mevcut pozisyonunda olmalıdır. Herhangi bir dönüş tespit edilirse, mevcut kafa segmenti bir gövde segmentine eklenir ve yeni bir kafa segmenti başlatılır. Tekrar et. Dokularınıza bağlı olarak, her segmentin de maksimum uzunluğu olabilir.
Bu bize bu etkiyi modellemek için kolay bir yol sağlar: daha fazla segment sağlanmadığı sürece etkinin her zaman kendiliğinden azalacağı / büzüleceği ve büzülmesini önlemek için hızlarla oynayacağı fikrinin ortadan kaldırılması.