java - 重置默认比例 ARCore 可转换节点
问题描述
我正在使用 ArFragment 并且我正在尝试以编程方式更改作为 AnchorNode 子节点的 TransformableNode 的比例。我正在使用以下代码:
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();
}
我们是否正确设置了比例?还有另一种方法可以做到这一点吗?非常感谢!
解决方案
推荐阅读
- android - BottomNavigationView 不隐藏滚动 - viewpager 中的 NestedScrollView
- typescript - 如何在类方法中正确推断泛型 T 的键扩展 X?
- node.js - Protractor/Selenium/Jasmine 超时,除非手动启动 webdriver 管理器
- python-3.x - 未知类名的 CatBoostError
- python - 查找英国邮政编码之间的距离
- java - JavaFX 折线图出现错误后冻结 - 错误?
- beautifulsoup - 有没有办法在 HTML 文件中查找字符串并返回其 XPath?
- xpages - 阻止下载视频
- python - 用 tkinter 画线
- javascript - 在 AngularJS 中循环 $http.get 请求