gpt4 book ai didi

javascript - 如何使用 Object3D.lookAt() 函数使 ExtrudeGeometry 面向对象?

转载 作者:行者123 更新时间:2023-11-30 19:32:05 24 4
gpt4 key购买 nike

我需要制作一个面向另一个对象的 3D 多边形。有什么好办法吗?我想过使用 ExtrudeGeometry,但我不知道如何对其应用 Object3D.lookat() 函数。我将不胜感激 :)

这是我现在拥有的代码:

  var position = new THREE.Vector3(0,0,0);

var polyhedronPts = [];
polyhedronPts.push(new THREE.Vector2(-100, 600));
polyhedronPts.push(new THREE.Vector2(300, 600));
polyhedronPts.push(new THREE.Vector2(600, -100));
polyhedronPts.push(new THREE.Vector2(200, 100));
polyhedronPts.push(new THREE.Vector2(400, 200));

polyhedronShape = new THREE.Shape(polyhedronPts);
var extrudeSettings = {
amount: 5
};
var geometry = new THREE.ExtrudeGeometry(polyhedronShape, extrudeSettings);

geometry.lookAt(position);

var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
mesh = new THREE.Mesh( geometry, material ) ;

sceneEl.object3D.add(mesh);

geometry.lookAt(sphereposition);线应该使物体面向 [0,0,0]但事实并非如此。您知道如何解决这个问题吗?

最佳答案

.lookAt() 是一个 Object3D 函数,reference .

这意味着您需要在网格对象上使用它,而不是几何体。

要将对象旋转到 targetObject,您可以使用 object.lookAt( targetObject.position )。这将检测目标对象的当前位置并相应地旋转它。

我设置了一个交互式 JSFiddle .您可以拖动立方体,圆锥体会自动指向它。

关于javascript - 如何使用 Object3D.lookAt() 函数使 ExtrudeGeometry 面向对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56328833/

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