Git Product home page Git Product logo

freecad-movie's Introduction

FreeCAD Movie Workbench

FreeCAD Workbench to animate cameras and objects, record and play videos

The Movie Workbench icon

Features

The Movie Camera and Objects toolbars (animate cameras and objects):

  • Create animations of cameras and objects separately or simultaneously, showing the details of your project.
  • It is possible to create cameras/objects animations between two chosen points, making them follow a path or rotating them on a fixed base/axis.
  • The camera targets can be free, fixed, or mobile with the option to make them follow the path together with the camera.
  • Once the camera animations are established, it is possible to make further adjustments to the positions, rotations, and zooms of the cameras until reaching the final desired settings.
  • If you already have an animation in another workbench, you can add cameras animations and produce render videos with the connection module (see below more details).
The Animation toolbar (visualize your animations within FreeCAD):

  • You can play, pause, go back and forward the cameras/objects animations in real time within FreeCAD, before record them in videos.
The Clapperboard toolbar (record and play videos):

  • Create frames from the FreeCAD 3D views (R1) or the rendered ones (R2).
  • Create videos from them.
  • Check the results playing the videos you have created.

(Watch the video tutorial on using camera sequence)

(Watch the video with the camera following a path and a target and animated objects)

(Watch the video using the sequence of cameras and one that follows a path and target, 3D view frames)

(Watch the video using the sequence of cameras and one that follows a path and target, rendered frames)

(Watch the video with the cameras following paths and targets)

(Watch the Video with object animation by Sketches)

Installation

Via Addon Manager (Recommended)
  • Menu Tools > Addon Manager
  • Locating Movie Worbench and installing it
  • Restart FreeCAD
Manually install using GitHub
  • Download the ZIP file (click 'Clone or Download' button above)
  • For Ubuntu and similar OS's, extract it inside /home/username/.local/share/FreeCAD/Mod
  • For Windows, extract it inside C: \Users\your_user_name\AppData\Roaming\FreeCAD\Mod
  • On macOS it is usually /Users/username/Library/Preferences/FreeCAD/Mod
  • Launch FreeCAD

Preparation

  • If you want to use the rendered frames (R2), you must install the Render Workbench (from version 2023.02.05), prepare rendering projects and test them preventively to make sure everything is working correctly (see information in FreeCAD-Render). It is also recommended to take advantage and use some cameras from this workbench that better show the animation.
  • If you want to use an animation from another workbench, script or macro of FreeCAD, it is necessary to prepare the connection module for using them (ex. Modified ExplodedAssembly). For this, see the instructions inside the Connection.py.

Usage

To create camera animations, go to Movie Cameras and objects toolbar and:

  1. Click on the Create a Movie Camera button to create one and to configure it (see the tips showed for each item in the property window - a Movie Camera properties image is shown below).
  2. Initially, a static camera is created. You can use it like this in a object animation, as a fixed camera. To configure the movie camera to animations between two positions, first, select and activate the Movie Camera you want to configure with the Enable Movie Camera icon . Position the 3D view with the desired framing to be the start of the animation (Pos A), click on Set the Position A button . Position the 3D view with the desired framing to be the end of the animation (Pos B), then click on Set the Position B button . Click on go to beginning and to the end of the animation buttons to confirm the configurations. Make the adjustments you want in the position, rotation, and zoom of the Movie Camera (see Movie Camera properties image below).
  3. To make that the Movie Camera follows a route, you must create a segment first to do so. It can be a line, arc, circle, ellipse, B-spline or Bézier curve, from Sketcher or Draft Workbenches. Select the segment created in Cam_Route_Selection property. Configure the remaining camera properties.
  4. To keep the movie Camera on a fixed base, you can use the Pos A and B buttons method explained, for example. Use the same position for then, adjusting the remaining settings as desired (rotation, zoom, steps, target, etc.).
  5. The targets of the Movie Cameras can be adjusted to follow paths, fixed or mobile points or objects or living free to permit use of rotations angles, for example.
  6. To create animations of cameras and objects simultaneously, prepare one or more movie camera animations (according to the previous instructions) then create the objects animations (see instructions below) and include them in sequence in Cam_5ObjectsSelected property, in Cam_6Enable one, chose 'Camera and objects'.
  7. To apply animation from another workbench, you have to use one that the connection module be already prepared to communicate with, if so, select the workbench you want to work in Cam_3Connection property.
  8. To perform an animation, first select one or more Movie Cameras you want to animate , the sequence of Movie Cameras selected will be the one adopted for the animation. Run a round trip in the animation with the go buttons to the end and to the beginning of the animation to reset all the steps of the animation in their initial positions. Then click on Play Animation button . You can play backwards too - Play Backward button . If a connection is previously configured and activated in the movie camera properties, objects related to this connection will be animated as well.
  9. Use the go to beginning , one step back , pause , one step forward and go to end buttons as needed. They will also work with the objects or workbench animations connected, if so.
