GameDesign 板


LINE

我的shader是向外擠出輪廓線 但為了避免非相同法線所形成的Gaps 我將法線資訊另存在VertexColor上 shader如下 v2f vert(appdata v) { v2f o; o.pos = UnityObjectToClipPos(v.vertex); //fixed3 dir = normalize(v.normal); fixed3 dir = UnityObjectToWorldNormal((v.color.rgb * 2.0) - 1.0); dir = mul((fixed3x3)UNITY_MATRIX_IT_MV, dir); fixed2 offset = TransformViewToProjection(dir.xy); offset = normalize(offset); o.pos.xy += offset * v.color.a * _LineWidth; return o; } 直到模型綁上skin後出現了奇怪的現象 邊線往預想外的方向偏移 左邊skin後 右邊skin前 https://i.imgur.com/libCqfs.png 我把fbx丟回maya也沒發現VertexColor的變動 到底發生什麼事了QQ -- ╭───╮ ◢██◣李組長眉頭一皺, \ ㄟˇㄏ / ㄧ..ㄧ + 覺得案情並不單純。 /︷\ $snegi ▅▅▆ --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.52.190.211 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1582033597.A.A7E.html
1F:推 cjcat2266: 跟問題本身不知有無關聯,那個object space法向量應該 02/19 00:10
2F:→ cjcat2266: 直接跟UNITY_MATRIX_IT_MV相乘就好,而不用事先從objec 02/19 00:10
3F:→ cjcat2266: t space轉到world space?因為M矩陣本身就是object to 02/19 00:10
4F:→ cjcat2266: world? 02/19 00:10
直接相乘也是沒有區別 剛剛測試含有blendshape的模型也會有相同的情況
5F:推 oopFoo: https://bit.ly/37HYYQ2 02/19 09:33
6F:→ oopFoo: d3d11, 用renderdoc來debug shader. 02/19 09:34
7F:→ oopFoo: 不太了解你想做什麼?color.rgb是normal?color.a是?如果 02/19 09:35
8F:→ oopFoo: 你能解釋一下流程,資料結構,會比較好。 02/19 09:36
一個點如果含有複數的normal會讓外推的模型裂開 因此我在maya將normal.xyz +1 * 0.5 之後寫入 vertexColor.rgb vertexColor.a則是外推的程度 之後在shader將vertexColor.rgb * 2 - 1 逆推取代normal 這樣每個點都只會有一個外推的向量vertexColor.rgb而非複數的向量normal 追記 當一個點有複數權重的話就會發生問題 只有一個時不會
9F:推 oopFoo: 我猜color.a的值跑掉了。還有你確定color.rgb在skin後沒變 02/19 14:13
10F:→ oopFoo: +1*0.5然後*2-1還原,有什麼特殊原因嗎? 02/19 14:15
11F:→ oopFoo: 還有一個可能是,skin後,obj的matrix改變影響到normal? 02/19 14:16
12F:→ oopFoo: 我是覺得deferred shading的cel shading比較好控制。 02/19 14:18
我把color.a去除還是一樣 我有找到有人跟我有一樣的問題 https://reurl.cc/Qp0K25 不過我照他做沒成功QQ
13F:→ oopFoo: 那就只有跑debugger,看看是哪個值出問題。 02/19 15:45
我剛剛試著把fixed2 offset = TransformViewToProjection(dir.xy); 改成fixed2 offset = TransformViewToProjection(dir.zx); 攝影機往-Z方向沒問題 +Z線就消失了 而非SkinMeshRender的模型就變成不正常了
14F:推 oopFoo: 感覺就是skinmeshedrenderer怪怪的。谷歌一下好像還蠻多 02/19 19:08
15F:→ oopFoo: 問題的。好像是conversion又好像是unity會duplicate vert 02/19 19:11
16F:→ oopFoo: 的問題。 02/19 19:11
17F:→ oopFoo: 也可能是你計算normal沒有考慮bone transform? 02/19 19:14
真的耶!! 因為我最上層的骨頭軸向跟世界座標不同 我在maya先骨頭轉成跟世界座標相同再進行點上色就成功了 好像是skinmeshedrenderer之後的點會以最上層的骨頭作為世界座標 感謝提點! ※ 編輯: snegi (106.104.165.79 臺灣), 02/20/2020 14:59:43







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP