AndroidXRのキャッチアップログ(2025/04~)
codelabsには変化なしやな
Jetpack for XRは、2月末に足並みそろえてalpha版が更新されている
リリースノートはこちらから
xr-sampleでは、まだscenecoreはalpha01だな
docsは3/17に更新かかってるな
たしかに項目増えてる気がする
ここで、AndroidXR関連のknown issueを見ることができそう
2025/04/23追記
4/16に全体的にdocsが更新入ってる
xr-codelabsは以前、Part1しかないな
xr-samplesも3か月前から更新なし
Jetpack for XRのdocsは4/30・5/1に更新されているものが多いので確認する
特にARCoreの部分はPlaneとAnchorのページが増えている
3d in volumeのコードが欠損している
androidx.xr系のパッケージは5/7に全体的に大きなアプデの波が来ていてリリースノートがにぎわっている
Emulatorのアプデなどをして、自分の手元で最新のcodelabsのコードが動いた
これでSceneCore alpha04の環境が動いたので嬉しい
お!SceneCoreの最新APIを使ってGltfモデル読み込めた!
Gemini in Android Studioを使ってみた結果、SpatialPanelじゃなくて副作用を使えとアドバイス
なるほどね
var avocadoEntity by remember { mutableStateOf<GltfModelEntity?>(null) }
LaunchedEffect(session) {
try {
val model = GltfModel.create(session, "Avocado.glb").await()
avocadoEntity = GltfModelEntity.create(session, model)
} catch (e: Exception) {
// エラー処理
}
}
Subspace {
if (avocadoEntity != null) {
// avocadoEntity を使用して表示
// 例: 特定の位置に配置
Entity(entity = avocadoEntity!!, modifier = SubspaceModifier.translate(x = 0.dp, y = 0.dp, z = -100.dp))
}
}
andriidxr sampleの依存パケがalpha04へアプデしていた
Google I/O 2025当日
AndroidXR関連、まずKeynoteの最後の最後で触れられて、しかもライブデモまでされて興奮
Google公式ブログのAndroidXR記事
結構詳細にまとまっている公式ブログがあった
2025/06/12追記
SDKアプデはalpha04以降動きなし
docs更新は5/23以降更新なし
codelabsもPart2から動きなし
Project Moohanのリリースがそろそろなんではないかというところで、
Jetpack XR SDKにも更新がかかってないかと確認したら
1.0.0-alpha06がリリースされていた
正確に言うと、SceneCoreとかComposeはalpha07っぽい
細心のアプデを見ていて感じたことを雑多にツイートしていたので、いったんそれをまとめる
ARCoreのリリースノートを見ればわかるけど、
-guava
と-rxjava
という名前のパッケージが追加されている
ちなみに他のパッケージも、guavaやrxjavaに依存している部分は別パケに切り出しているみたいだ
dependencies {
implementation("androidx.xr.scenecore:scenecore:1.0.0-alpha07")
// Optional dependencies for asynchronous conversions
implementation("androidx.xr.scenecore:scenecore-guava:1.0.0-alpha07")
// Use to write unit tests
testImplementation("androidx.xr.scenecore:scenecore-testing:1.0.0-alpha07")
}
-testingはテストのためのユーティリティパッケージかな
Faceはやっぱり顔認識っぽい
guava系のパッケージはListenableFutureを返す拡張関数を提供
Earth.createAnchorOnSurfaceAsync(
session: Session,
latitude: Double,
longitude: Double,
altitudeAboveSurface: Double,
eastUpSouthQuaternion: Quaternion,
surface: Earth.Surface
) : ListenableFuture<AnchorCreateResult>
この関数定義がアツい
どうやらROOFTOPとTERRAINアンカーに関してはドキュメンテッドな関数が存在するらしい
とはいえWGS84のほうも普通に用意されていそう
API Refには載っていないけど
他にもguava系で行くと、scenecore-guavaではgltfModelの作成でListenableFutureが使える
全然docsに載っていないけど実装されている機能がたくさんあった
Guide Docs < Release note < API Reference < 実際のコード
という風に情報量が多くなってくるので、公式docsだけ見てても知らないことたくさんだな
そういえば公式のガイドに載っていたのだけど
android.extensions.xr
なるパッケージがあって、ProGuardをするためには必要らしい
このパッケージはいくら探してもコードは見つからなかった
Mavenのリポジトリではヒットする
今回の変更を受け、xr-samplesもアプデしていた
あと、どうやらJetpackXRSDKより下のレイヤで動いていそうなコードを見つけた
なかでFilamentが使われている
JetpackXRSDKの実態はここに入っている
Moohan、10/21(来週)に出るのか…?