VR中與UI的一個重要的交互方式就是通過射線點擊,現(xiàn)總結(jié)了一下通過proceduralMesh組件動態(tài)的生成射線。
如下圖是proceduralMeshComponent的簡介,可以自己定義生成mesh的結(jié)構(gòu)。

proceduralMesh.png
利用這個組件生成mesh,我們主要用到的方法是CreateMeshSection,UpdateMeshSection。

CreateMeshSection.png

UpdateMeshSection.png
其中需要用到的參數(shù)也就是生成mesh需要的參數(shù)。
Vertices:頂點,存儲所有頂點的位置信息。
Triangles:三角形,生成每個三角形的頂點,數(shù)組長度是3的倍數(shù)
Normals:法線,每個頂點的法線,可選項
UV0:uv,每個頂點的紋理坐標(biāo),可選項
VertexColors:頂點顏色。
Tangents:頂點的切線。
所以生成射線時只需要確定射線的長度,射線的寬度,就可以生成一條射線。
例如,我們要生成一條寬為2cm,長度為1000cm的射線,參數(shù)數(shù)組應(yīng)該為
vertices:(0,0,0),(0,1000 ,0),(2,1000,0),(2,0,0)
triangles:0,1,2,2,3,0
uvs:(0,0),(0,1),(1,1),(1,0)
設(shè)定好參數(shù)后,即可生成一條射線:

射線.png