Unreal利用ProceduralMesh生成射线

VR中与UI的一个重要的交互方式就是通过射线点击,现总结了一下通过proceduralMesh组件动态的生成射线。
如下图是proceduralMeshComponent的简介,可以自己定义生成mesh的结构。


proceduralMesh.png

利用这个组件生成mesh,我们主要用到的方法是CreateMeshSection,UpdateMeshSection。


CreateMeshSection.png
UpdateMeshSection.png

其中需要用到的参数也就是生成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)

设定好参数后,即可生成一条射线:


射线.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 着色器和程序(Shaders and Programs) 1.1 着色器语言(Language Overvie...
    RichardJieChen阅读 13,240评论 3 12
  • 一:什么是协同程序?答:在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。换句话说,开启协程就是开启一个...
    CrixalisAs阅读 6,286评论 1 7
  • Problem Formulation Ray Tracing的目标是生成一张包含场景内物体,具有真实感的图像,因...
    Manster阅读 12,941评论 4 8
  • "路漫漫其修远兮,吾将上下而求索" 窗外阳光刺眼,洒在身上却格外暖和。坐在椅子上静静的享受着短暂的温柔,嘴里却不知...
    毛十八321阅读 3,192评论 0 0
  • 一年一度梅花开放的季节,心心念着龙亭公园梅苑。来迟一步 ,黄色的腊梅花己凋谢,红白梅花花开正艳。园内阵阵香气扑鼻...
    且行且珍惜知足常乐阅读 3,616评论 9 10