SeExpr’a Giriş

4.4 sürümünde geldi: Bu belge, sizi SeExpr ifade diliyle tanıştırır.

SeExpr nedir?

SeExpr, Disney Animation tarafından tasarlanmış, gömülebilir bir ifade dilidir. Bu dil, uygulamaların devingen bir biçimde üretilmiş içeriği sunabilmesine olanak tanır. Pixar firması, belgelendirmelerinde bu dili bir “betikle genişletilebilir desen üreticisi ve birleştiricisi” olarak tanımlar.

SeExpr, Krita’da bir Dolgu Katman olarak kullanılabilir.

Ayrıca bakınız

Arka Plan

SeExpr’in ne olduğunu anlamak için iki tür grafik arasındaki ayrımı bulabilmemiz gereklidir, raster ve oransal.

Her gün gördüğünüz birçok bilgisayar üretimi şey – fotoğraflar, en sevdiğiniz animenin ekran görüntüleri, mimler – bunların hepsi ilk belirttiğimiz sınıfa ait olan, bir ızgaraya dizilmiş tonlarca ufak renk noktalarından veya daha yaygın olan tanımıyla piksellerden oluşan bir görseldir.

Raster grafiklerin iki adet dezavantajı vardır. Onları oluşturduğunuz andan itibaren çözünürlükleri sabir kalır. Onlara yakınlaştırma yaptığınızda sihirli bir biçimde daha çok ayrıntı bekleyemezsiniz. Onları değiştirmeniz gerektiğinde ya kaynağa gidip onu yeniden örneklemeniz (bazen bunu yapmak olanaksızdır) ya da Krita gibi bir raster grafik programıyla düzenlemeniz gerekir.

Ancak en büyük sorunlardan biri, SD kartlar gibi ikincil depolama veya RAM gibi programlarımızın kullanabileceği alan ile her zaman sınırlı olmamızdır. Sıkıştırılmadığı sürece, görsel belleği gereksinimleri, görselin boyutunda ikinci derecedendir. Örneğin, Krita’nın Yeni Belge Oluştur iletişim kutusu, size üç parça bilgi sunar: Görselin piksel türünden boyutu, pikselin kendisinin boyutu ve toplam gereken bellek tutarı.

../_images/Krita_newfile.png

İşte kare dokular için bir özet. Gereken bellek yalnızca bir katman içindir:

Boyut

Gereken bellek

256

256 KB

512

1 MB

1024

4 MB

2048

16 MB

4096

64 MB

Başka bir alternatif ise Vektör Grafikler kullanmaktır. Vektör grafikler; örneğin, SVG’ler, bir şekli belirtmek için yivler ve Bézier eğrileri gibi matematikler formüllerden yararlanırlar. Matematiksel olarak tanımlandıklarından, çözünürlüklerini kaybetmeden gereksinimlerinize göre yeniden boyutlandırılabilirler.

SeExpr ise prosedürsel grafikler denen başka bir sınıfa aittir. Vektör grafiklere benzer olarak, prosedürsel grafikler tanımlarını depolamak için yalnızca birkaç KB’a gereksinim duyarlar. Ancak onlar matematiksel formüller kullanmazlar; rengin nasıl hesaplanacağını dokunun her bir noktasına kodlarsınız. Kesinliği sınırlı olmadığı için katmanlarınızdaki karmaşık desenleri tamamen isteğe bağlı çözünürlükte işleyebilirsiniz.

Bir betik yazmak

Bu öğreticide, SeExpr ile nasıl bir betik yazılacağını, katmana nasıl sunulacağını ve nasıl bir önayar olarak kaydedileceğini göstereceğiz.

Katmanlar ögesine gidip yeni bir Dolgu Katman ekleyerek başlıyoruz. Sonrasında, listeden SeExpr’i seçin. Karşınıza bu pencere çıkacaktır:

../_images/SeExpr_editor.png

SeExpr üreteci iletişim kutusu iki sekmeye ayrılmıştır. Şimdilik Seçenekler bölümünde kalacağız.

Not

Dolgu Katmanlar, bu sekmeleri ayrıntılı olarak açıklar.

Açık mavi ile bir katmanı boyayarak başlayalım.

En önce, SeExpr betikleri bir çıktı değişkeni tanımlamalıdır. bunu şimdilik $color olarak beyan edelim. SeExpr renkleri RGB renk uzayında kabul ettiğinden, renk değişkenleri adına vektör denilen bir renk üçlüsüyle tanımlanırlar. $color değişkenini tanımlayp ona bir değer vererek başlayalım.

Metin kutusuna gidin ve içinde metin varsa silin. Sonrasında, $color değişkenini [0.5, 0.5, 1] gibi bir değere tanımlayın (yarı açık kırmızı, yarı açık yeşil, tam açık mavi):

$color = [0.5, 0.5, 1];

SeExpr’nin, hangi değişkenin nihai renk değerini tuttuğunu bilmesi gerekir. Bu, son kısımda ayrı bir satırda, değişkenin adı yazılarak yapılır:

$color

Betik şimdi şöyle görünmelidir:

$color = [0.5, 0.5, 1];
$color

