2021年10月25日 星期一

如何根據uv計算出頂點的Tangent

https://photos.app.goo.gl/1Nj8ojgitocw5iSu7

下面是詳細過程


三角形的頂點是A、C、B、對映到的uv座標是a、b、c


uv座標的2個軸是u-axis、v-axis向量

a= (a.u,a.v) 代表

從uv座標的原點 o=(0,0)出發

沿著u-axis軸移動 a.u 長度、再沿著v-axis軸移動a.v長度,會到達點a

o + u-axis✖️a.u + v-axis✖️a.v = a


b和c也是類似的

o + u-axis✖️b.u + v-axis✖️b.v = b

o + u-axis✖️c.u + v-axis✖️c.v = c


這有什麼用呢?

現在換看頂點ACB

想像ACB會在同1個平面上P,然後再想像P上會有1個原點D

一開始我們不知道D的實際位置

但我們可以模仿uv空間

o + u-axis✖️a.u + v-axis✖️a.v = a

寫出

D + T✖️a.u + BN✖️a.v = A

D + T✖️b.u + BN✖️b.v = B

D + T✖️c.u + BN✖️c.v = C


再來只要解上面3個聯立方程式,就能找出tangent了

https://photos.app.goo.gl/1UVE8M3LQBSwupPm8

T.w就是Peek tangent in Unity裡的w

建模軟體要怎麼判定tangent.w的正負?連結


沒有留言:

張貼留言