網頁

2010年10月18日 星期一

Painting on Mesh

Last Update: 2010/12/18 12:45+08








Intro


上面的影片是用 DirectX 完成的
配合一些基本的向量概念

步驟大致分為

◆ Step1
以滑鼠投影到3D空間的射線與Mesh構成之平面(Plane)
求得滑鼠點擊到的位置(N)
這就不贅述了


◆ Step2
求得 N 在 Mesh 上之 UV 貼圖座標

如下圖所示
PAB為構成Mesh之三頂點


我們在 Step1 中會求得滑鼠射線在平面上的交點
沒有交點自然就沒有 Step2
因此,若 PA 與 PB 不為平行線
就存在著


在三維空間表示成

我們只要求解 變數 a、b

在得知了 a、b ,我們可以求得 UV貼圖座標,例如





還有個問題,請看下圖,是由 0 <= a、b <= 1,所構成之平面

很明顯的,我們的Mesh僅只佔了一半的面積
從上圖也可以看出

解出 c、d
只要滿足 0 <= a、b、c <= 1 就表示在Mesh所構成的三角形裡
d 怎樣的無所謂,看上圖,當 a、b、c 都被限制住的話,d 也跑不掉。






參考


自己(雖然可能不是什麼好物。_。)




沒有留言:

張貼留言