2010-10-17 13 views
6

OpenGL kullanarak bir 3d oyun oluşturmaya çalışıyorum. Çok basit bir dünyam var ve şimdi bir karakter üzerinde çalışıyorum. Oval şekilli kafaya bir doku çizmek istiyorum. Haritalamayı nasıl yapabilirim? Düz yüzeye nasıl haritalanacağını biliyorum. Normals'ın yardım etmek için kullanılıp kullanılamayacağını merak ediyorum ama bunu daha önce hiç yapmadım ve Google'da arama yaptığımda hiç şansım yok.Haritayı kavisli bir yüzeye nasıl yapıtırırım?

Tüm bunları programlı olarak yapmayı ve Blender veya Maya'yı kullanmıyorsanız, bunun bir fark yarattığını düşünüyorum.

cevap

1

Gönderinizden geometri ile iyi olduğunu tahmin ediyorum.

Genel durumda otomatik haritalama için, tahmininiz iyi bir fikirdir - her köşe noktasından başlayıp, iyi tanımlanmış bir dış ilkel öğeye ulaşana kadar normal dışa doğru ilerleyin, ardından doku konumunu buradan içe doğru kopyalayın.

Bu durumda, muhtemelen geometrinizi nasıl oluşturduğunuzun anahtarı olduğunu düşünüyorum. Eğer 16 noktadan oluşan 8 halka oluşturma gibi bir şey yapıyorsanız, bir dış döngüde ve bir iç döngüde bir daire etrafında etkin bir şekilde yineleme yapıyorsanız, eş zamanlı olarak bir eşleme elde etmek için u ve v'yi yineleyebilirsiniz. Düzensiz ebatlı çokgenler elde edersiniz ve haritalama kutuplarda zahmetli hale gelir, ancak yüzün etrafındaki alan oldukça iyi çalışır.

Tüm alanlarda daha eşit büyüklükte bir çokgen ve güvenilir bir eşleme yapmak istiyorsanız, o zaman bir üst tesselated küp (örneğin, bir yüzey yerine yüzey başına 8x8 galonluk bir ızgara) ile başlayın ve doku koordinatlarını herhangi bir şekilde eşleyin. anlamlı yol. Bir küpün ağı açısından düşünün. Daha sonra, küpü merkezden her noktaya doğru çalışarak ve noktayı merkezden alanın yarıçapı olacak şekilde hareket ettirerek küpü bir küre şeklinde deforme edin. Son olarak, farklı eksenleri farklı ölçekleyerek küre'yi oval şekline deforme edin.

İlgili konular