K-ON! Clubroom – Cassette Player!

Phew! It’s been a while since I last posted. I picked up a cold from PAX and haven’t been feeling well since then. Even so, I’ve made some progress on the clubroom and still intend to release a beta version before the end of the year.

Let’s look at the features that have been added recently. First up: realistic refraction.

I cannot take full credit for this effect; my brother did most of the programming, I only had the idea.

Most game engines like Unity can’t do true refraction, since it requires ray tracing. If you’ve seen refraction in games before, it’s usually an approximation that works well enough for effects like water ripples and frosted glass, but cannot accomplish what you see in the screenshot above.

To achieve the effect, every side of the tank is equipped with its own virtual camera, which projects an image of what it sees onto the water surface. The virtual camera is deflected from the player’s viewpoint according to the refractive index and the distance from the tank.

Since adding more cameras reduces performance, I have decided not to enable this effect in VR (since it would require twice the number of cameras).

Speaking of performance, the soft shadows under objects now use decal textures rather than projectors, which is a huge improvement.


I have also been hard at work modelling the cassette player, which you can see above.

After a lot of research, I discovered that the player was based on a Sony CF-1980â…ˇ. You can see a photo of the real-life player here. I actually found a lot of great reference photos by browsing Japanese auction sites, including close-ups of the control panel.

As of today, the model is 99% complete, and I’ll be starting the textures soon. The cassette player is the last major 3D model that will be added before I release the beta.


Thanks for sticking around like Sticky the stick insect after getting stuck on a sticky bun.


K-ON! Clubroom – Seasons!

The seasonal system has been massively improved, along with the 2D/3D skybox visible outside the window. There are now a total of four “seasons” that the application can choose between:


Each season has dramatically different lighting and a custom 2D skybox, complete with hand-painted clouds. The colours of each skybox are based on references from the anime.

There are also unique sound and visual effects to complete the mood, such as heat haze/cicadas in Summer and chirping crickets at night.

I will be adding a Winter season as well, but first I need to close the windows to keep in the heat. It’s only sensible.

k-on-72-city-lightsDuring the rainy season and at night, you can see city lights glowing in the distance. Even the Moon makes an appearance during the evening.k-on-73-moonlightEvery season also sees the Sun in a different position in the sky, as determined by an accurate simulation of the Earth’s orbit. All the calculations are set for the year 2009 in Toyosato. I even checked the phase of the Moon.


See you next time, under the light of a waxing crescent.

K-ON! Clubroom – Characters!

Time for a progress update. I’ve ported the loading screen from the Unity 4 version:


But now you can select your favourite character! The full list:

  • Yui
  • Ritsu
  • Mio
  • Mugi
  • Azusa
  • Nodoka
  • Ui
  • Jun
  • Sawako

Choosing a character will change your height in the scene, from Azusa (150cm) to Sawako (165cm). There are also other consequences to your choice. For example, some Easter eggs may only be visible to a certain character.

