raycasting

    0热度

    1回答

    我正在研究项目的三维重建算法。在3D表面重建文献中,我经常会谈到“光线投射”和“行进立方体”这些话题。我读到了在3D点云的“有符号距离函数(SDF)”表示上进行的光线投射会创建表面模型。但我认为我还没有很好地理解这一点。光线投射是否会产生3D表面模型?我知道光线投射可以帮助我们找到SDF体积中的过零点,因此我们将获得表面点。但是光线投射是否像行进立方体算法一样创建了像3D模型一样的网格?请给我一个

    0热度

    1回答

    所以,我不习惯光线投射,这是我第一次使用它。基本上我试图用它来模仿鼠标点击,因为这个程序是用于触摸屏的,UI元素不是一个选项。该代码附加到世界上的3D游戏对象中,当我点击触摸屏时,我会看到它,我需要它来触发并加载不同的场景。然而,代码似乎总是被解雇,即使覆盖UI元素,无论我在哪里点击。大多数人似乎没有遇到光线投射问题,但我遇到了相反的问题。任何帮助,将不胜感激。 void Update(){ f

    3热度

    1回答

    我试图写一个光线投射引擎。 我曾在http://www.instructables.com/id/Making-a-Basic-3D-Engine-in-Java/和C++光线投射在http://lodev.org/cgtutor/raycasting.html发现教程中发现的教程,和一个几次尝试后我在正确的方向上被投射的光线,因此得到了一个(半)的工作输出。 我得到了在世界上出现的墙壁,我增加了

    0热度

    1回答

    本游戏中的相机具有可以通过点击其他模型进行更改的目标,然后是相机焦点,但下面的脚本是我目前为止所获得的目标当我点击游戏中的一个对象时,目标只是说没有任何模型。 Ray toMouse = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitInfo; bool didHit = Physics.Raycast(toM

    2热度

    3回答

    我正在尝试使用Three.js执行单击以放大功能,我在画布上放置了一个画布和一个对象。单击时我试图放置相机靠近交点(实际上就像缩小那个点)。 这是我所做的,但没有按照我想要的方式工作,点击相机位置变化,但有些作品局部有时相机放置在交叉点附近,有些时候没有。 onmousedown = function (event) { var raycaster = new THREE.Ray

    1热度

    1回答

    我写了一个脚本,其中一个游戏物体打算移动到从玩家相机抛出的raycast.point。在大多数情况下,这可以很好地工作,但是当物体快速向摄像机移动时(即光线数据源),有多次(大约摄像机距离物体45度)。 我尝试了很多方法试图解决这个问题,但是我似乎无法挖掘出这个问题的根源。通过停用附加到正在移动的对象的碰撞器来管理以防止发生这种情况。不过,由于各种原因,我需要碰撞器,所以这种方法并不合适。 如果任

    0热度

    1回答

    我正在尝试使用XMVector3Unproject()在DirectX11中创建一个光线投射相机。根据我的理解,我将通过近平面上像素的(Vector3)位置,并在另一个呼叫中传递远平面上的相应位置。然后我会减去这些矢量来得到射线的方向。原点将是近平面上的未投影坐标。我的问题是这里计算射线的起源被传入。 例 // assuming screenHeight and screenWidth are t

    0热度

    2回答

    这里是我的代码: using UnityEngine; public class InputController : MonoBehaviour { void Update() { if (Input.GetMouseButtonUp(0)) { var hit = Physics2D.Raycast(Camera.main.ScreenToWorldPo

    0热度

    1回答

    我已经写了一个脚本来移动一个对象通过射线投射到地形上的位置,但是我不能为我的生活似乎使这个运动平稳。我尝试了所有的方法来试图解决这个问题(你可以通过下面的注释代码的数量来判断);禁用各种刚体变量,但无济于事。 (种类)工作的一种方法是禁用连接到物体的碰撞器,但是这会导致物体无意中下沉到地形下方。 任何人都可以请告诉我最好的方法去做这件事吗?我觉得这应该很简单,但我过分复杂。 //Move

    0热度

    1回答

    我有一个物理Raycaster附加到相机。指针单击事件触发器工作正常。不过,我需要从源代码中完成。这些是我的尝试: private void SetOnPushButtonFireManager(){ cardboard.OnTrigger +=() => { Debug.Log("Button triggered!"); RaycastHit hit;