Panda3D Manual: Loading and Animating the Panda Model (C++)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 |