XNA:我有一个1 * 1 * 1的盒子,想知道我从哪一侧单击它。 (《我的世界》克隆版)
|
我目前正在创建Minecraft克隆游戏(您在3D空间中并创建或删除块以创建结构的游戏)
因此,我几乎可以完成所有需要的工作。
如果我查看一个块,它将以我想要的方式显示出来,并且如果我用右键单击调用“ RemoveBlock()\”,则当前查看的块将被删除。
但是现在我也想通过单击leftclick添加块。
所以我有:AddBlock(Vector3 LookingAt,Vector3 Direction)
\“ LookingAt \”与我存储我的Blockdata的3dArray正确相关。方向是Vector3.UnitX / Z / Y和负数。如果我手动说Direction = Vector3.UnitY,则将在LookedAt块上方添加一个块。这就是我想要的。
但是我怎么知道我从哪一侧看街区。即。确定方向:
我试图在LookedatBlock周围创建6个球体,并从CameraPossition绘制了一个Ray到CameraDirection,然后试图找出它与哪个球体首先碰撞。这6个精子的中心始终在立方体每一侧的中间,半径为0.5f。这对我来说很有意义。但这是行不通的。我该怎么做才能使它正常工作。
我需要的结果是某种Vector3.UnitX / Y / Z,以便我可以将其与其他方法一起使用。
谢谢。
没有找到相关结果
已邀请:
1 个回复
吐兄