SuperAPI AI 工具集

generative-series

设计与创作

查看项目

更新于 10-16 06:37

技能介绍

用途

本技能用于搭建「哈希种子生成艺术系列」(fxhash 或 Art Blocks 风格)。核心目标:一份代码(sketch)为每个哈希产出一件独一无二的作品,且同一哈希永远产出同一件作品。所有随机性都必须来自由哈希派生的单一带种子随机数生成器(RNG)。

主要能力

1. 从哈希派生确定性 RNG

绝不调用 Math.random(),而是用 token 哈希为一个小型 PRNG 播种。

fxhash 提供 $fx.rand()(0..1 均匀分布,由 token 确定性派生),可直接包装:

// fxhash: $fx.rand() is already deterministic per token
const R = () => $fx.rand()

通用 / Art Blocks 风格(哈希 → 带种子 PRNG):

function mulberry32(a){ return function(){ let t=a+=0x6D2B79F5; t=Math.imul(t^t>>>15,t|1); t^=t+Math.imul(t^t>>>7,t|61); return ((t^t>>>14)>>>0)/4294967296 } }
function seedFromHash(hash){ let h=1779033703^hash.length; for(let i=0;i<hash.length;i++){ h=Math.imul(h^hash.charCodeAt(i),3432918353); h=h<<13|h>>>19 } return h>>>0 }
const R = mulberry32(seedFromHash(tokenData.hash))   // Art Blocks: tokenData.hash

所有随机性都使用 R(),并派生辅助函数:

rint=(a,b)=>Math.floor(a+R()*(b-a))
pick=arr=>arr[Math.floor(R()*arr.length)]

2. 定义特征 / 属性(traits)

用 R() 做出高层选择,并暴露出来,以便平台索引稀有度:

const PALETTES = { Ember:['#ff6b5c','#ffb347'], Tide:['#3ad6c5','#5b8cff'], Orchid:['#e85aff','#7c5cff'] }
const paletteName = pick(Object.keys(PALETTES))
const density = pick(['Sparse','Balanced','Dense'])
const technique = R() < 0.15 ? 'Rare-Variant' : 'Classic'   // rarity via thresholds

// fxhash:
$fx.features({ Palette: paletteName, Density: density, Technique: technique })
// Art Blocks: expose window.$generativeTraits or log for the script

再根据这些特征 + R() 确定性地绘制作品。

3. 确定性预览

平台会截取静态图。确保画布能快速到达最终稳定帧(或发出就绪信号):

// fxhash: call when the artwork is rendered and ready to capture
$fx.preview()

4. 项目工程规范

  • 自包含打包;固定库版本(避免 CDN 漂移)。
  • 固定宽高比;所有尺寸相对画布缩放,使其在任何分辨率下都能渲染(缩略图 → 印刷品)。
  • 测试确定性:同一哈希渲染两次 → 像素完全一致。渲染大量随机哈希 → 有变化但不出现难看的离群值(对参数空间的坏区域做钳制)。
  • 保留 ?seed= / hash 覆盖参数用于本地测试,以便浏览整个参数空间。

5. 铸造前检查清单

  • 任何地方都没有未播种的随机性(搜索 Math.random)。
  • 同一哈希 → 相同输出(已验证)。
  • 特征已暴露,且在约 100 个样本哈希上稀有度感觉合理。
  • 在低分辨率和极高分辨率下都能干净渲染。
  • 预览/截图在正确时机触发。

交接

  • 美术本身 → generative-systems / p5-sketch-engine / shader-artist
  • 作为特征的配色 → color-composition
  • 高分辨率/视频捕获 → art-export-engineer(/export-art)

适用场景

适用于在 fxhash、Art Blocks 等平台上发布生成艺术系列,需要保证每个 token 哈希对应唯一且可复现作品、并需要暴露特征用于稀有度索引的场景。

限制

资料未提供关于收费、价格、平台支持范围、具体效果或性能指标的信息。