IC7 Python API
- Main article: Main Page.
Scripting can be powerful tool in your arsenal for dealing with 3D art production. Whether you are looking for a way to automate some parts of your workflow or develop more advanced tool-kits and plugins, scripting can offer something for everyone. With the iClone Python API, one has access to the powerful low level implementations hidden within iClone, while abstracting its complexity to a manageable level.
- ⚠ Reallusion cannot be held responsible for any damages to your code or project-schedule as a result of your study and use of this documentation or correspondence with our SDK support team. Reallusion is not obliged to make any changes to the SDK at your request. When using this reference or inquiring for support, you do so at your own risk.
Why Python?
Python is a general-purpose language, which means it can be used to build just about anything - a process made easy with the right tools and code libraries. Professionally, Python is great for backend web development, data analysis, artificial intelligence, and scientific computing. Many developers have also used Python to build productivity tools, games, and desktop apps, so there are plenty of resources to help you learn how to create those as well.
Python is easy to pick up for experienced programmers coming from other languages and easy to learn for beginners and novices. Which can also explain its wide-spread support with 3D software with the likes of Autodesk 3dsMax, Autodesk Maya, Maxon Cinema4d, Blender, etc.
Module & Class Documentation
Resource Article Categorized Python reference manual. Reallusion Python Modules Python Modules in alphabetical order. Python Modules Ordered List Class members listed in alphabetical order. Reallusion Python Class Members Getting Started
iClone Conventions
Keep the following conventions in mind when dealing with the iClone environment:
- World Axis: Z up, -Y forward, Right-handed Coordinate system
- Rotational System: Quaternion, Matrix3 or Euler Angle ( Radians )
- Scale Units: 1 equals to 100% scale.
- Time Units: 1 equals to 1 millisecond and 1,000 equals to 1 second.
See Also
Topic Purpose Uses and Capabilities Understand what you can do in iClone with the current Python API set. Your First iClone Python Plugin Learn to prepare your IDE (Integrated Development Environment) for Python and produce your first "Hello World" program for iClone. Using Pyside 2 for Creating U.I. Learn to create a simple dialog window with PySide 2.0 module for Python 3.6.2. Controlling a Simple Prop Information on loading a file, adding a transform key, changing material parameters and rendering to video. Animating a Character Introduction to controlling character animation via Python script. iClone Events System Learn to use iClone events to trigger callback functions. Python Extension Libraries Get informed about Python package manager and recommended modules. Samples
Learn to use the iClone Python API to create simple and useful tools, including the implementation of major functions exposed in iClone. If you are new to Python scripting or the iClone scripting environment, we recommend that you start off with the basic level lessons. Each section includes a couple of lessons suitable for the difficulty level, a video summary of the operational workflow, and a link to the GitHUB page where you can gather the source code and example files to get started.
Resource Article Learning samples categorized in levels of difficulty. Reallusion Python Samples External Resources
Release Cycles
We are constantly working on improving the coverage of our Python APIs, so we want to move to shorter release cycles. Rather than releasing major versions over longer periods of time, we will aim to build, test, and release updates more frequently.
With continuous delivery, we can exercise the option to include early access and experimental features in each release that are in early to intermediate stages of development. This strategy allows us get feedback for a feature while it is being worked on it, in turn we learn more about what you want in the final product. There will be two main types of feature releases:
- Early Access Features - We may deprecate this functionality at our discretion. However, we support backward compatibility for assets and the API for this feature should be stable.
- Experimental Features - We do not support backward compatibility for assets, the API for this feature is subject to change, and we may remove functionality at our discretion.