我正在尝试将远程资产(.glb 或 .gltf)加载到ModelViewer
in 灯丝中。Google Filament sample-gltf-viewer显示了一个对象,RemoteServer
但我没有看到如何从 URL 加载远程资产(例如https://github.com/kelvinwatson/glb-files/raw/main/DamagedHelmet.glb )
我已经尝试了以下方法,但我得到“无法解析 glb 文件”。
RemoteServer的代码没有指明我们可以在哪里传递 URL。
val glbUrl = "<URL TO YOUR GLB ASSET>"
private fun loadGlbRemote() {
lifecycleScope.launch {
withContext(Dispatchers.IO) {
val url = URL(glbUrl)
val connection = url.openConnection()
connection.connect()
val inputStream: InputStream = BufferedInputStream(url.openStream())
val len = connection.contentLength
val byteArray = ByteArray(len)
inputStream.read(byteArray, 0, byteArray.size)
val byteBuffer = ByteBuffer.wrap(byteArray)
modelViewer.loadModelGlb(byteBuffer)
inputStream.close()
}
implementation 'com.google.android.filament:filament-android:1.7.0'
implementation 'com.google.android.filament:filament-utils-android:1.7.0'
implementation 'com.google.android.filament:gltfio-android:1.7.0'`
任何帮助,将不胜感激。