Bảng các Trình Điều Vận (Drivers Panel)

../../_images/animation_drivers_drivers-panel_panel.png

Edit Driver popover.

Tham Chiếu (Reference)

Trình Biên Soạn (Editor):

Trình Biên Soạn Đồ Thị

Chế Độ (Mode):

Điều Vận (Drivers)

Panel (Bảng):

Vùng thanh bên (Sidebar region) ‣ Điều Vận (Drivers)

Tổ Hợp Phím Tắt (Shortcut):

N

Tham Chiếu (Reference)

Trình Đơn (Menu):

Trình đơn ngữ cảnh (Context menu) ‣ Biên Soạn Điều Vận (Edit Driver)

Tổ Hợp Phím Tắt (Shortcut):

Ctrl-D

This panel is visible in Sidebar of the Drivers Editor or as a popover when adding a driver to a property.

It shows the property that is being driven, followed by a series of settings that determine how the driver works.

Cài Đặt của Điều Vận (Driver Settings)

Thể Loại (Type)

There are two categories of drivers:

  • "Hàm tích hợp sẵn" ("Trung Bình", "Tổng", "Tối Thiểu" and "Tối Đa")

    The driven property will have the value of the average, sum, lowest or highest (respectively) of the values of the referenced Driver Variables. If there is only one driver variable, these functions will yield the same result.

  • "Tùy Chỉnh" ("Biểu Thức Tập Lệnh").

    An arbitrary Python expression that can refer to the Driver Variables by name. See Expressions.

Giá Trị Điều Vận (Driver Value)

The current result of the driver setup. Useful for debug purposes.

Biến Số (Variables)

See Driver Variables (Biến Số Trình Điều Vận).

Cập Nhật các Phụ Thuộc (Update Dependencies)

Forces an update for the Driver Value dependencies.

Hiển Thị Trình Biên Soạn Điều Vận (Show in Drivers Editor)

Opens the fully featured Drivers Editor. This button only appears in the popover version of the Drivers panel.

Biến Số Trình Điều Vận (Driver Variables)

Variables are references to properties, transformation channels, or the result of a comparison between transformations of two objects.

Drivers should access object data via Driver Variables, rather than direct references in the Python expression, in order for dependencies to be correctly tracked.

../../_images/animation_drivers_drivers-panel_add-variable.png

Add, Copy, Paste buttons.

Thêm Biến Số Đầu Vào (Add Input Variable)

Adds a new Driver Variable.

Sao Chép/Dán Biến Số (Copy/Paste Variables)

Copies the current variable list so it can be pasted into another driver's variable list.

../../_images/animation_drivers_drivers-panel_single-property.png

Single property.

../../_images/animation_drivers_drivers-panel_transform-channel2.png

Transform channel.

../../_images/animation_drivers_drivers-panel_distance.png

Khoảng Cách.

Tên (Name)

Name for use in scripted expressions. The name must start with a letter, and only contain letters, digits, or underscores.

Loại Biến Số (Variable Type)

The type of variable to use.

Đơn Tính Chất (Single Property)

Retrieves the value of an RNA property, specified by a data-block reference and a path string.

In case of transform properties, this will return the exact value of the UI property, while Transform Channel will take parenting and/or constraints into account as needed.

See also Các Tính Chất Tùy Chỉnh (Custom Properties).

Loại ID (ID Type)

The ID-block type. For example: Key, Image, Object, Material.

ID (Chỉ Danh)

The ID of the ID-block type. For example: "Material.001".

Đường Dẫn RNA (RNA Path)

The RNA name of the property, based on a subset of Python attribute access syntax. For example: location.x or location[0] for the X location animation channel value (before parenting or constraints), or ["prop_name"] for a custom property.

Mẹo

The easiest way to create a variable of this type is to use the Copy As New Driver context menu option of the input property, and paste the result into the driver via Paste Driver Variables.

Kênh Biến Hóa (Transform Channel)

Retrieves the value of a Transform channel from an object or bone.

ID (Chỉ Danh)

ID of the object. For example: Cube, Armature, Camera.

Bone (Xương)

ID of the Armature bone. For example: "Bone", "Bone.002", "Arm.r". This option is for armatures.

Thể Loại (Type)

For example, X Location, X Rotation, X Scale.

The Average Scale option retrieves the combined scale value, computed as the cubic root of the total change in volume. Unlike X/Y/Z Scale, this value can be negative if the object is flipped by negative scaling.

Chế Độ [Xoay Chiều] (Mode [Rotation])

For rotation channels, specifies the type of rotation data to use, including different explicit Euler orders. Defaults to using the Euler order of the target. See Rotation Channel Modes.

Phân Khoảng Cách/Trống/Không Gian (Space)

World Space, Transform Space, Local Space.

Dịch Chuyển của Độ Xoay (Rotational Difference)

Provides the value of the rotational difference between two objects or bones, in radians.

Khoảng Cách (Distance)

Provides the value of the distance between two objects or bones.

