コラム

ジェネラティブNFT作成ツール【Jumble-machine】

今回は、ダウンロードして使用できるジェネラティブツール「jumble-machine」を作成したので、使い方含め紹介します。

なお、オンラインで利用できるジェネラティブツールはこちらです。

操作画面と複雑な設定ができる様にしたツールを新たに公開しています。プログラミングの知識は不要ですが、使い方の説明等まだできておりません。Twitter等で使い方公開していますし、興味がありましたらご連絡ください

https://github.com/eggdragons/jumble-machine

ジェネラティブツール「jumble-machine」について

ダウンロードして使うことが出来る無料のソフトになります。

※利用するには、エクセルが必要です。

無償なので、下記のイマイチな部分については、ご理解ください

  • pythonというプログラム言語で作られています。(処理も遅いし、無駄に容量がでかいです)
  • UI作ってません。
  • エラー処理は、あまり配慮しておりません。
  • プログラムコードの整理等はしておりません。

普段、テスト用のNFTを作る際に使用していたプログラムをコード使用せずとも使えるようにしただけなので、細かいところは許してね

できること

  • ジェネラティブアートの作成
  • ペア設定とかレアリティ設定もできます
  • メタデータも出力できます

ツールの名前について

そもそもジェネラティブツールと言いながら全然ジェネラティブな事してなくて、ただ単純に絵をごちゃ混ぜにしてるだけなので、jumble machineという名前にしました。

もっと複雑なことがしたい場合は、腕の良いプログラマーさんにきちんと報酬を積みましょう!

~注意事項~

  • 使用しているプログラムの都合上、実際の処理が開始されるまでに、少し時間がかかります。
  • 使用されるパソコンのスペック等により処理のスピードが異なります。
  • プログラム動作中は、黒い画面が立ち上がります。万が一、文字が表示された場合は、何かしらのエラーが発生している恐れがあります。

「jumble-machine」の使い方

UI無しとはいえ、出来る限り直感的に使えるように作ったつもりではありますが、ざくっと説明していきますね。

01.parts

まずは、ジェネラティブするのに必要な画像データ(PNG)ファイルを「01.parts」に保存して行きます。

保存のルールとしては、パーツ毎にフォルダを作成し、その中にパーツ保存します。

メタデータ出力前に、メタデータを綺麗にするステップがあるので、細かいことは気にしなくて大丈夫ですが、下記がポイントになります。

  • フォルダ名は、パーツの名前にする
  • 画像データの名前は、OpenSea等で表示したいプロパティ名にする
  • なお、重ねたい順番通りに、フォルダ名に番号をふる(例 bg→01.bg)と、次のステップにて自動で順番に並びます。
  • ペアにしたいパーツの名前は、必ず同じ名前をつけるようにしてください

02.prep

パーツの準備が出来たら、「02.prep.exe」を実行します。

このプログラムでは、さっき作った「01.parts」フォルダの情報を取得して、「03.design」エクセルを出力します。

03.design

ここでは、ジェネラティブの設定を行って行きます。「03.design」エクセルを開けます。

~NFT設定~

①アイテム数:作る画像の枚数を設定します。※必ずパーツの組合せ総数よりも少なくなるように設定してください。

②NFT名:作る画像の名前を設定します。(ここは後から変更できます)

~design設定~

③合成する順番:重ねる順番通りに並び替えます。※名前を変更しないでください。

④ペア設定:ペア設定を行いたいパーツの横に、同じ文字を入力してください。ペアに制限はありません。

例1、03.wing:p1、04.body:p1

例2、03.wing:1、04.body:A、05.face:A、07.eye:1

※なお、ペアにしたいパーツについては、各パーツに必ず同じ名前をつけてください。

また、ペアパーツにレアリティ設定を行う場合は、必ず合成する順番が上にある方のパーツにレアリティ設定を行ってください。

例1、03.wing:1、04.body:A、05.face:A、07.eye:1でペア設定を行った場合、1のペアのレアリティ設定については、03.wingのシートに、Aのペアのレアリティ設定については、04.bodyのシートにレアリティ設定を行います。

~各パーツの名前がついたシート~

⑤各パーツのレアリティ設定

デフォルトでは、全て同じ重み付け(1)にて排出されます。レアリティを設定したい場合は、Rare蘭の数字を変えてください。

数字が大きくなるにつれて、レアリティが高くなります

例 red1、blue1、yellow2

この場合、yellowが出る確率は、red、blueが出る確率の2倍になります。

04.jumble

designの設定が出来たら、「04.jumble.exe」を実行します。

このプログラムでは、「03.design」エクセルの設定をもとに、組み合わせを演算し、その結果を「05.blueprint」エクセルに出力します。

05.blueprint

まずは、ジェネラティブされた結果を見てみましょう!といっても、まだ画像は出力されていません

①blueprintシートを開き、各パーツの出現率を確認します。気に入らなければ、再度03.designに戻ってレアリティ設定からやり直してください。

②ペア設定がきちんと反映されているか確認してください。

③factory設定シートにて出力設定を行います。

ここの処理は様々な要因により、かなり時間がかかる恐れがあります。

細かく区切って出力することが出来るようにしてありますので、まずは少ない数でどれぐらい時間がかかるか試してくださいね

06.factory

blueprintの確認factoryの設定が出来たら、「06.factory.exe」を実行します。

このプログラムでは、「05.blueprint」エクセルの設計図をもとに、画像を組み合わせて、その結果を「07.arts」フォルダに出力します。

また、 メタデータ作成に使用する「08.infomation」エクセルが出力されます。

07.artsフォルダ

①合成された画像を確認しましょう!

②ipfsサーバー等のサーバーに画像をアップロードしましょう!

※thirdwebでは、NFT作成時に画像のアップロードも一括で出来ますが、必ず各自pinするようにしましょう!

08.infomation

次にメタデータを整理して行きます。

①「recipe設定」シートを開き、メタデータの作成に必要な項目を記載します。

  • description:NFTの説明です。各アイテムの説明欄を変えたい場合は、最後に修正できるタイミングがあります。
  • walletAddress:chocofactoryのchoco mint V2を利用するときに使用します。
  • background_color:thirdwebでmintするときに使用できます。透過NFTを作った時だけ使用するものです。
  • youtube_url:thirdwebでmintするときに使用できます。
  • CID:thirdwebでmintするときは使用しなくてもmint出来ます。

なお、不要な項目は、空白で問題ありません。

②「blueprint」シートの内容を必要に応じて修正

例えば、パーツ名(01.bg→background)を変更することで、メタデータを綺麗にすることができる。

09. recipe

「08.information」の設定が出来たら、「09.recipe.exe」を実行します。

このプログラムでは、「08.information」エクセルをもとに、メタデータを整理して、その結果を「10.metadata」フォルダに出力します。

10.metadata

最後に出力されたメタデータを見ていきましょう!

  • chocomintV2用のmetadata
  • chocomintV2でmintするときに使用するCSV1・2
  • thirdweb用のmetadata:ipfsへの画像アップロードを自分でしない場合
  • thirdweb用のmetadata2:ipfsへの画像アップロードを自分でした場合

11.congratulations

お疲れ様でした。これでこのツールの説明は以上になります。

面白いNFTを作ってみてくださいね

何かあれば、ツイッターの方にご連絡ください。気が向いたら対応します

-コラム