Color Palette Painter: Hızlı Renklendirme ve UV Otomasyonu Eklentisi
3D low-poly modelleme yaparken en büyük zaman kayıplarından biri, renk paletiyle mesh yüzeylerini eşleme sürecidir. Geleneksel iş akışında ekranın önemli bir kısmını kaplayan devasa bir UV Editor penceresi açmak, sürekli olarak 3D Viewport ile UV ekranı arasında mekik dokumak ve renk seçmek için farenizi sürekli kaydırmak gerekir. Bu durum, özellikle hızlıca renk seçip ilerleme ritmimizi (momentumumuzu) tamamen keser, iş akışına ket vurur.
Bu problemi aşmak ve neredeyse elimizi klavye ve fareden kaldırmadan, ekran alanını kaybetmeden renklendirme yapabilmek amacıyla Color Palette Painter eklentisini geliştirdim. Üstelik bu geliştirme sürecinde AI (Yapay Zeka) teknolojilerinden aktif olarak faydalandım. Bu yazıda, eklentinin arkasındaki geliştirme motivasyonunu, AI ile geliştirme sürecini ve teknik detayları paylaşacağım.

1. Geliştirme Motivasyonu: UV Ekranı Engelini Aşmak
Modelleme sırasında ekran alanını en verimli şekilde kullanmak isteriz. Ancak klasik low-poly renklendirme sürecinde:
- UV Editor ekranı sürekli açık kalmak zorundadır, bu da 3D çalışma alanını ciddi oranda daraltır.
- Yüzeyleri seçip UV Editor üzerinde ufacık piksel karelerine taşımak hassas fare hareketleri gerektirir ve zaman alır.
- Renk paletindeki değişimleri viewport üzerinde canlı görmek zorlaşır.
Color Palette Painter’ı bu hantallığı ortadan kaldırmak için tasarladım. Temel amacım, sanatçının odağını 3D modelden ayırmadan, tek tuşla palet görünümünü viewport üzerinde açıp rengi seçip yoluna devam edebilmesidir. Eklentinin kısayol odaklı yapısı sayesinde, elinizi neredeyse hiç kaldırmadan hızlı, pratik ve akıcı bir boyama süreci sağlayabiliyorsunuz.
2. Geliştirme Sürecinde AI (Yapay Zeka) Kullanımı
Blender 5.x ile birlikte gelen yeni uzantı (extension) standartları ve değişen GPU API’leri, eklenti geliştirmeyi daha teknik bir boyuta taşıdı. Bu süreçte AI’ı bir yardımcı geliştirici (pair programmer) olarak kullandım:
- Blender 5.x API Entegrasyonu: Blender 5.x’in modern uzantı yapısına uyumlu kod mimarisini tasarlarken, API değişikliklerini ve yeni kaydetme (register) metotlarını hızlıca çözmek için AI rehberliğinden yararlandım.
- GPU Overlay Tasarımı: Viewport üzerinde açılan interaktif büyük palet ekranının (
color_picker_gpu.py) Blender GPU Shader’ları ile hatasız çizilmesi ve modal olayların (hover sınırları, grid çizgileri, crosshair işaretçileri) dinamik yönetilmesi sürecini AI ile birlikte kodladık. - Performans Darboğazlarının Çözülmesi: Blender Python API’sinde
image.pixelsverisini okumak son derece yavaş bir işlemdir. UI çizim fonksiyonu olandrawiçinde piksellerin sürekli okunması viewport’ta takılmalara yol açıyordu. AI ile yaptığımız beyin fırtınaları sonucunda, piksel verisini sadece görsel yüklendiğinde ya da grid değiştiğinde hafızaya alan akıllı bir piksel önbellek ve durum izleme (_pixel_cacheve_build_state) mekanizması tasarladık. Bu sayede 3D ekran akıcılığını 60+ FPS düzeyinde tutmayı başardık.

3. Teknik Mimari ve Geliştirme Adımları
Eklentiyi modüler ve performansı en üst düzeyde tutacak şekilde 8 ana Python dosyasından oluşan bir yapıda tasarladım:
color_picker_gpu.py(GPU Arayüzü):Ctrl+Shift+Pkısayolu ile viewport’u kaplayan, yarı saydam ve interaktif bir palet overlay’i çizer. Fareyi oynattığımızda anlık hover rengini ve border’ını gösterir. Sol tıklandığında rengi atayıp modal döngüyü kapatır.operators.py&uv_snapper.py: Seçili yüzeylerin UV haritasını bozmadan, doğrudan paletteki sütun merkezlerine (veya hücre merkezlerine) taşıyan matematiksel snap motorunu barındırır.gradient_engine.py: Seçili mesh yüzeylerini yerel X, Y veya Z koordinatlarına göre sıralayıp, palet üzerindeki dikey gradient sütununa dağıtır. Bu sayede yüzeyler meshin geometrik yapısına göre otomatik gölgelenir.ui_popup.py&viewport_hud.py: N-Panel sidebar bileşenlerinin yanı sıra, viewport üzerinde eklenti kısayollarını gösteren minimal HUD ekranını yönetir.

4. Kısayollarla Kesintisiz İş Akışı
Eklentinin kalbi, modelcilerin elini klavyeden kaldırmadan çalışabilmesini sağlayan kısayol mekanizmasında yatmaktadır:
Ctrl+Shift+P(Büyük Palet): Viewport üzerinde paleti açar.Tab(Mod Değiştirme): Büyük palet açıkken Flat (Düz) veya Gradient modları arasında geçiş yapar.- Ok Tuşları (Grid Ayarı): Palet açıkken ızgaranın sütun/satır sayılarını canlı olarak artırır/azaltır. (Böylece Lospec gibi sitelerden indirilen özel paletlere anında uyum sağlanır).
Ctrl+Alt+T(Etkileşimli UV Ölçekleme): Viewport üzerinde fare tekerleğiyle UV ölçeğini ayarlamaya yarar.Shift+Alt+Q(Pie Menu): Pipet aracına (modelden renk örnekleme) ve temel boyama işlemlerine hızlı erişim sağlar.

Geliştirici Gözünden Sonuç
Color Palette Painter, ekran alanını yutan UV editörlerinin yarattığı yavaşlığı çözmek amacıyla doğmuş, pratik bir geliştirici aracıdır. Geliştirme aşamasında AI desteğini arkamıza alarak hem Blender 5.x’in güncel API standartlarına uyum sağladık hem de GPU önbellek optimizasyonlarıyla yağ gibi akan bir arayüz tasarladık.

Low-poly renklendirme sürecini tamamen klavye-mouse koordinasyonuna indirgeyen bu eklenti, modelleme yaparken odağınızı ve hızınızı korumanın en iyi yollarından biri oldu. Şuanlık kullanıyorum. Biraz daha proje yapıp eksik gördüğüm kısımları da tamamlayıp paylaşmayı düşünüyorum.

