2017-07-14 56 views
0

我剛學3.js,我想弄清楚,如果你能在畫布上點擊一個3D物體上,並觸發JavaScript函數。例如,如果您單擊某個特定的多維數據集,它將在單獨的窗口中顯示關於該多維數據集的信息。我已經閱讀了raycaster,但似乎沒有關於與普通HTML DOM元素進行交互的3D對象的大量信息。我需要根據模型數據動態創建形狀,這些形狀需要互動。有沒有人有任何經驗需要這樣做?我知道這可能有些不合常規,但我認爲這可能是我需要做的。感謝您的幫助。謝謝!是否有可能讓3.js對象與DOM元素進行交互?

+0

當你說「我需要動態創建基於模型數據的形狀並且這些形狀需要互動時」,目前尚不清楚與DOM元素交互需要什麼。在three.js中有辦法做到這一點? – aug

+0

對不起。澄清我的意思是需要從尺寸數據(L,W,H)中創建對象。它們大多隻是三維矩形。 – totallytypicalcow

回答

1

這是不可能做到這一點,你可以參考的問題。 Mouse events on each <g> tag of svg loaded on the material in threejs

還要檢查http://learningthreejs.com/blog/2013/04/30/closing-the-gap-between-html-and-webgl

按照上面的鏈接

嘛,不是很不幸的是...... WebGL是canvas元素內3d和畫布是從查看HTML頁面點一個黑盒子。您不能在畫布內綁定DOM事件。您不能讓樣式表更改畫布內容。你不能把dom元素放在你的畫布中。這兩個人不會互相交談。

+0

我試過使用CSS 3D轉換,它是相當有限的和更多的工作。我發現這個例子http://jsfiddle.net/jeanlescure/7y9ozyj6/如果我能夠創造3D CSS的形狀也可以從3JS的控制有利於這將是對我非常有幫助。還有這個例子: https://threejs.org/examples/css3d_periodictable.html 你瞭解自己的能力或限制什麼?謝謝。 – totallytypicalcow