Skip to content

Latest commit

 

History

History
130 lines (101 loc) · 6.24 KB

SUGOI画像.md

File metadata and controls

130 lines (101 loc) · 6.24 KB

SUGOI画像について

TokenURIが示す画像ファイルはpng, svgなんでもいいが、その合成方法とストレージ保管方法の違いが出てくるため、最初の決めとして要件定義する。

フォーマット

基本

    • 縦長のカード。従来のプラスチックカードが横長なのに対してNFTカードが新しいフォーマットであることを主張。
  • 縦横サイズ
    • uniswap v3と同じ290x500くらい。
  • ファイル種別
    • svg
    • pngは既存クリエイターが作りやすく、svgはフルオンチェーン指向。フルオンチェーンを念頭に置くためsvgファイルを完成形とする。svgは一般的なイラストレータとは異なるスキルが必要になるけど、DFGC純正はシグネチャなモデルとする。
    • 動きをつけるのはCSSでできる範囲で。javascriptは組み込まない。
    • ※汎用性のため、キャラデザインや3Dなどリッチなデザインの他のモデルは考えてはおく。eip-4841のようにストレージが拡張され、multichainかシャーディングでガスが安価になるのを待ちつつ。

変数

  1. スコア とりあえずTXJP保有数のみ
  2. ステージ 適当な閾値で区切る。レア度の分布とシェア割合を一致させたい。ステージは画像で表現し、名称は表示しない。
  • 以下は案。MAX TotalでなくCirculating Supplyのシェア。現在の分布を確認しながら。
    • 〜0.1% イクラ
    • 0.1%〜 シャケ 1000人
    • 0.3%〜 ドルフィン 333人
    • 1%〜 クジラ 100人
    • 3%〜 テスラ 33人

デザイン案

スコア、ステージという2つの変数を用いて表現しうるデザイン案の1つ。

テーマ

EVOLUTION

構成要素

トップテキスト、センター画像、スコアテキスト、ロゴテキスト、枠線

1. トップテキスト

  • "EVOLUTION"
  • フォントはFutura、幅が広すぎたら別でも。

2. センター画像

人類の進化 (human evolution) の画像。ステージアップ感がわかり且つsvgでサイズが重たくならなそうなものということで。

  • 5段階(猿〜類人猿〜ヒト〜web3的なヒト)
  • センター放射も考える

3. 背景

  • mesh gradientか2D polygon
  • ベースカラーから自動生成

4. 配色

ステージごとに6段階。ステージ1で色が変化し、ステージ2に移ると0リセットされる、以降ステージ3も同様。

  • RGBの数値でカウントアップ
  • 6段階の数値はプリセット
  • ベースカラーから動的に生成できるなら段階は決めずそれにする

5. 枠線

常時動きをつけるところ

  • 上記のセンター放射を回転させるか、conical gradationで光らせる
  • 形がシンプルなら単純にborder CSSだけでも。

6. スコア

とりあえずTXJP保有数をそのまま表示

7. フッターテキスト(ロゴ)

  • 小さく●DFGC
  • フォントはHelvetica Neue

8. プラスアルファ

  • 枠線の動きは、ウェーブエフェクトで浮遊感でも。
  • 保有数をカウントアップするアニメーションで進捗感を出す(色のカウントアップもできれば。)
  • スコアのアウトラインを徐々に描くエフェクトでじわじわ感を出す

完成イメージ

  • あくまでイメージ。色は適当。svgではなくpng。
  • 以下6つのレイヤーを画像加工アプリで合成したもの。svgの場合は各レイヤーのコードを結合する。
  • 固定レイヤー
    1. 枠線
    2. タイトル
    3. フッター
  • 変数からなるレイヤー
    1. 背景
    2. オブジェクト
    3. スコア

⚠️PoCでは

ここまで。

  • EOAアドレスごとのスコアを出力
  • スコアに応じたステージを出力
  • svgはすでに生成したものを格納しておいてスコアのみ表示。

直接svgを書き換えるところまでやって、デザインが変わるように見せた方が完成形イメージはしやすい。体力による。

svg生成について

スコア変動をどのタイミングで反映するか。uniswapのようにパラメータ固定ではないからミント時ではないタイミングの検討が要る。

  • 時間ごとのバッチ
  • txを監視してtoken id別に処理

拡張性

拡張性1(複数の変数)

変数を複数持てば

  • uniswap v3のような複数カラーで表現できる。ただしグレード進捗感が表現しにくい。
  • 保有数の数量をRGBのカウントアップで、属性をRGBの色方向で表現できる(例えば保有期間が長いほどにR→G→Bと変わりHODLを表す)
  • など。

拡張性2(コラボ)

オブジェクトが変わるだけでなく、さらにコラボして属性を追加する

  • ステージ部のオブジェクトに帽子みたいな付属レイヤーを重ねる等

拡張性3(ストラテジー)

これはストラテジーそのものを見直す。上記だと現在の保有数だけを表現している。

  1. 時間: ヒストリーから時間経過をレピュテーション指数として数値換算していく。投票の重み付けとも相性がいい。
  2. 時間経過: ヒストリーから時間ごとのスコアを複数抽出し、時間経過による保有増減をグラデで表現する。デザインのまとまりがなくなる危険。
  3. エコシステム: Yamato等のプロダクトトークンの保有数も計算に入れる。例えばmultiplier要素にしてスコアを算出。DFGCファミリー全体でのLoyaltyを高めやすい。
  4. ポートフォリオ: 複数プロダクトアセットの保有数を別々のradial gradientとして背景に配置。
  5. DeFiGeekだから他のDeFi Dappsを使い倒してるジャンキー指数も考えたけどDebankやZapperと被りそうだし、投票ウェイトに繋がらないのは面白くない。