首页 文章

存储网格数据值

提问于
浏览
1

我正在基于“x,y,z,dataValue”格式的CSV文件创建网格 . 根据数据值,我为顶点着色 . 例如,对于数据值10-20,它将是深绿色,并且对于20-30浅绿色等...我有这个工作,但我希望能够为网格创建分析工具 . 基本上我想显示鼠标悬停点的数据值 . 因此,如果它们悬停在顶点上,则显示“data value = x” . 但是,一旦创建了网格,我只能访问颜色,该数据值基本上被转换为材质 . 我需要一种方法来存储相对于每个顶点的数据值 .

我有大约450,000行数据,所以我需要一种有效的方法来查找数据值 . 我想到了两个选项:存储映射到数据值的顶点,并搜索 Map 以找到正确的数据值(我想这可能太慢了) . 或者将数据值存储在每个顶点的着色器中然后当悬停在顶点上时,访问着色器以获取数据值 . 我不确定如何做第二种方法,或者它是否是更好的方法 . 我只是在寻找一种有效的方法来解决这个问题 .

1 回答

  • 0

    我认为你需要在Octree中组织你的顶点数据 .

    首先通过鼠标光线获取命中点,然后通过Physics.Raycast获取 MeshCollider ,然后在八叉树中搜索命中点附近的顶点 .

相关问题