Tính Chất Ngữ Cảnh (Context Property)

Provides the value of a property that is implicitly referring to either a scene or a view layer of the currently evaluating animation system. This is a weak reference which does not lead to the scene or view layer referenced from the driver to be linked when linking animation data.

An example when such properties comes in play is referring to a transformation of the active camera. It is possible to setup driver in a character file, and make the driver use the set camera when the character is linked into a set.

Đường Dẫn RNA (RNA Path)

The RNA name of the property, based on a subset of Python attribute access syntax. For example: camera.location.x or camera.location[0] for the camera X location animation channel value (before parenting or constraints), or ["prop_name"] for a custom property.

Mẹo

Although the values of the x/y/z animation channels for the camera location can be accessed via camera.location[0/1/2], retrieving its world space location and orientation after parenting and constraints currently requires using camera.matrix_world. This property can be understood easily by viewing the matrix as an array of four vectors in World space:

  • matrix_world[0][0/1/2] is the Screen Right direction vector (camera local X).

  • matrix_world[1][0/1/2] is the Screen Up direction vector (camera local Y).

  • matrix_world[2][0/1/2] is the opposite of the direction the camera is pointing.

  • matrix_world[3][0/1/2] is the location of the camera.

Value (Giá Trị)

Shows the value of the variable.

Chế Độ Kênh Xoay Chiều (Rotation Channel Modes)

Rotation Transform Channels support a number of operation modes, including:

Euler Tự Động (Auto Euler)

Uses the Euler order of the target to decompose rotation into channels.

Euler XYZ, ... (XYZ Euler, ...)

Explicitly specifies the Euler rotation order to use.

Quaternion (Quatenion)

Provides the Quaternion representation of the rotation.

Đung Đưa và Xoắn Vặn X/Y/Z (Swing and X/Y/Z Twist)

Decomposes the rotation into two parts: a Swing rotation that aims the specified axis in its final direction, followed by a Twist rotation around that axis. This is often necessary for driving corrective Shape Keys and bones for organic joint rotation.

This decomposition is often produced in rigs by using a helper bone with a Damped Track Constraint to extract the swing part, and its child with Copy Transforms to extract the twist component.

The channels values for Swing and Y Twist are:

../../_images/animation_drivers_drivers-panel_angle-curve.png

Falloff curves for weighted angles.

Xoay chiều Y (Y Rotation)

True angle of the twist rotation.

Xoay Chiều W (W Rotation)

True angle of the swing rotation, independent of its direction.

Xoay Chiều X, Xoay Chiều Z (X Rotation, Z Rotation)

Weighted angles that represent the amount of swing around the X/Z axis.

The magnitude of the angle equals W Rotation when the rotation is purely around that axis, and fades out to zero as the direction changes toward the other axis, following the falloff curves from the graph on the right.

Mathematically, the swing angles are computed from quaternion components, using \(2 \arccos(w)\) for W and \(2 \arcsin(x)\) etc. for the others. The component of the swing rotation that corresponds to the twist axis is always 0, and is replaced by the twist angle.

Các Biểu Thức (Expressions)

Biểu Thức (Expression)

A text field where you can enter an arbitrary Python expression that refers to Driver Variables by their names.

The expression has access to a set of standard constants and math functions from math, bl_math and other modules, provided in the Driver Namespace. For an example of adding a custom function to the namespace, see the driver namespace example.

For performance reasons it is best to use the Simple Expressions subset as much as possible.

Sử Dụng Self (Use Self)

If this option is enabled, the variable self can be used for drivers to reference their own data. Useful for objects and bones to avoid having creating a Driver Variable pointing to itself.

Example: self.location.x applied to the Y rotation property of the same object will make the object tumble when moving.

Note that dependencies for properties accessed via self may not be fully tracked.

Biểu Thức Đơn Giản (Simple Expressions)

Blender can evaluate a useful subset of Python driver expressions directly, which significantly improves performance, especially on multi-core systems. To take advantage of this, the driver expression must only use the following features:

Tên Biến Số (Variable Names)

Use only ASCII characters.

Giá Trị Số (Literals)

Floating-point and decimal integer.

Tham Số Toàn Cầu (Globals)

"khung hình"

Hằng Số (Constants)

pi, "Đúng", "Sai"

Thao Tác (Operators)

+, -, *, /, ==, !=, <, <=, >, >=, and, or, not, conditional operator/ ternary if

Hàm Tiêu Chuẩn (Standard Functions)

min, max, radians, degrees, abs, fabs, floor, ceil, trunc, round, int, sin, cos, tan, asin, acos, atan, atan2, exp, log, sqrt, pow, fmod

Các Hàm Blender Cung Cấp (Blender Provided Functions)

lerp, clamp, smoothstep

Simple expressions are evaluated even when Python script execution is disabled.

When an expression outside of this subset is used, Blender displays a "Slow Python expression" warning. However, as long as the majority of drivers use simple expressions, using a complex expression in select few is OK.