问题标签 [raycasting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
739 浏览

unity3d - Unity 3 中的光线投射问题

我正在尝试以一种简单的方式编写我的 AI 脚本。AI 在其前面、左侧和右侧进行光线投射。然后它以不包含“边界”元素的方式采用随机方向。

首先,我的 Update() 检查是否该计算新方向。如果是,它会计算新的方向,然后移动到那个方向。

我正在使用以下代码移动:

函数 MoveDirection 通过光线投射检查障碍​​物。我的 AI 在正确的时间移动正确的距离,但会穿过墙壁。这意味着我的光线投射是错误的。我正在使用以下代码:

那么,当我想检查 AI 前面的 2 个单位时(从 AI 的角度来看,transform.forward,而不是全局视图!),我是否正确,我应该使用:Physics.Raycast(transform.position, transform.position + transform.forward, hitFront, 1.9)

0 投票
2 回答
4890 浏览

3d - 无法从 tut 代码中理解光线投射数学

提前原谅我对数学的无知。我没有找到任何可以帮助我的资源,否则我不会打开这个话题

我想用javascript创建一个简单的光线投射引擎,我处理了瓷砖系统并不难,而且我过去有过这方面的经验。

我的资料来源http://www.permadi.com/tutorial/raycast/index.htmlhttp://dev.opera.com/articles/view/creating-pseudo-3d-games-with-html-5-can- 1/

我的问题是理解大部分数学,我理解他使用的一些三角函数(在第二个链接中),但我不理解他大部分的光线投射植入。

像这一行: // where on the screen does ray go through?

pos什么的?xy坐标?屏幕上的lins?

castSingleRay我了解一些数学,但不了解他所说的倾斜或“垂直地图/墙线”。

我需要学习什么才能理解它?数学或编程有哪些主题?我可以下载任何好书或在线资源吗?

0 投票
2 回答
3995 浏览

three.js - 可视化 Raycaster

我正在尝试通过使用光线投射来检测交叉点。我目前的问题是我不确定我的光线投射是否瞄准了所需的方向。所以我的一般问题是:有没有办法让光线投射可见?如果是这样:它是如何完成的?这对我有很大帮助。

迈克尔

0 投票
3 回答
8362 浏览

c# - 如何在统一 3d 中从另一个对象访问相机

我的脚本附加到角色控制器。

我宣布,

在班上。在我给出的更新函数中,

但我收到错误

帮我一个好的解决方案。

提前致谢。

0 投票
2 回答
14089 浏览

c# - 在统一 3d 中删除对象的 Box 对撞机

这是我的Update函数代码。该对象有一个盒子碰撞器。

但是盒子对撞机并没有被摧毁。

我怎样才能摧毁它?

0 投票
1 回答
4022 浏览

unity3d - Unity - 汽车 AI 避障

抱歉问得太频繁了。我对 Andrew Gotow 的汽车 AI 有疑问。问题是人工智能没有避开他们面前的玩家/汽车,或者他们只是继续前进并撞到他们面前的玩家/汽车。当撞到汽车或任何障碍物时,它们会停止加速或停止工作。

请帮我。我不知道如何让 AI 不应该撞到障碍物

这是我使用的代码。谢谢你的帮助

}

0 投票
1 回答
1944 浏览

c++ - 哪个库用于体素数据结构?

我在科学环境中使用具有大型体素网格的 C++ 工作,我正在尝试决定使用哪个库。只有一小部分体素网格保存值 - 但每个体素(例如结构)可能有几个值,这些值由光线跟踪确定。我不想渲染任何东西,但我必须确定穿过整个目标区域的潜在光线数量,因此必须计算大量的光线盒计算,并且最好非常快......

到目前为止,我发现

后者更有吸引力,因为它看起来更简单/更容易使用。

我的问题是:如果将它们中的哪一个用于不针对渲染/可视化的任务中,它们中的哪一个会更适合?在计算大量光线盒交点(不可能进行视点相关剔除)时,哪一个更快/更好?建议,有人吗?

无论如何,我想使用现有的 C++ 库而不是自己编写 kdTree/Octree 等。没有时间重新发明轮子。

0 投票
1 回答
456 浏览

c# - 渲染纹理的后台线程

我正在使用 OpenTK 在 C# 中编写一个简单的光线投射器。我希望我的视图每秒刷新 60 次,所以我有一个计时器调用我的 Render() 函数,它在屏幕上显示纹理。

我想使用递归函数通过将场景划分为较小的矩形并渲染每个矩形来渲染我的场景,直到矩形大小为 1px。我的递归将像素的颜色写入字节数组,我需要将其转换为纹理。递归非常慢,所以每当我的场景发生变化时,我都想在背景线程中运行它。

同步线程的正确方法是什么,以便一个写入纹理数组(大约需要一秒钟),但另一个线程每 1/60 秒读取一次并在屏幕上打印?

递归:

在另一个线程中:

0 投票
1 回答
284 浏览

c# - 如何使用三角形拾取来确定三角形在世界空间坐标中的确切位置?

我试图在我的游戏中实现指向和点击运动,但目前我很难为我如何选择网格的一部分供玩家步行。

所以我所做的是我的游戏中有一个导航网格,我可以从中选择点,但我想要做的是能够实时选择导航网格并能够告诉玩家去哪里导航网格,我该如何实现?

我认为三角形选择可能是一种方法来确定我用鼠标 unproject 选择网格的位置,但我认为我需要比这更高的准确性,不是吗?

如何实时实现指向并单击导航网格?

谢谢

0 投票
1 回答
336 浏览

unity3d - 使用光线投射如何让玩家在两个对撞机之间运行而不会在unity3d中发生碰撞?

我试图让玩家使用加速度计在两侧的两个对撞机之间的路径上运行。当我倾斜设备时,我希望我的播放器在与侧壁碰撞后回到中心。

我尝试过使用 Raycast,但我没有得到它。