raycasting相关内容

Libgdx 3d 中的光线投射

好吧,所以我也已经尝试了很长一段时间了,因为我在 libgdx 中使用 Raycast 根据我正在寻找的位置进行 3D 碰撞检测.但是我画了一个空白,似乎在任何地方都没有任何文档.有人会好心把我送到正确的方向吗? 解决方案 使用 libgdx 实际上很容易实现您想要做的事情.以下是我用来进行射线测试并找到我的射线会击中的最近碰撞对象的内容.假设它位于一个名为 BulletUtil 的类中. ..
发布时间:2022-01-12 16:46:41 Java开发

THREE.js 从子摄像机到场景的光线投射

我正在尝试从我的相机中对鼠标进行光线投射,以在我的场景中的网格上执行一些悬停和单击事件. 我的问题是,我的相机当前是另一个网格的子对象(以便于相机移动/旋转),现在我的光线投射不起作用(我假设因为相机是网格的子对象,而不是场景). 这是我的代码的一部分: //相机设置var camera = new THREE.PerspectiveCamera(60, window.innerWi ..
发布时间:2022-01-08 20:57:10 前端开发

动态更改 Raycaster 位置

我有一个画布,里面有几个立方体.我使用 Raycaster 来选择它们并改变它们的颜色.但是画布位于 draggable 对象内,当我四处移动时,我无法更改颜色,颜色更改在原始位置起作用.我想我也必须改变 Raycaster 的尺寸.我该怎么做? 这是示例. 解决方案 尝试修改代码如下: function onDocumentMouseDown( event ) {event.pr ..
发布时间:2021-12-31 18:58:24 其他开发

Three.js中动态改变Mesh后的Raycasting

我有一个从另一个网格克隆的网格.但克隆后,我翻译并旋转它.并对其进行光线投射,但它没有按预期工作.它在平移和旋转之前与原始位置保持相交.示例代码如下 const raycaster = THREE.Raycaster()const proposalModel = model.clone()建议Model.translateX(1)建议Model.translateY(1)建议Model.tran ..
发布时间:2021-12-31 18:53:30 前端开发

THREE.js 从儿童相机到场景的光线投射

我正在尝试从我的相机对鼠标进行光线投射,以在我的场景中的网格上执行一些悬停和点击事件. 我的问题是,我的相机目前是另一个网格的子对象(为了更方便的相机移动/旋转),现在我的光线投射不起作用(我假设是因为相机是网格的子对象,而不是场景). 这是我的代码的一部分: //相机设置var camera = new THREE.PerspectiveCamera(60, window.inne ..
发布时间:2021-12-31 18:37:55 前端开发

Three.js 中的 Raycast 只有一个投影矩阵

我正在 Mapbox GL JS 页面中使用 Three.js 渲染一些自定义图层,遵循 这个例子.我想添加光线投射来确定用户点击了哪个对象. 问题是我只从 Mapbox 获得了一个投影矩阵,我用它来渲染场​​景: class CustomLayer {类型 = '自定义';渲染模式 = '3d';onAdd(地图,gl){this.map = 地图;this.camera = new T ..
发布时间:2021-12-31 18:33:08 其他开发

三.js 正交相机对象拾取

我正在尝试在我使用正交相机的场景中挑选对象.我的代码片段已经工作,但它不准确.我已经在 stackoverflow 上找到了一些答案,但这些答案已被弃用或根本不再起作用.这是我的代码 onMouseDown function onDocumentMouseUp( event ) {event.preventDefault();mouse.x = ( event.clientX/window.in ..
发布时间:2021-12-31 18:29:49 其他开发

ThreeJS - 如何只选择一种类型的对象?

我是 ThreeJS 的新手,我在通过光线投射选择对象时遇到了问题.我创建了一些球体和一些线,但只想在鼠标悬停时更改球体.我想我需要在光线投射代码中添加一些条件,但我不知道是什么...... 这是我的代码,希望任何人都可以提供帮助: 这将创建对象: var numSpheres = 10;var angRand = [numSpheres];无功价差 = 10;var 半径 = wi ..
发布时间:2021-12-31 18:22:51 其他开发

正交相机和使用光线投射选择对象

我在使用 raycaster 使用正交相机选择对象时遇到了一些困难.不过,当我使用透视相机时,我没有问题.在两者之间切换时,我唯一改变的是类型相机. 我可以在正交视图上选择人脸,但这与我在屏幕上单击的位置关系不大.当我可以在远离物体的地方点击时,它仍然会回来,就像它击中了靠近中心的物体一样. 对我在这里遗漏的东西有什么想法吗? 我的大部分代码都基于此示例,并希望实现我的代码的结果 ..
发布时间:2021-12-31 18:19:00 前端开发

带有光线投射算法的体积渲染(使用 glsl)

我正在学习使用光线投射算法的体绘制.我在这里找到了一个很好的演示和教程.但问题是我有一个 ATI 显卡而不是 nVidia,这使我无法在演示中使用 cg 着色器,所以我想将 cg 着色器更改为 glsl 着色器.OpenGL的红皮书(7版)看过,但是对glsl和cg不熟悉.有谁可以帮我将演示中的 cg 着色器更改为 glsl?或者是否有使用光线投射(当然在 glsl 中)的最简单的体积渲染演示的任 ..
发布时间:2021-12-19 18:07:38 其他开发

Unity Physics2D.Raycast 击中自身

我正在尝试使用 Physics2D.Raycast 来检查玩家是否在地面上(我知道还有其他方法可以检查玩家是否在地面上,但我认为raycast 是最可靠的).问题是,在我的场景中,它将玩家本身作为命中返回,我真的不明白为什么以及我应该做什么.我的代码(在 PlayerController 中)如下: public bool IsGrounded() {Bounds bounds = this. ..
发布时间:2021-12-11 17:02:37 C#/.NET

将 3D Raycast 转换为 Raycast2D

我在下面有这个代码,它可以控制 3 个玩家中的一个被触摸的玩家.我能够通过在 2D 精灵后面添加 3D 立方体的方式来实现它,因为我的游戏应该是 2D 的,而我很难在 2D 中实现它.我真的很困惑如何在 2D 中做到这一点,因为我真的很困惑参数. 虽然我已经通过上面提到的方式实现了它,但我仍然想在纯2D中实现它.而且因为我在选择的玩家移动时有这个问题,所以精灵移动得更快. public G ..
发布时间:2021-11-26 13:49:29 C#/.NET

如何在 GLSL 中实现 2D raycasting 光效

这最初是由@sydd 此处提出的.我对此很好奇,所以我尝试对其进行编码,但在我回答之前它已被关闭/删除,所以它在这里. 问题:如何重现/实现这个 2DGLSL 中的光线投射照明效果? 效果本身从鼠标位置向各个方向投射光线,累积影响像素强度的背景贴图 alpha 和颜色. 所以输入应该是: 鼠标位置 背景 RGBA 贴图纹理 解决方案 背景图 好的,我创建 ..
发布时间:2021-11-26 13:21:15 其他开发

我如何使用 glUnProject 计算 openGL 上的 Touch

嗨,我找到了近程和远程计划..然后如何使用我在物体上触摸的这个来识别..任何人都可以帮助我..这是我的代码.. -(Boolean) checkCollission:(CGPoint)winPos{winPos.y = (float)__viewport[3] - winPos.y;Point3D 近点;Point3D farPoint;Point3D rayVector;//检索近平面上投影的 ..
发布时间:2021-11-25 04:38:49 C#

如何找到在三角形上投影点以在网格上画线的正确方法?

我有网格和 2 个点 - A 和 B.每个点都位于网格的某个三角形上.主要目标是 - 使用 2 个点在网格上绘制 正确 线.当点位于具有不同平面的三角形上时 - 我在画线时遇到问题. 我做什么: CurrentTriangle = A 点所在的三角形. 虽然 CurrentTriangle != 有 B 点的三角形: 将 B 投影 (Bp) 投影到 CurrentTrian ..
发布时间:2021-11-25 04:24:45 C#

如何使用划分为瓦片的平面对象创建 3D 瓦片地图?

我想在 3D 世界空间中创建一个以 0,0,0 为中心的 2D 平面.然后,我想在 2d 平铺坐标中定义这个平面.所以例如一个平面被 3 个瓦片分割将成为一个数组 [3,3] 问题是这仍然会给出带有负点的瓷砖地图.世界左上角 -1,1 将是数组 -1 中的 0,0,- 将是 1,0 等等...... 世界: -1,1 0,1 1,1-1,0 0,0 1,0-1,-1 0,-1 1,- ..
发布时间:2021-11-25 04:22:32 C#

如何使用划分为瓦片的平面对象创建 3D 瓦片地图?

我想在 3D 世界空间中创建一个以 0,0,0 为中心的 2D 平面.然后,我想在 2d 平铺坐标中定义这个平面.所以例如一个平面被 3 个瓦片分割将成为一个数组 [3,3] 问题是这仍然会给出带有负点的瓷砖地图.世界左上角 -1,1 将是数组 -1 中的 0,0,- 将是 1,0 等等...... 世界: -1,1 0,1 1,1-1,0 0,0 1,0-1,-1 0,-1 1,- ..
发布时间:2021-11-25 04:10:32 C#