Projemde, son derece ayrıntılı bir ağı (giysi) deforme etmek için bir dışbükey ağa 'uyması' için bir sistem oluşturuyorum. Bunu yapmak için, dünya uzayında hangi noktada sapmanın meydana geldiğini ve kapsamını belirlemek için öğenin derinlik haritalarını ve 'gövdeyi' kullanıyorum.
Sadece tıkanmış tüm köşeleri 'gövde' ile tanımlanan derinliklere dönüştürmek oldukça etkilidir ve iyi bir performansa sahiptir, ancak ağın özelliklerini korumama probleminden muzdariptir ve yanlış pozitifleri önlemek için kapsamlı bir kaldırma gerektirir.
Bunun yerine, derinlik sapma haritasından, deforme olmuş kafesin tüm köşelerini (dünya uzayında) 'itecek' bir dizi basit 'deforme edici' oluşturmak istiyorum. Bu şekilde, ağın tüm özellikleri korunur ve uygunsuz köşeleri gidermek için karmaşık sezgisel taramalara gerek yoktur.
Ancak bu deforme edici setin nasıl üretileceğinden emin değilim. Küresel bir yüzeyi belirli bir aralıktaki bitişik sapmaların her bir parçasıyla eşleştirmeye çalışan bir algoritma gibi bir şey hayal ediyorum, ancak bunu nereden başlayacağımı bilmiyorum.
Deforme edici üretmek için uygun bir filtre veya algoritma önerilebilir mi? Ya da başka bir deyişle bir derinlik haritasını 'sıkıştırmak' mı?
(* İtin çünkü dışbükey bir 'kabarık' insansı uydurur, böylece dönüşümler yüzeyin POV'sundan 'küresel' olur.)
Düzenleme: İşte haklı olarak ne elde etmek çalışıyorum gösteren bir görüntü / diyagram.
Ayrıca, bu soru yayınlandığından beri bu sorun üzerinde çok daha fazla çalıştım ve nihayetinde bunun için derinlik haritalarının uygun olmadığına karar verdim deforme edicilerin nasıl elde edileceğini çözmedim:
- Deforme örgü tam değilse, edilmektedir haritadaki texel almak mümkündür anlamına (onlar yakın kameraya doğru tarafta olanlar tarafından gizlenmiş olmadığından) dışbükey örgü diğer tarafta olmak.
- Deformasyon başına 6 haritaya ihtiyaç duyulduğu için verimlilik umduğum kadar yüksek değildi.
Bunların çözülemez olduğu değil, ancak GPU üzerinde çalışan çekirdeklerde çarpışma testi içeren diğer çözüm, daha yüksek kalitede sonuçlarla sonuçlandı ve o kadar hızlı olmasa da çok daha basitti.
Yine de bu soru sorununun ilginç olduğunu ve tercih edileceği durumlar olduğundan emin olduğum için herhangi bir cevapla ilgileneceğini düşünüyorum.