health

[tahir][bigposts]

vehicles

[tahir][bigposts]

business

[tahir][bigposts]

Game maker 3D dersleri 10:Model ekleme,oluşturma

Model oluşturma
Büyük modeller çizmeniz gerektiğinde, her adımda tüm farklı çizim fonksiyonlarını tekrar tekrar aramak oldukça pahalıdır. Bunu önlemek için modeller oluşturabilirsiniz. Bir model, bir dizi çizim ilkel ve şekillerinden oluşur. Bir model oluşturulduktan sonra, tek bir işlev çağrısı ile farklı yerlerde çizebilirsiniz. Modeller ayrıca bir dosyadan yüklenebilir veya bir dosyaya kaydedilebilir.
Farklı işlevler vermeden önce önemli bir nokta vardır: dokuların ele alınması. Daha önce tarif edildiği gibi, doku sprite ve arka planlardan alınır. Dokulardaki endeksler farklı anlarda farklı olabilir. Sonuç olarak, modeller herhangi bir doku bilgisi içermez. Sadece bir model çizdiğinizde, dokuyu sağlarsınız. Böylece modelde sadece bir doku kullanabilirsiniz. Daha fazla dokuya ihtiyacınız varsa, bunları bir arada birleştirmeniz (ve doku koordinatlarıyla dikkatlice ilgilenmeniz gerekir) veya birden fazla model kullanmanız gerekir. Bunun avantajı aynı modeli farklı dokularla kolayca çizebilmenizdir.

Model oluşturma, yükleme, kaydetme ve çizim için aşağıdaki işlevler vardır:


d3d_model_create () Yeni bir model oluşturur ve dizinini döndürür. Bu indeks, modellerle ilgilenen diğer tüm işlevlerde kullanılır.
d3d_model_destroy (ind) Belleği boşaltarak, verilen endeksle modeli yok eder.
d3d_model_clear (ind) Modelin belirli bir dizinle temizler ve tüm ilkellerini kaldırır.
d3d_model_save (ind, fname) Modeli belirtilen dosya adına kaydeder.
d3d_model_load (ind, fname) Modeli belirtilen dosya adından yükler.
d3d_model_draw (ind, x, y, z, texid) Modeli (x, y, z) konumunda çizer. texid, kullanılması gereken dokudır. Doku kullanmak istemiyorsanız -1 kullanın. Modeli döndürmek veya ölçeklemek istiyorsanız, daha önce açıklanan dönüşüm rutinlerini kullanabilirsiniz.

Her ilkel işlev için onu bir modele eklemek için bir eşdeğerdir. Fonksiyonlar, herbirinin ilk argüman modelinin dizinine sahip olması ve doku bilgisi sağlanması dışında önceki argümanlarla aynıdır.


d3d_model_primitive_begin (ind, kind) Belirtilen türdeki modele bir 3D ilkel ekler: pr_pointlist, pr_linelist, pr_linestrip, pr_trianglelist, pr_trianglestrip veya pr_trianglefan.
d3d_model_vertex (ind, x, y, z) Modele köşe (x, y, z) ekleyin.
d3d_model_vertex_color (ind, x, y, z, col, alfa) Kendi renk ve alfa değeriyle modele köşe (x, y, z) ekleyin.
d3d_model_vertex_texture (ind, x, y, z, xtex, ytex) Dokudaki konuma (xtex, ytex) sahip olan vertex'i (x, y, z) modeline ekleyin.
d3d_model_vertex_texture_color (ind, x, y, z, xtex, ytex, col, alfa) Modele doku ve renk değerleri ile vertex (x, y, z) ekleyin.
d3d_model_vertex_normal (ind, x, y, z, nx, ny, nz) Normal vektör (nx, ny, nz) ile vertex (x, y, z) modeline ekleyin.
d3d_model_vertex_normal_color (x, y, z, ny, ny, nz, col, alpha) normal vektörle (nx, ny, nz) ve kendi rengiyle ve alfa değeri.
d3d_model_vertex_normal_texture (ind, x, y, z, nx, ny, nz, xtex, ytex) Normal vektörle (nx, ny, nz) doku konumuyla modele köşe (x, y, z) ekleyin.
d3d_model_vertex_normal_texture_color (ind, x, y, z, nx, ny, nz, xtex, ytex, col, alfa) Modele normal (nx, ny, nz), doku ile birlikte vertex (x, y, z) ekleyin. ve renk değerleri.
d3d_model_primitive_end (ind) Modeldeki ilkel öğenin açıklamasını sonlandırın.

İlkellerin yanı sıra modellere temel şekiller de ekleyebilirsiniz. Yine fonksiyonlar hemen hemen aynı görünüyor ama bir model endeksi ve doku bilgisi olmadan:


d3d_model_block (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat) Modele bir blok şekli ekler.
d3d_model_cylinder (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat, kapalı, adımlar) Modele bir silindir şekli ekler.
d3d_model_cone (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat, kapalı, adımlar) Modele bir koni şekli ekler.
d3d_model_ellipsoid (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat, adımlar) Modele bir elipsoid şekli ekler.
d3d_model_wall (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat) Modele bir duvar şekli ekler.
d3d_model_floor (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat) Modele bir kat şekli ekler.

Modelleri kullanmak, 3D oyunlarınızdaki grafikleri hızlandırabilir ve bunları her kullanışınızda kullanmanız gerekir.

No comments:

Post a Comment