First of all let me start off by saying that the main issue with learning Panda3d for me is this:
Too much, too such, and too fast.
I had the belief that the panda engine was a plug and play engine- with very little coding required- that was a complete error on my part.
Panda3d is relatively simple to use but it only does what you tell it to do, it does not create your artwork, build your ui, or design your game for you. In other words it is not “MMORPG Maker 3d”. It is a fully functioning graphic output system that allows you to create almost any 3d application you can think of and code for. So one day with enough money, experience and co workers you can build a MMORPG with Panda3d but not until you know it and have the tools necessary to build it. Which will take time!
So to learn it as fast as possible here are my suggested steps:
- Download and play with the Panda Hello World tutorial. Also play around with the other sample programs. See what Panda3d can do.
Now that you have a idea what it can do there are two big steps to come:
You must learn Blender or some other 3d Creation software for making your terrain, models, skyboxes, etc.
More importantly than even knowing how to model 3d- you must learn python.
here are some links for python:
There are many other online guides to python to be googled and used as well.
But pay special attention to OOP or object oriented programming methods- especially the classes, local and global variable, functions, lists and tuples, and the loops and conditional tests (if a==b etc)
Once you have python under your belt and understand how objects and instancing works- Panda3d will become much clearer to you.
So now you can start doing things better in Panda3d- start by understanding the scene and nodepath. Loading and unloading models, texturing, and lighting.
Then you will need to spend time grasping how collisions work in Panda3d. Which means a need to refresh your geometry knowledge- particularly your vector mathematics. The reason is to accurately move and check to see how your models are intersecting with other models. Seeing if two items are touching in 3d space is more abstract than in 2d space. SO understanding how to plot a point, or a vector in 3d space will make your life much easier in 3d programming.
Some people somehow think that Panda3d will automatically do collisions for you. It doesn’t and must be setup by yourself. There are functions that check collisions of course but you must call them and apply them yourself.
Start off with small projects- don’t just edit the sample programs. But try to make your own small things by yourself. Stuff like rolling a ball around. Or rotating the camera, etc. Small things done on your own stay in your head and the codes become part of your library of code to be reused later. Where as cut and pasting code from examples work- they don’t necessarily show you the processes of why they work, that is why you need to try and make your own.
I know this might seem overwhelming but if you wish to create 3d games with Panda3d they are steps you will need to do. Trying to take shortcuts will only kill your game and enjoyment later on.