Tamam’a tıklayın ve ilk betiğinizi sunun!

../_images/SeExpr_first_render.png

Uyarı

Tümüyle kesin olması açısından SeExpr bir renk yönetimi yapmaz. Dokuları her zaman 32 bit kayan noktalı değer, gaması düzeltilmiş ve sRGB görseller olarak sunar. Krita onları sRGB-elle-V2-srgbtrc.icc profilini kullanarak belgenizin renk uzayına dönüştürür.

Bunun ne anlama geldiğini öğrenmek için Renk Yönetimli İş Akışı bölümüne bakın.

Araç takımlarını kullanarak betiğinizi yönetmek

Değişkenlerinizi tanımlamanın ve yönetmenin başka bir yolu da vardır. Dolgu Katman 1 üzerine sağ tıklayıp Katman Özellikleri…’ni seçerek katman özelliklerini açın.

../_images/SeExpr_prop_1.png

Ortadaki kutuyu fark ettiniz mi? Sözdizimi doğru bir betik algıladığında, SeExpr, değişkenleri teker teker yönetmek için bir sürü düğmeler sunar. Yukarıdaki örneğimizde, $color’leri üç ayrı biçimde değiştirebilirsiniz:

  • girdi alanlarına kırmızı, yeşil ve mavi kanalın değerlerini girin

  • ilgili kanalı değiştirmek için küçük renkli kaydırıcıları hareket ettirin

  • tümüyle yeni bir renk seçmek için kutuların solundaki önizleme karelerine tıklayın

Ortadaki kutudaki son düğme her zaman Yeni Değişken Ekle’dir. Buna tıkladığınızda aşağıdaki iletişim kutusu açılır:

../_images/SeExpr_add_variable.png

Bu iletişim kutusu, SeExpr’in kabul ettiği tüm değişken türlerini gösterir:

Eğri ve Renk Eğrisi

Bunlar, Durak Gradyanları’nın SeExpr sürümleridir; verilen değer kümesiyle bir rampa aradeğerlerler.

Eğriler, 1B gradyanları temsil ederler; her bir değerlendirme noktasında tek bir kayan noktalı değer döndürürler.

Renk eğrileri RGB gradyanlarını temsil ederler; her bir noktada bir renk döndürürler.

Tamsayılar ve Kayan Noktalı Değerler

Sayılar.

Vektör

Bir kayan noktalı değer üçlüsü.

Renk

Bir RGB rengi temsil eden bir vektör.

Örnek

Bir renkler listesi.

Dizi

Genelde tek sözcükler.

Örneğin, Vektör sekmesinde $color değişkenini yineleyebilirsiniz:

../_images/SeExpr_add_variable_vector.png

İlk önayarınızı oluşturmak

Betiğiniz hazırsa onu bir önayar yaparak yeniden kullanabilirsiniz.

Seçenekler sekmesinin üst çubuğundan bir tane oluşturabilirsiniz.

../_images/SeExpr_editor.png

Yeni SeExpr Önayarı Kaydet ögesini seçin ve aşağıdaki iletişim kutusu açılacaktır:

../_images/SeExpr_save.png

Üst satırdaki düzenleme kutusundan önayarın adını düzenleyebilir ve kolayca ayırt edebilmek için bir küçük görsel atayabilirsiniz.

İpucu

Önayar halihazırda varsa iletişim kutusu adın sonuna “Kopya” sonekini koyar. İstediğiniz zaman değiştirebilirsiniz.

İletişim kutusu, bir küçük görsel ayarlama konusunda aşağıdaki seçenekleri sunar:

Var Olan Küçük Görseli Yükle

Önayarın halihazırda bir küçük görseli varsa (örneğin var olan bir önayarı yinelediyseniz) bu düğme onu yükler ve uygular.

Görsel Yükle

Dosya sisteminden alınacak bir görseli küçük görsel olarak uygular.

Betiği Küçük Görsele Sun

Betiğinizi 256 × 256 boyutunda bir doku olarak sunar ve onu bir küçük görsel olarak uygular.

Küçük Görseli Temizle

Küçük görseli siler. Önayar, var olan bir önayarın kopyasıyla bu, Var Olan Küçük Görseli Yükle seçeneği kullanılarak geri alınabilir.

Var olan önayarları değiştirmek

Bir önayarın betiğini değiştirirseniz Seçenekler sekmesinin üst kısmında iki yeni düğme fark edeceksiniz:

../_images/SeExpr_overwrite_preset.png

Yeniden Yükle düğmesi, önayarı özgün özelliklerine geri yüklerken, Önayarın Üzerine Yaz seçeneğine tıklamak değişiklikleriniz kaydeder.

Ek olarak, Yeniden Adlandır düğmesine tıklayıp yeni adı girdikten sonra Kaydet düğmesine basarak önayarın adını değiştirebilirsiniz.

../_images/SeExpr_rename_preset.png

Önayarlarınızı demetlemek

Betiklerinizi paylaşmak çok kolaydır! SeExpr betik önayarlarının Krita’daki diğer özkaynaklardan bir ayrımı yoktur. Kendi demetlerinizi oluşturmak için Özkaynak Yönetimi bölümündeki yönergeleri izleyin.