问题标签 [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.
unity3d - 在 Unity 中使用光线投射修改 AI 脚本
所以我设法修改了一些我为光线投射找到的代码,以便我的敌人向我的第一人称相机的坐标移动。但是,我需要改变光线投射在场景中的障碍物周围移动敌人的方式。我对myTransform
//变量感到有些困惑transform
。target
所以这是我的代码;
我几乎可以肯定我唯一需要更改的是dir
变量,以便它使用新的转换代码。但正如我所说,我一直对使用哪个变量感到困惑。
编辑:我的理解是我需要更改更新底部的代码,以便考虑到通过光线投射遇到障碍物时发生的旋转。这就是为什么我认为只有“dir”和“rot”需要更改,然后在位置和旋转代码中使用。
math - 在两个角度之间的二维网格中获取单元格
我已经成功实现了一个基本的光线投射算法,但我想扩展它以使用“角度范围”。
知道网格单元大小、列数和行数、起始射线位置、角度 a 和角度 b,我如何才能获得落在两条射线之间的所有单元?
unity3d - 无法根据鼠标位置将光线从相机向下投射到对象
我有一个相机俯视我的游戏世界。我想让用户点击对象。以下脚本附加到 MainCamera。
这条线Debug.Log("We just touched " + hit.collider);
永远不会被调用。我不认为我的光线构建正确。这是其他调试消息的输出。在每条消息中,它们的 rayOrigin 都是相同的,即使 mousePos 发生了变化。
那么我哪里错了?
three.js - three.js 射线相交 r58
我想使用 collada 对象中的射线检测相交,three.js r58 但是
不为我工作任何人解决这个问题?是 Ray 不支持 r58 中的 intersectObjects() 方法还是代码中有任何错误?那么什么是替代而不是Raycasting?
three.js - 体积射线投射无法正常工作(Webgl + GLSL + Three.js)
我试图提高我的体积射线投射算法的质量。我设置了一个较小的光线投射步骤(质量更好),但它会导致问题。它在下面的图片上(不应该出现的黑色区域)。
我正在使用 RGB 立方体来获取体积中的光线方向。我想,我有和那里一样的算法:volume rendering (using glsl) with ray cast algorithm
有没有人有一些想法,可能是哪里出了问题?我需要解决这个问题,因为我的文凭论文的截止日期是关闭:(我真的不知道,为什么它不起作用:(
编辑: 我不能在那里显示我的所有代码(这可能是个问题,如果我会在学校提供之前提供它)。但通读卷的关键代码:
然后在循环中:
EDIT2:(对不起,但喜欢评论太长了)
是的,纹理很嘈杂......我试图用 alpha: 删除条件if(accumulatedColor.a > 1.0)
,但结果是一样的。我认为这与射线的长度和步长的大小有直接的关系。我尝试了很多组合,我发现了这些东西。如果步长很大,我可以通过所有音量,但如果它很小,我真的无法通过音量(也许)。如果步幅非常大,我可以看到镜像对象(如果我在 GPU 上超出纹理,可能是由于重复纹理造成的)。如果步长太小,我只能映射纹理的一小部分 - >看起来,那条光线太短了,但实际上他不是。问题是,为什么将 3D 坐标映射到 2D 纹理是错误的,并且取决于步长。
javascript - 相对于全局坐标系的光线投射方向,而不是局部坐标系
我使用光线投射方法来检测轨道两侧的不同颜色的条带,并通过计算距离来保持我的汽车物体在适当的位置。但问题是光线始终指向全局坐标系中的恒定方向,并且不会随着汽车物体的移动(旋转)而改变。如果光线方向在汽车的参考系中,我可能无法弄清楚该怎么做。目前我正在这样做
var ray = new THREE.RayCaster(car.position, new THREE.Vector3(-1,0,0),0,50);
汽车的运动在 XZ 平面内
有人可以指出解决方案吗?
math - 具有法线和偏移的无限平面的射线投射相交
我有一个无限平面,我知道它的法线和偏移量。现在,我想知道 Ray Casting 射线是否与这个无限平面相交。
我怎么知道?
xna - XNA 先知。Raycast 正在处理形状
我正在 XNA 中制作游戏。
我正在做一个从敌人到玩家的光线投射,以确定敌人是否可以看到玩家。这是代码..
我的问题是,在图片中的情况下,我通过程序生成了由块构成的洞穴,光线似乎穿过了块,因此敌人可以透过墙壁看到。
--
更新
好的,以下代码有效!但是..我不知道为什么!:/
然后在这个类中的一个单独的更新语句中有唤醒敌人的代码。
我显然不明白光线投射和回调是如何工作的。如果有人可以解释为什么这种方法有效,那就太好了。我计划做更多的光线投射来阻止敌人撞到东西等等。
java - 为什么在使用线程池时看不到性能提升?
我编写了一个 2D Raycaster,可以将光线绘制到任何 java 形状,包括:
Line2D、Rectangle2D、Ellipse2D、QuadCurve2D 和 CubicCurve2D。
它背后的数学实际上非常复杂和密集,特别是对于四边形和三次方,所以我设置了一个线程池。我根据可用内核的数量制作了一个具有固定线程数的 ExecutionService “exec”。
然后,我将负责每个形状的代码块更改为静态可运行文件。从 raycaster 方法,我会执行 runnables 然后调用 exec.shutdown()。最后,id 创建一个 while 循环,直到 exec.isTerminated 返回 true 才退出。
这确保了所有线程在继续之前都已完成执行。
现在,从我在网上看到的情况来看,这是一种流行的方法,但我没有看到改进的结果。如果不是更糟,它总是一样的。是否有一种正确的方法来使用线程池,它实际上可以提高效率而不是匹配开销?
three.js - Three.js 使用 THREE.Raycaster 对球体进行碰撞检测
对于我的项目,我需要在 Three.js 中进行碰撞测试。在我的 CollisionDetection 课程中,我试图让 Raycaster 工作。我发现了一些我无法解释也找不到解决方法的奇怪之处:
我的 CollisionDetector 适用于 Cubes.. 但是当我使用 Spheres 时,它并没有给我相同的结果 – 我期望与立方体相同的结果是错误的吗?还是我想念别的东西?
这是我的代码:
或者最好,亲自看看它的行为:http: //jsfiddle.net/mymL5/12/
单击时,被射线击中的每个元素都应变为蓝色,并且所有击中都会在控制台中注册。请注意球体的(恕我直言)奇怪的控制台输出。另外,为什么下球体没有被击中而上球体被击中?
您可以通过注释/取消注释行在 Cubes 和 Spheres 之间切换19/20
谁能帮我?我没有得到什么?
PS:我是 Three.js 的新手,所以我可能很笨。