重置默认比例缩放ARCore可转换节点

时间:2018-07-13 21:30:15

标签: java android android-studio kotlin arcore

我正在使用ArFragment,并且尝试通过编程方式更改TransformableNode的比例,该TransformableNode是AnchorNode的子级。我正在使用以下代码:

ar_scaleTest_button.setOnClickListener {

    for(node in fragment!!.arSceneView.scene.children) {
        if(node.children.size != 0) {
            val transNode = node.children[0] as TransformableNode

            if(transNode.isSelected) {
                Toast.makeText(it.context, 
                               "Scale was: "+transNode.localScale.toString(), 
                               Toast.LENGTH_SHORT).show()
                transNode.localScale = Vector3(1.0f, 1.0f, 1.0f)
            }
        }
    }
}

调试之后,我意识到正在执行的方法是Node类中的setLocalScale(),但是它接收的是空值而不是Vector3(1.0f,1.0f,1.0f)。我通过在以下方法的第二行中放置一个断点来检查此问题,该断点从未达到:

public void setLocalScale(Vector3 var1) {
    Preconditions.checkNotNull(var1, "Parameter \"scale\" was null.");
    this.localScale.set(var1);
    this.applyTransformUpdateRecursively();
}

我们是否正确设置了比例尺?还有另一种方法吗? 非常感谢!

0 个答案:

没有答案