DOLAR
39,3614
EURO
45,5529
ALTIN
4.283,71
BIST
9.350,01
Adana Adıyaman Afyon Ağrı Aksaray Amasya Ankara Antalya Ardahan Artvin Aydın Balıkesir Bartın Batman Bayburt Bilecik Bingöl Bitlis Bolu Burdur Bursa Çanakkale Çankırı Çorum Denizli Diyarbakır Düzce Edirne Elazığ Erzincan Erzurum Eskişehir Gaziantep Giresun Gümüşhane Hakkari Hatay Iğdır Isparta İstanbul İzmir K.Maraş Karabük Karaman Kars Kastamonu Kayseri Kırıkkale Kırklareli Kırşehir Kilis Kocaeli Konya Kütahya Malatya Manisa Mardin Mersin Muğla Muş Nevşehir Niğde Ordu Osmaniye Rize Sakarya Samsun Siirt Sinop Sivas Şanlıurfa Şırnak Tekirdağ Tokat Trabzon Tunceli Uşak Van Yalova Yozgat Zonguldak
İstanbul
Az Bulutlu
27°C
İstanbul
27°C
Az Bulutlu
Salı Açık
29°C
Çarşamba Açık
30°C
Perşembe Açık
29°C
Cuma Parçalı Bulutlu
31°C

Adım Adım 10.000 Karakterlik NFT Koleksiyonu Oluşturma Teknik Süreci – I

Herkesin çok basit gördüğü punks dünyasında süreç nasıl işliyor? 10.000 benzersiz avatar varlığın prosedürel üretimine teknik bir bakış… Bu bakış açısı; ExpansionPunks projesinden temel alınarak Jeremy Posvar tarafından 10.000 benzersiz karakterin …

Adım Adım 10.000 Karakterlik NFT Koleksiyonu Oluşturma Teknik Süreci – I
03/08/2023 21:12
6
A+
A-

Herkesin çok basit gördüğü punks dünyasında süreç nasıl işliyor?

10.000 benzersiz avatar varlığın prosedürel üretimine teknik bir bakış…

Bu bakış açısı; ExpansionPunks projesinden temel alınarak Jeremy Posvar tarafından 10.000 benzersiz karakterin nasıl oluşturulduğunu teknik olarak adım adım anlatmaktadır.

ExpansionPunks, Ethereum blok zincirinde ERC721 tokenlar olarak depolanan 10.000 benzersiz, prosedürel olarak oluşturulmuş koleksiyon Punks koleksiyonudur.

s 7af3731851878e698590291e176823d239c457ca

Aynı şekilde “genişleme paketleri” geleneksel masa üstü oyunlarında yeni karakterler ve hikayeler sunarken, ExpansionPunks, orijinal CryptoPunks koleksiyonundaki yanlışlıkla dışlanmaya yol açan ince önyargıları ele alarak Punkverse’i daha çeşitli ve kapsayıcı bir topluluk olacak şekilde genişletmeye geldi. Orijinalin değerlerine saygı duyan ve onurlandıran bir genişleme yaklaşımıyla, ExpansionPunks, daha geniş CryptoPunks topluluğuyla uyum ve tutarlılıktan ödün vermeden benzersiz özellik kombinasyonları sunar. Sonuç olarak, ExpansionPunks, herkesin bu yeni blok zinciri teknolojisi sınırında hoş karşılandığını, değerli olduğunu ve temsil edildiğini hissetmesini sağlamaya çalışır.

Lansmana yaklaşırken, ExpansionPunks popülasyonunun adım adım nasıl doğduğunu “kaputun altında” paylaşmaktan heyecan duyuyoruz. Aşağıdakiler kesinlikle Punk özelliği nüansları üzerine aylarca süren arka plan araştırmalarını veya uyumlu bir NFT koleksiyonu oluşturmakla ilgili sayısız deneme ve yanılma girişimini yakalamasa da yine de bu çabaya nasıl yaklaşıldığı konusunda bir fikir vermelidir.

ExpansionPunks koleksiyonu altı ana iş akışıyla hayata geçti:

s 5152e37356a645d19b32c5308bc945de77f9e392

Şekil 1: Uçtan Uca, __ExpansionPunks Yaklaşımı

1- Özellik katmanı kitaplığı oluşturun

