CN116894893A - Nonlinear animation regulation and control method and system based on three-dimensional engine - Google Patents

Nonlinear animation regulation and control method and system based on three-dimensional engine Download PDF

Info

Publication number
CN116894893A
CN116894893A CN202311161063.0A CN202311161063A CN116894893A CN 116894893 A CN116894893 A CN 116894893A CN 202311161063 A CN202311161063 A CN 202311161063A CN 116894893 A CN116894893 A CN 116894893A
Authority
CN
China
Prior art keywords
animation
progress
state
determining
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311161063.0A
Other languages
Chinese (zh)
Inventor
朱春华
柳紫涵
张伟顺
鞠洪利
孙宏伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Jerei Digital Technology Co Ltd
Original Assignee
Shandong Jerei Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Jerei Digital Technology Co Ltd filed Critical Shandong Jerei Digital Technology Co Ltd
Priority to CN202311161063.0A priority Critical patent/CN116894893A/en
Publication of CN116894893A publication Critical patent/CN116894893A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation

Abstract

The application relates to the technical field of animation processing, in particular to a nonlinear animation regulation and control method and system based on a three-dimensional engine, and the specific scheme comprises the following steps: determining animation fragments to be regulated and controlled in an animation, and determining the starting state and the ending state of attribute change in the animation fragments; determining the positions and the quantity of key frames to be regulated and controlled based on the starting state and the ending state of the attribute change; defining the curve shape of each key frame switching speed curve according to the determined key frame positions and the number; calculating and obtaining an animation progress; calculating animation change attributes of the current progress time point according to the animation progress and the key frame switching speed curve; and updating the animation state according to the obtained animation change attribute of the current progress time point. The method has the advantages of natural smoothness, flexibility and fine control, and can effectively improve the quality and expressive force of the animation.

Description

