Duik

To use the Duik API, just include the API file in the beginning of your script.
Most of the methods work without any parameter but use the context (the active composition, the selected layers and properties).
If you need lower-level methods, for example being able to set an IK on specific layers or to wiggle specific properties,
you should use the DuAEF Framework - Duduf After Effects Framework, which Duik is based on.
A complete reference of this framework is available here.
The API is contained in the Duik object, and DuAEF is also made available in the DuAEF object.
Version:
  • 16.2.0
Author:
  • Nicolas Dufresne and contributors
License:
  • GPL-3.0
    Duik is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Duik is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Duik. If not, see http://www.gnu.org/licenses/.

Example

//encapsulate everything to avoid global variables !important!
(function(thisObj) {
    //include the API
    #include 'Duik16_api.jsxinc'
    //Now the Duik API is available in the Duik object, and DuAEF is also available.

    //We need to initialize DuAEF before using it. You must provide a script name and version.
    DuAEF.init("Your Awesome Script Name", "1.0.2");

    //Now you can create your UI if any, and initialize what you need.
    //DuAEF can be of great help, it has a lot of methods for creating the UI, handle After Effects, and more.
    //Read the reference at duaef-reference.rainboxlab.org

    //When everything is ready and before using the Duik API,
    //We need to tell DuAEF we're entering run state so it can finish to prepare its stuff.
    DuAEF.enterRunTime();
    
    // Create a hominoid structure
    // The whole API is contained in the Duik object
    Duik.structures.mammal();
    // Select all Structures
    Duik.structures.select();
    // Run the Autorig
    Duik.constraints.autorig();
    // Select all controllers
    Duik.controllers.select();
    // Make the character walk!
    Duik.automation.walk();
    //Have Fun!
 })(this);

Namespaces

animation

automation

camera

constraints

controllers

structures

tools