Yeni Punk’lar oluşturmak için hammadde olarak hizmet etmek üzere mevcut CryptoPunks özelliklerine dayanan tüm özelliklerin bir görüntü katmanı kitaplığını tersine mühendislik.

2- Nitelik katmanı kitaplığını doğrulayın

Orijinal 10K CryptoPunk’ları yeniden oluşturmak için kullanarak özellik katmanı kitaplığının doğruluğunu doğrulama, “klonlanmış” punk’lar ve orijinaller arasında tam piksel piksel eşleşmesini doğrulama

3- Yerleşik özellik atama motoru hazırlayın

Benzersiz bir ExpansionPunks popülasyonunu toplu olarak tanımlamak için bir özellik atama motoru oluşturmak

4- Punkları otomatik şekilde toplu halde oluşturun

ExpansionPunks popülasyonunu toplu olarak oluşturma

5- Algısal kopyaları kaldırın

Algısal olarak CryptoPunks’a eşdeğer olan Punk’ları kaldırmak (gizli özellikler nedeniyle)

6- Koleksiyonu 10.000 olacak şekilde sınırlayın

Eşsiz popülasyonu son 10K olacak şekilde kırpma

1- Özellik katmanı kitaplığı oluşturun

200 farklı 24×24 katmandan oluşan bir kitaplık ilk olarak Photoshop’ta mevcut CryptoPunks özelliklerine dayalı olarak oluşturulmuştur. LarvaLabs (bizim bilgimize göre) her bir özellik katmanı için ayrı dosyalar yayınlamamıştır, bu nedenle kütüphanenin sıfır öz nitelikli kadın/erkek arketiplerinden başlayarak tersine mühendislik yapılması gerekiyordu (Şekil 2).

Aşağıdaki sekiz Punk zaten var, bu yüzden bunlar kolaydı.

s 9acc237e7e5eefd6cc9fb703fadf091241e1100c

Şekil 2: Sıfır Nitelikli Kadın ve Erkek Arketipleri

Ancak sıfır öz nitelikli Uzaylılar/Maymunlar/Zombiler orijinal koleksiyonda mevcut değildi, bu nedenle bu nadir arketiplerin teorik bir sıfır öznitelik sürümünü birleştirmek için her birinin birden fazla örneğini çapraz referans alarak çıkarılması gerekiyordu.

Şekil 3, Zombie sıfır öznitelik arketipinin #8553 ve #8127 punkları kullanılarak nasıl çıkarıldığını gösteriyor. Aynı yaklaşım sıfır öznitelikli Alien ve Ape arketipleri için de kullanıldı.

s a98f45d52c369c462e6a4ade2c5bee468739249b

Şekil 3: Zombie Sıfır Nitelik Arketipini Çıkarma

Bu nadir arketipler ayrıca özelliklerine göre kesinlikle erkek görünümünde olduğundan, bu nedenle Şekil 4’e göre her birinin dişi versiyonlarının da çıkarılması gerekiyordu.

Temel arketipler yerindeyken, aksesuar özelliklerin (ağız, saç, sakal, gözler vb.) her biri ayrı atanabilir katmanlar olarak oluşturulmalıydı, yani yeni bir punk oluşturmak için Şekil 5’de görünen istiflenebilen ayrı şeffaf PNG dosyaları hayata geçirildi.

s 13a86cc080b7e4612b2247942c07d04a3d618159

Şekil 4: Nadir Sıfır Nitelikli Arketipler

Bu özellikleri tanımlamak için, her bir özelliğin piksel ayrıntısını çıkarmak için her bir özelliği içeren minimum özellikli Punk’ların konumlandırılması gerekiyordu.

s cdfdb227915f6fdfa28e45093c7bc13f27261dba

Şekil 5: Bir Punk Oluşturmak için Ayrı Şeffaf PNG Katmanlarının İstiflenmesi

İki temel zorluğun üstesinden gelinmesi gerekiyordu.

Bunlar;

1. Yarı saydam özellikler için RGB ve opaklık değerlerinin çıkarılması

2. Nitelikli demokratikleşme (tüm serserilere cinsiyete dayalı özelliklere erişim hakkı vermek)