Nonlinear animation regulation and control method and system based on three-dimensional engine
Technical Field
The application relates to the technical field of animation processing, in particular to a nonlinear animation regulation and control method and system based on a three-dimensional engine.
Background
With the continued development of computer technology, there is an increasing demand for creating realistic, fluent animation effects on computers. With the continuous development of computer graphics and computer animation, animation techniques in three-dimensional engines have been continuously improved and innovated, providing developers with more abundant and efficient animation tools and functions. In conventional linear animation, the motion of objects is uniform and uniform, and lacks acceleration, deceleration, and buffering effects in the real world, resulting in the animation appearing mechanical and unnatural.
Disclosure of Invention
In order to solve the above problems, the first aspect of the present application provides a three-dimensional engine-based nonlinear animation regulation method, which comprises the following steps:
s1, determining animation fragments to be regulated and controlled in an animation, and determining the starting state and the ending state of attribute change in the animation fragments;
s2, determining the positions and the number of key frames to be regulated and controlled based on the starting state and the ending state of the attribute change;
s3, defining the curve shape of each key frame switching speed curve according to the determined key frame positions and the number;
s4, calculating and obtaining an animation progress;
s5, calculating animation change attributes of the current progress time point according to the animation progress and the key frame switching speed curve;
s6, updating the animation state according to the obtained animation change attribute of the current progress time point.
The method has the advantages of natural smoothness, flexibility and fine control, and can effectively improve the quality and expressive force of the animation.
Meanwhile, the nonlinear animation speed regulating method further comprises the step S7 of repeating the steps S4 to S6 for animation fragments needing to be regulated in the animation playing process, and updating the animation state along with the animation progress until the animation playing process is finished.
In some implementations of the first aspect, the determining the positions and the number of the key frames to be regulated in the step S2 specifically includes:
according to the starting state and the ending state of the animation segment, key frames are added at the starting position and the ending position of the attribute change respectively;
and determining the time position of each attribute change in the animation time line based on the preset animation effect to be expressed according to the attribute change of the animation object between the starting state and the ending state of the animation fragment, and adding a key frame at the time position.
In some implementations of the first aspect, in step S3, a curve shape is defined by an animation curve function of the three-dimensional engine according to the determined keyframe positions and numbers.
Step S3 can also define the curve shape by adjusting the tangent control handle of the key frame and selecting different interpolation modes.
In some implementations of the first aspect, in the step S5, the animation change attribute of the current progress time point is calculated, and the specific method is as follows:
and calculating to obtain the attribute change value of the current progress time point through an interpolation algorithm according to the coordinate values of the key frames and the animation progress.
And the coordinate values of the key frames are obtained by searching two key frames closest to the animation progress on the key frame switching speed curve according to the animation progress, and determining the coordinate values of the key frames on the curve according to the time positions of the two key frames obtained by searching.
In some implementations of the first aspect, the step S4 obtains the animation progress through time or frame number calculation.
In some implementations of the first aspect, the step S6 updates the animation state through a morphing component of the three-dimensional engine.
A second aspect provides a three-dimensional engine-based nonlinear animation regulation system, comprising:
the state determining module is used for determining animation fragments needing to be regulated and controlled in the animation, and determining the starting state and the ending state of attribute change in the animation fragments;
the key frame module is used for determining the positions and the quantity of key frames to be regulated and controlled based on the starting state and the ending state of the attribute change;
the curve definition module is used for defining the curve shape of each key frame switching speed curve according to the determined key frame positions and the number;
the animation progress module is used for calculating and acquiring animation progress;
the attribute calculation module is used for calculating the animation change attribute of the current progress time point according to the animation progress and the key frame switching speed curve;
and the updating module is used for updating the animation state according to the obtained animation change attribute of the current progress time point.
The beneficial effects are that: the application defines the change speed of the animation through the curve, controls the switching speed of the key frame, can control the change process of the animation more flexibly, so that the animation effect is smoother and more natural, and can apply different speeds and change effects at different stages of the animation; and by adjusting the shape of the curve and the number of key frame positions, different changing effects such as acceleration, deceleration, buffering and the like can be realized; meanwhile, the curve can be shared and reused by a plurality of animations, so that workload and code redundancy can be reduced, and development efficiency is improved.
Drawings
FIG. 1 is a flow chart of a nonlinear animation regulation method.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings.
As shown in fig. 1, the embodiment provides a three-dimensional engine-based nonlinear animation regulation method, which specifically includes the following steps:
s1, determining animation fragments to be regulated and controlled in an animation, and determining the starting state and the ending state of attribute change in the animation fragments;
s2, determining the positions and the number of key frames to be regulated and controlled based on the starting state and the ending state of the attribute change;
s3, defining the curve shape of each key frame switching speed curve according to the determined key frame positions and the number;
s4, calculating and obtaining an animation progress;
s5, calculating animation change attributes of the current progress time point according to the animation progress and the key frame switching speed curve;
s6, updating the animation state according to the obtained animation change attribute of the current progress time point.
Meanwhile, after the animation state of the current progress time point is updated, the nonlinear animation regulation and control method further carries out step S7, and for animation fragments needing regulation and control in the animation playing process, steps S4 to S6 are repeated, and the animation state is updated along with the animation progress until the animation playing process is finished.
As a specific embodiment, in the step S1, a starting state and an ending state of the attribute change in the animation segment are determined, and the specific method is as follows:
and obtaining the overall time line of the animation to determine the animation fragment to be speed-regulated, which can realize the required animation effect, and determining the starting state and the ending state of the animation fragment. Wherein, the initial state comprises the attribute change of the initial position of the animation object in the animation segment; the ending state includes a change in a property of an ending position of the animation object in the animation segment.
Step S2 is to determine the positions and the number of key frames to be regulated based on the starting state and the ending state of the attribute change, specifically:
firstly, adding key frames at the starting position and the ending position of attribute change according to the starting state and the ending state of the animation segment; and determining the time position of each attribute change in the animation time line based on the preset animation effect to be expressed according to the attribute change of the animation object between the starting state and the ending state of the animation fragment, and adding a key frame at the time position.
The animation effect to be expressed based on the preset is an animation effect which is realized by self definition, the application takes the swinging arm of the animation object as an example, firstly, the starting state of the animation object for starting the swinging arm action and the ending state of stopping the swinging arm action are determined; and determining different positions and attributes of the moving object when the arm, the joint and the palm swing in the moving arm swinging action process, determining the time position of the change of the different attributes of the arm, the joint and the palm in the moving time line according to the moving effect required to be realized in the step S1, namely the waving speed and the state of the moving object swinging arm in the moving image segment, and adding a key frame for interpolation calculation.
After adding the key frame to each time position of the attribute change in the animation segment is completed, the position of the key frame can be adjusted according to the effect to be realized by the animation, or the transition effect of the animation can be changed by adding or deleting the key frame.
In the step S3, according to the determined positions and numbers of the key frames, the specific method for defining the curve shape of each key frame switching speed curve is as follows:
the method comprises the steps of defining Curve shapes according to the positions and the quantity of the determined key frames through an Animation Curve (Animation Curve) of a three-dimensional engine, and defining complex Curve shapes to control the switching speed of the key frames through adjusting tangent control handles of the key frames and selecting different interpolation modes.
In this embodiment, the bezier Curve is selected by the Animation Curve of the three-dimensional engine to define the Curve shape of each key frame switching speed Curve.
Specifically, the step S4 calculates the progress of obtaining the animation, and the specific method is as follows:
s4.1, calculating the overall progress of the animation according to time; firstly, acquiring the starting time of the animation and the total duration of playing the animation;
s4.2, obtaining the current time of playing the animation, calculating the time difference between the current time and the starting time, dividing the time difference by the total duration of playing the animation to obtain a percentage value of time, namely the animation progress.
Meanwhile, the step S4 further comprises the step of calculating the animation progress according to the frame number, and the specific steps are as follows:
s4.3, obtaining the starting frame number of the animation and the total frame number of the played animation;
s4.4, obtaining the current frame number of the played animation, calculating the frame number difference value between the current frame number and the starting frame number, dividing the frame number difference value by the total frame number of the played animation to obtain a percentage value of the frame number, namely the animation progress.
In the step S5, according to the animation progress and the key frame switching speed curve, the animation change attribute of the current progress time point is calculated, and the specific method is as follows:
according to the animation progress, searching two key frames closest to the animation progress on the key frame switching speed curve, and determining coordinate values of the key frames on the curve according to the time positions of the two key frames obtained by searching;
and calculating to obtain the attribute change value of the current progress time point through an interpolation algorithm according to the coordinate values of the key frames and the animation progress.
In this embodiment, by adopting a bezier curve interpolation algorithm, a point corresponding to a corresponding position of a current progress time point of a bezier curve is calculated, and a calculation formula is as follows:
wherein t is animation progress, P 0 、P 1 、P 2 、P 3 The starting point, key frame one, key frame two and ending point of the curve respectively.
The animation state of the current time point t is calculated through B (t) in the Bezier curve interpolation algorithm formula, and the attribute value of the point is used for representing the attribute change of the progress in time.
When the attribute change value of the current progress time point is calculated, the step S6 updates the animation state according to the obtained animation change attribute of the current progress time point, where the attribute change value includes the position, size and color of the animation change, and updates the attribute of the animation through a Transform (deformation) component of the three-dimensional engine.
As a specific embodiment, the method realizes updating the animation state for each frame or each animation segment according to the animation progress after updating the animation state at the current progress time point through step S7, thereby realizing a smooth animation effect,
specifically, if the animation progress is smaller than 1, repeating the steps S4 to S6, calculating animation change attributes of the current progress time point according to the animation progress and a key frame switching speed curve, and updating the animation state;
and if the animation progress is equal to 1, ending playing the animation.
In addition, the application also provides a nonlinear animation regulation system based on the three-dimensional engine, which comprises the following steps:
the state determining module is used for determining animation fragments needing to be regulated and controlled in the animation, and determining the starting state and the ending state of attribute change in the animation fragments;
the key frame module is used for determining the positions and the quantity of key frames to be regulated and controlled based on the starting state and the ending state of the attribute change; according to the starting state and the ending state of the animation segment, key frames are added at the starting position and the ending position of the attribute change respectively; determining the time position of each attribute change in an animation time line based on a preset animation effect to be expressed according to the attribute change of an animation object between the starting state and the ending state of an animation fragment, and adding a key frame at the time position;
the curve definition module is used for defining the curve shape of each key frame switching speed curve according to the determined key frame positions and the number; defining a Curve shape according to the determined positions and the number of key frames through an Animation Curve (Animation Curve) of the three-dimensional engine, and defining a complex Curve shape through adjusting a tangent control handle of the key frames and selecting different interpolation modes;
the animation progress module is used for calculating and obtaining the animation progress according to the time and the frame number of the animation fragments;
the attribute calculation module is used for calculating the animation change attribute of the current progress time point according to the animation progress and the key frame switching speed curve; calculating to obtain an attribute change value of the current progress time point through an interpolation algorithm according to the coordinate values of the key frames and the animation progress;
and the updating module is used for updating the animation state according to the obtained animation change attribute of the current progress time point.
The change speed of the animation is defined through the curve, the switching speed of the key frames is controlled, the change process of the animation can be controlled more flexibly, the animation effect is smoother and more natural, and different speeds and change effects can be applied at different stages of the animation; and by adjusting the shape of the curve and the number of key frame positions, different changing effects such as acceleration, deceleration, buffering and the like can be realized; meanwhile, the curve can be shared and reused by a plurality of animations, so that workload and code redundancy can be reduced, and development efficiency is improved.

