我正在做一个实时的策略游戏,我需要在我的立方体素地形上绘制选择矩形,我该怎么做呢?我知道一些RTS只是简单地在屏幕上使用2D/hud/gui/方法,但我真的很喜欢魔兽争霸3在地形上这样做。
伙计们,这不是关于选择,这是关于渲染一个矩形,在多个不同块的不平坦表面上。类似于魔兽争霸3中网格的渲染方式:世界编辑器!http://press2reset.com/wp-content/uploads/2012/02/Warcraft3WorldEditorScreen.jpg
发布于 2013-07-31 04:45:31
听起来你想要找到你选择的3d空间的屏幕空间。
如果是这种情况,那么“拾取”会找到你点击的3d点,然后做普通的MVP * pickedPoint进入剪辑空间,除以w,最后乘以你的窗口宽度和高度,即:
vec4 clipSpacePt = ModelviewProjection * pickedPoint
clipSpacePt.xyz /= clipSpacePt.w;
vec2 windowSpacePt;
windowSpacePt.x = clipSpacePt.x * windowWidth;
windowSpacePt.y = clipSpacePt.y * windowHeight;对第一个拾取点和光标所在的位置执行此操作,以获得您的“投影选择矩形”。
https://stackoverflow.com/questions/17953272
复制相似问题