PDA

Orijinalini görmek için tıklayınız : gmax ipuclari



admin
22-03-2004, 23:30
eski gmax forum yazismalarindan birkac not aktariyorum asagiya, bazi sorulariniza cevap verebilir kanatindeyim...
biber


bina catisini boyamak
---------------------
öncelikle, binayi standard bir nesne (box) yaptigini varsayiyorum.
üzerinde degisiklikler yapmanin en iyi yolu objeyi "editable mesh" yani degistirilebilir model durumuna getirmektir.
bunun için;
1.nesneyi seçip, sag tiklatip çikan menuden convert to editable mesh seçenegini seç.
2.komuta panelinde modify kismina gel.
3.selection kisminda polygon'i seç (içi kirmizi kare)
4.binanin çati bölümündeki polygonu tikla ve seç (çatinin düz oldugunu varsayiyorum)
5.M tusuna basip material editor'a geç
6.istedigin çati texture'ini seçili polygon'a uygula (çatiya)

gmax'ta bir isi yapmanin birden fazla yöntemi vardir.
hazir reçeteler maalesef yoktur.
her tasarimci kolay buldugu ve zaman içinde alistigi yöntemi uygular.
bol bol deneme yanilma yöntemine basvurmak , vakit buldukça

gece texture'i yapmak
----------------------
tamamladigin modeli fs2002'e export ederken çikan makemdl penceresinde options kulakçigini seçip, çikan listede "has night map" seçenegini isaretleyeceksin.
bu durumda gece oldugunda fs2002 gece texturesini arayacaktir.
gece texture'lari _LM.BMP uzantisina sahiptirler.
Eger mesela, normal gunduz texture'i bina.bmp ise, bina_lm.bmp diye bir gece texture yaratman lazim.
Aksi takdirde geceleri bina gri renkte gözükür.
Aslinda her model için gece texture'i hazirlaman gerekmez. Çünkü fs2002'nin isik ve karanlik efekleri hakikaten gerçekçi....
ancak gerçekten gerekli ise gece texture yarat.

fs'e export etmek
-----------------
1. objeleri tek tek koordinat olarak da yollayabilirsin, hepsini birarada merkez koordinatlari vererek te export edebilirsin, üç bes grup halinde de export edebilirsin.
2. gece texture'i model den bagimsiz. Tek model yapiyorsun eger bu modele gece texture'i uygulamak istiyorsan export seçeneklerinde has night light'i isaretliyorsun. Export ettikten sonra gece resmini hazirlayabilirsin.Tek fark gece resminin sonuna _lm.bmp geliyor.

polygonlarin yere yapistirilmasi
---------------------------------
bu hadiseye "no z-buffering" özelligi de deniyor ve gmax-fs2002 interaction'i ile bu problem halledilebiliyor. Gmax polygonlarini yere yapistirmak için gmax materialini z_bias_9_1 olarak isimlendirmek gerekir. (degisik objeler için sondaki _1'i; _2,_3,_4,.... gibi de tanimlayabiliriz.)
Export ettigimiz zaman artik polygon flash etmeyecek.

bglc ne ise yarar?
------------------
Su ise yarar; gmax'tan export ettigimiz objelerin asm ve azm dosyalari içeriklerini notepad ile açip, scasm kodunu degistirdikten sonra bglc ile recompile edip nihai bgl haline getirebiliriz. Mesela shadow özelliklerini degistirmek için...
Bglc dosyasi microsoft'un fs2002 effects SDK'sinda var...

Gmaxta apron yaptigimizi varsayalim.
Gmax scene'i içinde yaptigimiz polygona istedigin isim verebilirsin, ground_01 gibi.
Daha sonra material editoru çagirip material uyguluyorsun. Material editorda uyguladigin materialin ismi (material name) z_bias_9_1 veya z_bias_9_2 vs olacak.
Daha sonra bu materialin diffuse map'i olarak istedigin ve fs2002'in kabul edebilecegi bir bmp texture'i assign edeceksin, mesela concrete.bmp diye.
Nihayetinde bu ground_01 nesnesini fs2002'ye export ediyorsun. Ground polygonu mesela ground_01.bgl olarak export ediyorsun ilgili scenery folder'ina. Texture'i yani concrete.bmp'yi ise ilgili texture folder'ina yerlestireceksin.
Burada yere yapisma hadisesini saglayan material name'in z_bias_9_1 olmasidir.

yukarida bahsettigim material'lari z_bias_9_1 olarak isimlendirmek yöntemi yer polygonlarinin "flicker" etmemesini saglamak için idi. Bunun için normal olarak gmax objesini export etmek yeterli. Ayrica .asm dosyasi yaratip, bunu manual olarak düzeltmek gerekmiyor...

aircraft ground parking sign'lerindeki gölge bozukluklarini yoketmede kullandim. Uçak ground parking sign'larinda hem transparent texture uygulamistim, hem de yukarida bahsettigim "no-flickering" yöntemini uygulamistim. Fakat fs2002 bu iki özelligi ayni anda desteklemiyor. Bunun için ".asm" dosyasini notepad ile açip shadowcall özelligini iptal etmek gerekir.Daha sonra bglc ile tekrar "recompile" etmek kaydiyla...
BGLC konusunda sana bahsetmeye çalistigim yöntem de bu .