Claims (10)

1. A nonlinear animation regulation and control method based on a three-dimensional engine is characterized by comprising the following steps:
s1, determining animation fragments to be regulated and controlled in an animation, and determining the starting state and the ending state of attribute change in the animation fragments;
s2, determining the positions and the number of key frames to be regulated and controlled based on the starting state and the ending state of the attribute change;
s3, defining the curve shape of each key frame switching speed curve according to the determined key frame positions and the number;
s4, calculating and obtaining an animation progress;
s5, calculating animation change attributes of the current progress time point according to the animation progress and the key frame switching speed curve;
s6, updating the animation state according to the obtained animation change attribute of the current progress time point.
2. The three-dimensional engine-based nonlinear animation regulation and control method according to claim 1, further comprising the step of repeating the steps S4 to S6 for animation segments to be regulated and controlled in the animation playing process, and updating the animation state following the animation progress until the animation playing process is finished.
3. The three-dimensional engine-based nonlinear animation regulation method according to claim 1, wherein the determining the positions and the number of key frames to be regulated in the step S2 comprises the following specific steps:
according to the starting state and the ending state of the animation segment, key frames are added at the starting position and the ending position of the attribute change respectively;
and determining the time position of each attribute change in the animation time line based on the preset animation effect to be expressed according to the attribute change of the animation object between the starting state and the ending state of the animation fragment, and adding a key frame at the time position.
4. The three-dimensional engine-based nonlinear animation regulation method according to claim 1, wherein in the step S3, a curve shape is defined by an animation curve function of the three-dimensional engine according to the determined key frame positions and the determined number.
5. The method according to claim 4, wherein the step S3 is further to define a curve shape by adjusting a tangential control handle of the key frame and selecting different interpolation modes.
6. The three-dimensional engine-based nonlinear animation regulation method according to claim 1, wherein the step S5 is to calculate the animation change attribute of the current progress time point, and the specific method is as follows:
and calculating to obtain the attribute change value of the current progress time point through an interpolation algorithm according to the coordinate values of the key frames and the animation progress.
7. The three-dimensional engine-based nonlinear animation regulation method according to claim 6, wherein the coordinate values of the key frames are obtained by searching two key frames closest to the animation progress on the key frame switching speed curve according to the animation progress, and determining the coordinate values of the key frames on the curve according to the time positions of the two key frames obtained by searching.
8. The three-dimensional engine-based nonlinear animation control method according to claim 1, wherein step S4 obtains an animation progress through time or frame number calculation.
9. The three-dimensional engine-based nonlinear animation regulation method according to claim 1, wherein the step S6 updates the animation state through a morphing component of the three-dimensional engine.
10. A three-dimensional engine-based nonlinear animation regulation system, comprising:
the state determining module is used for determining animation fragments needing to be regulated and controlled in the animation, and determining the starting state and the ending state of attribute change in the animation fragments;
the key frame module is used for determining the positions and the quantity of key frames to be regulated and controlled based on the starting state and the ending state of the attribute change;
the curve definition module is used for defining the curve shape of each key frame switching speed curve according to the determined key frame positions and the number;
the animation progress module is used for calculating and acquiring animation progress;
the attribute calculation module is used for calculating the animation change attribute of the current progress time point according to the animation progress and the key frame switching speed curve;
and the updating module is used for updating the animation state according to the obtained animation change attribute of the current progress time point.
CN202311161063.0A 2023-09-11 2023-09-11 Nonlinear animation regulation and control method and system based on three-dimensional engine Pending CN116894893A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311161063.0A CN116894893A (en) 2023-09-11 2023-09-11 Nonlinear animation regulation and control method and system based on three-dimensional engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311161063.0A CN116894893A (en) 2023-09-11 2023-09-11 Nonlinear animation regulation and control method and system based on three-dimensional engine

