giriiş #
Bu bölümde , farklı dosya formatlarını çeşitli şekillerde yükleyen ve sunan V-Ray dokularını ele alacağız. BRDF’ler (ve bazı ışıklar) doku eklenebilen birçok Renk, AColor ve Float parametre yuvasına sahiptir. Genellikle sadece doku dosyalarını yüklersiniz, ancak V-Ray ayrıca birçok prosedürel doku ve değiştirici görevi gören doku eklentileri (yani basit bir işlev uygulamak, dokuları birleştirmek, kanallardan birinden veri çıkarmak vb.) sunar. 200’den fazla doku eklentisi vardır , bu nedenle yalnızca en önemlilerine bakacağız. Eklentilerin çoğu belirli ana uygulamalar için yapılmıştır. Doku verilerinin kendisi dışında, V-Ray, UVW haritalama koordinatları oluşturmak veya geometri kaynağından gelen orijinal verileri değiştirmek için UVW oluşturucu eklentileri kullanır . Bir UVWGen eklentisi kullanmak zorunlu değildir.
TexBitmap #
Bu doku, bir bitmap arabelleğinden (sonraki iki maddeye bakın) gelen verileri, renk çarpanları, döşeme vb. gibi bazı ek parametrelerle birlikte kullanır.

Parametreler #
-
compatibility_with – Bu, farklı uygulamalardan dışa aktarılan dokuları birbirinden ayırt etmek için kullanılır. Değer şu anlama gelir: 0 – 3ds Max (bu aynı zamanda varsayılan değerdir), 1 – Maya, …
-
alpha_from_intensity – Eğer 2 ise, alfa değeri 1.0f’ye zorlanır; 1 ise, elde edilen alfa değeri renk yoğunluğu (compliance_with 0 ise) veya renk parlaklığıdır (compliance_with 1 ise); 0 ise, alfa değeri bitmap alfa değerinden alınır.
-
ters çevir – Doğruysa, ortaya çıkan doku rengi ters çevrilecektir.
-
invert_alpha – Eğer true ise ve invert açık ise, ortaya çıkan dokunun alfa değeri de tersine çevrilir. Eğer false ise, sadece renk tersine çevrilir.
-
color_mult – Doku rengi için bir çarpan
-
color_offset – Doku rengi için ek bir ofset değeri.
-
alpha_mult – Doku alfa değeri için bir çarpan
-
alpha_offset – Doku alfa değeri için ek bir ofset.
-
nouvw_color – Geçerli uvw koordinatı olmadığında kullanılacak renk
-
renk – Ortaya çıkan renk
-
out_transparency – Elde edilen şeffaflık
-
out_alpha – Elde edilen alfa değeri
-
çıkış_yoğunluğu – Elde edilen yoğunluk
-
uvwgen – Doku için UVW oluşturucu
-
Karo – 0: karo döşemesi yok; 1: UV’de karo döşemesi; 2: U’da karo döşemesi; 3: V’de karo döşemesi; 4: UV’de karo döşemesi, ancak filtreli karo döşemesi yok;
-
placement_type – Dokunun geçerli kısmının uygulanma şekli. Bu parametre, özel yerleştirme için dokuyu kırpmanıza veya boyutunu küçültmenize olanak tanır. Kırpma ve yerleştirme ayarları, dokuyu yalnızca bu harita ve haritanın tüm örnekleri için kullanıldığı şekliyle etkiler. Doku dosyasının kendisini etkilemezler. Olası değerler şunlardır:
-
varsayılan (0) – tüm doku geçerlidir
-
kırpma (1) – Bir dokuyu kırpmak, onu orijinal halinden daha küçük bir dikdörtgen alana indirgemek anlamına gelir. Kırpma, dokunun ölçeğini değiştirmez.
-
Yerleştirme (2) – Bir dokuyu yerleştirmek, haritayı ölçeklendirmenize ve onu döşemesinin herhangi bir yerine yerleştirmenize olanak tanır. Yerleştirme, dokunun ölçeğini değiştirebilir, ancak dokunun tamamını gösterir. Kırpma veya yerleştirme bölgesinin yerleşimini ve boyutunu belirten dört değerin tümü animasyonludur.
-
-
u – Geçerli doku sektörünün U koordinatı
-
v – Geçerli doku sektörünün V koordinatı
-
w – Geçerli doku sektörünün genişliği
-
h – Geçerli doku sektörünün yüksekliği
-
titreşim – Rastgele yerleştirme varyasyonunun miktarı
-
tile_u – Doğruysa yatay döşeme vardır.
-
tile_v – Doğruysa dikey döşeme vardır.
-
uv_noise_on – Doğruysa gürültü etkinleştirilir.
-
uv_noise_animate – Eğer true ise gürültü animasyonlu hale getirilir. Gürültüyü canlandırmak için “UV noise phase” kullanın.
-
uv_noise_amount – UV gürültü miktarı
-
uv_noise_levels – UV gürültü yinelemeleri
-
uv_noise_size – UV gürültü boyutu
-
un_noise_phase – UV gürültü fazı
-
bitmap – Doku için BitmapBuffer
Örnekler #
Aşağıdaki tüm örnekler, ana .vrscene dosyasındaki şu #include satırının yorum satırı olmaktan çıkarılmasıyla sahne paketi kullanılarak oluşturulmuştur .
Basit bitmap dokusu #
Sahne “vrscenes/map_01 TexBitmap.vrscene” şeklindedir.

