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;