-
-
Notifications
You must be signed in to change notification settings - Fork 206
Description
only model image should display not the white area.
Code
`
package com.ar_makeup_android_prototype.ar
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.unit.dp
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.repeatOnLifecycle
import com.ar_makeup_android_prototype.R
import com.google.android.filament.LightManager
import com.google.android.filament.Skybox
import com.gorisse.thomas.lifecycle.lifecycle
import com.gorisse.thomas.lifecycle.lifecycleScope
import io.github.sceneview.Scene
import io.github.sceneview.math.Position
import io.github.sceneview.math.Rotation
import io.github.sceneview.nodes.ModelNode
import kotlinx.coroutines.launch
@composable
fun ModelView( xPosition: Float,
yPosition: Float)
{
// initial background color of 3d model
val backgroundColor = Color.Transparent
val reusableModifier = Modifier
// size of model
.size(200.dp)
// location of model
.offset(xPosition.dp, yPosition.dp)
.background(Color.Transparent)
Scene(
modifier = reusableModifier,
onCreate = { sceneView ->
sceneView.apply {
// setBackgroundColor(backgroundColor.toArgb())
// background =add null
// sceneView.engine.lightManager.apply {
// setColor(1, 0.4f, 0.5f,0.3f, )
// setIntensity(1, 100_000.0f)
//// setDirection(1, 0.0f, -1.0f, 0.0f)
// }
// sceneView.skybox?.apply {
// setColor(750f / 255f, 750f / 255f, 750f / 255f, 0.5f)
//
// }
setLifecycle(lifecycle)
sceneView.lifecycleScope.launch {
sceneView.lifecycle.repeatOnLifecycle(Lifecycle.State.CREATED) {
// sceneView.skybox = Skybox.Builder().color(750f / 255f, 750f / 255f, 750f / 255f, 0.5f).build(sceneView.engine)
// sceneView.skybox = Skybox.Builder()
// .color(0.0f, 0.0f, 0.0f, 0.0f)
// .build(sceneView.engine)
val model = modelLoader.loadModel("models/glass2.glb")!!
val modelNode = ModelNode(sceneView, model).apply {
transform(
position = Position(z = -4.0f),
rotation = Rotation(x = 15.0f)
)
scaleToUnitsCube(2.0f)
}
addChildNode(modelNode)
}
}
}
}
)
}
`