Şu anda okyanusu yukarıdan aşağıya bakan bir oyun uyguluyorum. Aşağıdaki, biraz soyut bir doku kullanın:
Asıl doku saydamdır, berraklık için yeşilimsi rengi ekledim.
Şimdi sahip olduğum problem şu ki, bu dokuyu nasıl canlandıracağımı bilmiyorum, böylece su güzel görünüyor. Ben günah dalgasıyla dokusunu taşımak için çalıştı: texture.y += sin(angle)
. Elbette şimdi tüm doku hareket ediyor ve bu da gerçekçi değil gibi görünüyor. Çalıştığım bir sonraki şey, başka bir katman eklemek ve bir paralaks efekti uygulamak. Böylece su yüzeyinin altındaki yansımalar da hareket ederdi, ama çok daha yavaş. Biraz daha iyi görünüyor ama yine de ... yeterince iyi değil.
En iyi görünen animasyonun, eğer münferit hücreler büyüyüp büzülürse, bir ağ veya kumaş parçası gibi olacağını düşünüyorum. Birinin bu hücrelerin bir köşesine hafifçe vuracağını ve komşu hücrenin genişleyeceğini ve kendime doğru çektiğim (ya da iteceğim) hücrenin büzüşeceğini hayal edin. Bir çeşit yay gibi. (?). Ancak böyle bir şeyin nasıl uygulanacağı hakkında hiçbir fikrim yok:
- Bunun için matematik modeli nedir? Yaylı bir şey, kuvvetler itme / çekme?
- Ve eğer öyleyse, bu modeli verilen dokuya nasıl eşlerim? Tüm eğrileri tutmak ve ne olmasın ...
(Aynı zamanda verilen dokuyu nasıl canlandıracağınıza dair farklı fikirlere / cevaplara açığım. Gerçekçilik burada mesele değil, sadece hareketler gibi güzel görünen sular ...)
DMGregory'den Çözüm
Bu yazıda bir libgdx örneği yayınladım: 2d su animasyonu pürüzlü ve pürüzsüz değil (doku filtreleme hakkındaki cevaba bakınız)