texturing
-------------
texture'lari bir nevi "cram" edip birarada toplamak iyi fikirdir ve texture memory'yi daha az zorlar.Cram etmek bir texture'i birkaç objeye uygulamak için kullanilir. Ama bunu mümkün oldugu kadar 256x256 bmp'de yapmak daha iyi olur. Bir 512x texture bir 256x texture'a göre dört kat daha fazla yorar texture memory'yi, dolayisiyla fps'yi düsürür.

simdi, her objeye tek texture uygulayacagimizi varsayiyoruz.Bu durumda objeyi seçip üzerine UVW Mapping modifier uygulamammiz lazim.Asagidaki metni gmax official tutorial'dan aldim

"You can use scanned and painted bitmap images as part of the material. The placement of these bitmaps is controlled by the UVW mapping coordinates. If an object has no UVW mapping coordinates, the texture will not be visible in the viewport. UVW mapping coordinates can be added to an object or sub-object selection through the use of UVW Mapping modifier.
To Change the texture placement
Click the Modify panel.
Apply the UVW Mapping modifier on the object.
Expand UVW Mapping by clicking the black box with the plus sign. Then select the Gizmo in the modifier stack.
On the main toolbar, click Select And Move, then move the UVW Mapping gizmo in the viewport. Move it down along the Z, x, axis and back along the Y axis .
Adjust the UVW Mapping gizmo "

Yani olay su;
objeyi seçtikten sonra üzerine UVW modifier uyguluyoruz.
tabii planar mi, box mi, silindirik mi? bu objenin özelligine bagli.
daha sonra modifier stack'ta UVW modifier altindaki gizmoyu seçiyoruz.
Ayni objeyi transform ediyormusçasina gizmoyu da transform edip, texture koordinatlarini degistirebiliyoruz.Transform etmekten kastim select& move ile hareket ettirmek, select & scale ile buyutup kucultmek ve select & rotate ile rotate etmek...


üç soru
--------
1) Gate'lerde yerde yer alan koruma ve park isaretleri plane ile yapiliyor dogru mudur? Burada dikkat etmem gereken bir nokta var mi? Ayrica binalari çevreleyen alanlarda yani yerdeki kaplamalari Airport'un polygonlari ile yapiyorum ne dersin?

2) Isik direklerinin gece yere isik düsürmesini nasil sagliyoruz? NOVA da çok kolay bir islemdi ama burada pek ugrasamadigimdan sorayim dedim. Belki de cevap bir önceki sorudaki yer desenleri ile ilgilidir?

3) Henüz kaplamalr ile bir sorun yasamadim ama LTAI de gördüm ki sen hemen hepsini DXT yapmissin, ayrica henüz basima gelmeyen bir diger sorun da bu BIAS olayi. Nerelerde karsima çikabilir?


1.Evet, hepsi plane onlarin ve mesela herbir körük veya uçak parkingi için ayri bir plane koyuyorum. Aslinda bir tane yapip, park sayisi kadar clone'layip daha sonra top-down viewde hepsini yerlerine yerlestiriyorum. Burada dikkat etmek gereken noktalar sunlar,
a. plane'i ilk yaparken gmax'ta topdown viewde yapmak gerek ki tam zemine otursun . Yani yükseklik z degeri 0 olsun.Ayrica her bir plane yaratilirken default olarak 4x4 polygondan mütesekkül olur ki bunu tek polygona indirmek fps açisindan yarali olur.
b. yapip bitirdikten sonra derli toplu olsun diye tüm plane'leri birbirine attach ediyorum (modifier stack'ten - editable mesh durumda attach komutu)
c. Simdi "z-bias" veya "no z-buffering" denilen ve plane'lerin "flicker" etmemesini saglayan (türk dil kurumundan ödül alacam bu gidisle) özelligi yaratmak için , yani yere tam yapisma saglamak için, plane'lere uygulanan material name'i z_bias_1 gibi yazmak lazim, texture name ne olursa olsun. Daha iyi bir açiklamayi su linkte bulabilirsin http://www.ltba.net/forum/topic.asp?TOPIC_ID=286 .
Ben de gmax ile beraber airport for windows'u kullandim, bazi yer polygonlarini airport ile yaratmada bir yan etkisi yok.

2. Isik direklerinden yere isik düsürme hadisesinde , yer polygonlarindaki isigin yansimasini yaratiyorum sadece. Aslinda lambadan yere vuran isigin huzmesini de yapabilirim (bir prizmaya transparan beyaz texture uygulayarak) ama ugrasmaya degmez diye düsündüm. Yer polygonundaki gece isigi yansimasi hadisesini ise photoshop'ta yapiyorum. Herhangi bir resme Lighting uygulayip, isiklandirilmamis bölgeyi ise alpha channelde transparan hale getirerek sadece yansiyan isigin fs2002 de gözükmesini saglayabiliriz. Karmasik gibi gözükse de basit bir süreçtir ve asil maharet photoshop'ta isiklandirma ve alfa kanali teknigini ögrenmektir.

3. DXT kaplamalari özellikle transparan uygulamalarda çok efektif sonuç veriyor (dxt1 with alpha veya tercihen dxt3 alpha seçenekleri). Aslinda hafif bir görüntü kalitesi azalmasi oluyor ama frame ratelere katkisi açisindan bütün kaplamalari dxt formatinda yapmak iyi olur. Her hangi bir normal bmp ile dxt1 bmp'sinin dosya büyüklügünü mukayese etmek bu konuda fikir verir.