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 – Model Spotlight #3

Everybody say hello to Ton-chan:


I don’t have much experience with organic shapes, so Ton-chan was a little more difficult for me to make than the other models. Luckily, Ton is quite a small turtle, so I didn’t need to make him extremely detailed. He is made up of several different parts:ton-spotlight-1

  • Head & Body
  • Eyes
  • Shell
  • Front Flippers
  • Back Flippers

Ton’s flippers are not fixed relative to his body, this allows them to waggle up and down, as if he is swimming.

Right now, Ton’s behaviour isn’t very realistic; he simply floats up and down in the one spot. The poor guy is doing his best, perhaps he’s just tired! In a future version of the application, I’d like to have him swim around the tank more actively.


Take care of your pets, and I’ll see you on the other side of the constellation Lyra.

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.