我想知道爲什麼你需要完整的Object3D作爲目標而不是Vector3?在我看來,目標的角色只是設置錐體的方向。 Object3D能否比原始Vector3帶來更多的SpotLight操縱魔法?爲什麼SpotLight在three.js中定位Object3D?
1
A
回答
2
因爲陰影映射需要作爲其平截頭體的參考。然而,我正在等待刪除它,並在光線中使用距離屬性。
0
聚光燈有位置,方向矢量,顏色,強度,角度,下降。這些僅用於着色器內的計算以確定某個片段點亮了多少。
它可能並沒有什麼特別的魔力,它只是Object3D類有它的屬性.target,而Mesh和SpotLight類(實際上繼承Object3D)都使用這個屬性,但用於不同的計算和有點不同的方式。 Target屬性也被用於的lookAt矩陣網格和聚光燈,你可以通過做計算方向向量:
vec3 dir = targeted_3d.position - spot_light.position;
它是關於重新使用已繼承的屬性,並給它的孩子稍有不同的使用 - 班。
希望這會有所幫助。
相關問題
- 1. Three.js Object3d兒童lookAt相機的位置
- 2. Three.js light object3d和tween
- 3. 訪問three.js object3D中的A-Frame元素
- 4. 在three.js中定位網格
- 5. Three.js更新Object3D的孫子的旋轉
- 6. three.js使用raycaster.intersectObject選擇Object3D的子代
- 7. 將子節點/對象附加到three.js中的Object3D中
- 8. Three.js - 如何在帶有子項的Object3D上使用BoxHelper?
- 9. 點SpotLight在相機的方向three.js(手電筒)
- 10. Three.js - 爲什麼csg.js不工作?
- 11. 在Autodesk Forge查看器中對Three.JS Object3D網格進行光線投射
- 12. Three.js:導致Object3D平行於我的相機的X軸行進
- 13. 任何方式從three.js Object3D獲取邊界框?
- 14. 爲什麼Spotlight有時不運行我的查詢?
- 15. 爲什麼在NetBeans IDE中three.js不適合我?
- 16. 爲什麼GPS定位不起作用?
- 17. 爲什麼選擇HTML5地理定位?
- 18. Three.js在移動Object3D的內部旋轉物體始終面向相機
- 19. 爲什麼位移?
- 20. 在Cocoa中使用Spotlight
- 21. 爲什麼要在可執行文件中重定位(.reloc節)?
- 22. 爲什麼在ie中,右側是絕對定位的標誌?
- 23. 爲什麼絕對定位元素不服從定位準則?
- 24. three.js-爲什麼它不在對象上應用紋理
- 25. 爲什麼Three.js視頻不能在我的Nexus 7上渲染
- 26. 如何在三個js中獲得SpotLight的位置?
- 27. OpenGL Spotlight
- 28. 如何在THREE.js中定位紋理圖像
- 29. 在Three.js中定位基於局部向量的子網格
- 30. 在場景中無法獲取object3D
我在Object3D和Mesh中都沒有看到.target屬性。 – 2013-05-11 10:46:25