Skip to content

How to set background of scene view ? #306

@dinkar1708

Description

@dinkar1708

only model image should display not the white area.

image

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)
}
}
}
}
)

}

`

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions