【问题标题】:Scaling a geometry in one direction with top as reference in threejs在threejs中以顶部为参考在一个方向上缩放几何图形
【发布时间】:2017-05-01 09:39:07
【问题描述】:

我正在尝试使用滑块事件来缩放 THREE.PlaneGeometry。实际上,我正在尝试实施百叶窗。当我尝试更改几何图形相对于处理程序的比例时,百叶窗在两侧均匀缩放。它应该固定在顶部并在一个方向上缩放。我尝试更改网格原点的坐标并通过差异平移网格。但它不起作用。缩放始终从原点发生,平面几何在两侧增长。

知道如何让它只在一侧缩放吗?

【问题讨论】:

    标签: three.js


    【解决方案1】:

    您需要平移您的几何图形,以便顶部边缘通过原点。

    var geometry = new THREE.PlaneGeometry( 10, 10 );
    geometry.applyMatrix( new THREE.Matrix4().makeTranslation( 0, - 10 / 2, 0 ) );
    

    现在,当您缩放网格时,顶部将保持固定。

    编辑:现在有一个可以使用的内置方法:

    geometry.translate( 0, - 10 / 2, 0 );
    

    three.js r.85

    【讨论】:

    • 我可以在不将几何体移动到原点的情况下这样做吗?
    • @HoangHuynh 如果你有问题,你需要发一个新帖子。
    • 如果您正在修改网格的几何形状,请记住您需要将网格平移到原始位置。 mesh.geometry.applyMatrix( new THREE.Matrix4().makeTranslation( 0, - mesh.geometry.parameters.height / 2, 0 ) ); mesh.translateY(mesh.geometry.parameters.height / 2)
    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多