This week, things started to get a good look to them. After UV mapping the texture associated with an obj file, we are finally able to see color on each block. This allows a PNG with a number or pixels equal to the grid size able to store the entire grids color data, with easy modification, and efficient storage
With the New UI in place, we turned to an important aspect of our project- selection. For many things, we need a selection tool, including adding based on a selection, removing, changing color, and copying. This week, we implemented the basis of the selection functionality. When a user clicks on a block, the index will be added to the selection list. We also added a bool to each cube in the mesh data array, so that rather than iterating through the entire array to find selected cubes, we can simply look at the exact location and quickly determine whether or not a cube is selected. While selection in a rudimentary form is working, we still need a visual confirmation for the user to be able to affirm the selection.
The UV mapping was accomplished by generating a PNG, as shown. each png stores the obj's color data in vertical "layers", meaning if the user wished, they could go into the PNG and modify the color for each cube, visually.
The color picker was again reworked. Our design is intended to not only look simple, but to be simple as well. The wheel is still around, to set the basic color. However instead of the sliders, we have a square in the middle to allow for visual picking of the hue and saturation. We plan to add back The Hex value input-er, along with recently used colors and the ability to change where the color selector is located on the screen.
Currently, COVID-19 is beginning to cause a shift in production methods for our team. At this point, we don't anticipate any issues, but it is causing us to temporarily break in production for the week. In order to prevent this from happening again, We met virtually to discuss further goals, and how we plan to accomplish them, including A completely new UI, New icons, multiple tab support, dynamic user specified gird sizes, menu and interface design, version history (undo and redo), and long term continuity of the project.
Ability to select multiple blocks
PNG generation of texture
UV mapping of PNG to texture
Rework of color picker