raycasting

    1熱度

    2回答

    研究用於從鼠標光標位置獲取世界點到命中光線投射的第一個對象。也許api func getClosestPoint或rayIntersect可以做那個工作?如果是這樣的話? (謝謝)

    0熱度

    1回答

    我在three.js所 更新線頂點的問題,所以,我想在我的場景中的線,其啓動在用戶屏幕的特定位置(在x,y座標中)始終位於(0,0,0)處,其末尾始終爲。 我做什麼來達到這個目標(而且我幾乎成功了),就是讓一架看不見的飛機總能看到相機,並且它的位置總是在相機的前面。我這樣做的原因是因爲我想讓這條線看起來像「走向」用戶的屏幕。因此,我從所需的屏幕位置(x,y)「發送」一個光線測量器,然後檢查它相交的

    0熱度

    1回答

    對於長期的問題抱歉。我正在製作一個簡單的遊戲,點擊一個立方體,並將其材質更改爲某種顏色(即污垢/草地>>水和水瓦旁邊的任何污垢「瓷磚」(主要)將自動變爲黃色)。這些顏色通過使用int值來標識狀態。 我在c#中使用2d數組無法存儲這些多維數據集,所以我試圖使用raycasting來檢查這些相鄰關係。所有的立方體都在y = 0的單個平面上,並且它們具有l = 1m。 這是檢查鄰居的代碼。 這裏是所有瓷

    0熱度

    2回答

    我正在研究一些非常簡單的射線追蹤器。 現在我正在試圖使透視相機正常工作。 我使用這樣的循環來渲染場景(只有兩個,硬編碼的球體 - I投射光線從它的中心的每個像素,不AA施加): Camera * camera = new PerspectiveCamera({ 0.0f, 0.0f, 0.0f }/*pos*/, { 0.0f, 0.0f, 1.0f }/*direction*/, { 0.0f

    0熱度

    1回答

    基本上,我在XY平面上有一個六邊形網格,我在其上繪製了一個僞隨機生成的景觀。 然後決定哪些面孔將是水和土地,我檢查每個面白色像素。如果白色像素>黑色像素,則爲土地,否則爲水。 我現在這樣做的方式是渲染緩衝區在屏幕外,然後對畫布上的每個像素進行光線投射,以知道像素屬於哪個面,然後總結每個面的所有像素。 問題是......畫布是1000x700像素,它需要AGES才能投射700,000個像素。 所以問

    0熱度

    2回答

    我知道如何計算一個射線平面相交,但是如何測試交點是否在該平面上的一個正方形內?我正在測試這個點是否在離廣場中心的一段距離內,但我不確定這是否正確。

    0熱度

    2回答

    我最近一直在試圖檢測玩家是否「瞄準」一個物體,但是我的探測有問題。 因此,這裏是我使用下式: (ray * (origin-center))^2 - ||origin-center||^2 + r^2 >= 0 其中射線是在玩家目標(源http://antongerdelan.net/opengl/raycasting.html),原點是照相機和中心的位置的方向是球的中心 我找到這個公式有ht

    0熱度

    1回答

    我搜索了整個互聯網,但找不到任何有用的東西。我想在光線撞擊物體的位置「做」一個觸摸輸入,並且只有當它碰到某物時。我希望你明白我的意思,並且我知道用raycast做它並不常見,但我需要這種方式來支持htc vive。提前致謝。 或更容易說一下,我怎樣才能從我的腳本觸摸屏幕,意味着沒有真正觸摸屏幕?

    0熱度

    1回答

    所以我試圖用2D射線停止我的遊戲穿過牆壁的激光瞄準鏡。 首先,我試着簡單地將激光的終點設置到點。然而,這提供了奇怪的結果,其中生命值似乎處於隨機位置,通常落後於玩家。 我做了調試,以檢查光線投射面臨我想要的方式(雖然我知道調試使用到3D光線投射系統,所以也許我做錯了什麼呢?) 我然後使用嘗試擊中點的距離。當激光撞擊到牆壁時,它正在工作,它改變了它的長度,所以它不會撞到牆上。問題是,它在牆壁之前停下

    2熱度

    2回答

    我正在嘗試對TextGeometry的邊界框進行光線投射。目前,當點擊不在字母或中間字母之間時,raycasting適用於textGeometry。如果點擊位於文本字母/ aphabets之間,則沒有對象與intersectObjects()相交。當點擊介於字母之間時,我需要raycast與textGeo對象相交。 我定義TextGeometry爲: var textGeo = new THREE