Skip to content

Instantly share code, notes, and snippets.

View ThomasGorisse's full-sized avatar

Thomas Gorisse ThomasGorisse

View GitHub Profile
private void updateRegionNodes() {
if (augmentedFace == null) {
return;
}
Pose centerPose = augmentedFace.getCenterPose();
faceRegionNode.setWorldPosition(new Vector3(centerPose.tx(), centerPose.ty(), centerPose.tz()));
// Rotate the bones by 180 degrees because the .fbx template's coordinate system is
IndirectLight buildIndirectLight() {
Preconditions.checkNotNull(irradianceData, "\"irradianceData\" was null.");
Preconditions.checkState(
irradianceData.length >= FLOATS_PER_VECTOR,
"\"irradianceData\" does not have enough components to store a vector");
if (reflectCubemap == null) {
throw new IllegalStateException("reflectCubemap is null.");
}
<uses-permission android:name="android.permission.CAMERA" />
<application>
<meta-data android:name="com.google.ar.core" android:value="optional" />
</application>
@ThomasGorisse
ThomasGorisse / main_activity.xml
Last active October 27, 2021 09:18
Sceneform Maintained - Add the View to your layout
<androidx.fragment.app.FragmentContainerView
android:id="@+id/arFragment"
android:name="com.google.ar.sceneform.ux.ArFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
@ThomasGorisse
ThomasGorisse / MainActivity.kt
Last active October 27, 2021 09:20
Sceneform Maintained - Edit your Activity or Fragment
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Load model.glb from assets folder or http url
(supportFragmentManager.findFragmentById(R.id.arFragment) as ArFragment)
.setOnTapPlaneGlbModel("model.glb")
}
@ThomasGorisse
ThomasGorisse / build.gradle
Last active October 27, 2021 09:17
Sceneform Maintained - Dependencies
dependencies {
implementation("com.gorisse.thomas.sceneform:sceneform:1.20.1")
}
val View.lifecycleOwner: LifecycleOwner
get() = getTag(R.id.view_lifecycle_owner) as? LifecycleOwner ?: object : LifecycleOwner,
LifecycleEventObserver {
private val lifecycle = LifecycleRegistry(this)
init {
doOnAttach {
findViewTreeLifecycleOwner()?.lifecycle?.addObserver(this)
}
doOnDetach {
val View.lifecycle get() = lifecycleOwner.lifecycle
val View.lifecycleScope get() = lifecycleOwner.lifecycleScope
dependencies {
implementation "com.gorisse.thomas:android-view-lifecycle:1.0.1"
}
view.lifecycle.addObserver(onResume = {
refreshData()
})