Gaia3D / mago-3d-tiler

This is the official repository of mago-3d-tiler.
https://seoul.gaia3d.com:10903/
Mozilla Public License 2.0
105 stars 9 forks source link

Facing issue in generating 3Dtiles (b3dm) from GLB and glTF #10

Closed yash-154 closed 3 weeks ago

yash-154 commented 3 months ago

While generating 3D tiles From GLB and gltf format there is only Tileset.json file Data folder which contains .b3Dm is missing. where as when i change input to .shp (shapefile) its generating that folder as well as tileset.json files.

Am i missing something here?

Screenshot 2024-03-15 102547

znkim commented 3 months ago

Missing files are usually caused by errors in the files during generation or incorrect CRS options, so I think you'll need more details to answer. I would appreciate it if you could point me to the input files, commands and logs.

yash-154 commented 3 months ago

Below is the screenshot of my input files i have taken gltf and these are commands and logs for the same

C:\Users\GIS\Desktop\mago 3d\mago-3d-tiler-main\tiler\dist>java -jar mago-3d-tiler-1.4.4-natives-windows.jar --input "C:\Users\GIS\Desktop\mago 3d\data\PCMC_GLB\PCMC_GLB.gltf" --inputType gltf -c 4326 -aa --o utput "C:\Users\GIS\Desktop\mago 3d\3D tiles\glb_tiles" WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.

ΓöîΓö¼ΓöÉΓöîΓöÇΓöÉΓöîΓöÇΓöÉΓöîΓöÇΓöÉ -ΓöÉΓöîΓö¼ΓöÉ ΓöîΓö¼ΓöÉΓö¼Γö¼ ΓöîΓöÇΓöÉΓö¼ΓöÇΓöÉ ΓöéΓöéΓöéΓö£ΓöÇΓöñΓöé Γö¼Γöé Γöé -Γöñ ΓöéΓöé Γöé ΓöéΓöé Γö£Γöñ Γö£Γö¼Γöÿ Γö┤ Γö┤Γö┤ Γö┤ΓööΓöÇΓöÿΓööΓöÇΓöÿ -Γöÿ-Γö┤Γöÿ Γö┤ Γö┤Γö┤ΓöÇΓöÿΓööΓöÇΓöÿΓö┤ΓööΓöÇ 3d-tiler(1.4.4) by Gaia3d, Inc.

Starting process flow: BatchedProcessModel [Pre] Created temp directory in C:\Users\GIS\Desktop\mago 3d\3D tiles\glb_tiles\temp [Pre] Start the pre-processing. [Pre] Loading all files. [Pre] Finished loading all files [Pre] Total file count : 1 Embedded Texture: PCMC_GLB_extracted_0.png [Pre][1/1] Loading file : PCMC_GLB.gltf [Pre][1/1][1/1] Loading tiles from file. source java.lang.NullPointerException: source at java.base/java.util.Objects.requireNonNull(Objects.java:259) at org.apache.commons.io.FileUtils.requireExistsChecked(FileUtils.java:2717) at org.apache.commons.io.FileUtils.requireFileCopy(FileUtils.java:2751) at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:840) at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:756) at com.gaia3d.basic.exchangable.GaiaSet.writeFile(GaiaSet.java:114) at com.gaia3d.process.preprocess.GaiaMinimizer.run(GaiaMinimizer.java:22) at com.gaia3d.process.TilingPipeline.lambda$startPreProcesses$0(TilingPipeline.java:94) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1589) [Pre] Total Node Count 1, Auto Node limit : 1024 [Pre] End the pre-processing. [Tiling] Start the tiling process. [Tiling] Writing tileset file. [Tiling][ContentNode][RC0][LOD3][OBJECT1] [Tiling][ContentNode][RC00][LOD2][OBJECT1] [Tiling][ContentNode][RC000][LOD1][OBJECT1] [Tiling][ContentNode][RC0000][LOD0][OBJECT1] [Tiling][Tileset] write 'tileset.json' file. [Tiling] End the tiling process. [Post] Start the post-processing. [Post][3/4] post-process in progress. : RC000 [Post][2/4] post-process in progress. : RC00 [Post][4/4] post-process in progress. : RC0000 [Post][1/4] post-process in progress. : RC0 java.io.EOFException at java.base/java.io.DataInputStream.readInt(DataInputStream.java:398) at com.gaia3d.basic.structure.GaiaMaterial.read(GaiaMaterial.java:152) at com.gaia3d.basic.exchangable.GaiaSet.readFile(GaiaSet.java:143) at com.gaia3d.basic.exchangable.GaiaSet.(GaiaSet.java:59) at com.gaia3d.process.tileprocess.tile.TileInfo.maximize(TileInfo.java:89) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at com.gaia3d.process.postprocess.GaiaMaximizer.run(GaiaMaximizer.java:17) at com.gaia3d.process.TilingPipeline.lambda$startPostProcesses$2(TilingPipeline.java:179) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1589) java.io.EOFException null at java.base/java.io.DataInputStream.readInt(DataInputStream.java:398) at com.gaia3d.basic.structure.GaiaMaterial.read(GaiaMaterial.java:152) at com.gaia3d.basic.exchangable.GaiaSet.readFile(GaiaSet.java:143) at com.gaia3d.basic.exchangable.GaiaSet.(GaiaSet.java:59) at com.gaia3d.process.tileprocess.tile.TileInfo.maximize(TileInfo.java:89) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at com.gaia3d.process.postprocess.GaiaMaximizer.run(GaiaMaximizer.java:17) at com.gaia3d.process.TilingPipeline.lambda$startPostProcesses$2(TilingPipeline.java:179) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1589) java.io.EOFException null at java.base/java.io.DataInputStream.readInt(DataInputStream.java:398) at com.gaia3d.basic.structure.GaiaMaterial.read(GaiaMaterial.java:152) at com.gaia3d.basic.exchangable.GaiaSet.readFile(GaiaSet.java:143) at com.gaia3d.basic.exchangable.GaiaSet.(GaiaSet.java:59) at com.gaia3d.process.tileprocess.tile.TileInfo.maximize(TileInfo.java:89) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at com.gaia3d.process.postprocess.GaiaMaximizer.run(GaiaMaximizer.java:17) at com.gaia3d.process.TilingPipeline.lambda$startPostProcesses$2(TilingPipeline.java:179) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1589) java.io.EOFException null at java.base/java.io.DataInputStream.readInt(DataInputStream.java:398) at com.gaia3d.basic.structure.GaiaMaterial.read(GaiaMaterial.java:152) at com.gaia3d.basic.exchangable.GaiaSet.readFile(GaiaSet.java:143) at com.gaia3d.basic.exchangable.GaiaSet.(GaiaSet.java:59) at com.gaia3d.process.tileprocess.tile.TileInfo.maximize(TileInfo.java:89) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at com.gaia3d.process.postprocess.GaiaMaximizer.run(GaiaMaximizer.java:17) at com.gaia3d.process.TilingPipeline.lambda$startPostProcesses$2(TilingPipeline.java:179) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1589) null [Post] End the post-processing.

End Process Time : 1s 87ms Total tile contents count : 4 Total 'tileset.json' File Size : 1KB

image

znkim commented 3 months ago

Hello, @yash-154 After checking the logs and the content, it seems to be a path error when reading textures from gltf file. This hotfix fixed this and similar cases, so it might be resolved in the new version. However, it could also be an issue with the file itself, so I need to check the data itself. If it doesn't work after patching, can you provide a sample file?