【问题标题】:threejs sketching tool with cube geometry具有立方体几何形状的threejs素描工具
【发布时间】:2017-07-03 19:30:23
【问题描述】:

我正在threejs 的帮助下开发一个素描工具。这个工具应该允许用户在任何方向绘制立方体。我部分实现了这一点,但仍然当我在负方向缩放对象时,面部颜色会反转。我正在寻找一种避免颜色反转的解决方案。表示立方体在正向和负向缩放时应该是相同的。

请帮忙..!!

提前致谢。

正向缩放。

在负方向缩放。

【问题讨论】:

    标签: three.js


    【解决方案1】:

    如果负向缩放会产生不需要的伪像,为什么不避免这样做呢?您的立方体网格是对称的,因此据我所知没有所需的行为。

    换句话说,显示 -50,但按绝对值 (50) 缩放。

    scale.set(Math.abs(scale)...)
    

    如果您确实需要几何翻转,请查看this answer

    【讨论】:

    • 感谢 Paul-Jan,这个解决方法解决了我的问题。 :)
    【解决方案2】:

    由于您绘制立方体并将其缩放到低于,它的顶点被绘制在里面。您可以将盒子的材质设置为双面。

    我假设您使用的是 MeshBasicMaterial

    var material = new THREE.MeshBasicMaterial({side:THREE.DoubleSide});
    var box = new THREE.Mesh(boxGeometryInstance,  material);
    

    【讨论】:

    • 感谢@Selim,但即使应用了这个侧面属性,它仍然没有解决问题..!!
    • cubeGeo = new THREE.BoxGeometry(5, 5, 5); cubeGeo.translate(2.5, 2.5, 2.5); cubeMaterial = new THREE.MeshBasicMaterial(); cubeMaterial.side = THREE.DoubleSide; cubeMaterial.transparent = false; cubeMaterial = [loadTexture('textures/busrun/rightLeft.jpg'), loadTexture('textures/busrun/rightLeft.jpg'), loadTexture('textures/busrun/topBottom.jpg'), loadTexture('textures/busrun/topBottom.jpg'), loadTexture('textures/busrun/rightLeft.jpg'), loadTexture('textures/busrun/rightLeft.jpg') ];
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 2013-04-16
    相关资源
    最近更新 更多