Beginner questions...

I just started playing around with Panda3d, so obviously I have a number of questions.

Classes, methods, and bears, oh my! Seriously though, I started messing around with Yarr and the first thing I wanted to do is get the camera to follow that little Ralph guy. Reparenting the camera to Ralph was easy enough, but in looking through the Reference area for the camera class I couldn’t find docs on how to automatically point the camera at Ralph. I took a guess and tried base.camera.lookAt(self.ralph) and it worked great. Same for base.camera.setZ(), base.camera.getZ(), etc. Where am I supposed to be looking for this kind of info?

What do I need to use for free unrestricted use (ie commercial product even though at this time I have no intent to write a commercial game)? Is using OpenAL for sound the only thing to watch out for or are there other restricted parts that come with the Panda3D standard install?

Finally, is there someplace where I can find any/all built-in options for various additional functionality such as sound (OpenAL vs. FMOD), physics (ODE, PhysX, others?), terrain (GeoMipTerrain, others?)? In searching the forums it looks like there have been some fantastic progress in implementing additional functionality, but it’s hard to figure out just what is implemented, what is in progress, and what is available via separate contributions but not yet part of the official release.

  1. I urge you to learn a good amount of Python before going into Panda very much - I’d say a good half of the questions I’ve seen asked can be solved using Python functions.

  2. The kind of info you’re looking for is in the manual and reference sections of this site. It may take a few searches before you learn how it’s all layed out, but there isn’t one huge list of everything you need to know.

  3. Nothing by default is restricted commercially in Panda, I believe. OpenAL is fine to use, FMOD, on the other hand, is expensive commercially.

  4. Again, you really need to look in the manual and references pages. They’re already pretty in depth, and are constantly being updated.

The API Reference page for NodePath lists the functions you’ve just told:
panda3d.org/apiref.php?page=NodePath
In this particular case, also the Manual page about Common State Changes:
panda3d.org/manual/index.php/Common_State_Changes
You’ll find most basic functions on the manual and probably you’ll see them in sample programs as well. Don’t worry, you’ll learn them as you need them. Panda is so huge, you can’t learn all the functions at once.

Playing with panda on the python interpreter is also great, it allows you to check types of objects, and with dir(obj) you can print out obj’s methods.

Note that base.camera is not an instance of Camera but of NodePath, which has lookAt, in the api link above.

Perfect, thanks! This is just what I was looking for. I guess knowing to look under NodePath instead of Camera is just one of those things I’ll learn as I go.

I did read through the manual a couple months ago, but didn’t have time to get into it and start playing around. To be honest, I think in this particular case, lookAt, was more of a vague memory than a guess. I knew it could do it, but couldn’t remember for sure and didn’t find it where I was looking.

True, but dir(base.camera) for example outputs a huge list of stuff and doesn’t include descriptions on how to use it.

Pretty much explains why I was looking in the wrong place. :laughing: Instead of jumping in with example programs and the reference section, I think I should go back through the manual again, working through the examples and trying to learn it better instead of just reading through it to get an idea of what Panda3d is capable of.

I guess I’ll just watch and search the forums, then if necessary ask about things like physics, sound, terrain, and other engines as they come up.

It would be nice to know what all is included and not completely free for any use, such as FMOD. If that’s the only thing, I can remember that. :slight_smile:

Try help(base.camera).

FMOD is the only third-party library with restrictions on commercial use.

David