簡體   English   中英

three.js:GridHelper使非標准網格嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM