Home Artists Posts Import Register

Content

The bathroom is back! I'm genuinely really excited to start working on this because I've had a huge itch to create the ability to bathe Shinobu. There are a lot of things that need to be done but I got a lot of work done over the weekend. So let's get started.

To start out, I purchased a license for Substance Painter.

This is a program that is used to create textures and PBR materials on the fly super fast. It's a professional program used by most AAA game studios and my god has it made me save so much time. Manually baking out curvature, ambient occlusion, etc. in Blender and texturing models in Photoshop is now a thing of the past (mostly). Using Substance I have created and revamped several assets for the bathroom.

Doors have been given a facelift and have been given doorknobs instead of handles for the player to eventually be able to grab and close/open doors. Old and new:

Yes they look very fancy now.

The bathroom floors were improved to not look so flat:

This was fine and dandy but it wasn't enough for my tastes. Not for Shinobu Project. This is the bathroom. People shower and bathe here so the floor can be wet in lots of places. Meaning it should be far more reflective. The problem is that mirror like surfaces are kryptonite and tricky in games in general. So I wrote a parallax corrected cubemap shader. You've heard of cubemaps before. It's what most games use for skyboxes. Example:

The problem is that these are static baked images. Meaning they won't realtime reflect things around them. They are good for high frequency detail materials but if you try to use them as mirrors, you'll get this:

It lacks parallax. In comes the parallax correction shader. By simulating bouncing inside a box when retrieving and applying the cubemap, you can get perfectly reflected reflections provided they are ON the box surface. My shader:

It's still a static baked cubemap. Using this relatively cheap method for reflections, I added some high frequency detail to hide the shortcomings of using baked static cubemaps:

So to the naive eye everything looks like it reflects. But I fooled you. Speaking of, parallax correction also works for vertical surfaces but if you stare hard enough you'll see how some things look warped.:

If I open the door, the reflection won't update. So I may have to do something like blurring it a bit or something. It's good enough though.

Another fun tech I worked on is a bubble shader. I implemented the bubble shader from my other tech research post. The bubble shader will allow me to render tons of bubbles on the screen and deform them with regular animation armatures. WIP:

The texture is placeholder as I haven't made my own bubble texture but it will be transparent. Also I need to add size variations.

Another big new feature I have decided to implement for the bathing update is being able to manually fill the tub with water. This means that you will have to fill the tub with water before telling your stinky loli to bathe.

That brings me to a new and interesting problem that I am currently solving: filling the tub with rising water. The issue is that the tub is not a regular shape. I cannot easily slap on a water plane and rise it over time because clipping will occur:

I am currently trying out a somewhat more involved solution but it should diminish clipping significantly. More on that later in the next devpost.

Stay tuned.

Files

Comments

No comments found for this post.