问题标签 [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.
arrays - 射线铸造 AS3
我决定要学习光线投射并试一试。虽然我绝不是一个优秀的程序员,但我只是认为尝试扩展我的知识会很好,而且这在某些时候可能会有用:PI 一直在尝试遵循本指南:http ://www.permadi.com /tutorial/raycast/它实际上是一个非常好的指南,但我担心我在某个地方滑倒了,无法弄清楚在哪里。我的代码:
这试图做的是在按下鼠标时渲染屏幕。不幸的是,每当我按下鼠标按钮时,我都会得到这个 TypeError: Error #1010: A term is undefined and has no properties。在 rayCast::Main/mouseDownE() 我认为可能是我的 gridMap[] 在某个地方有点偏离,但是当我做一个变量表时,一切似乎都工作正常:/ 也许我的变量表出错了,但有人可以帮忙我?在此先感谢,凯尔。
unity3d - Unity - 反射和反射(取决于标签)激光更新每一帧?
我用 Raycast Reflection 和 LineRenderers 尝试了几种不同的方法,但似乎没有一个能正常工作。这个,唯一一个半工作的,只在开始时设置自己,从不为移动的对象更新;并且变得非常不稳定,曲折,轻微地上下起伏并严重扭曲(这还没有折射,不要费心指出这一点)。有任何想法吗?我已经坚持了很长时间。
不按要求工作(例如我正在尝试做的事情,全新的代码是一个可行的选择):
three.js - three.js: sceneLoader & rays issue
Issue: Rays doesn't work with models loaded via sceneLoader
Problem explanation: I used to load my model with JSONLoader, but needed to import all information of scene, so I tried sceneLoader(). Everything loads fine, but raycasters intersectObject() function doesn't find intersections.
Old version with JSONLoader (cca line 350): http://golem.fjfi.cvut.cz/virtual/matusu/BakalarkaMM/Bakalarka.html New version with sceneLoader (cca line 900): https://www.dropbox.com/s/ikpobra4bo5iz2y/BMM.html
First I tried to use IntersectObjects(), then I focused just on one object with IntersectObject(). It didn't help. Object loaded via both methods seems the same, but with sceneLoader this method can't find any intersection.
Am I missing something?
P.S.: Sry, if I didn't mention somthing important, just tell me to do so.
Edit: After some testing, I found, that 'model loaded with scene model' program works like if there is an invisible copy of my model rotated by (Math.PI/2,0,0) - gravity ray finds intersection with invisible copy on right or left side of the room.. Model loaded with scene loader: http://golem.fjfi.cvut.cz/virtual/matusu/BakalarkaMM/BMM.html
Edit n.2: It's definitely somehow rotated object named "Zdi" - tried to rotate its geometry and other possibilities and I can't drop through that imaginary doors. Problem is, that visible walls rotates as well :-(
actionscript-3 - 检测非盒子碰撞的最准确方法?(AS3)
在我的游戏中,两个相对较小的物体会发生碰撞。只需要准确检测碰撞以及物体与什么碰撞。
具体场景是这样的:两个角色会有剑,我需要能够检测到两把剑什么时候碰撞。由于它们将四处移动并经常旋转,这使情况变得复杂。
.hitTestObject() 适用于矩形,这基本上是我正在检查的内容,但是一旦它们开始旋转,由于检测的“框”而变得不准确,将其扔出窗口。
我考虑过光线投射,因为剑本质上是装饰线,但是当我不需要知道碰撞点在哪里时,这似乎很麻烦。
我将不得不使用自定义库、光线投射,还是有其他解决方案?
javascript - 基于网格的环境中的 2D 光线投射
你好 stackoverflow 社区。最近,我一直在努力让适当的光线投射系统正常工作。目前,我完全在 2D 中工作,使用 2D 地图和玩家表示。我遇到了问题,但是正确地创建了基于网格的环境。我认为问题在于我投射光线的方式根本不是基于网格的。我在这里有一个我的问题的例子。如您所见,光线看起来波涛汹涌且畸形。谁能给我一些关于基于网格的系统如何工作的见解?任何帮助表示赞赏,谢谢。
这是完整的源代码(我使用 PIXI.js 进行渲染):
opengl - 为什么这个像素抽屉不能让我更改窗口大小/像素数?
我正在尝试构建一个简单的光线追踪器,并将纹理映射到四边形以进行可视化。我开始使用的分辨率是 250X250,但是当我将其更改为 300X300 时,它会编译并崩溃。
javascript - Threejs在使用变换控制时禁用轨道相机
我有一个包含多个网格的场景,每个网格都与不同的 transformControl 相关联;为了选择不同的对象,我使用了光线投射技术。我还使用轨道摄像机来导航场景。
每当我使用变换控件修改所选对象的位置/旋转/比例时,我都想禁用轨道相机,因为有时当我点击选择器时,我也在选择场景的背景,所以轨道相机移动。
我想停止这种行为,并且我已经尝试使用光线投射技术来处理它,但它不起作用。
algorithm - 计算体积射线投射中的梯度
请帮我解决这个关于体积射线投射算法的问题:
在维基百科文章(链接)中,它说“对于每个采样点,计算照明值的梯度。这些表示体积内局部表面的方向。 ”
我的问题是:为什么是照明值的渐变?为什么不透明度值?当然,从“有东西”到“没有东西”的转变更准确地描述为不透明度的变化。
例如,考虑两个体素:[1][2]
. 1 为明亮透明,2 为暗且不透明。在我看来,这对应于面向左侧的表面。我错过了什么吗?
directx - 在地形上检测鼠标位置
我有一个非常简单的地形图,例如 256x256 瓦片,它被分成瓦片(相同的正方形......)。每个瓷砖都有高度,坡度......如下图所示。我的默认外观将是 iso 视图。(每块瓷砖都可以分割成更小的瓷砖来平滑,我称之为镶嵌)
现在我需要用鼠标在屏幕上选择一个单元图块(移动到哪里或建造一些东西......)!我有鼠标位置 Mx,我需要知道它是什么图块!如果地图是平的,那就很容易了!但随着身高,这很难。我打算使地图非常静态(不经常旋转)......只有翻译。所以我可以在屏幕上存储所有顶点坐标(x,y)。通过使用 D3DXVec3Project。然后搜索包含鼠标位置的三角形->我们需要的图块!然而,使用这种方法,我们可能需要搜索 5-10 或 20 个三角形。你知道更好的方式,更优化或更优雅吗?谢谢!
我读到了诸如 RayCasting 之类的东西来进行检测,也许它可以在我的情况下使用。因为在我的视图设置中没有眼睛位置,所以视图向量是恒定的! 3D 屏幕空间光线投射/拾取 DirectX9
D3DXVec3Unproject 看起来也很有前途!
图片:http: //i1335.photobucket.com/albums/w666/greenpig83/sc4_zpsaaa61249.png
three.js - 光线碰撞因 THREE.Sprite 而失败
我正在使用投影仪和 raycaster 与 Three.Sprite 对象相交,但是,即使我触摸到图像边界之外,我也可以获得该对象。于是,我深入到了three.js文件中,找到了一段源码:
我无法理解if ( distance > object.scale.x )
,我认为这是我遇到的问题。我是 Threejs 的新手。我会穿吗?谢谢你的帮助!!