2013-08-19 42 views

回答

1

事實上,這是可能的,你要考慮的Raycaster庫,這裏的高級步驟

  • unproject你的鼠標點擊座標進入3D場景。
  • 投射的光線到場景中,並返回相撞對象的相交陣列
  • 此相交的對象將有受影響的面和faceIndex作爲參數
  • 碰撞開啓臉@ faceIndex透明度爲0

看看這些文檔頁面: http://threejs.org/docs/#Reference/Core/Projector http://threejs.org/docs/#Reference/Core/Raycaster

而這個例子中的一個開始: https://github.com/mrdoob/three.js/blob/master/examples/canvas_interactive_cubes.html

編輯: 好的,很好地然後隱藏在臉上,你可以在此之外的峯值SO後:

Can I hide faces of a mesh in three.js?

的要點是你有一個多材料對象,第一材料是你的默認,以及完全不透明的第二種材料。然後當你相交時,你將臉設置爲使用第二個materialIndex。無論如何,上面的鏈接應該做的工作。關閉以投票迴應。 :)

+0

感謝您的回覆。我看到了你提到的兩個鏈接。它有想法找到哪個臉部檢測到。但我需要隱藏選定的臉部。 – Crystal

+0

你好,你有機會嘗試我最近的編輯?我很想知道它是如何實現的。 –