İlk olarak, birden fazla özellik (Pembe Yanaklar, Köstebekler, Noktalar, Boynuzlu Çerçeve Gözlükleri ve 3 Göz Farı renginin tümü) yarı saydamdır ve diğer özelliklerin (örn. saydam katmanın opaklık değerinin bir fonksiyonu olarak iki RGB değerinin karışımıdır.

Örneğin, cilt tonları (Şekil 6’da 1–5) ve Pembe Yanaklar (Şekil 6’da 6–10) için RGB değerlerinin tümü, ilgili özelliklere sahip punklardan doğrudan elde edilebilir.

s c4047fe4893e0d8cf36bf1e77c018d73e00c198a

Şekil 6: Çoklu Cilt Tonlarına Uygulanan Yarı Saydam Bir Katman Olarak Pembe Yanaklar

Ancak tek bir şeffaf katmanla bu harmanlanmış sonuçları (Şekil 6’da 6–10) oluşturmak için, Pembe Yanaklar Yarı Şeffaf katmanı için RGB ve Opaklık değerlerinin (Şekil 6’da “?”) hesaplanması gerekiyordu, çünkü bu bilgi ‘ her yerde mevcut değildi.

Daha da karmaşık hale getirmek için, son Pembe Yanakların harmanlanmış rengi, aynı cilt tonundaki Kadın ve Erkek punklar arasında farklılık gösterdiğinden, şeffaf tabakanın da Cinsiyete göre ayrı ayrı hesaplanması gerekiyordu.

Pembe Yanaklar Yarı Şeffaf Katman için RGB ve Opaklık değerlerini hesaplamak için, 3 RGB değerinin her biri için, 5 Cilt Tonunun her biri için ve 2 cinsiyet arketipinin her biri için (yani 30 ayrı hesaplama) aşağıdaki formül kullanıldı:

s f5199ce5cdb540543410f7ce2eba20c5d244f5fe

Erkek arketipi için bu tür hesaplamalardan birine (otuzdan) örnek, Orta Ten Tonunda RGB’nin KIRMIZI değeri:

s 05daaa6150fe6f7fe70d106d15aab6eba1e473a0

Yalnızca 1 cilt tonuyla ve 1 cinsiyetle çalışıyorsanız, yukarıdaki formülün bir işlevi olarak RGB değerlerini değiştirerek herhangi bir Opaklık değerini kullanarak istediğiniz “karışımı” elde edebilirsiniz

Örneğin harman 5 = harman 6 = harman 7, Şekil 7’ye göre, her bir kaplamanın (bindirme 2, kaplama 3 ve kaplama 4) RGB ve Opaklık değerlerini ayarlayarak bulunabilir.

s 19d50499951cc6a085f47830ac5eccb8b90ac6fc

Şekil 7: Yalnızca Orta Cilt Tonuna Uygulanan Pembe Yanakların Çoklu RGB/Opaklık Kombinasyonları

Bununla birlikte, ek ten tonları düşünüldüğünde, “herhangi bir” opaklık değerinin işe yaramayacağı açıktır.

s 17bb1b0081cc7bdbb331fd7670bd465cd3874944

Şekil 8: Diğer Ten Tonlarında Tek Bir Ten Tonundan Hesaplanan RGB ve Opaklık Değerlerini Kullanmaya Çalışmak

Hesaplamayı yalnızca Orta ten tonuna dayandırırsak, Şekil 8’de diğer ten tonlarında elde edilen karışımların tutarlı olmayacağını hemen görürüz: 1≠2≠3; 4≠5≠6; 7≠8≠9; ve 10≠11≠12.

5 cilt tonunun tamamıyla birleştirildiğinde tam “karışımlar” oluşturmak vetek bir Şeffaf Pembe Yanaklar katmanı olarak kullanılabilecek optimum opaklık ve RGB değeri kombinasyonunu bulmak için, Excel “Çözücü” işlevi tüm hesaplamalarda aynı anda kullanılabilir. Çözücü, RGB değerlerinin her zaman 0’dan büyük veya 0’a eşit ve 255’ten küçük veya 255’e eşit olması gerektiği kısıtlamalarına tabi olarak, cilt tonlarına en uygun olanı bulmak için olası tüm Opaklık değerlerini (%0–100) test edebilir. Bu, bir Erkek arketipindeki Pembe Yanaklar hesaplaması için Excel’de görünüyordu.

Optimum çözüm (Şekil 9’daki A) RGB Değeri R=214.5, G=0, B=0.2 ve Opaklık=%19.8’dir.

s a18838699afe9cf89e61f4f5ee2f7eef17b2ae8d

Şekil 9: Birden Çok Ten Tonunda RGB ve Opaklık Değerlerini Hesaplamak için Excel “Çözücü” Eklentisini Kullanma

Yuvarlatılmış, tek Rosy Cheeks şeffaf katmanımız (Erkek arketipinde) için %20 opaklıkta RGB = 215,0,0 kullanıyoruz (Şekil 9’da B). Farklı cilt tonlarının her biri üzerinde birleştirildiğinde, orijinal Erkek CryptoPunks with Pembe Yanakta bulunan tam olarak harmanlanmış RGB değerini oluşturur. Bu Çözücü yaklaşımı, optimum RGB/Opaklık değerlerini doğru bir şekilde belirlemek için şeffaflık (Köstebek, Noktalar, Boynuzlu Çerçeve Gözlükleri, Mavi/Yeşil/Mor Göz Farı) içeren tüm nitelik katmanlarında (ve her iki cinsiyet arketipinde ayrı ayrı) tekrarlanmalıdır.

Orijinal CryptoPunks koleksiyonuna göre hedeflenen “karışım” RGB değerini üretecektir. Çıplak gözle RGB değerlerindeki farklılıkları algılayamayacak kadar “yeterince yakın” olabilecekken neden bu kadar zahmete girdik? Sonuç olarak, ExpansionPunks sürecinin, Punk’ları olabildiğince orijinal biçimine sadık kalarak çıkarmasını istedik…

…sanki orijinal CryptoPunks süreci diriltildi ve bugün yeniden çalıştırıldı. Yalnızca orijinal sürecin piksel taklidi için tam bir piksel sağlayarak hedefimize ulaştığımızı güvenle söyleyebiliriz.

Ele alınması gereken ikinci zorluk, cinsiyete özel özelliklerin (örneğin çeşitli şapkalar, saç stilleri ve tüm Yüz Kılı özellikleri, vb.) karşı cinsiyet arketipine uymasını sağlamaktı.

s fbb531643e70fcf9a29981f871601b03ab994bf6

Şekil 10: Kapşonluyu Doğrudan Kadın Arketipine Uygulamaya ÇalışmakErkek ve Dişi arketiplerinin farklı yüzey alanlarına sahip olduğu göz önüne alındığında (ör. Erkek, Kadından 1 piksel daha geniş ve 2 piksel daha uzun), cinsiyete özel özellikler alternatif arketipe uygulanamaz.

Yukarıdaki Şekil 10’da, Hoodie’yi Kadın arketipine basitçe uygulamak, CryptoPunks estetiğinden ayrılan görsel olarak sarsıcı 3 sorun yaratır: (1) sol alt boyun çevresinde eksik pikseller, (2) görünür kadın boynunun 3 pikselden daralması genişlikten yalnızca 2 piksel genişliğe kadar ve (3) orijinalin kapüşonlu görünümünü kaybederek çok fazla alnın pozlanması. Ayrıca, arketipin daha küçük çerçevesi göz önüne alındığında, genel oranlar hissedilir.

Daha orantılı ve estetik bir uyum sağlamak için Kapüşonlu, aşağıdaki Şekil 11’de görüldüğü gibi bu 3 tutarsızlığı ele alacak şekilde düzenlendi:

s 30b844b5bf8208a1eea97f1ff6be5d4bdab7f77c

Şekil 11: Daha Küçük Kadın Arketipi İçin Daha Orantılı ve Estetik Bir Kapşonlu Yaratmak

Orijinal özelliğin dinamiklerinin de dikkate alındığından emin olmak için uygulanması gereken dikkat — bu durumda Kapüşonlu, Küpe özelliğini “gizler”. Örnek olarak Punk #269’a göz atın:

s 2fced5126799d28624a677d1dc5b34ca08dd1e82

Şekil 12: Punk #269’da “Gizli” Küpe Özelliği Örneği

Bu tür dinamiklerin, özelliğin demokratikleştirilmiş versiyonunda onurlandırılması gerekiyordu. Her cinsiyete özel özellik, benzer bir piksel piksel değerlendirmeye tabi tutuldu; bu, genel CryptoPunks estetiğinin, daha önce cinsiyete özel özellikleri içeren bu yeni Punk permütasyonlarına başarıyla taşınmasının yoluydu.

Devamı bir sonraki bölümde 🙂

Yorumlar

Henüz yorum yapılmamış. İlk yorumu yukarıdaki form aracılığıyla siz yapabilirsiniz.