Skip to main content

Sprint 5 - Finishing the Furniture

This week, I completed modelling (4hrs) and texturing (7hrs) the furniture that will be used in the scene. It took longer than I expected because I had difficulty nailing down an art style while also working with new techniques in Substance Painter that I wasn't familiar with.

A big challenge was finding a style that I really liked and understanding how to achieve that. My experience is more in realistic modelling and texturing where it's easy to see where things don't look right. However, with stylized pieces, it's up to my own interpretation. I'm also working with a very base, low-resolution mesh because I want to avoid creating too much detail through normal or height maps. The simpler, the better, but, the simpler, the less there is to work with.

The grand solution in nailing down a flexible art style was through the use of ambient occlusion. By baking the same model over itself, I get an AO map, which already improves the look dramatically as it removes the flatness entirely. However, this wasn't enough, so by adding another AO layer to the texture but using different varieties of maps provided by Allegorithmic and tweaking their properties, I reached the result seen below.

Chair
Table
Shelf
The colours and patterns are prone to change as I build the environments in their entirety. Furthermore, I've learned a fair deal about how stylised assets behave and how to create them effectively this week. I learned that a part of the reason why I had a hard time getting the style is also that it needs an environment to fit in, which I did not have. It's challenging to build assets when I haven't finalised a mood board or stylised environment to compare with.

Comments

Popular posts from this blog

[FINAL] - Where to find our game

Hello future builders, we're 3 programmer-artists that make up the Seismic Octopus team: Mitchell Koch - lead programmer, game tester, researcher  Priscilla Lo - project manager, sound design, lead 2D artist, programmer, documentation  Maxime Vincent - lead 3D artist, lighting designer, game tester We finished this course in May 2020 with a final release of Build-a-Furniture available on GitHub: https://github.com/Areizza/Build-a-Furniture Although this semester was full of hardships and unprecedented times near the end, we got through it together and are proud to present our simple web-VR game. Check it out and let us know what you think! :)

Catalogue, Sound Effects, JSON for Instructions

This week I updated the image for the catalogue and added it to the Living Room environment as an image plane (~2hrs). I am currently adding smaller clickable planes on top of it to represent the different furniture options to choose to build. A screenshot of this can be seen below. I also looked for some sound effects to use for user feedback (~2hrs) when pieces are combined together correctly, incorrectly, pieces are dropped, etc. These sound files have been added to the shared drive and will be implemented in the code in the next few days. Some example sounds can be listened to at the following links: https://freesound.org/people/NenadSimic/sounds/150879/ https://freesound.org/people/grunz/sounds/109662/ https://freesound.org/people/GabrielAraujo/sounds/242501/ https://freesound.org/people/kirbydx/sounds/175409/  I also worked on adding JSON for the builder.js and finder.js files to store the required information for the instructions (~1hr). An example o...

Building the Shelf and Chairs

With the final submission looming closer, most of my effort was directed at replacing some hard-coded game-play functionality with dynamic data from the Builder and Finder systems (~3 hours), assisting my team with issues they encountered (~2-3 hours), and getting the shelf and chair ready to be built by the players (~8 hours). The Builder and Finder systems still had a few hard-coded values from the Beta build of the project that were specific to constructing the table, so I worked on replacing those with the data that is contained in the instructions arrays that Priscilla and Maxime created this week.  I was initially have problems accessing this array before I discovered that JavaScript arrays can be accessed by string, which simplified it a lot.  Below is an example of the before and after of this process. // Before socket . on ( 'setFurn' , function ( data ) { this . current = data . id ; // Where data.id was always "table" this . step = ...