Generative NFTの基となる画像データをPython処理で作ってみた
とみます(@20tomimasu)です。
NFTがゲームやアートなどに使われ始め、ブロックチェーン技術が生活にどのように影響していくのか、ワクワクしますね。
今回、Generative NFTを発行するまでの流れを理解するために、基となる画像データを作っていきます。
スコちゃん、かわゆす…w
(家で飼っているスコティッシュフォールド、猫です。)
Generative NFTとは
前回、thirdwebというプラットフォームにて、画像データをブロックチェーンに乗せるイメージを持てた。
今回は、より詳細に、
- Generative NFT
を作っていこう。
ざっくり、Generative NFTとは、
- プログラミングで発行されたNFT
のことで、
- 利用者は、Mintした時に、ランダムにNFTが付与されるので楽しい
と認識している。
まずは、画像データをプログラムで用意するところから。
色々とエラーは出たけど、それっぽいものができた↓
いつも、とみますの頭の上に載っている
- スコちゃん
だね。w
色んな組み合わせがあって可愛い。w
とりあえず、ここまでの忘備録として、ログを残しておこう。
Generative NFTための画像データの作り方
この方のコードを参考にした。
コードを利用するための環境設定としては、
次に、asset内に、素となるデータを用意していくのだが、
を利用した。
それぞれ、
- background
- body
- face
- fronthair
に収納し、config.pyを変更していく。
↑一連の流れを習得するのが目的なので、よりシンプルな設定に変更している。
背景の透明に関するエラー
今回、悩まされたのが…
- 背景の透かし
(ちなみに、Canvaでは有料なので、パワポで処理した。)
イメージ画像をランダムに組み合わせるコードを走らせた時に、
- ValueError bad transparency mask
というエラー。
Pythonライブラリを見ながら、コード自体も色々触ってみたけど、
結局、元画像を変更することで解決できた。
↑エラー途中までに掃き出された画像を確認すると…
- body→黒
にしていたのが、悪さをしていたみたい。
(合成処理の時に、バグりやすい画像だっただろうね。)
ってな感じに、一通り走らせると↓
(仮テスト)
キャー、かわゆす~w
ちなみに、背景でレア度を決めている。
- Super Rare(SR)→カオスっぽいやつ
- Rare(R)→単色じゃないやつ
- Normal→単色
思ったよりも、SRが多いので、レアリティ度合いを変更させようかー。
ってな感じに、色々と試行錯誤しつつ。
おわりに
以上「Generative NFTの基となる画像データをPython処理で作ってみた」でした。
Mintした時に、どんなスコちゃんをゲットできるかな?
次は、スマートコントラクト上へ、データを実際に記録していければ。
一方で、NFTを使って、どんなことができるのかを考えていければ。
- discord権限を作る。 (コミュニティ)
- NFT所有者に配当する。(法律的にダメかな)
- NFT美術館やNFTゲーム
- リアルでの認証 (セミナー会場の出欠認証など? )
- twitch配信の視聴者報酬
- …
うー、なかなか思いつかないw。→色々と考えよう。(何かアイデアあったら、コメントなどで教えてください。w)
あと、欲しい方? これからのテストに協力? してくれる方いたら、応援コメントで、エアドロを優先的に実施いたします。(メールアドレスにご連絡する形を想定。)
色々と不透明だけど、色々と試行錯誤しつつ。
それでは、また。