javascript - 如何在 Three.js 中设置挤出高度?

标签 javascript three.js

我使用以下代码来制作梯形形状。我需要将这个几何体拉伸(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/

相关文章:

javascript - 循环 JSON

java - 将数据从 select 标签发送到 servlet

javascript - 向数组对象添加属性 - AngularJS

javascript - 在桌面上向下滚动但不是在移动设备上向下滚动的三个 js 动画?

javascript - 当通过文本字段提交表单时,如何在 Rails 中运行 javascript 代码?

JavaScript 变量未定义,但事实并非如此

javascript - 使用 three.js 在场景中只显示一个粒子

javascript - 在 three.js 中调整 dat.gui 的大小

three.js - THREE.PlaneGeometry 没有被渲染

javascript - 渲染 THREE.js 后无法添加到场景