What's new in ObjToSchematic 0.7.1
Feb 11, 2023
- Fixed some minor bugs from 0.7.0 release.
New in ObjToSchematic 0.7.0 (Jan 23, 2023)
- Added material repairing. Material types are automatically inferred if no .mtl file is found.
- The new 'Materials' action lets you tweak the materials of the model instead of manually having to create/edit a .mtl file.
- Added per-material texture sampling options for (1) UV wrapping i.e. CLAMP vs. REPEAT and (2) min/mag filtering i.e. NEAREST vs. LINEAR.
- Now operates on a per-material basis instead of for all materials.
- Added new voxeliser with thicker walls (contributed by IceTank).
- Added lighting calculations.
- (Expensive/slow) Will calculate the block lighting of the block mesh for a more accurate visualisation.
- Added light threshold option.
- (Requires lighting to be enabled) Will place a light-source block if a part of the block mesh is darker than the chosen value.
- Added constraint axis.
- Can now voxelise a mesh to a desired width or depth instead of just the height.
- Added contextual averaging.
- When enabled (recommended), blocks are chosen based off of the average colour of the visible faces instead of all faces for more accurate conversions.
- Added smoothness option.
- (This value is very sensitive.) The higher the smoothness value the higher the weight a block's 'smoothness' is used when choosing what block to convert a voxel into. Use this to remove noisey textured blocks.
- Added camera smoothing and sensitivity settings to config file.
- Added viewport background colour setting to config file.
- Added smooth shading to mesh rendering.
- Added fresnel effect to mesh rendering.
- Added support for .tga textures.
- Added rotation option when loading meshes.
- Updated atlas format to version 3, old atlases will need to be recreated.
- Can now type in values into sliders.
- Cursor style now updates when work is being done.
- Improved overall UI consistency.
- Changed some UI elements to checkboxes.
- Major refactor to block assigning.
- Minor optimisations to occlusion calculations.
- Fixed .mtl files with tab-indented material tags.
- Fixed material alpha factor for solid materials.
- Fixed no multisampling on BVH voxeliser.
- Fixed vertical UV texture sampling.
- Fixed multisampling samples only existing on the positive diagonal.
- Optimsed calculating voxel colour for solid materials.
- Fixed viewport camera rotating slower when devtools is open (contributed by 0-zen).
- Relaxed constraints for palette names.
- Various optimisations to reduce DOM updates.
- Fixed grass-like blocks being used when an opaque block is above (contributed by 0-zen).
- Optimised special blocks arrays being loaded once instead of each time a new BlockMesh is created.
- Removed 'Texture Filtering' voxelise option, now controlled on a per-material basis.
New in ObjToSchematic 0.6.1 (Oct 17, 2022)
- Fixed some minor bugs from 0.6.0 release.
New in ObjToSchematic 0.6.0 (Oct 7, 2022)
- Added worker thread - all heavy calculations are offloaded from the render thread to avoid lockups.
- Added transparency support - can now import transparent materials and use transparent blocks.
- Added 'colour accuracy' option to 'Assign' action - smaller values result in faster block assigning at the cost of accuracy.
- Added `config.json` in `/res/` to control various settings.
- Added option for controlling how influential the alpha value of a colour is in determining closest-colour.
- Added end-to-end testing.
- Added voxel overlap settings - control behaviour when multiple voxels are placed in the same location.
- Added '.schem' exporter.
- Added new dithering option: 'random' (strongly recommend using this over 'ordered' for a more natural look).
- Added log files for client, worker, and headless runtimes (stored in /logs/).
- Added nbt exporter for Minecraft structure blocks.
- Added orthographic camera.
- Added camera view snapping when using orthographic camera and aligned with one of the world axes.
- Added axis grids when angle snapped.
- Added progress bars and loading animations.
- Added `RENDER_TRIANGLE_THRESHOLD` config option - if a mesh's triangle count exceeds this value the mesh is not rendered.
- Added `MAXIMUM_IMAGE_MEM_ALLOC` config option.
- Added chunk-based rendering for voxel meshes and block meshes.
- Increased maximum desired height from 320 to 380.
- Updated vanilla atlas and palette for Minecraft 1.19.
- Optimised exporters by switching to write streams.
- Optimised mesh/voxel mesh/block mesh render buffer generation.
- Optimised voxelising time, roughly 1.8x faster.
- Optimised voxelisers memory usage by removing mesh copies.
- Optimised .litematic exporter, roughly 15x faster.
- Overhauled headless script.
- Overhauled action output styling.
- Refactored atlas and palette handling.
- Refactored resource path handling.
- Fixed index component buffers allocating more memory than necessary.
- Refactored all internal block names to be namespaced.
- Fixed clay block id being incorrect in `blocks.json` (Thanks to LeGrandGeek).
- Added sorting to module imports.
- Fixed several cyclical dependencies.
- Updated some npm packages.
- Removed debug view options.
- Removed colour-space options.
- Removed unnecessary 'calculateNeighbours' option.
- Removed custom HashSet and HashMap implementations.