ArcBlock / dappideas

Ideas collection for decentralized apps
7 stars 0 forks source link

artblocks.io 类型的nft generator #130

Open mave99a opened 2 years ago

mave99a commented 2 years ago

比如这个万花筒,之前的鱼等

https://cssdeck.com/labs/hex-kaleidoscope

mave99a commented 2 years ago

https://artblocks.io

演算藝術家有一句話是這樣說:"Logic sometimes makes monster"
下午好奇看了ㄧ下 artblocks 上的生成藝術 NFT 主要都是用 p5js 設計出的
p5.js 是什麼? 它是一套 JavaScript 函式庫,從 Processing 這個 Java 專案移植過來,是現在做生成藝術類 NFT 的熱門工具
再看一下它的開發方式,感覺程式上沒有複雜的語法,即使不是程式背景的人要上手也不難,像是基本的畫幾何形、旋轉、填色,但要複雜的做法還是需要,有些也需要矩陣的概念
整體而言我“猜”它所需倒創作技巧可以速成(一兩個月),更需要的是藝術創作概念(多年累積)
p5.js 有幾個基本的 function
preload(): 預先載入外部圖檔等資料,純幾何的設計時不一定需要
setup(): 設定畫布大小、設定底色、更新率、像素密度等基本設定
draw(): 實際畫圖的函示,畫幾何形、旋轉、填色...
如何創作一張旋轉的牌,可以看一下沒幾行 code
https://editor.p5js.org/akaswap.com/sketches/1b86c1apS
就課程老師的說法,上 15 堂課後就學會創作出 Archetype 這種知名生成藝術所需的 p5.js 程式技巧,但創作思維不包含
貴貴的 Archetype: https://www.artblocks.io/project/23
我把 Archetype 原始碼下載下來,自己改參數 (seed),蠻好玩的,在它的售價加持下,真的每一幅都有藝術感,截圖如下
-----
如何快速上手 p5.js? 沒學過,但覺得可以先花幾天學一點基本入門,之後下載大師的作品研究、看懂、修改、再創作,甚至 remix 幾位大師的元素,把這些當作樂高積木,再上面創作自己概念的作品,應該會讓一開始學的比較有成就感,學成之後再走出自己的風格 (先找一個流派,不然會很沒方向)
就像是現在有很多畫家創作持續創作類似畢卡索的抽象畫,用了大量拼貼五官的抽象概念為基底當作表達方式,再創作自己的主題圖
-----
用 p5.js 創作生成藝術後,可以透過下面的網站打造 NFT
https://www.akaswap.com/
-----
很棒的教學影片,很容易懂
https://www.youtube.com/playlist?list=PLn8ObOET02b_tY27Rh2sT3kIjEHvhyuN0
mave99a commented 2 years ago
[ NFT 支援哪些圖檔格式,可以互動嗎? ]
之前朋友問 NFT 支援哪些圖檔格式?
直覺回答:常見的影像格式和聲音檔都可以,像是 jpg, png, gif, svg, mp4...
想了一下不對,因為 NFT 其實只是一個 token id 附上 URI 連結,所以 URI 指向的任何檔案都可以,甚至一整個遊戲、一個網站也行
但問題是 URI 給了地址,但沒說如何播放這個檔案
假如某個 NFT 的 URI 指向一個瑪莉兄弟遊戲 ROM 檔,在目前所有的 NFT 市集上應該都無法支援,也不能玩
所以檔案格式需要是 NFT 交易市集網站所支援,實務上才容易銷售
突然想到那 art blocks 上那些生成藝術都是 script 動態產生的,在 opensea 這樣的市集支援嗎,還是會轉成其他檔案格式?
馬上連到 opensea 上搜尋 art blocks 的動態生成作品,找到的這個不但是動態,還可以跟滑鼠互動
https://opensea.io/assets/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/117003727
好奇看一下原始碼是如何做到的
原來是用 iframe 顯示,實際 URI 網址在 https://generator.artblocks.io/117003727
其中 iframe 的 sandbox 只允許 "allow-scripts",其他功能不支援,增加安全性
再搜尋一下,還看到一個會隨每天比特幣漲跌來呈現不同風貌的 NFT 物件,共有三種形式,上升、平盤、下跌
雖然覺得互動性的 NFT 有很多潛能可以開發,但另一面又覺得還是不能太複雜化,太複雜的更像網站不像人類心智接受的收藏品
另外如果 NFT 是一個比較複雜的應用,幾年後系統更新說不定某插件不支援就無法運作
如果要更有一至性,需要一個整合 NFT 播放的架構,難怪之前看 TokenScript 說它們希望可以制定這方面的標準
不過未來這類的藝術跟程式可能出現更深的連結,除了看還可以互動,另外結合各種行為藝術、社群、甚至是永久活的藝術,永遠不斷改變持續生成
mave99a commented 2 years ago

https://openprocessing.org

这里有很多很不错的艺术作品

例如: https://openprocessing.org/sketch/1272974

mave99a commented 2 years ago

https://zzz.dog

这个轻量3D 引擎,很适合于NFT

image