Kısaca
- Blender API’sinde Image veri bloğu; dosyadan, paketlenmiş veriden veya oluşturulmuş görselden kaynaklanabilir.
- Piksel tamponundaki değişikliklerin görüntülenmesi için `update()` çağrısı kullanılabilir.
- Image Texture özellikleri; uzatma biçimi, alfa kullanımı ve tekrarlama gibi ayarları kapsar.
- Kaynak belgeler, düzenlenmiş tampon kaydedilmeden görsel veri bloğunu kopyalamanın değişiklikleri kopyaya taşımayabileceği konusunda uyarıyor.
Bu rehberde neler öğreneceksiniz?
Blender’ın Python API’sinde bir görseli Image veri bloğu üzerinden ele almayı, piksel tamponunda küçük bir değişiklik yapmayı ve sonucu güncellemeyi öğreneceksiniz. Ayrıca ImageTexture için belgelenen temel ayarların ne anlama geldiğini, mimari sahnelerde doku hazırlarken hangi noktaların kontrol edilmesi gerektiğini göreceksiniz.
Bu rehber, bir görseli materyale bağlama veya sahneye belirli bir menü yoluyla ekleme anlatımı değildir. Kaynak belgeler Image ve ImageTexture veri türlerinin özelliklerini açıklıyor; bu nedenle adımlar, bu özelliklerle sınırlı tutuluyor.
Gereksinimler
Blender içinde çalıştırılabilen Python kodu ve
bpyAPI’sine erişim gerekir. Kaynak örnek,bpy.data.imagesüzerinden görsel oluşturuyor.
Kaynaklar Blender’ın güncel API belgeleridir; belgelerde belirli bir Blender sürüm numarası belirtilmiyor. Kullanılan sürümle API özelliklerinin uyumunu ayrıca kontrol edin.
Belgeler hesap, lisans veya ücret koşulları hakkında bilgi vermiyor; bu rehber bunlara ilişkin bir gereksinim ileri sürmüyor.
Örnekte görsel, kod içinde oluşturulur. Harici dosya yolu veya hazır doku dosyası kullanılması gerekmez.
Adım adım: görsel oluşturma ve piksel tamponunu güncelleme
1. Yeni bir görsel veri bloğu oluşturun
Image veri bloğu, bir görsel ya da video dosyasına, paketlenmiş veriye veya oluşturulmuş içeriğe işaret eden bir sarmalayıcıdır. Görselin piksel tamponu ve çözünürlük gibi verileri ise görüntü tamponunda tutulur. Belgelerdeki örnek, bpy.data.images.new() çağrısıyla yeni bir görsel oluşturuyor.
Aşağıdaki kod, örnek bir görsel oluşturur, boyutunu konsola yazdırır, tamponun ilk dört değerini değiştirir ve görünümü günceller:
import bpy
image = bpy.data.images.new("Facade_Test", 1024, 1024)
print(image.size)
print(image.pixels[0:4])
image.pixels[0:4] = (0.5, 0.5, 0.5, 0.5)
image.update()
print(image.pixels[0:4])pixels, kayan noktalı değerlerden oluşan piksel tamponudur. Bu örnekte yalnızca ilk dört değer atanıyor; bu, dokunun tamamını veya bütün bir mimari yüzeyi boyamak anlamına gelmez. update() ise tampon değişikliğinin görüntülenen görsele yansıtılmasını sağlar. size özelliği tamponun genişlik ve yüksekliğini piksel cinsinden verir.
2. Görsel tamponunu yeniden ölçekleyin
Görsel veri bloğunda scale(width, height) yöntemi bulunur. Belgelerdeki örnek, tamponu 1024 × 720 boyutuna ölçekliyor. Kendi çalışmanızda hedef ölçüyü kodda açıkça belirtin; ardından size değerini kontrol edin. Ölçekleme, görsel tamponunu değiştirir; tek başına dosya kaydetme işlemi değildir.
Özellikle cephe kaplaması, zemin deseni veya iç mekân malzemesi için hazırlanan görsellerde, sahnede kullanılması planlanan boyutu önceden belirlemek iş akışını daha anlaşılır kılar. Ancak belgelerde belirli bir render çözünürlüğü ya da mimari doku için önerilen piksel ölçüsü verilmediğinden, bu değerler projeye göre seçilmelidir.
3. Image Texture ayarlarını ihtiyaca göre değerlendirin
ImageTexture, bir Image nesnesine referans verebilir ve görüntünün sınırlarının dışında nasıl davranacağını belirleyen extension özelliğine sahiptir. Belgelenen seçenekler şunlardır:
REPEAT: Görseli yatay ve dikey yönde tekrarlar.EXTEND: Görselin kenar piksellerini dışarı doğru uzatır.CLIP: Görselin sınırları dışını saydam yapar.CLIP_CUBE: Görsel dışındaki alanı küp biçimli bir bölgeyle sınırlar ve dışını saydam yapar.CHECKER: Görseli dama tahtası düzeninde tekrarlar.
Texture özellikleri arasında repeat_x ve repeat_y tekrar çarpanları, use_alpha alfa bilgisinin kullanımı, invert_alpha alfa değerlerinin ters çevrilmesi ve use_interpolation piksellerin seçilen filtreyle enterpole edilmesi bulunur. Belgelerde repeat_x ve repeat_y için aralık 1–512 olarak veriliyor. Bu ayarları kullanırken hedefin tekrar, kenar uzatma veya sınırda kesilme olup olmadığını belirleyin.
Bir görselin alfa kanalı da farklı biçimlerde ele alınabilir. Image.alpha_mode seçenekleri STRAIGHT, PREMUL, CHANNEL_PACKED ve NONE değerlerini içerir. Kaynak belgeler bunların farklı alfa gösterimlerini tanımladığını belirtiyor; dolayısıyla kanal paketlenmiş bir dosyanın alfa bilgisini sıradan saydamlık gibi yorumlamamak gerekir.
4. Kopyalama ve kaydetme davranışını kontrol edin
API belgelerindeki önemli uyarı, görsel veri bloğu kopyalansa bile görüntü tamponunun kopyalanan görsele taşınacağının garanti edilmemesidir. Tamponda yaptığınız değişiklik henüz diske kaydedilmediyse, copy() ile üretilen yeni veri bloğu düzenlenmiş tampon yerine görselin ilk durumunu koruyabilir. Belgelerdeki örnekte kopya güncellendiğinde de boyut ve renklerin, özgün görselin oluşturulduğu andaki hâline döndüğü gösteriliyor.
Görseli kaydetmek için save(); sahne render ayarlarını kullanarak belirli bir yola kaydetmek için save_render() belgelenmiştir. save() içindeki save_copy seçeneği, görselin mevcut dosya yolunu değiştirmeden kopya kaydetmeye yarar. Bu nedenle düzenlenmiş bir tamponu çoğaltmanız gerekiyorsa, önce kaydetme ve kopyalama sırasını test edin; yalnızca veri bloğunun kopyalanmasına güvenmeyin.
Sık yapılan hatalar
update()çağrısını atlamak: Tampon değerleri değiştirilse de görüntülenen görselin yenilenmesi için belgelerdeupdate()yöntemi yer alır.Kopyanın düzenlemeleri otomatik devraldığını varsaymak: Kaydedilmemiş tampon değişiklikleri kopyaya taşınmayabilir.
extensionseçeneklerini birbirinin yerine kullanmak:REPEATtekrar ederkenCLIPsınır dışını saydamlaştırır; hedeflenen davranışa göre seçim yapılmalıdır.Alfa kipini göz ardı etmek:
CHANNEL_PACKED, farklı görsellerin RGB ve alfa kanallarında paketlenmesi için tanımlanmıştır; alfa her zaman maske olarak kullanılmayabilir.
Sonraki adımlar: mimari görselleştirme iş akışı
Bu temel, sahnedeki görsel girdilerinin nasıl temsil edildiğini anlamak isteyen Blender kullanıcılarına, mimarlık ve iç mimarlık öğrencilerine ve görselleştirme ekiplerine yardımcı olur. Cephe, döşeme ya da iç mekân kaplaması için kullanılan görselin tekrarlanması, kenarlarının uzatılması veya alfa bilgisinin hesaba katılması gibi kararlar, doku davranışını incelemeyi kolaylaştırır. Belgeler bu ayarların belirli bir render motorundaki sonucunu veya performans etkisini açıklamadığı için, proje dosyasında ve kullanılan sürümde ayrıca test yapılmalıdır.
İş akışını büyütmeden önce küçük bir test görseliyle tampon değerlerini, boyutu, uzatma biçimini ve alfa kullanımını ayrı ayrı kontrol edin. Görselleri proje dosyasıyla birlikte tutmak veya dışarıda yönetmek gibi kararlar da pack() ve unpack() yöntemleriyle ilişkilidir; belgeler bunların sırasıyla görseli .blend dosyasına gömmeyi ve paketlenmiş görseli diske çıkarmayı sağladığını belirtiyor.
Kaynak ve lisans
Bu rehber, Blender Python API’sinin Image ve ImageTexture belgelerinden uyarlanmıştır. Her iki kaynak da CC BY-SA 4.0 lisansıyla sunulmuştur. İçerik Türkçeye uyarlanmış, açıklamalar yeniden yazılmıştır; kod örneği bu rehber için hazırlanmıştır.
Sık sorulan sorular
Blender Python API’de görsel boyutu nasıl değiştirilir?
`Image.scale(width, height)` yöntemi görsel tamponunu belirtilen genişlik ve yüksekliğe ölçekler. `size` özelliği tamponun piksel ölçülerini verir.
Blender’da Image Texture görsel sınırları dışında nasıl davranır?
`extension` özelliği `REPEAT`, `EXTEND`, `CLIP`, `CLIP_CUBE` veya `CHECKER` olarak ayarlanabilir. Seçenekler tekrar, kenar uzatma ya da sınır dışını saydamlaştırma gibi farklı davranışlar sunar.
Blender’da kopyalanan görsele piksel düzenlemeleri aktarılır mı?
Kaydedilmemiş görüntü tamponu değişiklikleri, `Image` veri bloğu kopyalandığında kopyaya taşınmayabilir. Blender API belgeleri kopyalamadan önce bu duruma dikkat edilmesi gerektiğini belirtiyor.
Kaynaklar
2 kaynakKaynak metinler yeniden yayımlanmaz; kısa alıntılar tırnak içinde verilir, geri kalanı özgün özet ve yorumdur.
Bu API yaklaşımı, özellikle aynı sahnede çok sayıda görsel girdisini tutarlı biçimde incelemek veya küçük veri düzenlemelerini tekrarlanabilir hâle getirmek isteyen ofisler ve öğrenciler için anlamlı. Doku sınırları, tekrar davranışı ve alfa kullanımı üzerinde kontrol sağlıyor; ancak kaynaklar bunun materyal kurulumu ya da render performansı için tek başına çözüm olduğunu göstermiyor.
Türkiye’deki ekipler açısından en pratik başlangıç, mevcut donanımı veya lisans maliyetini değiştirmeden, küçük bir sahne kopyasında özellikleri denemek. Sürüm uyumluluğu ve tamponu kaydetmeden kopyalama davranışı özellikle kontrol edilmeli; üretim dosyalarında dış görsel yolları ve paketleme düzeni ekip içinde netleştirilmelidir.




Yorumlar 0