Doku rengi, gain ve lift kullanılarak düzeltildi. #
Sahne “vrscenes/map_02 TexBitmap corrections.vrscene” şeklindedir.

BitmapBuffer kullanılarak doku gama düzeltmesi yapıldı. #
Sahne “vrscenes/map_03 TexBitmap & BitmapBuffer gamma.vrscene” şeklindedir.

Doku gama düzeltmesi MayaGamma kullanılarak yapılmıştır. #
Sahne “vrscenes/map_04 TexBitmap & MayaGamma.vrscene” şeklindedir.

BitmapBuffer #
Bu eklenti bir resim dosyasını yükler. Çok sayıda format desteklenir – kayıplı/kayıpsız, 8 bitten 32 bite kadar. Bu bir doku eklentisi değildir ve tek amacı TexBitmap’e veri sağlamaktır. Filtreleme ve gama için bazı seçenekleri vardır. Şu anda desteklenen formatlar HDR, EXR, PNG, BMP, TGA, SGI, JPG, PIC, TIF, PSD, VRIMG’dir. IFL dosyaları biçimindeki resim dosyası listeleri de desteklenir.
Parametreler #
-
filtre_türü – -1 – en yakın; 0 – filtreleme yok; 1 – mip-map filtreleme; 2 – toplam alan tablosu filtreleme; 3 – elips filtreleme; 4 – kullanımdan kaldırıldı, kullanmayın; 5 – keskin mip-map filtreleme
-
filter_blur – filtreleme için kullanılan bulanıklık parametresi
-
color_space – .hdr görüntüsünün renk uzayını belirtir, böylece ters eğri uygulanarak görüntü doğrusal bir renk uzayına getirilebilir. Olası değerler şunlardır:
-
doğrusal (0) – Herhangi bir düzeltme uygulanmaz.
-
gama düzeltilmiş (1) – Renk alanı Gama parametresi aracılığıyla kontrol edilir.
-
sRGB (2) – .hdr görüntüsü sRGB renk uzayındadır.
-
otomatik (3) – Otomatik düzeltmeler uygulanır.
-
-
gamma – Görüntü için gama düzeltme değeri. Örneğin, bitmap diske 2.2 gama düzeltmesiyle kaydedildiyse, işleme sırasında bu düzeltmeyi kaldırmak için 0.4545 girmeniz gerekir.
-
allow_negative_colors – yanlışsa negatif renkler sınırlandırılacaktır.
-
İnterpolasyon – Mip-map filtreleme için interpolasyon yöntemi. Aşağıdaki örneğe bakın. Olası değerler şunlardır:
-
Bilinear (0) – Görüntü değerleri bitmap’teki dört pikselden enterpolasyon yoluyla elde edilir. Bu en hızlı enterpolasyon yöntemidir, ancak sonuç sürekli değildir (pürüzsüz değildir) ve harita yer değiştirme veya kabartma haritalama için kullanıldığında yapaylıklar oluşturabilir.
-
bikübik (1) – Görüntü değerleri bitmap’teki on altı pikselden enterpolasyon yoluyla elde edilir. Bu en yavaş yöntemdir, ancak sonuçlar çok fazla bulanıklık olmadan pürüzsüzdür.
-
biquadratik (2) – Görüntü değerleri bitmap’teki dokuz pikselden enterpolasyon yoluyla elde edilir. Bu yöntem Bicubic enterpolasyondan daha hızlıdır, ancak görüntüyü çok fazla yumuşatabilir.
-
-
Dosya – Dosya adı; sırasıyla Mari veya Mudbox döşemeleri için etiketler veya belirli döşemeler için $nU ve $nV içerebilir; küçük harfli etiketler döşemelerin 0’dan başladığını, büyük harfli etiketler ise 1’den başladığını varsayar.
-
load_file – false olarak ayarlanırsa dosya yüklenmez.
-
frame_sequence – Birden fazla animasyon dosyası varsa ve bu dosyaların adlarında kare numarası geçiyorsa True değerini döndürür. Verilen ‘file’ dizesindeki “<frameNum>” ifadesinin geçerli kare numarasıyla değiştirilmesini sağlar.
-
frame_number – Görüntü dizileriyle çalışırken, bu parametre dizideki hangi görüntünün kullanılacağını belirtir. Parametre atlanırsa veya varsayılan değer (-2147483648) kullanılırsa, kare numarası geçerli kare zaman değerine bağlıdır.
-
frame_offset – Görüntü dizileri için başlangıç karesi uzaklığı
-
use_data_window – OpenEXR dosyalarında olduğu gibi veri penceresi bilgilerini kullanmak için true; aksi halde false
-
ifl_start_frame – Doku animasyonunun başlangıcını belirtir. Burada belirtilen kare numarası, sahne animasyonunun ilk karesinde oynatılacaktır.
-
ifl_playback_rate – Doku animasyonunun hızını, gerçek animasyon hızının bir kesri olarak kontrol eder. 1 değeri, doku animasyonunun normal hızda çalışacağı anlamına gelir. 2 değeri ise doku animasyonunun sahne animasyonunun iki katı hızda çalışacağı anlamına gelir.
-
ifl_end_condition – Görüntü dosyası listesi (IFL) bitiş koşulu. Bu seçenek, animasyonlu dokunun son karesine ulaşıldığında ne olacağını kontrol etmenizi sağlar. Mevcut seçenekler şunlardır:
-
Döngü (0) – Animasyon, Başlangıç Karesi seçeneğinde belirtilen kareden tekrar başlayacaktır.
-
Ping Pong (1) – Animasyon, Başlangıç Karesi seçeneğinde belirtilen kareye ulaşana kadar geriye doğru oynatılacak ve ardından tekrar ileriye doğru oynatılacaktır.
-
(2) Tut – Animasyon son karede duracak ve sahne animasyonunun sonuna kadar görüntülenecektir.
-
Örnek – Görüntü dosyası listesi (IFL) dizisi
#
Aşağıda, bir resim dosyası listesi (IFL) sekansı için varlıklar içeren örnek bir vrscene bulunmaktadır. Bu, V-Ray’de standart bir animasyonlu sahne olarak işlenebilir.
vrscene’deki BitmapBuffer ayarlarıyla ilgili bir not :
-
BitmapBuffer::frame_sequence değeri 1 olarak ayarlanmıştır; bu da BitmapBuffer::file içindeki IFL’den BitmapBuffer::frame_number değerini otomatik olarak ayarlamalıdır.
Aşağıdaki SettingsOutput parametrelerinden de bahsetmekte fayda var:
-
anim_start – Animasyon aralığının zaman birimi cinsinden başlangıcı, örneğin frame_start / frames_per_second.
-
anim_end – Zaman birimi cinsinden animasyon aralığının sonu, örneğin frame_end / frames_per_second.
-
frame_start – Animasyon aralığının başlangıcındaki kare numarası.
-
frames_per_second – Birim zamanda istenen kare sayısı ( SettingsUnitsInfo::seconds_scale ile ilgilidir ve 1.0f / frames_per_second’a eşit olmalıdır).
-
Kareler – Anahtar karelerin listesi.