Publications (1)

Publication Number Publication Date
CN116894893A true CN116894893A (en) 2023-10-17

Family

ID=88311114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311161063.0A Pending CN116894893A (en) 2023-09-11 2023-09-11 Nonlinear animation regulation and control method and system based on three-dimensional engine

Country Status (1)

Country Link
CN (1) CN116894893A (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104318600A (en) * 2014-10-10 2015-01-28 无锡梵天信息技术股份有限公司 Method for achieving role treading track animation by using Bezier curve
CN104574481A (en) * 2015-01-26 2015-04-29 北京科艺有容科技有限责任公司 Nonlinear modification method for 3D character animation
CN105719330A (en) * 2014-12-05 2016-06-29 腾讯科技(北京)有限公司 Animation curve generation method and device
CN111667544A (en) * 2020-07-02 2020-09-15 腾讯科技(深圳)有限公司 Animation data compression method, device, equipment and storage medium
CN111986298A (en) * 2020-08-25 2020-11-24 杭州趣维科技有限公司 Two-dimensional code technology-based keyframe animation effect sharing method
CN112354186A (en) * 2020-11-10 2021-02-12 网易(杭州)网络有限公司 Game animation model control method, device, electronic equipment and storage medium
CN112634409A (en) * 2020-12-28 2021-04-09 稿定(厦门)科技有限公司 Custom animation curve generation method and device
CN113538634A (en) * 2021-06-23 2021-10-22 厦门大学 Optimization method and system for video motion capture animation data
CN114117936A (en) * 2021-12-06 2022-03-01 上海壁仞智能科技有限公司 Method, device, system and medium for simulating position or shape of animation point
CN114598919A (en) * 2022-03-01 2022-06-07 腾讯科技(深圳)有限公司 Video processing method, video processing device, computer equipment and storage medium
CN115170700A (en) * 2022-05-24 2022-10-11 杭州涂鸦信息技术有限公司 Method for realizing CSS animation based on Flutter framework, computer equipment and storage medium
CN116188724A (en) * 2023-01-03 2023-05-30 北京达佳互联信息技术有限公司 Animation rendering method, device, equipment and storage medium

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104318600A (en) * 2014-10-10 2015-01-28 无锡梵天信息技术股份有限公司 Method for achieving role treading track animation by using Bezier curve
CN105719330A (en) * 2014-12-05 2016-06-29 腾讯科技(北京)有限公司 Animation curve generation method and device
CN104574481A (en) * 2015-01-26 2015-04-29 北京科艺有容科技有限责任公司 Nonlinear modification method for 3D character animation
CN111667544A (en) * 2020-07-02 2020-09-15 腾讯科技(深圳)有限公司 Animation data compression method, device, equipment and storage medium
CN111986298A (en) * 2020-08-25 2020-11-24 杭州趣维科技有限公司 Two-dimensional code technology-based keyframe animation effect sharing method
CN112354186A (en) * 2020-11-10 2021-02-12 网易(杭州)网络有限公司 Game animation model control method, device, electronic equipment and storage medium
CN112634409A (en) * 2020-12-28 2021-04-09 稿定(厦门)科技有限公司 Custom animation curve generation method and device
CN113538634A (en) * 2021-06-23 2021-10-22 厦门大学 Optimization method and system for video motion capture animation data
CN114117936A (en) * 2021-12-06 2022-03-01 上海壁仞智能科技有限公司 Method, device, system and medium for simulating position or shape of animation point
CN114598919A (en) * 2022-03-01 2022-06-07 腾讯科技(深圳)有限公司 Video processing method, video processing device, computer equipment and storage medium
CN115170700A (en) * 2022-05-24 2022-10-11 杭州涂鸦信息技术有限公司 Method for realizing CSS animation based on Flutter framework, computer equipment and storage medium
CN116188724A (en) * 2023-01-03 2023-05-30 北京达佳互联信息技术有限公司 Animation rendering method, device, equipment and storage medium

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LOÏC CICCONE ET AL: "Tangent-space optimization for interactive animation control", 《ACM TRANSACTIONS ON GRAPHICS (TOG)》, vol. 38, no. 4, XP058686735, DOI: 10.1145/3306346.3322938 *
巢晟盛: "基于三维运动捕捉数据关键帧的动画合成研究", 《中国优秀硕士学位论文全文数据库电子期刊 信息科技辑》, vol. 2018, no. 1 *
廖疆星 等: "《中文Flash 4动画网页实例大制作》", 北京:清华大学出版社, pages: 210 - 214 *
海燕敏: "笔交互手绘动画的半自动生成方法研究", 《中国优秀硕士学位论文全文数据库电子期刊 信息科技辑》, vol. 2012, no. 2 *

Similar Documents

Publication Publication Date Title
US20240087200A1 (en) Systems and methods for real-time complex character animations and interactivity
US8629871B2 (en) Systems and methods for rendering three-dimensional objects
Rose III et al. Artist‐directed inverse‐kinematics using radial basis function interpolation
KR101148101B1 (en) Method for retargeting expression
US7652670B2 (en) Polynomial encoding of vertex data for use in computer animation of cloth and other materials
US20060139356A1 (en) Adaptive caching of animation controls
KR100898990B1 (en) Silhouette Rendering Apparatus and Method with 3D Temporal Coherence For Rigid Object
CN116894893A (en) Nonlinear animation regulation and control method and system based on three-dimensional engine
CN115908651A (en) Synchronous updating method for three-dimensional human body model and skeleton and electronic equipment
Van Haevre et al. Uniting cartoon textures with computer assisted animation
Chen et al. Optimization of animation curve generation based on hermite spline interpolation
JP2001218977A (en) Game system and information memory medium
Kahler et al. Dynamic refinement of deformable triangle meshes for rendering
CN117765158A (en) Self-adaptive Blendshape deformation method and virtual reality device
Yang et al. Facial Feature Animation and Its Artistic Representation
Kondo et al. Directable animation of elastic bodies with point‐constraints
Carr et al. Remodelling of Botanical Trees for Real-Time Simulation
JP2001218978A (en) Game system and information memory medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination