I have always considered the “walkthrough_template.blend” to be a valuable resource. It allowed me to quickly assemble and present my ideas to others with minimal effort, and when I say “minimal effort”, I mean barely doing anything, yet still allowing for a very decent level of interactivity. For those of you who have never heard of the “walkthrough_template .blend”: It is simply a template (available for download at blender3d.org) for creating first person view walkthroughs (as the name implies). It was meant to be primarily used for architectural projects, but in it’s time individuals have found a variety of uses for it (IE: FPS games, etc). One of my favorite things about the walkthrough template was the fact that all the view rotation was handled in a very simple manner, via IPO curves, which made things much easier to handle (usually you would have to deal with the orientation matrix, and no one wants to do that, unless you really have to)
This template worked great, all the way up to the 2.4X versions and the implementation of the Bullet physics engine. However, after that time it became plagued by a few bugs, and that resulted in incomplete functionality. In short: It was not “bullet compatible”.
The following is my fix to this compatibility problem (which is really a bug problem, but anyway…):
If it doesn’t work the first time give it another try, this host is a bit flaky, im looking for a better one.
Thanks to blendenzo for the additional hosting: http://www.blendenzo.com/Files/walkthrough_bullet.blend
There were two problems, for which I made two relatively simple workarounds.
Due to the “IPO Property actuator bug”, the rotation of the player around the z axis could no longer be controlled with the mouse. The “aim” script was spitting out all the right numbers, but due to the fact that the IPO property actuator would not function when attached to dynamic objects, no IPO curve was played to rotate the player around the z axis.
Luckily, the IPO bug did not translate to static objects, which made my job easy. I could not make the player static, because only dynamic objects can be effected by the physics engine, but I could use a static object (like an empty) to play the IPO curve remotely, and than simply copy the orientation of the empty to the player.
The “friction shake bug”, as I call it. You probably had some encounters with it as well, when you tried to move around with one of your old sumo FPS schemes. You moved, and it was a bumpy ride, the player would start to shake in a very annoying manner. There were some things you could do: Like lower the friction to 0 and max out the dampening, but this too brought on some problems. Also, using dloc for movement was a popular way to get around it, but this resulted in some collision problems etc.
The credit for this one goes to fireside. I PM’ed him on the subject some time ago, after he wrote about it in a thread discussing this issue. He noticed that he was getting good results by using an 8 sided cylinder mesh as the players collision body. That, plus using the “convex-hull” bounds, and setting the form-factor to max, canceled out the “shake”. It was “smooth” sailing from that point on.
The “walkthrough_bullet.blend” is by no means meant to replace the original walkthrough template. I put this together for people who would like to use the original template “now”, but also want access to the latest features of the bullet engine within their presentations. I realize that the bullet engine is a work in progress and that the bugs I mentioned above will be “squashed” sooner (I hope) or later, at the source code level. Until then the “walkthrough_bullet.blend” is meant to fill the transitional gap for the current blender version.
I hope you find this useful.