Skip to content

Commit 85d5ce2

Browse files
committed
Documentation
1 parent 2bb8505 commit 85d5ce2

File tree

1 file changed

+37
-24
lines changed

1 file changed

+37
-24
lines changed

README.md

Lines changed: 37 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929

3030
SceneView enables developers to easily incorporate 3D and AR capabilities into Android applications using Google's Filament rendering engine and ARCore. The library offers two main components:
3131

32-
1. **SceneView**: 3D rendering capabilities using Filament
33-
2. **ARSceneView**: Augmented reality capabilities using Filament + ARCore
32+
1. **Sceneview**: 3D rendering capabilities using Filament
33+
2. **ARSceneview**: Augmented reality capabilities using Filament + ARCore
3434

3535
## <a name="3d-scene-with-filament"></a>3D Scene with Filament
3636

@@ -50,8 +50,11 @@ dependencies {
5050
Here's a basic example of creating a 3D scene in Jetpack Compose:
5151

5252
```kotlin
53-
// Core rendering components
53+
54+
// Filament 3D Engine
5455
val engine = rememberEngine()
56+
57+
// Core rendering components
5558
val view = rememberView(engine)
5659
val renderer = rememberRenderer(engine)
5760
val scene = rememberScene(engine)
@@ -60,6 +63,8 @@ val scene = rememberScene(engine)
6063
val modelLoader = rememberModelLoader(engine)
6164
val materialLoader = rememberMaterialLoader(engine)
6265
val environmentLoader = rememberEnvironmentLoader(engine)
66+
67+
// Collision System
6368
val collisionSystem = rememberCollisionSystem(view)
6469

6570
Scene(
@@ -99,25 +104,30 @@ Scene(
99104
// Add a glTF model
100105
add(
101106
ModelNode(
107+
// Create a single instance model from assets file
102108
modelInstance = modelLoader.createModelInstance(
103109
assetFileLocation = "models/damaged_helmet.glb"
104110
),
111+
// Make the model fit into a 1 unit cube
105112
scaleToUnits = 1.0f
106113
)
107114
)
108115

109116
// Add a 3D cylinder with custom material
110-
add(CylinderNode(
111-
engine = engine,
112-
radius = 0.2f,
113-
height = 2.0f,
114-
materialInstance = materialLoader.createColorInstance(
115-
color = Color.Blue,
116-
metallic = 0.5f,
117-
roughness = 0.2f,
118-
reflectance = 0.4f
119-
)
117+
add(
118+
CylinderNode(
119+
engine = engine,
120+
radius = 0.2f,
121+
height = 2.0f,
122+
// Simple colored material with physics properties
123+
materialInstance = materialLoader.createColorInstance(
124+
color = Color.Blue,
125+
metallic = 0.5f,
126+
roughness = 0.2f,
127+
reflectance = 0.4f
128+
)
120129
).apply {
130+
// Define the node position and rotation
121131
transform(
122132
position = Position(y = 1.0f),
123133
rotation = Rotation(x = 90.0f)
@@ -132,6 +142,7 @@ Scene(
132142
}
133143
),
134144

145+
// Handle tap event on the scene
135146
onTouchEvent = { event: MotionEvent, hitResult: HitResult? ->
136147
hitResult?.let { println("World tapped : ${it.worldPosition}") }
137148
false
@@ -146,8 +157,10 @@ Scene(
146157

147158
### <a name="3d-sample-projects"></a>Sample Projects
148159

149-
- [Model Viewer (Compose)](https://github.com/SceneView/sceneview-android/tree/2bed398b3e10e8e9737d6e4a38933e783c1ee75e/samples/model-viewer-compose)
150-
- [Model Viewer (Layout)](https://github.com/SceneView/sceneview-android/tree/2bed398b3e10e8e9737d6e4a38933e783c1ee75e/samples/model-viewer)
160+
- [Model Viewer (Compose)](/samples/model-viewer-compose)
161+
- [Model Viewer (Layout)](/samples/model-viewer)
162+
- [Camera Manipulator (Compose)](/samples/camera-manipulator-compose)
163+
- [gtTF Camera (Compose)](/samples/gltf-camera)
151164

152165
## <a name="ar-scene-with-arcore"></a>AR Scene with ARCore
153166

@@ -174,7 +187,7 @@ ARScene(
174187

175188
// Configure AR session settings
176189
sessionConfiguration = { session, config ->
177-
// Enable depth if supported
190+
// Enable depth if supported on the device
178191
config.depthMode =
179192
when (session.isDepthModeSupported(Config.DepthMode.AUTOMATIC)) {
180193
true -> Config.DepthMode.AUTOMATIC
@@ -220,11 +233,11 @@ ARScene(
220233

221234
### <a name="ar-sample-projects"></a>Sample Projects
222235

223-
- [AR Augmented Image](https://github.com/SceneView/sceneview-android/tree/2bed398b3e10e8e9737d6e4a38933e783c1ee75e/samples/ar-augmented-image)
224-
- [AR Cloud Anchors](https://github.com/SceneView/sceneview-android/tree/2bed398b3e10e8e9737d6e4a38933e783c1ee75e/samples/ar-cloud-anchor)
225-
- [AR Model Viewer (Compose)](https://github.com/SceneView/sceneview-android/tree/2bed398b3e10e8e9737d6e4a38933e783c1ee75e/samples/ar-model-viewer-compose)
226-
- [AR Model Viewer (Layout)](https://github.com/SceneView/sceneview-android/tree/2bed398b3e10e8e9737d6e4a38933e783c1ee75e/samples/ar-model-viewer)
227-
- [AR Point Cloud](https://github.com/SceneView/sceneview-android/tree/2bed398b3e10e8e9737d6e4a38933e783c1ee75e/samples/ar-point-cloud)
236+
- [AR Model Viewer (Compose)](/samples/ar-model-viewer-compose)
237+
- [AR Model Viewer (Layout)](/samples/ar-model-viewer)
238+
- [AR Augmented Image](/samples/ar-augmented-image)
239+
- [AR Cloud Anchors](/samples/ar-cloud-anchor)
240+
- [AR Point Cloud](/samples/ar-point-cloud)
228241

229242
## Resources
230243

@@ -233,9 +246,9 @@ ARScene(
233246
- [AR API Reference](https://sceneview.github.io/api/sceneview-android/arsceneview/)
234247

235248
### Community
236-
- [SceneView Website](https://sceneview.github.io/)
237-
- [Discord Server](https://discord.gg/UbNDDBTNqb)
238-
- [YouTube Tutorials](https://www.youtube.com/results?search_query=Sceneview+android)
249+
- [Website](https://sceneview.github.io/)
250+
- [Discord](https://discord.gg/UbNDDBTNqb)
251+
- [YouTube](https://www.youtube.com/results?search_query=Sceneview+android)
239252

240253
### Related Projects
241254
- [Google Filament](https://github.com/google/filament)

0 commit comments

Comments
 (0)