IFL dizisi ile BitmapBuffer için kod örneği #
Örnek – İnterpolasyon Parametresi #
Bu örnek, farklı enterpolasyon yöntemlerinin etkisini göstermektedir. Aşağıdaki resimlerde, bu dokuyla yer değiştirmiş bir çaydanlık gösterilmektedir:

Farklı enterpolasyon yöntemlerinin, farklı pürüzsüzlük seviyelerinde biraz farklı sonuçlar ürettiğine dikkat edin.

TexBitmap ve BitmapBuffer için Kod Örneği #
RawBitmapBuffer #
BitmapBuffer ile aynı işlevi görür, ancak diskteki bir dosya yerine bellekteki sıkıştırılmamış verileri kullanır.
Parametreler #
-
filtre_türü – 1 – en yakın; 0 – filtreleme yok; 1 – mip-map filtreleme; 2 – toplam alan tablosu filtreleme
-
filter_blur – filtreleme için kullanılan bulanıklık parametresi
-
Renk alanı – 0 – doğrusal, 1 – gama düzeltilmiş, 2 – sRGB
-
gamma – Görüntü için gama düzeltme değeri. Örneğin, bitmap diske 2.2 gama düzeltmesiyle kaydedildiyse, işleme sırasında bu düzeltmeyi kaldırmak için 0.4545 girmeniz gerekir.
-
allow_negative_colors – yanlışsa negatif renkler sınırlandırılacaktır.
-
İnterpolasyon – Mip-map filtreleme için interpolasyon yöntemi (0 – doğrusal olmayan, 1 – kübik çift, 2 – ikinci dereceden çift)
-
pikseller – Bitmap’te kullanılan ham pikseller
-
pixels_type – 0: 8-bit RGBA, 1: float RGBA, 2: 8-bit RGBE, 3: 16-bit RGBA, 4: float RGBA
-
genişlik – Ham bitmap’in genişliği
-
yükseklik – Ham bitmap’in yüksekliği
TexPtex #
Doku, bir PTex dosyasından yüklenmiştir. Bu, BitmapBuffer kullanmaz. PTex, bir alt bölüm veya çokgen ağının her yüzüne ayrı bir doku uygulayan ve bu nedenle UV ataması gerektirmeyen bir eşleme sistemidir. Bir PTex dosyası, yüz sınırları boyunca filtreleme için kullanılan mipmap’ler ve komşuluk verileriyle birlikte keyfi sayıda doku depolayabilir. PTex kavramı hakkında daha fazla bilgi için aşağıdaki Notlar bölümüne bakın .

