检测用户正在查看哪个多维数据集?

问题描述 投票:1回答:1

我正在使用python使游戏类似于Minecraft。我有一个世界,用户可以四处走动,环顾四周,但我不知道如何做到这一点,因此他们可以打破并放置障碍物。

我需要知道如何从世界上块的3d数组(blocks,格式:[[[a,b,c],[d,e,f],[g,h,i]],[[j,k,l],[m,n,o],[p,q,r]],[[s,t,u],[v,w,x],[y,z,0]]]),位置(xy,[ C0])和磁头旋转(zxrot)。

我也只需要在离它们所在位置一定距离的地方,也许需要5个街区。我试图为某行找到一种功能并遵循它,但是那没有奏效,我在互联网上四处张望,找不到所需的东西。

我需要能够根据他们所看到的侧面来确定它们将打破哪个块,或者一个新的块将进入哪里。

我需要找到我正在看哪个立方体的哪张脸。这是我编写的代码,但是某些数学运算必须关闭,因为它无法正常工作。

yrot
python opengl math 3d pyopengl
1个回答
0
投票

您可以在播放器周围建立一个接触范围,并使用从播放器面部“突出”的半径。

半径r是用户可以看到并仍然能够影响它的最大距离。

使用三角形可以检测半径的末端是否在块内,等等。

© www.soinside.com 2019 - 2024. All rights reserved.