Three.js - 移除ArrowHelper的头部

时间:2016-08-26 02:40:34

标签: javascript three.js

我在我的代码中创建了一个ArrowHelper并通过调用下面的函数来更新其参数(此函数的每次调用都会更新ArrowHelper维度):

function updateArrowHelper() {

    // Update parameters for transportedVector
    transportedVector.arrowHelper.setLength(transportedVector.coordLocal.length(), headLengthVector, headWidthVector);
  transportedVector.arrowHelper.setDirection(directionVector.normalize());
  transportedVector.arrowHelper.position.copy(coordTorus);
  transportedVector.arrowHelper.line.material.linewidth = widthVector;
  transportedVector.arrowHelper.setColor(hexVector);
  // Set head length and width to zero if dirVector.length is zero
  if (transportedVector.coordLocal.length() == 0.0)
        transportedVector.arrowHelper.setLength(0, 0, 0);    
}

如果ArrowHelper的长度(由transportedVector.coordLocal.length()给出)为零,我想消失 // Set head length and width to zero if dirVector.length is zero if (transportedVector.coordLocal.length() == 0.0) transportedVector.arrowHelper.setLength(0, 0, 0); 的头部,我做了什么:

let documentsPath = NSURL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0])
let logsPath = documentsPath.appendingPathComponent("logs")
do {
    try FileManager.default.createDirectory(at: logsPath!, withIntermediateDirectories: true, attributes: nil)
} catch let error as NSError {
    NSLog("Unable to create directory \(error.debugDescription)")
}

但是在执行时,这不起作用:即使长度为空,一旦调用函数,头部仍然显示,我不知道为什么?

如果有人能看出错误的原因。

提前致谢。

1 个答案:

答案 0 :(得分:5)

您可以使用此模式隐藏ArrowHelper的头部:

arrowHelper.cone.visible = false;

three.js r.80