我在我的代码中创建了一个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)")
}
但是在执行时,这不起作用:即使长度为空,一旦调用函数,头部仍然显示,我不知道为什么?
如果有人能看出错误的原因。
提前致谢。
答案 0 :(得分:5)
您可以使用此模式隐藏ArrowHelper
的头部:
arrowHelper.cone.visible = false;
three.js r.80