Adım Adım 10.000 Karakterlik NFT Koleksiyonu Oluşturmanın Teknik Süreci – I
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-d9YO9SuX.webp)
Herkesin çok rahat gördüğü punk dünyasında süreç nasıl işliyor?
10.000 benzersiz avatar varlığının prosedürel üretimine teknik bir bakış…
Bu bakış açısı; GenişlemePunklarJeremy Posvar’ın projesine dayalı olarak 10.000 benzersiz karakterin nasıl yaratıldığını teknik olarak adım adım açıklıyor.
ExpansionPunks, Ethereum blok zincirinde ERC721 belirteçleri olarak depolanan, prosedürel olarak oluşturulmuş 10.000 benzersiz Punk koleksiyonudur.
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-0-FhCM7JMD.jpg)
Aynı şekilde, “genişletme paketleri” klasik tahta oyunlarından yeni karakterler ve hikayeler sunarken, ExpansionPunks, orijinal CryptoPunks koleksiyonunun utanç verici bir şekilde dışlanmasına yol açan ince önyargıları ele alarak Punkverse’i daha çeşitli ve kapsayıcı bir topluluğa genişletmeye başladı. ExpansionPunks, orijinalin maliyetlerini onurlandıran ve onurlandıran bir genişleme yaklaşımıyla, daha geniş CryptoPunks topluluğuyla uyum ve tutarlılıktan ödün vermeden benzersiz özellik kombinasyonları sunar. Sonuç olarak, ExpansionPunks, herkesin blockchain teknolojisinin bu yeni cephesinde hoş karşılandığını, değer verildiğini ve temsil edildiğini hissetmesini sağlamaya çalışır.
Lansmana yaklaştıkça, ExpansionPunks popülasyonunun nasıl doğduğunu adım adım “gizli ayrıntılarıyla” paylaşmaktan heyecan duyuyoruz. Aşağıdakiler, Punk’ın nüansları hakkında aylarca yapılan arka plan araştırmalarını veya tutarlı bir NFT koleksiyonu oluşturmak için yapılan sayısız deneme yanılma girişimini kapsamasa da, yine de size göreve nasıl yaklaşıldığına dair bir fikir vermelidir.
ExpansionPunks koleksiyonu altı ana iş akışıyla hayat buldu:
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-1-3gbRfCC3.jpg)
Şekil 1: Uçtan Uca, __ExpansionPunks Yaklaşımı
1- Özellik katmanı kitaplığı oluşturun
Bunun yerine, yeni Punk’lar oluşturmak için hammadde olarak hizmet etmek üzere mevcut CryptoPunks özelliklerine dayalı tüm özelliklerin bir görüntü katmanı kitaplığını tasarlamak.
2- Nitelik katmanı kitaplığını doğrulayın
Yeniden oluşturmak için orijinal 10K CryptoPunks’u kullanarak özellik katmanı kitaplığının doğruluğunu doğrulama, “klonlanmış” serseriler ve yepyeni olanlar arasında tam piksel piksel eşleşmeyi doğrulama
3- Yerleşik bir özellik atama motoru hazırlayın
Eşsiz bir ExpansionPunks popülasyonunu toplu olarak tanımlamak için bir özellik atama motoru oluşturma
4- Otomatik biçimde toplu olarak serseriler oluşturun
ExpansionPunks popülasyonunun toplu olarak oluşturulması
5- Algısal kopyaları kaldırın
Algısal olarak CryptoPunk’lara eşdeğer olan Punk’ları kaldırma (gizli özellikler nedeniyle)
6- Koleksiyonu 10.000 formla sınırlayın
Son 10K’yı oluşturmak için benzersiz popülasyonu kırpmak
1- Özellik katmanı kitaplığı oluşturun
İlk olarak Photoshop’ta bulunan CryptoPunks özelliklerine dayalı olarak 200 farklı 24×24 katmandan oluşan bir kitaplık oluşturuldu. LarvaLabs (bildiğimiz kadarıyla) her özellik katmanı için daha fazla belge yayınlamadı, bu nedenle kitaplığın sıfır nitelikli kadın/erkek arketiplerden başlayarak tersine mühendislikten geçirilmesi gerekiyordu (Şekil 2).
Aşağıda sekiz Punk varlığı var, bu yüzden bunlar kolaydı.
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-2-RGsrsKYn.jpg)
Şekil 2: Sıfır Kalitede Kadın ve Erkek Arketipleri
Bununla birlikte, sıfır özellikli Uzaylılar/Maymunlar/Zombiler yepyeni koleksiyonda mevcut değildi, bu nedenle bu nadir arketiplerin, teorik olarak sıfır özellikli bir versiyon oluşturmak için her birinin birden çok örneğine çapraz referans verilmesi gerekiyordu.
Şekil 3, #8553 ve #8127 numaralı punklar kullanılarak Zombi sıfır öznitelik arketipinin nasıl çıkarıldığını gösterir. Bire bir yaklaşım, sıfır özellikli Alien ve Ape arketipleri için de kullanıldı.
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-3-s4qPccm9.jpg)
Şekil 3: Zombie Zero Nitelik Arketipini Çıkarma
Form 4’e göre bu nadir arketipler de zorunlu olarak erkek görünümde olduğundan, her birinin dişi versiyonlarının da kaldırılması gerekiyordu.
Temel arketipler yerindeyken, aksesuar özelliklerinin her birinin (ağız, saç, sakal, gözler vb.) ayrı atanabilir katmanlar olarak oluşturulması gerekiyordu, yani Şekil 5’te görünen diğer istiflenebilir şeffaf PNG belgeleri yeni bir punk oluşturmak için uygulandı. .
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-4-hhdd8NJ6.jpg)
Şekil 4: Nadir Sıfır Nitelikli Arketipler
Bu özellikleri tanımlamak için, her bir özelliği içeren minimal özellik Punks’ın, her bir özellik için piksel detayını çıkaracak şekilde konumlandırılması gerekiyordu.
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-5-RIZYrz4Z.jpg)
Şekil 5: Bir Punk Oluşturmak İçin Diğer Şeffaf PNG Katmanlarını İstifleme
İki ana zorluğun üstesinden gelinmesi gerekiyordu.
Bunlar;
1. Yarı saydam özellikler için RGB ve opaklık maliyetlerinin çıkarılması
2. Nitelikli demokratikleşme (tüm serserilerin cinsiyete dayalı özelliklere erişmesini sağlamak)
İlk olarak, çoklu özellikler (Pembe Yanaklar, Köstebek, Noktalar, Boynuzlu Çerçeve Gözlükler ve 3 Göz Farı renginin tümü) yarı saydamdır ve diğer özellikler (örneğin, şeffaf katmanın opaklık değerinin bir fonksiyonu olarak iki RGB değerinin bir karışımı).
Örneğin, cilt tonları (Şekil 6’da 1–5) ve Pembe Yanaklar (Şekil 6’da 6–10) için RGB değerlerinin tümü, karşılık gelen özelliklere sahip serserilerden doğrudan elde edilebilir.
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-6-nKUpChHj.jpg)
Şekil 6: Çoklu Cilt Tonlarına Uygulanan Yarı Saydam Bir Katman Olarak Pembe Yanaklar
Ancak, tek şeffaf katmanla bu harmanlanmış sonuçları (Şekil 6’da 6–10) oluşturmak için Pink Cheeks Translucent katmanı için RGB ve Opaklık maliyetlerinin (“?”, Şekil 6’da) hesaplanması gerekiyordu, çünkü bu bilgi ‘ her yerde mevcut değil. .
Bunu daha da karmaşık hale getirmek için, nihai Pembe Yanakların harmanlanmış rengi, kadın ve Erkek punkların ortasında cilt tonunda da farklılık gösterdiğinden, şeffaf katmanın Cinsiyete göre farklı şekilde hesaplanması gerekiyordu.
Pink Cheeks Translucent Layer için RGB ve Opaklık maliyetlerini hesaplamak için 3 RGB maliyetinin her biri, 5 Cilt Tonu ve 2 cinsiyet arketipinin her biri için aşağıdaki formül kullanıldı (yani 30 ayrı hesaplama):
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-7-eg74nwLp.jpg)
Erkek arketipi için bu tür hesaplamalardan birine (otuzdan) bir örnek, Orta Cilt Tonu üzerinde RGB’nin KIRMIZI maliyetidir:
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-8-yBV6SWdN.jpg)
Yalnızca 1 cilt tonu ve 1 cinsiyet ile çalışıyorsanız, rastgele bir Opaklık harcaması kullanarak istediğiniz “karışımı” elde etmek için yukarıdaki formülün bir işlevi olarak RGB değerlerini değiştirebilirsiniz.
Örneğin, karışım 5 = karışım 6 = karışım 7, Form 7’ye göre her kaplamanın (bindirme 2, kaplama 3 ve kaplama 4) RGB ve Opaklık maliyetlerini ayarlayarak bulunabilir.
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-9-kODXv6ap.jpg)
Şekil 7: Yalnızca Orta Cilt Tonunda Pembe Yanakların Çoklu RGB/Opaklık Kombinasyonları
Ancak, ek cilt tonları göz önüne alındığında, “herhangi bir” opaklık değerinin işe yaramayacağı açıktır.
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-10-s1nPYAyN.jpg)
Şekil 8: Tek Bir Cilt Tonundan Hesaplanan RGB ve Opaklık Maliyetlerini Diğer Cilt Tonlarında Kullanmaya Çalışma
Hesaplamayı yalnızca Orta cilt tonuna dayandırırsak, Durum 8’de diğer cilt 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.
Excel “Solver” işlevi, 5 cilt tonunun tümü birleştirildiğinde tam “karışımlar” oluşturmak ve tek bir Şeffaf Pembe Yanaklar katmanı olarak kullanılabilecek optimum opaklık ve RGB değeri kombinasyonunu bulmak için tüm hesaplamalarda aynı anda kullanılabilir. Çözümleyici, RGB değerlerinin her zaman 0’dan büyük veya ona eşit ve 255’ten küçük veya ona eşit olması gerektiği kısıtlamalarına tabi olarak cilt tonlarına en uygun olanı bulmak için tüm olası Opaklık değerlerini (%0-100) test edebilir. . Bu, bir Erkek arketipindeki Pembe Yanaklar hesaplaması için Excel’de ortaya çıktı.
Optimum çözüm (Şekil 9’da A), RGB Değeri R=214,5, G=0, B=0,2 ve Opaklık=%19,8’dir.
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-11-vYBXVk3A.jpg)
Şekil 9: Birden Fazla Cilt Tonu için RGB ve Opaklık Değerlerini Hesaplamak İçin Excel “Solver” Eklentisini Kullanma
Yuvarlak, tek Rosy Cheeks saydam katmanımız (Erkek arketip) için %20 opaklıkta RGB = 215.0.0 kullanıyoruz (Şekil 9’da B). Farklı cilt tonlarının her birinde birleştirildiğinde, orijinal Male CryptoPunks with Pink Cheek’te bulunan tamamen harmanlanmış RGB varlığını oluşturur. Bu Çözücü yaklaşımı, optimum RGB/Opaklık maliyetlerini gerçekten belirlemek için şeffaflık (Köstebek, Noktalar, Boynuzlu Çerçeve Gözlükler, Mavi/Yeşil/Mor Göz Farı) içeren tüm özellik katmanlarında (ve her iki cinsiyet arketipinde) tekrarlanmalıdır.
Orijinal CryptoPunks koleksiyonu üzerinden hedeflenen “karışım” RGB değerini üretecektir. RGB fiyatlarındaki farklılıkları çıplak gözle tespit edecek “yeterince yakın” olabilecekken neden tüm bu zahmete girelim? Nihayetinde, ExpansionPunks sürecinin Punk’ları olabildiğince sadık bir şekilde yepyeni formlarında ortaya çıkarmasını istedik…
…sanki orijinal CryptoPunks süreci yeniden canlandırıldı ve bugün yeniden çalıştırıldı. Yepyeni 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 özgü özelliklerin (örneğin, çeşitli şapkalar, saç stilleri ve tüm Sakal özellikleri, vb.) karşı cins arketipine uymasını sağlamaktı.
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-12-eSHIOUbw.jpg)
Şekil 10: Hoodie’yi 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 (örneğin, Erkek, Dişi’den 1 piksel daha geniş ve 2 piksel daha uzundur), cinsiyete özgü özellikler alternatif arketipe uygulanamaz.
Yukarıdaki Format 10’da, Hoodie’yi Kadın arketipine basitçe uygulamak, CryptoPunks estetiğinden kopan 3 görsel sarsıcı sorun yaratır: (1) sol alt boyun çevresinde eksik pikseller, (2) görünür kadın boynunun 3 piksel daralması genişlikten yalnızca 2 piksel genişliğe ve (3) orijinalin kapüşonlu görünümünü kaybederek çok fazla alın pozlaması. Ayrıca, arketipin daha küçük çerçevesi göz önüne alındığında, genel orantılar hissedilir.
Daha orantılı ve estetik bir uyum sağlamak için Hoodie, aşağıdaki Şekil 11’de görüldüğü gibi bu 3 tutarsızlığı giderecek şekilde düzenlenmiştir:
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-13-mptsKeSH.jpg)
Şekil 11: Daha Küçük Kadın Arketipi İçin Daha Orantılı ve Estetik Bir Kapüşonlu Giydirme
Özgün özelliğin dinamiklerinin de dikkate alındığından emin olmak için özen gösterilmelidir – bu durumda Hoodie, Küpe özelliğini “gizler”. Örnek olarak Punk #269’a bakın:
![](https://haberserinhisar.com.tr/wp-content/uploads/2023/08/adim-adim-10000-karakterlik-nft-koleksiyonu-olusturmanin-teknik-sureci-i-14-bG5CB4NM.jpg)
Şekil 12: Punk #269’daki “Gizli” Küpe Özelliğine Örnek
Bu cins dinamiklerinin, özelliğin demokratikleştirilmiş versiyonunda onurlandırılması gerekiyor. Cinsiyete özgü her özellik, benzer bir piksel piksel değerlendirmeye tabi tutuldu; bu, genel CryptoPunks estetiğinin, daha önce cinsiyete özgü özellikler içeren bu yeni Punk permütasyonlarına başarılı bir şekilde taşınmasının yoluydu.
Devamı bir sonraki bölümde 🙂