前往
大廳
主題

關於瑪奇染色色差

Loies | 2025-03-02 18:31:32 | 巴幣 1004 | 人氣 48

首先 感謝點破難點的大神
 
染色找色問題常造成色差
花了一點時間研究整理數據有了一點小心得

以下是過程
整理出瑪奇內的染色劑顏色色盤

目前只算布衣的色盤
指定染劑比較簡單有許多文章能參考指定染劑 約393種
普染的部份先整理約 200張普染色盤的截圖並且算出不重複的值 約13536種
獲的所有普染色盤可以把普染當作指定染色劑使用



有了染色數據後 製作簡易篩選功能
可以根據色碼及色差範圍 (ΔE) 的到近似的顏色
數據量夠大基本上可以透過篩選來找到心儀的近似顏色

只是透過篩選後染色出來的結果多少會因為肉眼的判斷有一些誤差

就算襪子與鞋子染的顏色一樣還是有可能因為模組的灰階圖G得到不一樣的結果

了解了一下遊戲內對於染色的原理大致上是透過灰階上色手法進行模組渲染的

以知模組用G_rgb(128,128,128)作為G灰階中性色
灰階圖G > G_rgb(128,128,128) 則表示明部
灰階圖G < G_rgb(128,128,128) 則表示暗部
染色結果Dye_R = 輸入的Dye_input  經過灰階處理邏輯G
當然還有很多額外的因素e.g ( 光源、反射、材質等等的)

要想辦法算出G就能回推 要輸入什麼 Dye_input(r,g,b) 才得到理想的Dye_ Ideal
所以找一個沒有光源影響的位置e.g室內空間 且沒有任何特效情況下
算出來的G 基本上就是固定的

以上圖為例子 當輸入A = #785C64


會得到 B = #81656D

透過A與B計算出灰階圖G (這個G值沒意外已經包含當下的光澤影響因素)
結果與C部位與B部位顏色有明顯差異至少 |ΔE| >3
理想的結果是BC部份都呈現紅色 或大部分紅色G=0 藍色G=-1 綠色G=+1



有了G值可以透過目標色C 來反推輸入色D(Dye_input) 並且控制色差範圍 ΔE越小越好



基本上|ΔE| = +-2範圍 內人眼很難作區分
若套用|ΔE| = +-2 篩選後沒有相對應的染色劑 可能就要等自定義染色劑活動
得到結果D = #68595A


染色後 重新對B點取樣 並作灰階圖G的運算
可以得證當輸入A#68595A B與C的灰階圖G大致相同

Tips
選擇B點盡量挑選接近斷層的位置
B點不要挑鞋面以及可能有光補償的位置
幾本上看灰階圖紅色G=0 藍色G=-1 綠色G=+1  來判斷 要選哪個位置比較好

最後
還是要感謝 協助處理邏輯的大神 :>



創作回應

更多創作