Unreal利用ProceduralMesh生成射線

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
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 著色器和程序(Shaders and Programs) 1.1 著色器語言(Language Overvie...
    RichardJieChen閱讀 9,975評論 3 12
  • 一:什么是協(xié)同程序?答:在主線程運行時同時開啟另一段邏輯處理,來協(xié)助當(dāng)前程序的執(zhí)行。換句話說,開啟協(xié)程就是開啟一個...
    CrixalisAs閱讀 2,235評論 1 7
  • Problem Formulation Ray Tracing的目標(biāo)是生成一張包含場景內(nèi)物體,具有真實感的圖像,因...
    Manster閱讀 9,291評論 4 8
  • "路漫漫其修遠兮,吾將上下而求索" 窗外陽光刺眼,灑在身上卻格外暖和。坐在椅子上靜靜的享受著短暫的溫柔,嘴里卻不知...
    毛十八321閱讀 494評論 0 0
  • 一年一度梅花開放的季節(jié),心心念著龍亭公園梅苑。來遲一步 ,黃色的臘梅花己凋謝,紅白梅花花開正艷。園內(nèi)陣陣香氣撲鼻...
    且行且珍惜知足常樂閱讀 621評論 9 10

友情鏈接更多精彩內(nèi)容