hawkbat / reptile Goto Github PK
View Code? Open in Web Editor NEWReptile: a 3D voxel art authoring tool.
Reptile: a 3D voxel art authoring tool.
As of v0.1.0, even transparent pixels write to the Z buffer, which is messing up transparency rendering. To fix, split into both opaque and transparent submeshes, and create separate opaque and transparent shaders. Opaque should have ZWrite On, while transparent should do multiplicative blending.
Add a tool for moving voxels around. The drag offset should be based on the initially selected voxel. There should also be an option toggle for wrapping the voxels around if the move outside the bounds of the tile.
If the Box Select tool is being used, the selection box should move with the voxels, which should be the only ones affected.
Like the standard tool in MagicaVoxel; fills a 3D region between the voxel initially clicked on and the voxel released over. Alt mode fills zero-index while the normal mode fills the currently selected color.
VTile.GetChunk() is returning null for any layers beyond the default one. This makes using multiple layers completely impossible.
Add a toggle to the tool UI for switching plane locking on or off, with holding the key temporarily flipping the value.
The ability to toggle the camera between perspective and orthographic views would be useful, as would being able to snap the camera at 45-degree increments for viewing on the standard and isometric axes.
The Chunk script crashes when palette colors are deleted because the palette indices still point to the now-missing color.
Add buttons to the tile UI box to create a new tile, either at the same size or one of several presets (8x8x8, 16x16x16, 32x32x32, etc.)
Add a toggle for scaling each axis by the same amount when resizing any individual one.
Add the ability to import and export tiles as MagicaVoxel VOX files.
Study MagicaVoxel's tools to replicate the place-on-anything-under-mouse behavior of the place tool.
Add a tool for selecting a rectangular region, which acts as a mask for other tools so they only affect the voxels within the box.
Replace the current box labels with toggle buttons that show or hide the rest of the box's contents.
Instead of having newly added palette colors be a random color, have them be white, and add a separate button for randomizing the current color.
Exported files should contain the version number, and serialization logic should include appropriate branching for handling older versions.
Add a visual color picker, with a color map and HSL sliders.
The ability to export tiles as OBJ files. A direct importer is not possible, for hopefully obvious reasons.
The tool should perform a flood-fill, replacing contiguous regions of the clicked-on voxel's color with the currently selected palette color. A tool option should be added allowing the flood-fill to optionally cross diagonals. The Alt mode should use the zero-index color instead of the current palette color.
Add tool-independent brush settings to affect a cube or sphere around the mouse.
Currently these toggle buttons do nothing. They should cause the layer's associated chunks to render transparently or as a wireframe, respectively.
For the color sliders where it makes sense, display a gradient showing how the values affect the color.
Currently going over 65k vertices on a single chunk causes a soft crash, which is very likely on tile sizes larger than 16x16x16. This is due to a Unity limitation of 65,535 vertices per Mesh instance. There are a few optimizations that can be made to alleviate this (such as merging adjacent faces) but Chunks should support generating a list of Meshes. This will also require generating a set of MeshFilters, MeshRenderers, and MeshColliders.
Add a tool that selects the color of the voxel clicked-on in the palette. The alt-mode could replace the current color with a copy of the picked color instead of simply selecting it.
Individual toggles for X, Y, and Z axes that cause paint tools to also paint the mirrored voxel along that axis.
Make scrollwheel also zoom the camera.
Basic add/remove/select functionality for animations and frames, and simple playback. Ensure chunks are created and removed as appropriate.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.