Untitled
unknown
plain_text
a year ago
1.3 kB
7
Indexable
fun createAnchorNode(
engine: Engine,
modelLoader: ModelLoader,
materialLoader: MaterialLoader,
anchor: Anchor
): AnchorNode {
val anchorNode = AnchorNode(engine = engine, anchor = anchor)
val modelNode = ModelNode(
modelInstance = modelLoader.createModelInstance(kModelFile),
// Scale to fit in a 0.5 meters cube
scaleToUnits = 0.5f
).apply {
// Model Node needs to be editable for independent rotation from the anchor rotation
isEditable = true
editableScaleRange = 0.2f..0.75f
}
val boundingBoxNode = CubeNode(
engine,
size = modelNode.extents,
center = modelNode.center,
materialInstance = materialLoader.createColorInstance(Color.White.copy(alpha = 0.5f))
).apply {
isVisible = false
}
modelNode.addChildNode(boundingBoxNode)
anchorNode.addChildNode(modelNode)
listOf(modelNode, anchorNode).forEach {
it.onEditingChanged = { editingTransforms ->
boundingBoxNode.isVisible = editingTransforms.isNotEmpty()
}
}
return anchorNode
}Editor is loading...
Leave a Comment