Düşük Poligonlu Karakter Modelleme - Bölüm 1
(2498 kelime) (1517 okuma)
DÜŞÜK POLİGONLU KARAKTER MODELLEME (MODELING)
DOKU KAPLAMA
(MAPPING)
İSKELET SİSTEMİ
UYGULAMA (RIGGING)
CANLANDIRMA
(ANIMATION)
Yazan
: Takashi <
sindeath@yahoo.com >
BÖLÜM 1
Giriş
Merhaba, bildiğimiz üzere güncel oyunlarda 3 boyutlu tasarım programlarıyla inşa
edilmiş modeller kullanılmakta. Modellerin 3 boyutlu tasarım programlarında
yapılması biz model tasarımcı adaylarının bu programlardan herhangi birini -yada bir
kaçını seçmemiz anlamına geliyor. Benim seçimim 3D Studio Max (5.1)
'tir ve sanırım bir aksilik olmazsa yıllarca da öyle kalacak:) Dolayısıyla yazımız
da Max üzerine oluyor. İlk aşama tamamlandı: Program seçimi. Eğer
Max'i seçmişseniz ve başında en az 1 - 1,5 yıl geçirdiyseniz yazının kalanını
huzur içinde okuyabilirsiniz, yok ben bu gazdan sonra başına geçicem diyosanız bu
yazı kafanızı karıştıracak, gözünüzü korkutacak ona göre.
Gelelim diğer unsurlara: Karakter modelleme konusunda profesyonel
değilim (ama hedefim Karakter Mühendisi olmak) yaklaşık 2,5 yıldır modelleme
yapıyorum ve bir çok çileli aşamayı geride brakarak bu günlere gelebildim. Ayrıca
herhangi bir oyunda herhangi bir modelim adım atmış bile değil yani sakın ahkam
kestiğimi düşünmeyin, kendi halinde bir tasarımcıyım beni öyle değerlendirin.
İlk modelimi (Ezik) ayağa kaldırdığımdan bu yana aklımda olan bir
şeyi gerçekleştirme fırsatı buluyorum: Öğrendiklerimi birileriyle paylaşmak.
Sizlerde eğer yeni başlıyorsanız yada bir noktaya gelmişseniz eminim faydalı
olacaktır çünkü amatör yada pro olsun tecrübe tecrübedir ve kolay kazanılmaz.
Eğer traş kısmını sıkılarak ta olsa okuduysan ve yazının kalan kısmına geçecek
heves bünyende hala mevcutsa ikinci aşama da tamamlanmış demektir: Sabır.
Unutmayalım sabır bu işte en kritik unsur çünkü modelden sıkılırsanız o HD'nizde
unutulmuş bir klasörde öyle adım bile atamadan kalıverir ta ki kazara silene kadar.
Yapacağımız işlemler çok detaylı ve birden fazla unsura hakim olmamız gerekiyor.
Sabrımızı korumak için kendi metodlarımızı seçmeliyiz örn: planlı çalışmak,
amaçlı çalışmak, çalışmalarımızı eleştirecek birileriyle irtibat halinde
olmak, modeli sevmek çocuğumuz gibi, bir parçamız gibi (abartmıyorum), sanatta
duygusallık ön planda olmalı unutmayalım.
Hayal edin; yapacağınız modeli günlerce hayal edin. Zira aynen
böyle yapıyorum, bir model üzerinde çalışırken diğerini hayal ediyorum böylelikle
elimdekini bir an önce(baştan savmadan -bu önemli) bitirecek motivasyonu sağlıyorum.
Yeni bir modele başlarken unutmayın bir öncekinden farklı ve yeni şeyler olmalı ve
benzer unsurlarıda en iyi şekilde kullanmayı bilmeli. Çünkü Max çok ilginç bir
program bana göre, bir doğruya birden fazla yolla ulaşabilirsiniz, bu tamamen sizin
oluşturduğunuz çalışma sistemine bağlı. Kendi çalışma sistem(ler)inizi
oluşturun. Bu da üçüncü aşama: Çalışma Sistemi. İlerledikçe
neleri kastettiğimi daha iyi anlayacağız. Gelelim son aşamaya, uzatmadan söylüyorum:
Kullanılacak yardımcı unsurlar örn. Eklentiler [Character Studio, Texporter],
boyama programları [Photoshop, ZBrush vs.], Referans resimler
ki bence modellemede en önemli unsur(benim için)
Buraya kadar basit bir başlangıç için nelere ihtiyacımız olduğunu
kabaca belirledik. Son olarak eklemek istediklerim şunlar. Bir modelin herhangi bir
motora entegre edilmesi, ince ayarları vb. konularda çok fazla bilgi sahibi değilim
amma velakin bir oyun projesinde çalışan karakter mühendisinin programcıyla
müşterek çalışması, azda olsa programcılıktan anlaması, oluşabilecek
aksaklıklara müdahele edebilecek kapasitede olması gerektiğini biliyorum. Bu
doğrultuda elime geçen bir çok oyunun editörleriyle az da olsa pratik yaparak temel
bazı dinamiklere aşina olmaya çalıştım şu zamana kadar. Sizlere de tavsiyem oyun
editörlerini (Worldcraft, UnrealEd, Siege Editor, RuneEd) deneyerek
bazı çalışmalarınızın sonucunu görmenizdir. Böylelikle olaki bir projede yer
alırsanız(inşallah) az da olsa, amatörce de olsa modelinizi bir oyun motorunda
hareketlendirmiş olmak sizi ekibinize adapte etmekte yaralı olabilir diye
düşünüyorum. Unutmayalım amaçsız her başlangıç heba olmaya mahkumdur (Höö?)
diyoruz ve çalışmaya başlıyoruz.
1. DÜŞÜK POLİGONLU KARAKTER MODELLEME(MODELING)
Modelleme şu
basamaklarda gerçekleşiyor.
1. Konsept Çizimleri:
Kafamızdaki modeli eğer yeteneğimiz varsa Da Vinci pozisyonu dediğimiz şekilde önden
ve yandan çizmeliyiz, yetenek yoksa köşedeki çarpiya basıp programı kapatalım ve
bir dahada modellemenin mo sunu ağzımıza almayalım değil tabiki. Varsa yetenekli bir
sanatçı arkadaşımıza illüstre ettirelim yada Poser programında istediğimiz
karaktere en yakın karakterin önden ve yandan render'larını referans olarak alalım(bu
biraz ilkel bir çözüm ama başlangıç için neden olmasın?) Arkadaşlar Referans
resimler çok önemli. Ne yapacağımızı bilmeden yola çıkarsak yapacaklarımızın da
sınırı olmaz, yani iş uzadıkça uzar. En kötü ihtimalle basit bir karakter tasviri
bile işimizi görmeye yeter. Ben çizim ve illüstrasyon yapabildiğim için detaylı
çizimleri tercih ediyorum. Karakterimin saçından yüz hatlarına hatta kıyafetinin
detaylarına kadar herşeyi çiziyorum. Böylelikle olmasını istediğim sonucu iki
boyutlu olarak görebiliyorum. Çizimde dikkat edilmesi gereken bir nokta: önden çizimle
yandan çizimin bire bir eşit olması. Aksi takdirde modellerken sorunlar yaşanacaktır.
Söylediğim gibi bu çizimleri yapabilmek özellikle sözkonusu olan insan modeli ise
oldukça yetenek ve anatomi bilgisi istiyor.
Örnek
modelimin çizim aşaması şu şekilde gerçekleşti. Karakterimin tüm karakteristik
özelliklerini yansıtan önden çizimi tamamladım. Yalnız şekilde gördüğünüz
üzere vücudun görünen sağ tarafına ağırlık vermedim. Nedeni birebir simetriyi
çizimle yakalamam imkansızdı. Bu çizimi taradıktan sonra Photoshop'ta tam ortadan sol
tarafı seçtim ve sonra bu kısmı aynen yansıttım(mirror). Böylelikle simetrik oldu.
Yandan çizimi yaparken önden görünüşü referans alarak yaptım. Her iki çizimide
ayrı ayrı 500x500 pixellik sayfalara ortaladım ve Max'te kolaylık sağlayacağına
inandığım için resimleri negatif(invert) yaptım.
Sıra geldi
yüz karakteristiğini belirleyen referans resimlere. Karakterim gürbüz bir türk
delikanlısı olacaktı, sivri çene, kalın kaşlar, belirgin elmacık kemikleri, iri
kulaklar ve iri dudaklar. Bu çizimleri de önden görünüşü referans alarak daha
detaylı ve büyük çizdim. Önden görünüşte olduğu gibi yüze yansıtma uygulayarak
simetriyi sağladım. Her iki görüntüyüde yine 200x200 pixellik sayfalar ortaladım ve
negatif yaptım. Böylelikle Max'te çalışabilmem için 4 adet Referans Resmim oldu.
Son olarak
karakterimin saç modeline ait referans resimleri elde ettim, nasıl mı? Önden(Genel)
görüntü ile yandan görüntüdeki kafayı 200x200 sayfaya ortaladım, aynı şekilde
negatif yaptım ve diğer resimlerde olduğu gibi BMP formatında kaydettim.
İpucu:Ortalama
işlemini yaparken Katmanımızın opacity değerini düşürelim ve diğer resmi alt
tarafta tutalım. Böylelikle daha kolay ölçeklendirme yapabiliriz. Anladığınız
üzere Yüzü Kafadan bağımsız, Saçı Kafayla müşterek ve kafayıda vücuttan
bağımsız olarak çalışmam gerektiği için 6 farklı referans resme ihtiyaç duydum.
Sizler daha basit detaylarla çizerseniz başlangıç için daha iyi olu kafanız
karışmaz.
2. Referans Resmin Programa Çağırılması:
Modellemeye yüzden başlayacağım için yüze ait referans resimlere ihtiyaç
duyacağız. Front görüş penceremize 1 adet kare plane çizeceğiz(Boyutu önemli
değil çünkü eminim hepinizin ölçü birimi aynı olmayacak, ben cm ölçü birimini
kullanıyorum) Plane'e Modifier List'ten UVW Mapping/Planar Mapping uygulayıp Alignment
Panel alanındaki x,y,z, düzlemlerinden size uygun gelenini Fit ederek UVW Map Gizmo'sunu
Plane'e eşitlemelisiniz. Material Editor'den boş bir materyalin Difuse slotuna Bitmap
ekleyelim, Bitmap'imizde Yüzün önden görünüşü olsun. Eklediğimiz materyalin Front
görüş penceresinde göründüğünden emin olalım.
Aynı Plane olduğu yerde kopyalayıp ilk plane le 90 derece kesişecek
şekilde sola çevirelim. Bunuda Right görüş penceremiz için kullanacağız(Dikkat:
Left görüş penceresinde görünüyorsa 180 derece çevirin yada mirror yapın, ben
Right'a göre çalıştım) Material Editor'den yüklü Bitmap'i Yüzün yandan
görünüşü ile değiştirelim. Bu arada unutmayalım her iki Plane'de Referans Kordinat
Sistemimizin tam merkesinde olmalı. x.0 y.0 z.0 Bu sayede modelimiz yaparken
kasılmayacağız.
Not: Aynı işlemleri Vücut ve saç için yapacağımızdan bu
planeleri ileriki aşamalarda da kullanacağız ama nasıl? tabi ki sadece resimleri
değiştirerek, OK?
Eveeet Yüze ait referans
resimler de tamamsa modellemeye başlayabiliriz.
3. Yüz-Kafa-Saç Oluşturma:
Max'te birden fazla modelleme tekniği mevcuttur. Her sanatçı kendine göre bir teknik
seçer, Kutu modelleme, Spline modelleme, Patch Modelleme, NURBS modelleme. Ben yüz için
Spline modelleme kullanacağım. Kutu modelleme de yapabiliriz ama dedim ya herkes kendine
göre bir yol seçiyor, bana kolay ve pratik gelen teknik bu. Çok enteresandır, bir
arkadaşım ortaya bir Plane çiziyor onu Patch'e çevirip bağlantı noktalarından
çekerek, büzerek adam bile yapıyor. Bana sorarsanız sözkonusu olan bir yüz-kafa
modelemeyse en pratik olan Spline'dir. Size daha çok esneklik sağlıyor.
Right
görüş penceresinden yüzün dış hatlarına ait Spline'ı içiyoruz. Burada önemli
nokta koyacağımız vertex'lerin adedi ve yeri. Çok sık olmamak kaydıyla ve
ayrıntıları yutmayacak şekilde kafatasının tepesinden boynun başlangıcına kadar
Vertex'lerimizi koyarak ilk Line'ımızı oluşturalım. Bu Profil yüzün dış
hatlarını belirliyor.
Front
penceresinden sırasıyla Göz, Dudak, Göz çukuru, Elmacık kemiği çıkıntısını,
Çene kemiği, Burun deliği, Burun Kemiği detaylarını ana Line'ın Vertex modunda
Create Line komutu ile oluşturalım. Oluşturulan bu Segmentler Referans Koordinat
Sistemimizin 0 noktasında yani merkezde oluşacaktır. Bunları Right Görüşünden
Vertex yada Segment modunda iken Referans resmimizi baz alarak bulunması gereken yerlere
getirelim. Şu ana kadar herşeyi tek bir Line içerisinde çalıştık unutmayalım.
Eğer farklı Line'la ile çalışılmışsa Attach komutu ile tek bir Line
oluşturulmalı.
Yüzün
karakteristiğini oluşturan ayrıntıları bitirdikten sonra bu ayrıntıların birbirine
bağlanması gerek. Burada Araç kutumuzu(Toolbar) özelleştirmemiz gerekiyor, Ne için
mi? Vertex'lerin birbirine kitlenmesi için. Peki bu ne için? Ana Line'ımıza Surface
uyguladığımızda boşluk kalmaması için. Peki Nasıl? Customize menüsünden Grid And
Snap Settings panelini açalım. Snap tab alanında şunlar işaretli olmalı Vertex,
Grid, End Point. Option tab alanında Display ve Use Axis Constraints, değerleri de
kendiniz deneyerek uygulamalısınız dediğim gibi hepimizin UI ayarları bir
olmayacaktır. Bu panelle işimiz bittiğine göre kapatıp Main Toolbar'daki Snap Toggle
(Üzerinde 3 olan U mıknatıs) butonunu aktive etmeliyiz.
Perspektif
View de Ana Line'ımız seçiliyken Vertex Modunda Create Line komutu aktif olsun. Ve
sırayla ayrıntıları bağlamaya başlayalım. Unutmayalım birbirinden bağımsız ama
olması gereken yerlerde duran dudak, göz vb. ayrıntıları bağlayacağız.
Line'ımızın üzerine geldiğimizde Cursor'ımız Vertex'lere gelince Kare olur, bu şu
demek: Ben bu Vertex'i kaptım, diğer Vertex'i seçersen aralarına bir Segment
oluştururum:)) Eğer Bahsettiğim Kare oluşmuyorsa yada alakasız yerleri kapıyorsa
Grid And Snap Settings Panelindeki değerlerle oynaman gerek.
İpucu:
Perspektif görüş penceresinde sık sık modelin etrafında dönerek 3 boyut
kavramınızı yitirmemeye çalışın, bu çok faydalı, ha bir de arada bir kalkıp
kahve alın, sigara yakın.
Bu bağlama
tekniğini sadece bu ayrıntıları birbirine bağlamak için kullanacağız, sakın tüm
kafayı bu şekilde yapmaya çalışmayın gerek yok. Önce Line'a Surface Uygulayın.
Treshold en fazla 1.0 olmalı, Flip Normal işaretli olmalı. Ardından Modifier Panel
alanından tekrar Vertex moduna geçip aşağıdaki Show End Result Butonunu (Raptiyenin
hemen sağındaki) aktif hale getirin. Böylelikle Vertexleri bağlarken oluşan
Yüzeyleride görebileceğiz.
Line'ımız
git gide yüzün ayrıntılarını oluşturmaya başladı değil mi? Eğer Oluşan
yüzeylerden dolayı Referans resimleri görmekte zorlanıyorsanız Modifier Panel
Alanından Surface'in ışığını kapatarak görmenizi sağlayabilirsiniz. Modelinizin
karakteristiğinden fazla ödün vermeden Vertex'lerde küçük oynamalar yapabilirsiniz.
Her Segment'te yüzey oluşana kadar bu örme işlemini devam ettirin. Surface'i aktive
ederek sonuçları görün ve ona göre hareket edin. Çünkü bazen Vertex'lerin Bezier,
Corner, Smooth, Yada Bezier Corner olmalarından kaynaklanan ters yüzeyler oluşabilir.
Bizim modelimiz Low Poly (Düşük poligonlu) olacağından bütün Vertex'leri seçip
Corner yapmak daha uygun.
Not:
Buraya kadar anlattıklarımı zaten bilenler vardır, bilmeyenler de bu aşamaya kadar
takıldıkları yerleri ancak ve ancak mail yoluyla çözmelidirler. Bilmediğiniz ve emin
olmadığını denemelerden sakınırsanız Yüzün geometrisini bozmamış olursunuz.
Gelelim Son
noktaya: Yüzün tüm yüzeyleri oluştuysa Surface Modifier'i de kusursuz ve deliksiz bir
şekilde uygulandıysa Elimizdeki Line-Vertex-Segment yığınını artık POLY'e
çevirebiliriz. Neden POLY? Poly Max 4 ile gelen yeni bir standart. Oyun ve benzeri
uygulamalar için geliştirilmiş bir standart ve bence MESH'ten çok daha avantajlı.
Yüze ait
Surface uygulanmış Line'ı Convert to Editable POLY komutunu kullanarak POLY'e
çevirelim. Oluşan POLY'e mirror uygulayıp copy yapalım ve Front penceresinden Yüzün
her iki tarafına ait POLY'leri bitiştirelim. İstersek bu işlemi Move - Transform Type
in paneli yardımıyla matematiksel olarak yapabiliriz, çok ta iyi olur. Şöyle
düşünelim: Hani o ilk oluşturduğumuz profil Line'ı vardı ya, o line üzerindeki
Vertex'ler Her iki parçada da X ekseni üzerinde 0 (Sıfır) noktasında olmak zorunda,
çünkü onları kaynatacağız(Weld).
Front'da
sağdaki Yüzü Element modunda seçim, Attach komutu ve ardından yüzün diğer
yarısının seçimi. Hooop artık ikisi aynı POLY'nin iki ayrı elementi. Tek vücut
olmak için tek eksiğimiz Yüzün tam ortasında Referans Koordinat Sisteminin X
ekseninin tam 0 (Sıfır) noktasında bulunan Vertexlerin kaynatılması. Front'da
Poly'nin Vertex modunda yukarıdan aşağıya tam ortadaki Vertexleri seçelim ve Edit
Vertices panelindeki Weld Settings'i tıklayıp WELD TRESHOLD değerini fazla abartmadan
artıralım. Bakalım ne oldu? X ekseni üzerinde Editable Poly'nin 0 noktasındaki
vertexleri kaynamış ve kafa'ya ait yüz tamamlanmış oldu
Kafatasının
arka kısmı içinse pratik bir yol önereceğim. İsteyenler yukarıdaki örme işlemi
ile (-ki anlatmaya gerek duymuyorum zaten biliyosunuz) yapabilir ya da bu pratik yolu
seçebilir, Chose one please...
Pratik yol:
Referans resimleri baz alarak Right, Front ve Top görüş pencereleri yardımıyla bir
Geosphere oluşturalım ve fazla yüzeyli olmasın. Sonra Editable Poly'e dönüştürüp
yüzle kesişen poligonları silelim. Geri kalan parçayı Yüze Attach edip Vertex Weld
ile bu yarım küreyi kafaya ekleyerek kafatasının(Kafanın) arka kısmını
oluşturalım.
Not:
Kafa oluştuktan sonra Referans resimler baz alınarak kulak ve boyun da aynı işlemlerle
oluşturulabilir. Bu kısımları sizlere bırakıyorum. Ayrıca bundan sonraki kısımlar
sanırım Max'i kullanmayı bilen arkadaşlara yönelik olucak bu yüzden hızlı
anlatacağım, Çünkü kafada en önemli olan kısım Yüz dü ve bunu başarıyla
bitirdik.
Saç Oluşturma:
İlk yaptığımız Plane'lere saça ait Referans Resimleri yerleştirelim. Elimizde
referanslar olduğuna göre modelleme tekniğini seçmek size kalıyor. Ben burada Spline
modelleme yapmayı uygun görmedim çünkü çok karışık bir saç modeli(Eleman biraz
Cool da :)) En uygun modeleme tekniği Loft.
Front
Görüş penceresinden Soldaki perçemi yapmakla başlayabiliriz. Bu perçeme ait bir
spline oluşturalım ve sonra herhangi bir NGon çizelim. NGon 5 köşeli
olsun. Spline'ı NGon'la Loft edelim. Elimizde 5 Segmentli bir Loft nesnesi var. Bu
nesneyi Poly'e Convert edip yerine koyalım ve Vertex modunda herbir Segment'e ait 5
Vertex'i perçemin şekline göre Scale/Rotate ederek perçeme benzetelim.
Saça
dikkat ettiyseniz muz salkımı şeklinde. Bu şu demek oluyor; İlk perçemi kopyalayarak
yerlerine koyabilir ve bunları Vertex modunda birbirinden farklı hale getirebilir ve
referans resme benzetebiliriz. Tüm salkımlar bitince bunları tek bir Element haline
gelecek şekilde Attach edip WELD yapabiliriz. Son olarakta Poligon modunda salkımların
üst kısmını(kafanın üstü oluyor) Create komutu ile yeni poligonlar oluşturmak
suretiyle kapatabiliriz.
Eveeeeeet:
İşte Gürbüz Anadolu delikanlımızın sert suratı ve tuhaf saçı bitmiş oldu.
Güzel de oldu, Hadi bakalım...
Geriye şu işlemler kaldı:
- Kıyafetlerin
Oluşturulması,
- Vücut uzuvlarının
oluşturulması,
- Mesh'te ince ayarlarla
modellemenin tamamlanması
(Bölüm 2
için tıklayın >>)
Takashi :: 2003 :: www.oyunyapimi.org
|