To create object animations, go to Movie Cameras and Objects toolbar and:

  1. Select the objects you want to animate, click on the Create a Movie Objects button to create one and to configure it (see the tips showed for each item in the property window - a Movie Objects properties image is shown below). These initial placements of the objects will be saved, and they can be rescue when you delete the movie objects with the Exclude Movie Objects button .
  2. To configure the movie objects to animations between two positions, first, select and activate the Movie Objects you want to configure with the Enable Movie Objects icon . Position each object at the desired position and angles to be the start of the animation (Pos A), click on Set the Position A button . Now, position each object at the desired position and angles to be the end of the animation (Pos B), then click on Set the Position B button . Click on go to beginning and to the end of the animation buttons to confirm the configurations.
  3. To make that the Movie Objects follows a route, you must create a segment first to do so. It can be a line, arc, circle, ellipse, B-spline or Bézier curve, from Sketcher or Draft Workbenches. Select the segment created in Objects_Route_Selection property. Configure the remaining object properties.
  4. To rotate a group of objects around a fixed axis, you have first create a MovieObjects and set its Pos A and B, then select only those objects among the group that you want to rotate (first the objects, then the axis) and click on Set Movie Objects Axis button . To erase these settings, first click on Enable the Movie Objects button then on Set Movie PosB button .
  5. If you want that the objects rotate around their centers of gravity, after create a MovieObjects and set its Pos A and B, habilitate the Objects_RotationCG property (True option).
  6. You can animate a series of movie objects in a desire sequence by clicking on them in the property window accordingly of that and enabling them (with the Enable Movie Objects button ). The animation will perform the sequence created.
  7. To create animations of cameras and objects simultaneously, you have to prepare one or more movie cameras and objects animations first (according to the previous instructions) and combine them in sequence (cameras with objects) in Cam_5ObjectsSelected property, then in Cam_6Enable one, chose 'Camera and objects'.
  8. To apply animation from another workbench, you have to use one that the connection module be already prepared to communicate with, if so, select the workbench you want to work in Cam_3Connection property.
  9. To perform an animation, first select one or more Movie Objects (objects only) or Movie Cameras (camera and objects) you want to animate, the sequence of selection will be the one adopted for the animation. Run a round trip in the animation with the go buttons to the end and to the beginning of the animation to reset all the steps of the animation in their initial positions. Then click on Play Animation button . You can play backwards too - Play Backward button . The animation of connected workbenches objects only works when associated with a movie camera (see instructions for movie cameras animation above).
  10. Use the go to beginning , one step back , pause , one step forward and go to end buttons as needed.
After the animations are done, go to Movie Record and Play toolbar (Clapperboard) and:

  1. Click on to create the Clapperboard and to configure it in the property window (see the tips showed for each item).
  2. Select the cameras and objects you want to animate and record through the clapperboard using the corresponding fields in the property window. Enable the Clapperboard and run a round trip, mentioned before.
  3. Position your animation at the desired step.
  4. Click on for record 3D view frames or for record rendered ones, choose or confirm the folder to salve the frames.
  5. Start the animation with the Play Animation button . You can play backwards (and record) too - Play Backward button .
  6. If You want only to stop recording, click on stop recording.
  7. If you need to stop the animation, click on pause button , it will also stop recording.
  8. After the animation finished, select the folder to salve your video and click on create video, choose or confirm the input frames folder.
  9. For playing video, select the file and click on play video.
The Movie Objects properties:

The Movie Camera properties:

The Clapperboard properties:

The Movie Cameras and Objects menu:

The Movie Animation menu:

The Movie Record and Play menu:

The context menu:

Documentation

For more information, see the TUTORIAL.md (also inside the Movie folder, after the installation). Wiki documentation will be available as soon as possible.

FreeCAD version

0.20 or superior

Feedback

For discussion, please use the Movie Workbench thread in the FreeCAD forum.

License

LGPL-2.1

Author

Francisco Rosa

freecad-movie's People

Contributors

chennes avatar francisco-rosa avatar howetuft avatar luzpaz avatar miqcg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

freecad-movie's Issues

Readme. Not polylines

In the Readme file, in two occasions is explained what types of lines/segments can be used to indicate a movie path. I think it's convenient to explicitly indicate that Polylines cannot be used because it will imply stops in every intermediate point.

"To make that the Movie Camera follows a route, you must create a segment first to do so. It can be a line, arc, circle, ellipse, B-spline or Bézier curve, from Sketcher or Draft Workbenches. Select the segment created in Cam_Route_Selection property. Configure the remaining camera properties."

"To make that the Movie Objects follows a route, you must create a segment first to do so. It can be a line, arc, circle, ellipse, B-spline or Bézier curve, from Sketcher or Draft Workbenches. Select the segment created in Objects_Route_Selection property. Configure the remaining object properties."

Readme: Connection.py

In the Readme file
"If you want to use an animation from another workbench, script or macro of FreeCAD, it is necessary to prepare the connection module for using them (ex. Modified ExplodedAssembly). For this, see the instructions inside the Connection.py."

The link to connection.py is broken or the file doesn't exist.
404 - page not found

Readme. Animations from another WB

In the Readme file, in two occasions is said:
"To apply animation from another workbench, you have to use one that the connection module be already prepared to communicate with, if so, select the workbench you want to work in Cam_3Connection property."

I think is no well understood, what is a connection module, and which ones are prepared to communicate with the Movie WB.

Missing prerequisites and other README needs

  • What version of FreeCAD does the addon support?
  • What 3rd party dependencies are required?
  • What minimum version of Render WB? (even though it's optional)

Can theses be specified in the README?

Would it be possible to display an animation or 2, that show the workbench in action?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.