肝肝M子
@o414
Sun, Jan 10, 2021 10:20 AM
336
35
1
終於解決了一個困擾我很久的問題。
CSP的3D轉線稿出現了奇妙的轉換錯誤。
一開始就懷疑是模型的法線弄反了,但回建模軟體檢查都沒有問題。
肝肝M子
@o414
Sun, Jan 10, 2021 10:20 AM
Sun, Jan 10, 2021 10:35 AM
然後又開始懷疑是不是CSP執行圖層TL轉換設定的『檢測方向』沒按到,調了設定調了老半天......最後突然想起來,顯示有問題的那個模型,當初有把它鏡像翻轉過(Scale -1)
因為法線顯示是正常的,所以這種錯誤基本上在建模階段根本完全無法察覺。
肝肝M子
@o414
Sun, Jan 10, 2021 10:21 AM
Sun, Jan 10, 2021 10:39 AM
現在唯一的解法就是...等到發現CSP轉換錯誤時,記起來哪些地方有問題,再回建模軟體一個一個反轉法線。
肝肝M子
@o414
Sun, Jan 10, 2021 10:21 AM
網路上關鍵字找了半天都好像沒有人問過這個問題...只好自己紀錄一下看看以後能不能幫助到有困擾旅人
啊涅
@metero1228
說
Sun, Jan 10, 2021 11:55 AM
大大晚安 ~ 可以在maya的時候把模型匯成OBJ出去之後重新導進MAYA,unlock normal之後再匯進去CSP看看~ (路過
肝肝M子
@o414
Sun, Jan 10, 2021 12:47 PM
啊涅
: 測試了一下,unlock normal雖然可以讓鏡像過的模型法線翻轉,但放入CSP後仍然是轉出有問題的線稿......不知道是不是我設定有錯
望 | : 3
@xnaw
Sun, Jan 10, 2021 1:59 PM
Sun, Jan 10, 2021 2:03 PM
另個方法是在3D軟體裡要匯出之前,先freeze transformation以及delete history,就能確保輸出任何格式時模型都是乾淨的狀態
肝肝M子
@o414
Sun, Jan 10, 2021 3:41 PM
望 | : 3
: 輸出前有確認過模型是乾淨無瑕(?)的狀態了,但法線翻轉的問題還是存在,看來還是只能調整法線來解決
望 | : 3
@xnaw
Sun, Jan 10, 2021 4:34 PM
3
肝肝M子
: 方才測試了一下,有重現出您的問題。根源的確就是模型在3D軟體內複製時(可能您是使用了duplicate special,以某個軸做鏡像複製),造成模型的scale變成負向,這時只要freeze transformation將模型的scale參數回歸正數,重新導回CSP就能正常提取線稿
如圖,嘗試將一個法線向外、負數scale的模型導入CSP後,CSP的光源狀態會是全黑,提取線稿就是讀取到模型的內部(負數)空間
望 | : 3
@xnaw
Sun, Jan 10, 2021 4:35 PM
將scale參數修正後,在CSP內就能呈現正常的光照狀態,也能提取它外部的線稿
望 | : 3
@xnaw
Sun, Jan 10, 2021 4:37 PM
這個問題跟法線本身無關,而是各家軟體讀取模型時,無法正確判斷模型的空間 (因為常理上,本來就不應該存在scale為負數的物理狀態,很多軟體在設計時都是預設scale為正數)
望 | : 3
@xnaw
Sun, Jan 10, 2021 4:39 PM
如果要確認模型是否是正常的狀態,在CSP內的預設光照應該會呈現出外部正常的光影而非全黑。不好意思打了這麼多><,但只是想釐清問題點在哪裡
望 | : 3
@xnaw
Sun, Jan 10, 2021 4:41 PM
至於為什麼在scale負數狀態下,翻轉法線向內導回CSP能正常提取線稿,是因為在CSP讀取時負負得正的關係(負數空間且法線向內,等於將內部負數空間轉回正面)
肝肝M子
@o414
Sun, Jan 10, 2021 5:41 PM
Sun, Jan 10, 2021 5:45 PM
望 | : 3
: 哇竟然有這麼精緻的圖文說明!!真是太感謝了!!!!
更清楚問題是出在哪邊了。
肝肝M子
@o414
Sun, Jan 10, 2021 5:41 PM
我最初沒有先把transformation回歸就直接存obj檔,後來再次把obj檔匯入MAYA編輯時,系統自動把模型scale調成正數,這時候也沒辦法靠freeze transformation修正了。
另一個狀況是,模型鏡像翻轉之後,直接合併進其他模型裡面。
上面這兩種情況都是在MAYA裡檢查scale雖為正數,但CSP判讀會有問題。所以才覺得是法線的鍋
肝肝M子
@o414
Sun, Jan 10, 2021 5:42 PM
嗯反正結論就是...鏡像翻轉之後立馬要把transformation歸0,否則之後可能就...只能靠改法線來救
望 | : 3
@xnaw
Sun, Jan 10, 2021 6:21 PM
Sun, Jan 10, 2021 6:21 PM
肝肝M子
: M子大您過獎了XD 如果是已經合併完的模型(例如別人做的asset)想要清transform資訊,可以在maya裡執行mesh separate,把解開的模型全選(hierachy select)後執行freeze + delete type history,同樣能確保模型是空間正確的(這步驟可以放在輸出前,這樣只要建模完做一次即可)
肝肝M子
@o414
Sun, Jan 10, 2021 7:15 PM
只好投幣以示感謝
真希望我早點看到這些,就不會浪費這麼多生命研究了XD
載入新的回覆
CSP的3D轉線稿出現了奇妙的轉換錯誤。
一開始就懷疑是模型的法線弄反了,但回建模軟體檢查都沒有問題。
因為法線顯示是正常的,所以這種錯誤基本上在建模階段根本完全無法察覺。
如圖,嘗試將一個法線向外、負數scale的模型導入CSP後,CSP的光源狀態會是全黑,提取線稿就是讀取到模型的內部(負數)空間
更清楚問題是出在哪邊了。
另一個狀況是,模型鏡像翻轉之後,直接合併進其他模型裡面。
上面這兩種情況都是在MAYA裡檢查scale雖為正數,但CSP判讀會有問題。所以才覺得是法線的鍋
真希望我早點看到這些,就不會浪費這麼多生命研究了XD