Parametreler #
-
ptex_file – Ptex doku dosyası
-
Görüntü dizisini kullan –
-
resim_numarası –
-
görüntü_ofseti –
-
ifl_start_frame – Aşağıdaki 3 parametre BitmapBuffer’dakiyle aynıdır .
-
ifl_playback_rate –
-
ifl_end_condition –
-
filter_type – Doku için kullanılan filtre türü
-
genişlik – filtreleme için kullanılan genişlik parametresi
-
bulanıklık – filtreleme için kullanılan bulanıklık parametresi
-
Keskinlik – Bu seçenek yalnızca Filtre Türü Bicubic olarak ayarlandığında kullanılabilir ve filtrenin uyguladığı keskinleştirme miktarını kontrol eder.
-
lerp – Mipmap seviyeleri arasında enterpolasyon. Bir ptex dokusunun, temelde farklı çözünürlüklerdeki doku sürümleri olan birkaç mipmap seviyesi olabilir. Bu, nesnenin kameraya daha yakın kısımlarına daha yüksek çözünürlüklü bir doku, uzaktaki kısımlarına ise daha düşük çözünürlüklü bir sürüm uygulanmasına olanak tanır. Bu seçenek etkinleştirildiğinde, V-Ray, sonunda pürüzsüz ve kusursuz bir doku oluşturmak için farklı mipmap seviyeleri arasında enterpolasyon yapacaktır.
-
anisotropic_filtering – Keskin açılardan bakıldığında dokuların işlenmesini iyileştiren anizotropik filtrelemeyi etkinleştirir.
-
reverse_vertices – Köşe noktalarının sırasını tersine çevirir. Belirli bir ağ için bir ptex oluşturulur. Bazen ptex’i oluşturan program, ağın köşe noktalarını ters sırada numaralandırır. Bu durumda nesne düzgün şekilde dokulandırılmaz ve bu seçeneği etkinleştirmek sorunu çözer.
-
cache_size – Bir PTex dosyasındaki bilgiler depolama için sıkıştırılmıştır. Kullanılabilmesi için sıkıştırılmış halinin açılması ve RAM’de saklanması gerekir. Bu parametre, mevcut doku için ne kadar bellek (MB cinsinden) kullanılabileceğini kontrol eder. Değer tüm doku için yeterince büyükse, bilgiler yalnızca bir kez çıkarılır ve tüm işleme boyunca saklanır. Aksi takdirde, bilgiler sürekli olarak sabit sürücüden okunur, çıkarılır ve gerektiğinde kullanılır. Bu parametrenin düşük değeri, büyük PTex dosyalarının yavaş işlenmesine neden olabilir.
-
auto_color – Otomatik renk kanalı seçimini kullanın. Bir ptex dosyası keyfi sayıda kanala sahip olabilir ve hangi kanalın hangi bilgiyi içerdiğini belirlemenin kesin bir yolu yoktur. Bu seçenek etkinleştirildiğinde, V-Ray Kırmızı, Yeşil ve Mavi için doğru kanalı seçmeye çalışır. Bu seçenek kapalı olduğunda, kullanıcı hangi kanalın hangi bilgiyi içerdiğini manuel olarak belirtir.
-
r_channel – Kırmızı kanal olarak kullanılacak kanalın indeksi.
-
g_channel – Yeşil kanal olarak kullanılacak kanalın indeksi.
-
b_channel – Mavi kanal olarak kullanılacak kanalın indeksi.
-
auto_alpha – Otomatik alfa kanalı seçimini kullanın.
-
a_channel – Alfa kanalı olarak kullanılacak kanalın indeksi.
-
alpha_type – Alfa değerinin nereden alınacağı.
-
Renk alanı – 0 – doğrusal, 1 – gama düzeltilmiş, 2 – sRGB
-
gamma – Görüntü için gama düzeltme değeri. Örneğin, bitmap diske 2.2 gama düzeltmesiyle kaydedildiyse, işleme sırasında bu düzeltmeyi kaldırmak için 0.4545 girmeniz gerekir.
-
renk – Son doku rengi
-
color_gain – Doku rengi için bir çarpan
-
color_offset – Doku rengi için ek bir ofset değeri.
Notlar #
-
PTex hakkında daha fazla bilgiye buradan ulaşabilirsiniz.
-
PTex dosyaları, bir nesnenin ağ yapısının topolojisiyle yakından ilişkilidir. Bu nedenle, topolojiyi değiştiren herhangi bir değiştirici (TurboSmooth ve MeshSmooth dahil) PTex dokusunun işlenmesini bozacaktır. Nesneyi yumuşatmak istiyorsanız, Subdivision Type ve Displacement amount değeri 0.0 olan Displacement Modifier | GeomDisplacedMesh değiştiricisini kullanabilirsiniz.
-
PTex dokularını yer değiştirme için kullanırken, bitişik çokgenlere uygulanan filtrelemedeki hafif farklılık nedeniyle çokgen kenarları boyunca küçük çatlaklar oluşabilir. Filtre genişliğini 0,0 olarak ayarlamak durumu iyileştirecektir, ancak bu durum PTex dosyasının en ayrıntılı mip-map seviyesinin yüklenmesine ve dolayısıyla gerekli belleğin artmasına neden olacaktır.
-
Yer değiştirme için PTex dokuları kullanırken, özellikle doku negatif renklere sahipse, GeomDisplacedMesh değiştiricisinin min_bound ve max_bound parametrelerini ayarlamak gerekebilir . Aksi takdirde, doku değerleri kırpılabilir.
