【发布时间】:2018-06-30 16:16:27
【问题描述】:
好吧,我不知道你是否可以完全考虑它是光线投射,但我基本上是想找到我的 2d 网格上的哪个图块被悬停在上面,这样我就可以在那里放置一个对象。
解决方案应该只选择网格而不是网格上的建筑物。建筑物突出显示将基于建筑物占用的任何瓷砖是否被悬停。
我想要实现的一个很好的例子是像异星工厂一样的建筑系统。
编辑: 网格是一个包含所有图块信息的二维数组。世界中的瓦片都是 2 个三角形(由顶点数组和索引数组组成)。相机是透视相机(如果 Factorio 使用 Orthographic,如果它使事情变得更简单,我可以切换到它)。
编辑 2: 该数组包含一个名为 TileInformation 的类,它有一些与 tile 包含的内容等相关的内容。瓦片大小为 1x1,阵列为 256x256。 (会有多个可以单独更新的网格块。)所有瓦片都在一个网格中,位置表示为 int 的(坐标系是正的和负的。)
【问题讨论】:
-
这个问题有点含糊。请添加必要的详细信息,例如,您的网格是如何表示的以及您有什么相机型号?
-
@NicoSchertler 我改进了这个问题,我希望我的编辑有助于描述设置。 (OpenTK 和一般图形编程的新手)
-
还是不够清楚。二维数组包含什么信息?瓷砖的尺寸是多少?它们位于哪里?
-
@NicoSchertler 这能回答你所有的问题吗?
标签: c# opengl grid opentk raycasting