vengi-voxel / vengi

free and open source voxel art tools - editor, thumbnailer and format converter
http://vengi-voxel.github.io/vengi/
Other
1.05k stars 87 forks source link

VOXCONVERT: voxel formats .pcubes and .vmax throw error #399

Closed hkunz closed 4 months ago

hkunz commented 4 months ago

Here is the log of the errors when trying to convert any .obj to either .pcubes or .vmax

======================================================
PARTICUBES (.pcubes) ERROR
======================================================

.\vengi-voxconvert.exe
-set metric_flavor json
-set voxformat_scale 1.0
-set voxformat_voxelizemode 0
-set voxformat_ambientocclusion 0
-set voxformat_withcolor 1
-set voxformat_mergequads 1
--export-palette
--input "C:\z_bmf_al\temp_in.obj"
--output "C:\z_bmf_al\temp_out.obj"
--output "C:\z_bmf_al\pcubes\temp_out.pcubes"
--force
Error: Command exited with return code 1
Standard Error: INFO: (0) Initialized metrics
INFO: (0) Options
INFO: (0) * mergeQuads:        - 1
INFO: (0) * reuseVertices:     - true
INFO: (0) * ambientOcclusion:  - 0
INFO: (0) * scale:             - 1.0
INFO: (0) * scaleX:            - 1.0
INFO: (0) * scaleY:            - 1.0
INFO: (0) * scaleZ:            - 1.0
INFO: (0) * quads:             - true
INFO: (0) * withColor:         - 1
INFO: (0) * withTexCoords:     - true
INFO: (0) * palette:           - built-in:nippon
INFO: (0) * input files:       - C:/temp_in.obj
INFO: (0) * output files:      - C:/temp_out.obj, C:/pcubes/temp_out.pcubes
INFO: (0) * dump scene graph:  - false
INFO: (0) * dump mesh details: - false
INFO: (0) * merge models:      - false
INFO: (0) * scale models:      - false
INFO: (0) * crop models:       - false
INFO: (0) * surface only:      - false
INFO: (0) * split models:      - false
INFO: (0) * mirror models:     - false
INFO: (0) * translate models:  - false
INFO: (0) * rotate models:     - false
INFO: (0) * export palette:    - true
INFO: (0) * export models:     - false
INFO: (0) * resize models:     - false
INFO: (0) -- current input file: C:/temp_in.obj
INFO: (0) Load file C:/temp_in.obj with 1 model nodes
INFO: (0) Save palette to C:/temp_in.png
INFO: (0) Wrote palette C:/temp_in.png
INFO: (0) Save palette to C:/temp_out12212233867722828432.png
INFO: (0) Wrote output file C:/temp_out.obj
ERROR: (0) Failed to save file C:/pcubes/temp_out.pcubes
ERROR: (0) Failed to write to output file 'C:/pcubes/temp_out.pcubes'

And here for vmax

======================================================
VOXEL MAX (.vmax) ERROR
======================================================

.\vengi-voxconvert.exe
-set metric_flavor json
-set voxformat_scale 3.0
-set voxformat_voxelizemode 0
-set voxformat_ambientocclusion 0
-set voxformat_withcolor 1
-set voxformat_mergequads 1
--export-palette
--input "C:\temp_in.obj"
--output "C:\temp_out.obj"
--output "C:\vmax\temp_out.vmax"
--force
Error: Command exited with return code 1
Standard Error: INFO: (0) Initialized metrics
INFO: (0) Options
INFO: (0) * mergeQuads:        - 1
INFO: (0) * reuseVertices:     - true
INFO: (0) * ambientOcclusion:  - 0
INFO: (0) * scale:             - 3.0
INFO: (0) * scaleX:            - 1.0
INFO: (0) * scaleY:            - 1.0
INFO: (0) * scaleZ:            - 1.0
INFO: (0) * quads:             - true
INFO: (0) * withColor:         - 1
INFO: (0) * withTexCoords:     - true
INFO: (0) * palette:           - built-in:nippon
INFO: (0) * input files:       - C:/temp_in.obj
INFO: (0) * output files:      - C:/temp_out.obj, C:/vmax/temp_out.vmax
INFO: (0) * dump scene graph:  - false
INFO: (0) * dump mesh details: - false
INFO: (0) * merge models:      - false
INFO: (0) * scale models:      - false
INFO: (0) * crop models:       - false
INFO: (0) * surface only:      - false
INFO: (0) * split models:      - false
INFO: (0) * mirror models:     - false
INFO: (0) * translate models:  - false
INFO: (0) * rotate models:     - false
INFO: (0) * export palette:    - true
INFO: (0) * export models:     - false
INFO: (0) * resize models:     - false
INFO: (0) -- current input file: C:/temp_in.obj
INFO: (0) Load file C:/temp_in.obj with 1 model nodes
INFO: (0) Save palette to C:/temp_in.png
INFO: (0) Wrote palette C:/temp_in.png
INFO: (0) Save palette to C:/temp_out12212233867722828432.png
INFO: (0) Wrote output file C:/temp_out.obj
ERROR: (0) Failed to save file C:/vmax/temp_out.vmax
ERROR: (0) Failed to write to output file 'C:/vmax/temp_out.vmax'
mgerhardy commented 4 months ago

thanks for the report - should be fixed by the attached commit

vmax doesn't have write support yet and for pcubes the magic header was missing the the save flag was not set.

hkunz commented 4 months ago

tested and fixed! very nice! thank you!