VR中与UI的一个重要的交互方式就是通过射线点击,现总结了一下通过proceduralMesh组件动态的生成射线。
如下图是proceduralMeshComponent的简介,可以自己定义生成mesh的结构。
利用这个组件生成mesh,我们主要用到的方法是CreateMeshSection,UpdateMeshSection。
其中需要用到的参数也就是生成mesh需要的参数。
Vertices:顶点,存储所有顶点的位置信息。
Triangles:三角形,生成每个三角形的顶点,数组长度是3的倍数
Normals:法线,每个顶点的法线,可选项
UV0:uv,每个顶点的纹理坐标,可选项
VertexColors:顶点颜色。
Tangents:顶点的切线。
所以生成射线时只需要确定射线的长度,射线的宽度,就可以生成一条射线。
例如,我们要生成一条宽为2cm,长度为1000cm的射线,参数数组应该为
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)
设定好参数后,即可生成一条射线: