leonardo — 他的筆法、他的版面、他的素材
不是「文藝復興風格的素描」。李奧納多的畫作有其特定的素材語言和特定的頁面邏輯,這兩者皆基於 sheets/CREDITS.md 中列出的十五幅實際畫作(每幅畫的位置及其分析結果)。請執行 python3 scripts/fetch_sheets.py 一次,從維基共享資源下載這些畫作;它們是 plate.py 用來錨定風格的樣本。
請務必將輸出標註 為「以其手法製作」,絕不可標為他的真跡。在面向客戶的文案中,不得使用他的名字來推銷產品。
他的畫作實際上是什麼(可量化的語言)
透過畫作分析而來。prompts/ 中的每個 STEM 都是此列表的重新詮釋。
- 頁面是工作頁,絕非一幅畫。 同一張紙上會以不同比例研究同一事物的多個面向:主要研究、剖面與切面、細節、標有 a b c 的小圖、以及一個放棄的、淺淡的初稿。沒有什麼是置中的。文字環繞著圖畫,有些線條帶有細長的引線指向圖形(胎兒頁、肩膀頁)。
- 左撇子排線。 陰影是平行筆觸,方向為左上→右下(
\\),線條緊密,順著形體彎曲,在形體轉離光線處更密集。他對形體後方的背景進行排線,以將其向前推(頭骨頁、維特魯威人的腿部)。交叉排線很少見。 - 剖面與透明。 鋸成兩半的頭骨;像水果一樣剖開的子宮;移除機殼的機械圖。他解釋事物的方式就是將其切開。
- 動態如髮絲。 水、雲、煙、風是數十條精細平行弧線形成的嵌套螺旋(〈大洪水〉)。頭髮與鬍鬚是長而韻律的波浪(杜林自畫像)。
- 六種素材模式,且它們不會混合在同一張紙上:
模式 說明 錨定畫作 ink鋼筆 + 棕色鐵膽墨水,覆蓋於淺淡的黑粉筆之上,深陰影處使用棕色水彩渲染;用於解剖與機械頁面 肩膀頁、胎兒頁、飛行器 codex主要為文字的筆記本對開頁,圖表穿插於文字之中 阿倫德爾手抄本開篇、大西洋古抄本 307v、維特魯威人 chalk紅色粉筆(赭紅),單一顏料,暈塗法塑造 杜林自畫像、畸形頭像 silverpoint在有色底子(藍灰或粉米色)上使用金屬尖筆,以鉛白提亮 婦女的手、馬匹 linen筆刷 + 灰色蛋彩於處理過的亞麻布上,純色調,無線條 坐姿衣褶 deluge鋼筆 + 墨水 + 水彩渲染的暴風雨/風景,漩渦與鉤狀筆觸 〈大洪水〉、1473 年托斯卡尼風景 - 紙張本身也是一個角色。 奶油色至淺黃色的手工紙,邊緣老化成赭色,有黴斑、棕色污漬、破損的角落,以及來自背面的透印。真實畫作上還帶有帶皇冠的 ER 收藏家印章和庫存編號——這些是博物館的,不是他的;絕對不要要求產生這些,並檢查每張圖片是否憑空出現了一個(引擎曾在未經要求的情況下偽造了一位真實藝術家的簽名;請參閱
make-art)。 - 鏡像文字。 字體小而均勻,從右向左書寫,使用與圖畫相同的墨水,以區塊形式呈現。在工作頁面(
ink、codex)上,它佔據了大部分版面。赭紅、金屬尖筆和亞麻布研究則大多完全沒有文字——不要在達文西沒有書寫的地方添加。
步驟 1 — 在寫任何文字之前決定模式與長寬比
模式決定了整體外觀,因此是首要決定,通常由需求決定:機械或解剖 → ink;帶有大圖表的推理頁面 → codex;肖像、樹木、臉孔 → chalk;手部、動物、任何關於觸感與光線的主題 → silverpoint;布料 → linen;天氣、水、山谷 → deluge。
長寬比:3:4 是對開頁的預設值;橫幅頁面使用 4:3;codex 頁面一律為 3:4。他從不畫 16:9。
如果需求只是一個主題而無其他資訊,請提出一個問題: 是工作頁還是完成的研究?這將決定模式(ink/codex 與其他類別)、文字(有或無)以及同一張紙上研究的數量。其餘一切——長寬比、錨定畫作、尺寸——由我決定。
步驟 2 — 將主題撰寫為「多項研究」,而非一幅「圖畫」
提示詞由 STEM(依模式固定)+ SUBJECT(唯一的變數)+ NOTES(依模式而定)+ TAIL(固定)組成。scripts/plate.py 會將其組合起來,並附加該模式的錨定畫作:
python3 scripts/plate.py --mode ink --aspect 3:4 --size 2K \
--out art/<slug>/candidates/r1/1-<name>.png \
--subject "一張解剖…的研究頁:一個大的主要研究…;旁邊是三個較小的
研究 — …;角落裡有一個小圖展示…,要點標示為 a, b, c。"
python3 …/plate.py --list-modes # 列出模式、其預設文字及其錨定畫作
python3 …/plate.py … --dry-run # 列印組合後的提示詞,不花費任何資源
有效的 SUBJECT 是同一張紙上的一系列研究,每個研究都有其比例和視角:「一個從左上方四分之三角度觀察 X 的主要研究,其中 Y 被切開;旁邊是三個較小的研究——單獨的 A、B 的剖面圖、從下方看的 C;角落裡有一個展示 Z 的小圖,要點標示為 a, b, c。」如果寫成單一圖畫描述(「桌上的濃縮咖啡機」),你會得到一幅畫在舊紙上的插圖,這是典型的失敗。
請先以 2K(約 $0.13)進行草稿;僅對最終選定的圖片花費 4K。引擎需要網路存取(make-art)。
步驟 3 — 將生成結果與錨定畫作對比,然後修正提示詞,而非修正圖片
請以全尺寸將每張生成結果與其錨定畫作並排比較。按發生頻率排序,實際上會出錯的三件事:
- 文字外洩。 當要求書寫「文藝復興義大利鏡像手寫體」時,引擎寫出了 「Reall bennifsance Italian mirror Italian mirror right to left」 ——我的指示被鏡像了,出現在一張其他方面都完美的銀尖筆頁面底部。當提示詞提到註釋是關於活塞時,它就用普通英文寫下了「Piston seal」和「Mechanical advantage」。絕對不要用引擎可以複製的詞彙來描述文字,也絕對不要讓 SUBJECT 中的名詞靠近標題位置。
prompts/notes-*.txt現在規定該字跡刻意設計為無法辨識,且不構成任何語言的單字;這將每張ink頁面上的文字外洩從整個句子減少到兩三個半英文標籤,並在none模式下減少為零。因此:無文字的模式預設為none;帶有margin註釋的ink/codex頁面需要檢查是否有英文外洩,如果出現任何可讀單詞,則需重新生成(或裁切)。外洩通常發生在小研究旁邊——請優先檢查那裡。 - 右手排線。 無論 STEM 如何規定,引擎產生
/排線的頻率與\\差不多。當頁面沒有可讀文字時,--flip會將其水平翻轉,排線方向就會變為李奧納多的右手方向;但請檢查翻轉後的構圖是否仍然合理(帶有字母標記的圖表則不行——它的字母會反過來)。不要在提示詞中與此對抗;它不會聽。 - 卡通式樹葉。 最初用赭紅粉筆畫的白樺樹回來時變成了扇貝狀的雲朵葉片。赭紅模式的 STEM 現在規定樹葉是由快速短筆觸構成的色調團塊,絕非輪廓清晰的扇貝,並且 SUBJECT 應描述「作為柔和色調的葉片團塊」,而不是命名「葉片」。同樣的規則可以推廣:說出你想要的色調,而不是說出引擎已有刻板印象的物體名稱。
然後是標準的 make-art 檢查:邊緣(這些圖片的設計就是展示畫作自身的破損邊緣,置於空白背景上——這是設計的一部分,不是需要裁剪的邊框),以及角落是否有偽造的印章或簽名。
步驟 4 — 儲存
建立一個 art/<slug>/ 資料夾,內含一個 README、按等級編號的最終檔案、candidates/ 和 prompts/。plate.py 會在每張圖片旁邊寫入 <out>.prompt.txt,因此提示詞資料夾無需費心。
閱讀李奧納多(人設的另一半)
他的筆記本在 J.P. Richter 1883 年的編排下屬於公共領域(李奧納多·達文西筆記本,可從古騰堡計畫免費取得),按主題分為二十二卷。當任務是他對某事有什麼想法——關於陰影、樹木、水、如何學習、畸形、飛行——請閱讀該卷,引用段落編號,不要即興創作。以下段落直接關係到繪畫,並收錄於關於繪畫實踐的卷冊中(Richter 段落編號):
- 522. 「畫畫時,要注意設定一條主線,你必須在整個作畫過程中觀察這條線;所有事物都應與這條主線的方向相關。」——這也適用於撰寫 SUBJECT 段落的唯一規則。
- 502. 一位依賴記憶而非寫生的大師,是*「被極端的無知所恩寵,因為這些效果是無限的。」*——這就是為什麼這些頁面是「多項研究」而非單一圖畫。
- 523. 玻璃板方法:用*「刷子或赭紅粉筆」在玻璃上畫畫,再描繪到紙上,「之後將其轉印到好紙上」——這是他自己對最終以撲粉法收尾的轉印過程的描述(628,畫板的配方:「然後撲粉並精細地勾勒出你的畫作。」*)。
- 540. 「寫生時,要站在物體高度的三倍距離處。」
- 529. 「鏡子如何是畫家的大師和導師」——將畫作與物體的鏡像進行對比。這就是為什麼
--flip是合法的操作而非作弊。
如果一句著名的話不在筆記本中,那它就不是他的,直到你在裡面找到它為止。他不指導時的聲音——寓言、預言、要求報酬的信件——收錄在第 19–21 卷,比人們想像的更為乾澀和有趣。
參考資料
- 引擎、標誌、貼上到磁碟的技巧、邊界檢查:
make-art。基於單一參考圖進行擴展的方法:image-riff。此技能是第三層:一種基於模式的固定語言,而不是讀取貼上圖片的語言。 sheets/CREDITS.md— 十五幅錨定畫作的來源(均為公共領域,來自維基共享資源);sheets/meta.json是fetch_sheets.py使用的原始維基共享資源記錄。