[英]three.js: GridHelper makes non standard grid?
有人告訴我three.js中幾何的標准法線向量是(0, 0, 1)
0,0,1 (0, 0, 1)
。
但是,當我創建GridHelper構造函數的實例時,它將創建一個由X和Z軸跨越的平面。 這樣的平面的法線向量為(0, 1, 0)
。
可以從此屏幕快照中看到,該屏幕顯示了GridHelper的幾何形狀的頂點:
並通過目視檢查確認:
這就是我實例化GridHelper的方法:
var myGridHelper = new THREE.GridHelper(10, 20);
為什么GridHelper不符合標准法線向量?
如果此功能/錯誤不會改變:是否可以通過始終使用以下代碼啟動GridHelper實例來解決此問題:
var standardPlaneNormal = new THREE.Vector3(0, 0, 1);
var GridHelperPlaneNormal = new THREE.Vector3(0, 1, 0);
var quaternion = new THREE.Quaternion();
quaternion.setFromUnitVectors(standardPlaneNormal, GridHelperPlaneNormal);
var myGridHelper = new THREE.GridHelper(10, 20);
myGridHelper.rotation.setFromQuaternion(quaternion);
?
如果要在lookAt()
使用lookAt()
方法, GridHelper
需要旋轉網格幾何形狀,以便網格位於XY平面而不是XZ平面。 完成后, lookAt()
將按預期工作。
var grid = new THREE.GridHelper( 10, 2 );
grid.geometry.rotateX( Math.PI / 2 );
var vector = new THREE.Vector3( 1, 1, 1 );
grid.lookAt( vector );
scene.add( grid );
three.js r.76
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.