raycasting

    0热度

    1回答

    我在three.js所 更新线顶点的问题,所以,我想在我的场景中的线,其启动在用户屏幕的特定位置(在x,y坐标中)始终位于(0,0,0)处,其末尾始终为。 我做什么来达到这个目标(而且我几乎成功了),就是让一架看不见的飞机总能看到相机,并且它的位置总是在相机的前面。我这样做的原因是因为我想让这条线看起来像“走向”用户的屏幕。因此,我从所需的屏幕位置(x,y)“发送”一个光线测量器,然后检查它相交的

    0热度

    1回答

    对于长期的问题抱歉。我正在制作一个简单的游戏,点击一个立方体,并将其材质更改为某种颜色(即污垢/草地>>水和水瓦旁边的任何污垢“瓷砖”(主要)将自动变为黄色)。这些颜色通过使用int值来标识状态。 我在c#中使用2d数组无法存储这些多维数据集,所以我试图使用raycasting来检查这些相邻关系。所有的立方体都在y = 0的单个平面上,并且它们具有l = 1m。 这是检查邻居的代码。 这里是所有瓷

    0热度

    2回答

    我正在研究一些非常简单的射线追踪器。 现在我正在试图使透视相机正常工作。 我使用这样的循环来渲染场景(只有两个,硬编码的球体 - I投射光线从它的中心的每个像素,不AA施加): Camera * camera = new PerspectiveCamera({ 0.0f, 0.0f, 0.0f }/*pos*/, { 0.0f, 0.0f, 1.0f }/*direction*/, { 0.0f

    0热度

    1回答

    基本上,我在XY平面上有一个六边形网格,我在其上绘制了一个伪随机生成的景观。 然后决定哪些面孔将是水和土地,我检查每个面白色像素。如果白色像素>黑色像素,则为土地,否则为水。 我现在这样做的方式是渲染缓冲区在屏幕外,然后对画布上的每个像素进行光线投射,以知道像素属于哪个面,然后总结每个面的所有像素。 问题是......画布是1000x700像素,它需要AGES才能投射700,000个像素。 所以问

    0热度

    2回答

    我知道如何计算一个射线平面相交,但是如何测试交点是否在该平面上的一个正方形内?我正在测试这个点是否在离广场中心的一段距离内,但我不确定这是否正确。

    2热度

    2回答

    我正在尝试对TextGeometry的边界框进行光线投射。目前,当点击不在字母或中间字母之间时,raycasting适用于textGeometry。如果点击位于文本字母/ aphabets之间,则没有对象与intersectObjects()相交。当点击介于字母之间时,我需要raycast与textGeo对象相交。 我定义TextGeometry为: var textGeo = new THREE

    1热度

    2回答

    研究用于从鼠标光标位置获取世界点到命中光线投射的第一个对象。也许api func getClosestPoint或rayIntersect可以做那个工作?如果是这样的话? (谢谢)

    0热度

    1回答

    我试图在z = 0平面绘制2D对象,现在我想将屏幕鼠标坐标转换为3D世界坐标。 我用下面的相机: camera = new THREE.OrthographicCamera(SCREEN_WIDTH/- 2, SCREEN_WIDTH/2, SCREEN_HEIGHT/2, SCREEN_HEIGHT/- 2, NEAR, FAR); camera.position.set(0,0,500

    0热度

    2回答

    我最近一直在试图检测玩家是否“瞄准”一个物体,但是我的探测有问题。 因此,这里是我使用下式: (ray * (origin-center))^2 - ||origin-center||^2 + r^2 >= 0 其中射线是在玩家目标(源http://antongerdelan.net/opengl/raycasting.html),原点是照相机和中心的位置的方向是球的中心 我找到这个公式有ht

    0热度

    1回答

    我搜索了整个互联网,但找不到任何有用的东西。我想在光线撞击物体的位置“做”一个触摸输入,并且只有当它碰到某物时。我希望你明白我的意思,并且我知道用raycast做它并不常见,但我需要这种方式来支持htc vive。提前致谢。 或更容易说一下,我怎样才能从我的脚本触摸屏幕,意味着没有真正触摸屏幕?