gpt4 book ai didi

javascript - three.js:GridHelper 制作非标准网格?

转载 作者:行者123 更新时间:2023-11-30 08:31:37 25 4
gpt4 key购买 nike

我有been told three.js 中几何的标准法向量是 (0, 0, 1)

但是,当我创建 GridHelper 构造函数的实例时,它会创建一个由 X 轴和 Z 轴跨越的平面。这样的平面的法向量为 (0, 1, 0)

这可以通过这张截图看出,显示了我的 GridHelper 几何体的顶点:

enter image description here

并通过目测确认:

enter image description here

这就是我实例化 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() 方法与 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

关于javascript - three.js:GridHelper 制作非标准网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37083229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com