Panda3D Code Collection

Hello everyone,
as there is quite a lot of new stuff in the collection and to make it simpler to find this post if someone is searching for something specific that may be covered in this project, here is an updated and exhaustive list of all the samples that are currently readily available and well documented in the Collection.

The collection comes with all necessary models (aside of those shipped by default with Panda3D) so you should be able to open any of the scripts and just run them to see how they work and what they do.
Most if not all of the scripts should work with Panda3D 1.9.x and up.

Camera Systems

  • FPS
  • Fixed
  • Follow
  • Follow extended (even more extended version can be found in the extended character controller)
  • Top-down

Character Systems

  • Simple Character Controller Featuring:
    [list][*]Basic walking
  • Basic 3rd person camera handler
  • PyGame Gamepad support
    [/:m]
    [
    ]Extended Character Controller Featuring:
  • Extended Movements
    [list][*]Walking
  • Running
  • Jumping
  • Wall runs
    [/:m]
    [
    ]Smooth animation transitions[/:m]
    [
    ]Prevent from slipping off of slopes of arbitrary angles[/:m]
    [
    ]Extended 3rd person camera handler
  • Keep camera out of walls and out of the character
  • Move camera with mouse and/or keyboard
  • Center camera behind player
  • Lazy camera positioning
    [/:m]
    [
    ]Using Panda3D internal Physic engine (support for bullet engine is planned)[/:m]
    [
    ]Simply and highly configurable[/:m]
    [
    ]Demo script showing it’s usage[/:m][/list:u][/:m][/list:u]

Core Features and basics

  • A rather complex main.py template to start a new Panda3D project from
    [list][*]Contains various graphic enhancements
  • Game configuration loading and saving
  • Basic window setup
    [/:m]
    [
    ]Asynchronous model loading snippet[/:m]
    [
    ]Selection box drawing[/:m]
    [
    ]Multifile extraction to temp directory[/:m]
    [
    ]Show a X/Y/Z Axis on the windows edge[/:m]
    [
    ]Using PRC files to simply store and load game configurations[/:m]
    [
    ]Snippets that show of Panda3D basics
  • Simple event handling
  • Simple (Finite State Machine) FSM usage
  • Load multifiles in Virtual File System
  • On Screen Debug (OSD)
  • Panda3D’s Tasks system
    [/*:m][/list:u]

DirectGUI and other UI related things

  • Automatically scrolling Text Frame
  • Countdown
  • Drag and drop
  • Fade in/out
  • Loading screen
  • Simple Mouse Cursor changing with distiction between linux/unix and windows based systems
  • A simple HUD example
  • Automatic text writer pannel (for example for story elements in a game)

Input handling features

  • PyGame gamepad input
  • Basic mouse and keyboard input

Localisation
[]gettext example
[list]Contains how-to for creating gettext files
Shows how to select language manually as well as using the systems default language[/
:m][/list:u]
Level design features

  • Sky Cube around camera

Multimedia snippets

  • Very simple espeak snippet

Networking

  • Distributed Networking example with documentation

Physics

  • Bullet physics ball shooting example

Special effects (SFX)

  • Very basic shader loading and sample glsl shader

Specials snippets

  • Fullscreen toggle
  • Various graphic quality settings that can be set by Panda3D Like:
    [list][*]Multisampling
  • Anistropic texture filtering
  • The automatic shader generator (Per pixel lighting and Shadow mapping)
  • Antialiasing
  • Screen resolution
    [/:m]
    [
    ]Taking Screenshots[/:m]
    [
    ]Window title changing[/*:m][/list:u]

If you want to see something specific in this collection, I may be able to come up with a new snippet or example code. Other than that, every kind of contribution to it is still very welcome, especially reviewing and testing.