Git Product home page Git Product logo

reptile's Issues

Fix Transparent Rendering

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.

Move Tool

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.

Box Tool

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.

Plane Lock Toggle Button

Add a toggle to the tool UI for switching plane locking on or off, with holding the key temporarily flipping the value.

Orthographic Toggle and View Snapping

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.

Proportional Resizing

Add a toggle for scaling each axis by the same amount when resizing any individual one.

Box Select 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.

Expandable UI Boxes

Replace the current box labels with toggle buttons that show or hide the rest of the box's contents.

Separate Random Color Button

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.

OBJ Exporter

The ability to export tiles as OBJ files. A direct importer is not possible, for hopefully obvious reasons.

Flood-Fill Tool (aka Bucket Tool)

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.

Transparent and Outline Layer Modes

Currently these toggle buttons do nothing. They should cause the layer's associated chunks to render transparently or as a wireframe, respectively.

Visual Color Sliders

For the color sliders where it makes sense, display a gradient showing how the values affect the color.

Split Meshes Over 65k Vertices

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.

Eyedropper Tool

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.

XYZ Symmetry

Individual toggles for X, Y, and Z axes that cause paint tools to also paint the mirrored voxel along that axis.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.