There’s a few new items laying around as well. You may remember these cards from the second season OP (#2):


And Ritsu’s lucky pencil makes an appearance, along with another surprise item from the first season:


You might also notice that the lighting looks a bit different in the last two images. That’s because the season is now randomly selected from a list when you start the application. The current possibilities are:

  • Summer
  • Spring
  • Rainy Season

Just like your choice of character, the season will alter the environment.


Please don’t say, “you are lazy”, just know that I am crazy. I’ll post again once the Earth has rotated some more.

K-ON! Clubroom – Back In Action!

It’s been a long time, but I’m finally ready to continue working on this project.

The clubroom in the most recent Unity 5 build.

One of the lessons from K-ON! is that you shouldn’t be afraid to rely on your friends!

So if you have any experience 3D modelling and would like to contribute (I’m afraid it will have to be volunteer work), please leave me a message.

The following “major” assets have yet to be created:

  • The turtle and the hare on the banister outside
  • The amps for the various instruments
  • The cassette player
  • Ritsu’s drum kit
  • The old fan (RIP)
  • Decorations inside Ton-chan’s aquarium


Thanks for visiting! Yeah, I’m a rocket ship on my way to Mars.

K-ON! Clubroom – Parts 23 to 28

It’s finally time for a new update! Let’s take a look at some builds from September and October last year.

First up, the bookshelf behind the whiteboard gets some more residents:

K-ON! - 48 - Books

Lots of brightly coloured books. They don’t have titles, but that’s what you get for being background details.

Next up, Ton-chan gets a cupboard to sit on:

K-ON! - 49 - Food Box and Cupboard

The pink tin is where the turtle food is stored.

Too bad there’s no aquarium yet. Sorry, Ton-chan! You’ll have to wait in the bucket a little longer!

The next addition is an important one:

K-ON! - 50 - Desks

Finally, the desks make their appearance!

K-ON! - 51 - Desks Again

These were a bit more difficult to model, since they have some more organic shapes in them. Where did KyoAni get the design from?

K-ON! - 52 - Room With Desks

This side of the room is looking pretty good!

Nothing new in the next build, except for a very important fix. I finally switched to FXAA to get rid of the annoying white dots. Check out this comparison:

K-ON! - 53 - White Dots
Click for full-size.

It may not seem like a big deal, but it’s very annoying in VR. The pixels are a lot bigger when they’re right in front of your face.

Good news, Ton-chan! Your aquarium has arrived!

K-ON! - 54 - Aquarium

It took a while to get the aquarium looking how I wanted, but I got there in the end. The water ripple is a simple glass shader with animated UV coordinates. It’s not an accurate depiction of how water refracts light, but it has the advantage of being possible in a game engine.

K-ON! - 55 - Inside Aquarium

Also, please note that Ton-chan’s food tin now has white stars instead of white dots. Hey, I go for accuracy where it counts.

I made some changes to the aquarium in the following build.

K-ON! - 56 - New Aquarium Lighting

I used a different light for the glow around the aquarium (for performance reasons), and modified the pebble texture to make it clearer.

But that’s not all:

K-ON! - 57 - Chairs

Yay! Chairs! These were especially annoying to model!

Take a close look at the arm rests. They start out flat, then twist to match the angle of the back rest (which is supported solely by the arm rests). They are also the back legs.

K-ON! - 58 - Sunlit Chairs

I refuse to believe that any school would purchase such a bizarre chair for their students.


Thanks for stopping by! Remember, these pictures were taken from builds in September and October last year. There’s been a lot of progress since then, and I can’t wait to show you.

Any complaints about late updates should be forwarded to Orihime and Hikoboshi in Vega and Altair respectively.

K-ON! Clubroom – Part 3

The main focus of this build was to fix the room’s dimensions.

K-ON! - 08 - Smaller Room

It’s smaller! Ton-chan’s tank now gets hit by Sunlight exactly as it does in the show. I’ll have to put the shade up on the window soon.

This build also includes controller support. Players can use an Xbox 360 controller to move/look around. I broke mouse support in the process, but that will be fixed in the next build.

K-ON! - 09 - Different Sizes

A lot of work went into altering the dimensions. I used Inkscape to prototype a number of different layouts. The stairwell and the storage room are included in the designs so they would fit later on.

Unfortunately, I couldn’t get the adjacent music room to fit. The K-ON! school (Sakuragaoka High School) is based on a real place in Japan (Toyosato Elementary School), but the real-life clubroom is not actually L-shaped, so the music room fits neatly next to it. The show version isn’t as simple. Oh well, I wasn’t planning on modelling the whole thing anyway.

K-ON! - 10 - Final Dimensions

So here are the final room dimensions. All the corner pieces are identical (inside and out), and line up with the wood panels on the rest of the walls, except in two places. Those two places are hidden behind Ton-chan’s cupboard in the corner (so no peeking!).

K-ON! - 11 - External Windows

A big part of getting the dimensions right was matching the external view as much as possible (funnily enough, I never knew where the clubroom was located until working on this project).

As you can see in the picture above, there are five identically-sized windows. The one on the right opens into the stairwell, and the other four into the clubroom itself.

Whew! A lot of work went into this build, and the end result is just a slightly smaller room!


Until next time, safe travels through the Kuiper Belt.