2010-10-20 69 views
0

我正在执行射线拾取以查找光标指向的场景节点。所有这些场景节点都是相同大小的立方体。我击中了scenenode的位置位置的射线交点三角形表示被击中的节点/网格。我想要做的就是为碰撞的scenenode块的面部贴上新的块。我希望它在MineCraft风格中作为3D网格工作。我不想要任何代码,只是一些指针和提示,我可以如何正确地创建新的块到正确的位置。三维网格中的块拼接

如果任何人有兴趣或想/需要知道,我使用Irrlicht 1.7.1。

回答

1

如果您知道射线相交的三角形,则可以计算该三角形的法向矢量,并在positionOfHitBlock + normal处放置一个新的块。例如,构成块左侧的三角形的法线为(-1.0,0.0,0.0),所以您需要将块放在左侧。

+0

谢谢。出于某种原因,我的法向量大小为数百,即(-100.0,0.0,0.0)。我的块的大小是10,所以newPos = hitBlockPos +(triangleNormal/10)工作得很好。 – EClaesson 2010-10-20 17:47:23