Panda3D Manual: Loading and Animating the Panda Model (CXX)This page is not in the table of contents. Now that the scenery is in place, we will now load an animated panda. Update your code to look like this: #include "pandaFramework.h" #include "pandaSystem.h" PandaFramework framework; int main(int argc, char *argv[]) { //open a new window framework and set title framework.open_framework(argc, argv); framework.set_window_title("My Panda3D Window"); //open the window WindowFramework *window = framework.open_window(); NodePath cam = window->get_camera_group(); //get the camera and store it //load the environment model NodePath environ = window->load_model(framework.get_models(),"models/environment"); environ.reparent_to(window->get_render()); environ.set_scale(0.25,0.25,0.25); environ.set_pos(-8,42,0); //load our panda NodePath pandaActor = window->load_model(framework.get_models(),"panda-model"); pandaActor.set_scale(0.005,0.005,0.005); pandaActor.reparent_to(window->get_render()); //load the walk animation window->load_model(pandaActor,"panda-walk4"); window->loop_animations(0); //do the main loop: ClockObject* clock; //create a clock object for time measurement clock=ClockObject::get_global_clock(); Thread *current_thread = Thread::get_current_thread(); while(framework.do_frame(current_thread)) { double time = clock->get_real_time(); //get the time in seconds double angledegrees = time * 6.0; //the angle of the camera in degrees double angleradians = angledegrees * (3.14 / 180.0); //in radians cam.set_pos(20*sin(angleradians),-20.0*cos(angleradians),3); //set the position cam.set_hpr(angledegrees, 0, 0); //set the hpr } //close the window framework framework.close_framework(); return (0); }
The command © Carnegie Mellon University 2010 |