NFT 制作生成简单入门——批量道具藏品生成

基础准备

环境

  • Node.js (LTS)版本,如 16.x 安装完成。
  • 包管理器 Yarn: npm i -g yarn
  • Redis:缓存服务,最好自行再准备一个

项目准备

  • 创建 output 目录
  • 执行命令 yarn 安装依赖项

测试环境:

node 1-seeds.js

看是否能跑通不报错。

准备工作

图片素材准备

创建 source 目录,按照类型放置图片素材。

图片素材要求:

  • png 格式
  • 透明背景
  • 尺寸统一

    参考目录结构:
    NFT 制作生成简单入门——批量道具藏品生成_第1张图片

准备素材概率

对于 5000 张生成产物,推荐至少提供 4 种类型素材进行排列组合。如果素材概率不够生成,执行步骤一代码则会死循环(不结束,需要手动终止)。

参考代码:

// 概率自行调整,总数等于 TOTAL
const RATE = {
  background: [
    //
    3.0 * 50,
    6.3 * 50,
    7.0 * 50,
    7.0 * 50,
    7.0 * 50,
    7.0 * 50,
    8.0 * 50,
    8.0 * 50,
    8.0 * 50,
    8.0 * 50,
    8.0 * 50,
    8.0 * 50,
    8.0 * 50,
    6.7 * 50
  ],
  prop: [
    //
    2.5 * 50,
    5.0 * 50,
    5.0 * 50,
    5.0 * 50,
    5.5 * 50,
    5.5 * 50,
    5.5 * 50,
    5.5 * 50,
    5.4 * 50,
    5.6 * 50,
    6.0 * 50,
    6.0 * 50,
    7.5 * 50,
    7.5 * 50,
    7.5 * 50,
    7.5 * 50,
    7.5 * 50
  ],
  character: [
    0.5 * 50,
    0.8 * 50,
    0.8 * 50,
    0.8 * 50,
    0.8 * 50,
    1.0 * 50,
    1.0 * 50,
    1.2 * 50,
    1.2 * 50,
    1.2 * 50,
    1.5 * 50,
    1.5 * 50,
    1.5 * 50,
    1.5 * 50,
    1.5 * 50,
    1.5 * 50,
    1.5 * 50,
    1.52 * 50,
    1.52 * 50,
    1.52 * 50,
    1.52 * 50,
    1.52 * 50,
    1.52 * 50,
    1.52 * 50,
    1.52 * 50,
    1.52 * 50,
    1.52 * 50,
    1.52 * 50,
    1.52 * 50,
    1.56 * 50,
    1.0 * 50,
    1.3 * 50,
    1.3 * 50,
    1.3 * 50,
    1.5 * 50,
    1.6 * 50,
    1.6 * 50,
    1.6 * 50,
    1.6 * 50,
    1.6 * 50,
    1.6 * 50,
    1.7 * 50,
    2.0 * 50,
    2.0 * 50,
    2.0 * 50,
    2.0 * 50,
    2.0 * 50,
    2.0 * 50,
    2.3 * 50,
    2.5 * 50,
    2.5 * 50,
    2.8 * 50,
    2.8 * 50,
    2.5 * 50,
    2.5 * 50,
    2.5 * 50,
    2.8 * 50,
    2.5 * 50,
    2.5 * 50,
    2.5 * 50
  ]
};

生成

0. 修改配置

首先需要修改 1-seeds.js 里的各类型概率和总数。

然后需要修改 generate.js 里的类型叠加顺序。

1. 生成种子

node 1-seeds.js > 概率.log

一定要确保概率合理。

2. 批量生成任务

node 2-task.js
node 3-handle.js

如果中途报错,修改对应的素材或者概率。然后清除 Redis 缓存,重新开始。

NFT 制作生成简单入门——批量道具藏品生成_第2张图片
直至生成数量达到预期后,可手动停止进程结束。

FAQ 问题解答

环境相关

对于不了解 Node.js 及 Redis 的,需要自行百度,都非常基础。

依赖项安装

Canvas 依赖:

OS Command
OS X Using Homebrew:
brew install pkg-config cairo pango libpng jpeg giflib librsvg
Ubuntu sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
Fedora sudo yum install gcc-c++ cairo-devel pango-devel libjpeg-turbo-devel giflib-devel
Solaris pkgin install cairo pango pkg-config xproto renderproto kbproto xextproto
OpenBSD doas pkg_add cairo pango png jpeg giflib
Windows See the wiki
Others See the wiki

需要项目指导请 pm 联系。

你可能感兴趣的:(NFT 制作生成简单入门——批量道具藏品生成)