Kahootz map explorer
2019-11-16 | blenderkahootzreverse engineeringthree.js
2019-11-16 | blenderkahootzreverse engineeringthree.js
Hi everyone, I just finished exams and I think they went ok. Now let's get back to making things for the next few months!!
I've begun work on a very basic level loader and map explorer for kahootz club, which allows you to navigate the levels in a similar fashion to my noclip prototype that I released last year.
For this I used Three.js's GLTF support for the models. GLTF is good for the relatively small filesize, and it's ready to render, making it useful for web. Lucky for me, blender recently added support for GLTF.
However since I'm not familiar with the format and blender's export behaviour, I had some strange issues with textures not loading:
To resolve this I manually went through each mesh and removed all associations to textures not part of that mesh, which put the actual textures at index 0 and seems to have fixed it. I then loaded them into Three.js and everything worked properly without issue. I also wrote a small amount of javascript to enable backface culling.
Here are a couple of the other abstract levels imported into the engine:
All the levels are static for now and don't have the usual animations that would accompany them in Kahootz, due to my limited ability to extract the animations. I'll be looking into manually doing them in the future, but until everything will remain static.
I've added a simple select element to the html, so you can switch between the scenes, and I'll be working on a more detailed UI in the future to accompany this. Hopefully I can figure out a good way to be able to import different assets into the scenes and eventually add the ability to animate them.
You can track my progress over at the kahootz project page!
Have a play around with it and tell me what you think, more maps are coming soon.