Documentation Center

  • Trial Software
  • Product Updates

Scheduled 3-D VRML Recording with MATLAB

This topic describes how to schedule the recording of a 3-D animation using the MATLAB® interface for a virtual world that is associated with a Simulink® model. You control the animation file recording by presetting a time interval. The Simulink 3D Animation™ software records the animation during this interval in the simulation. In this example, the timing of the recorded animation file derives from the simulation time. One second of the recorded animation time corresponds to one second of Simulink time.

This procedure uses the vrplanets example. It describes how to create a VRML animation filename with the default name format.

  1. Run the Simulink model for vrplanets. In the MATLAB window, type

    vrplanets
    

    The Simulink model is displayed. Also by default, the Simulink 3D Animation Viewer for that model is loaded and becomes active. If the viewer is not displayed, double-click the Simulink® 3D Animation block in the Simulink model.

  2. To work with the virtual world associated with vrplanets from the MATLAB interface, retrieve the virtual world handle. Use the vrwhos command. Type

    vrwhos
    
  3. If the result indicates that only one vrworld object is in the workspace, assign its handle directly to a variable. Type

    myworld = vrwho;
    

    If multiple virtual worlds are listed, you must select which of these virtual worlds you want to manipulate. To select the virtual world, you can use indexing or a selection method using a string comparison of virtual world descriptions. For the indexing method, type

    worlds = vrwho;
    myworld = worlds(1);
    

    For the string comparison method, type

    worlds = vrwho;
    myworld = 
    worlds(strcmp('Planets',get(worlds,'Description')));
    
  4. Direct the Simulink 3D Animation software to record the animation on a schedule by setting the RecordMode property to scheduled. Type

    set(myworld,'RecordMode','scheduled');
    
  5. Direct the Simulink 3D Animation software to record the animation in a VRML format file.

    set(myworld,'Record3D','on');
    
  6. Select the start and stop times during which you want to record the animation. For example, enter 5 as the start time and 15 as the stop time.

    set(myworld,'RecordInterval',[5 15]);
    

    Ensure that the recording start time value is not earlier than the start time of the Simulink model; the recording operation cannot start in this instance. If the stop time exceeds the stop time of the Simulink model, or if it is an out of bounds value such as a negative number, the recording operation stops when the simulation stops. Note that the recording can be slow.

  7. Run the Simulink model. From the Simulation menu, select Mode > Normal, then click Simulation > Run. Alternatively, if you are using the Simulink 3D Animation default viewer, you can run the Simulink model with one of the following from the viewer.

    • From the menu bar, select the Simulation menu Start option to start the simulation.

    • From the toolbar, click Start/pause/continue simulation to start the simulation.

    • From the keyboard, press Ctrl+T to start the simulation.

    The simulation runs. The Simulink 3D Animation software starts recording when the simulation time reaches the specified start time and creates the file vrplanets_anim_N.wrl in the current working folder when finished, where N is either 1 or more, depending on how many file iterations you have.

  8. When you are done, stop the simulation. You can use one of the following from the viewer.

    • From the menu bar, select the Simulation menu Stop option to stop the simulation.

    • From the toolbar, click Stop simulation to stop the simulation.

    • From the keyboard, press Ctrl+T to stop the simulation.

  9. Close and delete the objects if you do not want to continue using them.

Was this topic helpful?