Deforme yüzeyler


10

Düz yüzeyler için deforme edici bir fizik davranışı gerçekleştirmeye çalışıyorum, ancak şimdiye kadar uygulama ile nasıl başlayacağımı bilmiyorum.

Yüzeyin şekli ne olursa olsun (uçaklar, küpler, küreler…), oyun varlıklarından (oyuncular, düşmanlar, nesneler…) pozisyonlarda küçük girinti yapmak istiyorum.

Açıklamak biraz karmaşık, bu yüzden neden bahsettiğimi gösterdim, işte bir küre örneği:

resimde deforme yüzey oyunu

Bu nedenle, yüzeyler kendilerini biraz deforme edebilmelidir (gerçekten yumuşak bir yatak veya kanepe gibi görünmek için). Yüzeylerimin düzgün bir deforme olması için muhtemelen yüksek bir tepe noktası sayısına ihtiyacı var, ancak büyük sorunum bu deformasyonu hesaplamak için matematik.

C / C ++ ile OpenGL programlıyorum, ancak doğru yönde herhangi bir tavsiye iyi olacak.

Yanıtlar:


5

Basit bir deformasyon için, üzerinde işlem yapmak üzere yüzey / nesne üzerinde bir nokta seçebilir, sonra buna bir dönüşüm (örn. Çeviri) uygulayabilirsiniz. Daha sonra, bu noktadan belirli bir mesafedeki tüm noktaları aynı şekilde dönüştürün, ancak dönüşüm gevşek kuvvetini seçtiğiniz noktadan daha uzağa yerleştirin.

Bu nedenle, bir karakterin altına girintili yapmak için üzerinde durduğu noktayı seçin ve aşağı doğru kaydırın.

Hangi efekti arşivlemek istediğinize bağlı olarak, dönüşümü global olarak, yerel olarak veya nesne merkezinden uzağa / uzağa uygulamak ve / veya farklı materyalleri simüle etmek için farklı işlevler kullanmak isteyebilirsiniz.

Sin / cos falloff işlevlerini kullanarak bir uçağa girintinin basit bir örneğini www.lighthouse3d.com/opengl/terrain/ adresinde bulabilirsiniz.


1
Bağlantıda 403 yasaklı hata var.
George Duckett

1
Peki ... 'lil hack o sırada (ayrıca, doğrudan söz konusu bölüme): web.archive.org/web/20100927141645/http://lighthouse3d.com/…
Exilyth
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.