我使用以下代码来制作梯形形状。我需要将这个几何体拉伸(stretch)到特定高度(2800),但我似乎无法弄清楚在哪里设置高度参数。有什么想法吗?
//Walls
var wallPoints = [[0,0,0],
[0,1000,0],
[-100,1100,0],
[-100,-100,0],
[0,0,0]];
var Vector3WallPoints = [];
for (var i=0;i<wallPoints.length;i++)
{
Vector3WallPoints.push(new THREE.Vector3(wallPoints[i][0],wallPoints[i][1],wallPoints[i][2]));
}
var wallShape = new THREE.Shape( Vector3WallPoints );
var extrusionSettings = {
amount: 1000,
//size: 300, height: 400, curveSegments: 3,
//bevelThickness: 10, bevelSize: 20, bevelEnabled: false,
material: 0, extrudeMaterial: 1, amount: 100,
};
var wallGeometry = new THREE.ExtrudeGeometry( wallShape, extrusionSettings );
var materialFront = new THREE.MeshBasicMaterial( { color: 0xffffff } );
var materialSide = new THREE.MeshBasicMaterial( { color: 0xff8800 } );
var materialArray = [ materialFront, materialSide ];
var wallMaterial = new THREE.MeshFaceMaterial(materialArray);
var walls = new THREE.Mesh( wallGeometry, wallMaterial );
scene.add(walls);
最佳答案
您在同一个对象中设置了两次amount
。如果您设置第一个,则另一个将覆盖它。删除其中之一,它应该会达到您的预期。
var extrusionSettings = {
amount: 1000,
material: 0, extrudeMaterial: 1, amount: 100, // <-- whoops
};
假设您在这里正确使用了 THREE.js api,我自己也不是 100%。
关于javascript - 如何在 Three.js 中设置挤出高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23377059/