File data processing method and device, electronic equipment and storage medium

By generating a package model and converting animation data, the problem of low efficiency in FBX file data modification in the prior art is solved, and direct modification and resource reuse of target files are realized, reducing workload and limitations.

CN119576853APending Publication Date: 2025-03-07NETEASE (SHANGHAI) NETWORK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411448556.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-16
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

When processing animation data in FBX files, the prior art has problems such as limitations, high resource reuse threshold and large repetition workload, resulting in low data modification efficiency.

Method used

By generating a package model, the animation data in the target file is converted into controller animation data, and resource modification is carried out based on the controller animation data, so as to achieve direct modification and adjustment of the target file.

Benefits of technology

Save the steps to modify the source file, reduce limitations and reuse thresholds, avoid duplicate workload, and greatly improve the data modification efficiency in FBX files.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119576853A_ABST
    Figure CN119576853A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of computers, and provides a file data processing method and device, electronic equipment and a storage medium. The method comprises the steps of generating a package model based on skeleton data in a target file; creating a controller system based on the wrapping model, wherein the controller system is used for controlling transformation attributes of skeleton parts in the wrapping model; converting animation data corresponding to the skeleton data in the target file into animation data corresponding to a controller system to obtain controller animation data; creating time segments based on controller animation data to obtain animation segments; editing animation resource data in the animation segment to obtain an edited animation segment; and converting the edited animation segment into a target file to obtain an edited target file. According to the method, the target file is directly modified and adjusted, the step of modifying the source file is omitted, the limitation and the reuse threshold are reduced, the repeated workload is avoided, and the modification efficiency of the data in the FBX file is greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a method, device, electronic device and storage medium for processing file data. Background Art

[0002] In some virtual scenes, the vitality of virtual characters is composed of actions such as walking, running, attacking and getting injured. These actions are usually expressed through skeletal animation, and the animation data of skeletal animation is often transmitted using FBX files. At present, the implementation of skeletal animation is generally: first, the FBX file to be processed is skeletally redirected, and then the animation data is matched, and the matched animation data is edited, and then exported to an FBX file after editing.

[0003] However, the above implementation has the defects of great limitations in matching existing tools, high threshold for resource reuse and large amount of repeated work, which leads to low efficiency in modifying data in FBX files. Summary of the invention

[0004] In view of this, the purpose of the present disclosure is to provide a method, device, electronic device and storage medium for processing file data, which generates a package model, converts the animation data in the target file into controller animation data based on the package model, and performs resource modification based on the controller animation data, thereby realizing direct modification and adjustment of the target file, saving the step of modifying the source file, reducing limitations and reuse thresholds, avoiding duplication of work, and greatly improving the modification efficiency of data in FBX files.

[0005] In a first aspect, an embodiment of the present disclosure provides a method for processing file data, the method for processing file data comprising:

[0006] Generate a wrapping model based on the skeleton data in the target file, wherein the target file is used to store the three-dimensional model data of the virtual character; the wrapping model has a preset shape, and the wrapping model surrounds the character model of the virtual character;

[0007] Creating a controller system based on the wrapping model, wherein the controller system is used to control transformation properties of a skeletal part in the wrapping model;

[0008] Converting the animation data corresponding to the skeleton data in the target file into animation data corresponding to the controller system to obtain controller animation data;

[0009] Creating a time segment based on the controller animation data to obtain an animation segment;

[0010] Editing the animation resource data in the animation clip to obtain an edited animation clip;

[0011] The edited animation clip is converted into the target file to obtain the edited target file.

[0012] In a second aspect, an embodiment of the present disclosure provides a device for processing file data, the device for processing file data comprising:

[0013] A generating module, used for generating a wrapping model based on the skeleton data in the target file, wherein the target file is used to store the three-dimensional model data of the virtual character; the wrapping model has a preset shape, and the wrapping model surrounds the character model of the virtual character;

[0014] A first creation module, used to create a controller system based on the package model, wherein the controller system is used to control the transformation properties of the skeleton parts in the package model;

[0015] A first conversion module, used for converting the animation data corresponding to the skeleton data in the target file into the animation data corresponding to the controller system to obtain controller animation data;

[0016] A second creation module is used to create a time segment based on the controller animation data to obtain an animation segment;

[0017] A first editing module, used for editing the animation resource data in the animation clip to obtain an edited animation clip;

[0018] The second conversion module is used to convert the edited animation clip into the target file to obtain the edited target file.

[0019] In a third aspect, an embodiment of the present disclosure provides an electronic device, including a processor and a memory, wherein the memory stores machine executable instructions that can be executed by the processor, and the processor executes the machine executable instructions to implement the above-mentioned file data processing method.

[0020] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are called and executed by a processor, the computer-executable instructions prompt the processor to implement the above-mentioned file data processing method.

[0021] The embodiments of the present disclosure bring the following beneficial effects:

[0022] The above-mentioned file data processing method, device, electronic device and storage medium generate a package model based on the skeleton data in the target file, wherein the target file is used to store the three-dimensional model data of the virtual character; the package model has a preset shape, and the package model surrounds the character model of the virtual character; a controller system is created based on the package model, wherein the controller system is used to control the transformation properties of the skeleton parts in the package model; the animation data corresponding to the skeleton data in the target file is converted into the animation data corresponding to the controller system to obtain the controller animation data; a time segment is created based on the controller animation data to obtain an animation clip; the animation resource data in the animation clip is edited to obtain an edited animation clip; the edited animation clip is converted to the target file to obtain an edited target file. In this method, by generating a package model, the animation data in the target file is converted into the controller animation data based on the package model, and the resource is modified based on the controller animation data, so as to realize the direct modification and adjustment of the target file, save the step of modifying the source file, reduce the limitations and reuse threshold, avoid repeated workload, and greatly improve the modification efficiency of the data in the FBX file.

[0023] Other features and advantages of the present disclosure will be described in the following description, and partly become apparent from the description, or understood by practicing the present disclosure. The purpose and other advantages of the present disclosure are realized and obtained by the structures particularly pointed out in the description, claims and drawings.

[0024] In order to make the above-mentioned objectives, features and advantages of the present disclosure more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In order to more clearly illustrate the specific embodiments of the present disclosure or the technical solutions in the prior art, the drawings required for use in the specific embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without paying any creative work.

[0026] Figure 1 A schematic diagram of an embodiment of a method for processing file data provided by an embodiment of the present disclosure;

[0027] Figure 2 A schematic diagram of an embodiment of a package model provided in an embodiment of the present disclosure;

[0028] Figure 3 A schematic diagram of an embodiment of the effect of controller data of a skeleton in an edited animation clip provided by an embodiment of the present disclosure;

[0029] Figure 4 A schematic diagram of an embodiment of a square curve with a skeleton as an origin provided by an embodiment of the present disclosure;

[0030] Figure 5 A schematic diagram of an embodiment of a target curved surface obtained after lofting provided in an embodiment of the present disclosure;

[0031] Figure 6 A schematic diagram of an embodiment of a polygonal model after target surface conversion provided by an embodiment of the present disclosure;

[0032] Figure 7 A schematic diagram of an embodiment of a control method corresponding to the first controller provided in an embodiment of the present disclosure;

[0033] Figure 8 A schematic diagram of an embodiment of a control method corresponding to a second controller provided in an embodiment of the present disclosure;

[0034] Fig. 9 A schematic diagram of an embodiment of the application state of the third controller provided in an embodiment of the present disclosure;

[0035] Fig.10 A schematic diagram of an embodiment of the present disclosure providing an effect of not applying a third controller;

[0036] Fig.11 A schematic diagram of an embodiment of the effect after applying the third controller provided in the embodiment of the present disclosure;

[0037] Fig.12 A schematic diagram of a file data processing device provided by an embodiment of the present disclosure;

[0038] Fig.13 A schematic diagram of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0039] In order to make the purpose, technical solution and advantages of this embodiment clearer, the technical solution of this disclosure will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of this disclosure, rather than all the embodiments. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this disclosure.

[0040] In some virtual scenes, the vitality of virtual characters is composed of actions such as walking, running, attacking and getting injured. These actions are usually expressed through skeletal animation, and the animation data of skeletal animation is often transmitted using FBX files. In actual production, we will encounter situations such as resource reuse and resource modification. Resource reuse is generally obtained from FBX files in the engine and other software. Since the FBX file needs to be modified, it needs to be re-skinned. Therefore, it takes a long time to build the controller system and the efficiency is not high, and the threshold for resource reuse is too high. Resource modification requires small modifications to a large amount of animation data, such as scaling the animation time, or making small adjustments to the limbs or head animation. In addition, if the source file is modified, it is necessary to generate another FBX file after the modification and import it into the engine, which is equivalent to generating repeated workloads. Multiple high-frequency modifications will generate a lot of repeated workloads, resulting in a waste of resources.

[0041] At present, the implementation method of skeletal animation is generally: first, the FBX file to be processed is redirected by using software such as Motionbuilder, and then the animation data is matched, the matched animation data is edited, and after the editing is completed, it is exported to an FBX file.

[0042] However, in the above implementation, existing tools such as Motionbuilder have relatively large limitations in matching. It is necessary to ensure that the orientation and axis of the skeleton are the same so that there will be no axial deviation when driving the rotation. There are also high requirements for character proportions and skeleton construction, and the height, arms and legs and other body proportions must be basically consistent. In the binding process, Maya or Max tools need to re-skin the skeleton and add a skeleton controller, which has the defects of being time-consuming, inefficient, having a threshold for resource reuse, and increasing the workload. That is, it has large limitations, a high threshold for resource reuse, and a large amount of repeated work, which leads to low efficiency in modifying data in FBX files.

[0043] Based on the above problems, this embodiment provides a method, device, electronic device and storage medium for processing file data, which can be applied to the processing scenario of file data of virtual characters in virtual scenes, especially the processing scenario of file data of virtual characters in game scenes.

[0044] In one embodiment of the present disclosure, the method for processing file data can be run on a terminal device or a server. The terminal device can be a local terminal device. When the method for processing file data is run on a server, the method can be implemented and executed based on a cloud interaction system, wherein the cloud interaction system includes a server and a client device.

[0045] For ease of understanding, the specific process of this embodiment is described below. Figure 1 In this embodiment, an embodiment of the method for processing file data includes the following steps:

[0046] Step 101, generating a wrapping model based on the skeleton data in the target file, wherein the target file is used to store the three-dimensional model data of the virtual character; the wrapping model has a preset shape, and the wrapping model surrounds the character model of the virtual character;

[0047] Among them, the target file is a file in a three-dimensional (3D) general file format that is compatible with multiple software (tools), can store animation data (or be used for its animation production), and contains animation, material properties, textures, skeletal animation, lighting, camera and other information, such as Flexible Body Exchange (FBX) files and Collada files; the skeletal data in the target file can be understood as data equivalent to the skeleton of the human body, which is used to set the posture of the bound three-dimensional model and to animate the bound three-dimensional model.

[0048] The wrapping model is a model that takes the skeleton of the virtual character as the origin and is surrounded by a preset shape, wherein the preset shape can be a three-dimensional geometric shape, such as a capsule. The wrapping model can be as follows Figure 2 shown.

[0049] As an example but not limitation, skeleton data is extracted from a target file, wherein the skeleton data may be in the form of a point cloud, a mesh or a parameterized model, and the skeleton data includes but is not limited to the shape, size and position information of the skeleton; the extracted skeleton data is cleaned to remove noise and redundant information to obtain cleaned skeleton data; the integrity and consistency of the cleaned skeleton data are checked to obtain checked skeleton data; a basic initial three-dimensional skeleton model is created based on the checked skeleton data using a preset three-dimensional modeling tool; the initial three-dimensional skeleton model is checked based on the preset skeleton data to ensure that the geometry and proportion of the three-dimensional skeleton model are the same as the preset skeleton data to obtain a target three-dimensional skeleton model, wherein the preset skeleton data includes but is not limited to the geometry and proportion of the actual skeleton; a wrapped model is generated based on the target three-dimensional skeleton model using a preset wrapping algorithm.

[0050] Step 102, creating a controller system based on the package model, wherein the controller system is used to control the transformation properties of the skeleton parts in the package model;

[0051] Among them, the controller system is used to control the transformation properties of the bone parts in the package model to control the movement of the bones; the transformation properties can make the bones move according to a predetermined animation sequence or action, and the transformation properties include but are not limited to position transformation, rotation transformation, scaling transformation, combination transformation, keyframe transformation and offset transformation.

[0052] As an example but not limitation, a skeletal controller corresponding to each skeletal part is created based on the information of the bones in the package model; each skeletal controller is linked to the package model through a parent-child relationship or a constraint relationship to obtain preprocessed skeletal controllers; and each preprocessed skeletal controller is determined as a controller system.

[0053] Step 103, converting the animation data corresponding to the skeleton data in the target file into animation data corresponding to the controller system to obtain controller animation data;

[0054] Among them, as an example but not limitation, the animation data corresponding to the bone data in the target file can be copied to the corresponding position in the controller system to obtain the controller animation data; or, the animation data corresponding to the bone data in the target file can be mapped to the bone controller in the controller system and converted to the format corresponding to the controller system to obtain the controller animation data.

[0055] As an example but not limitation, the animation data corresponding to the bone data in the target file is mapped to the bone controller in the controller system, and converted into a format corresponding to the controller system to obtain the converted animation data; the smoothness and naturalness are detected based on the converted animation data to obtain the detection result; if the detection result meets the preset conditions, the converted animation data is used as the controller animation data; if the detection result does not meet the preset conditions, the target parameters of the controller system are adjusted until the detection result meets the conditions, and the converted animation data whose detection result meets the conditions is used as the controller animation data, wherein the target parameters include single-line but not limited to rotation parameters, translation parameters, scaling parameters, bone position and orientation, weight distribution parameters (used to indicate the degree of influence of the bone on the wrapped model), inverse kinematics (IK) / forward kinematics (Fk) controller parameters, animation curve parameters and timeline parameters.

[0056] Step 104, creating a time segment based on the controller animation data to obtain an animation segment;

[0057] As an example but not a limitation, at least one target key point on the timeline is determined; the starting point and the end point of the timeline are determined to obtain the determined timeline; a time segment is created based on the at least one target key point and the determined timeline, and an animation state machine of the time segment is configured to obtain an animation segment. At least one target key point on the timeline can be determined based on a key frame of animation data in a target file; or at least one key point on the timeline is determined based on a key frame of animation data in a target file, and the time position of at least one key point is adjusted according to the attributes of the key point (e.g., position attribute, rotation attribute, or scaling attribute) to obtain at least one target key point.

[0058] As an example but not limitation, after the animation clips are obtained by creating time segments based on the controller animation data, the animation clips are backed up and saved to facilitate data recovery, integrity and protection.

[0059] As an example but not a limitation, after creating a time segment based on the controller animation data and obtaining an animation segment, it is also possible to: obtain the animation effect of the animation segment in response to a play operation on the animation segment; if the animation effect meets the preset effect, determine the animation segment as the final animation segment, and execute the operation process of editing the animation resource data in the animation segment; if the animation effect does not meet the preset effect, readjust the timeline and at least one target key point until the animation effect meets the preset effect, and obtain the final animation segment. The preset effect includes but is not limited to the smoothness, rhythm and visual effect of the animation meeting the preset conditions.

[0060] Step 105, editing the animation resource data in the animation clip to obtain an edited animation clip;

[0061] Among them, animation resource data includes but is not limited to animation data format, animation controller data (for example, the controller's status, parameters and association with other animation elements), skeletal animation data (for example, the position, rotation angle and scale of bones, and the parent-child relationship between bones) and keyframe animation data (for example, the virtual character's position, rotation, scale and other information, as well as other attributes such as color and transparency).

[0062] As an example but not a limitation, in response to an editing operation on the animation resource data in the animation clip, the parameters to be edited are obtained; based on the parameters to be edited, the animation resource data in the animation clip is updated to obtain the edited animation clip. Among them, the animation resource data in the animation clip can be updated based on the parameters to be edited to obtain the updated animation clip; in response to the playback operation of the updated animation clip, the playback effect of the updated animation clip is obtained; based on the playback effect, the updated animation clip is adjusted to obtain the edited animation clip, so as to improve the accuracy and reliability of the edited animation clip.

[0063] As an example and not a limitation, the effect of the controller data of the skeleton in the edited animation clip can be as follows: Figure 3 shown.

[0064] Step 106, converting the edited animation clip into a target file to obtain the edited target file.

[0065] In one implementation, the format of the edited animation clip is converted into the format of the target file to obtain the converted animation clip; the converted animation clip is copied to a corresponding position in the target file to obtain the edited target file.

[0066] Among them, when the animation data corresponding to the bone data in the target file is converted into animation data corresponding to the controller system, the animation data corresponding to the bone data in the target file will be cleared, and the converted animation clip can be directly copied to the position corresponding to the original animation data in the target file after clearing the animation to obtain the edited target file.

[0067] By converting the edited animation clips to the target file, direct editing of FBX is achieved, which improves compatibility and convenience, and greatly improves the efficiency of data modification in FBX files.

[0068] As an example but not limitation, the data format of the edited animation clip is converted into the data format corresponding to the target file to obtain the converted animation clip; the converted animation clip is copied to the corresponding position in the target file to obtain the edited target file.

[0069] The above-mentioned method for processing file data generates a package model, converts the animation data in the target file into controller animation data based on the package model, and performs resource modification based on the controller animation data, thereby realizing direct modification and adjustment of the target file, saving the step of modifying the source file, reducing limitations and reuse thresholds, avoiding duplication of work, and greatly improving the modification efficiency of data in FBX files.

[0070] In one implementation, when generating a wrapping model based on the bone data in the target file, you can: generate a polygonal model with the bone as the origin according to the position information and axial information in the bone data in the target file; adjust the polygonal model based on preset parameters to obtain the wrapping model, wherein the preset parameters are used to control the size and scaling of the polygonal model.

[0071] Among them, as an example but not limitation, the position information in the bone data can be understood as the position of the bone in three-dimensional space, and the position of each bone point is a two-dimensional coordinate or a three-dimensional coordinate; the axial information in the bone data can be understood as the orientation or direction of the bone in three-dimensional space, which is used to indicate the rotation and movement of the bone relative to other bones or coordinate systems, that is, it can be understood as the specific direction and relative position of each axis (X-axis, Y-axis and Z-axis) on the bone in the three-dimensional coordinate system.

[0072] As an example but not limitation, a two-dimensional plane of the bone is generated according to the bone data in the target file; a square curve with the bone as the origin is generated on the two-dimensional plane of the bone according to the position information and axial information in the bone data in the target file, which can be Figure 4 As shown; lofting is performed based on the square curve to obtain the target surface; and the target surface is converted into a polygonal model.

[0073] As an example but not a limitation, when performing lofting processing based on a square curve to obtain a target surface, the following can be done: create a guide curve based on the square curve, wherein the guide curve is used to define the shape and contour of the lofted surface; obtain a first adjustment parameter, wherein the first adjustment parameter includes but is not limited to shape, quantity and position; adjust the guide curve based on the first adjustment parameter to obtain an adjusted guide curve; generate a surface based on the adjusted guide curve; obtain a second adjustment parameter, wherein the second adjustment parameter includes but is not limited to the interface span value and smoothness; adjust the surface based on the second adjustment parameter to obtain a target surface. The target surface obtained after lofting can be as follows: Figure 5 As shown, the polygonal model of the target surface after conversion can be Figure 6 shown.

[0074] By generating a polygonal model with the bone as the origin based on the position information and axial information in the bone data, and adjusting the polygonal model to obtain a wrapping model, a wrapping model (bone model) with bone features can be generated quickly and conveniently, thereby enhancing the flexibility and editability of the bone model and facilitating the creation of the subsequent controller system.

[0075] In one implementation, when creating a controller system based on a wrapping model, you can: create a first controller corresponding to each skeletal part based on the position and hierarchy of the bones in the wrapping model, wherein the first controller is used to control the forward movement of the bones; determine the first target skeletal part and the second target skeletal part among the skeletal parts for which the first controller has been created; create a second controller corresponding to the first target skeletal part and a third controller corresponding to the second target skeletal part, wherein the second controller is used to control the reverse movement of the bones, and the third controller is used to ensure that specific rotational properties of the virtual object are not affected by the parent transformation; and generate a controller system based on the first controller, the second controller, and the third controller.

[0076] As an example but not a limitation, the first controller may be an Fk controller, the second controller may be an IK controller, and the third controller may be a global controller. Figure 7 , the control mode corresponding to the second controller is as follows Figure 8 shown.

[0077] As an example but not limitation, when creating a first controller corresponding to each skeletal part based on the position and hierarchy of the bones in the package model, the following can be done: based on the position and hierarchy of the bones in the package model, determine the controller information of each control object, wherein the controller information includes but is not limited to the type, position, size and parent-child relationship with other controllers of the controller, and the control object is a skeletal part, such as the head, neck, shoulders, spine bones, arm bones, pelvis, leg bones and foot bones; based on the controller information of each control object, create a forward dynamics controller corresponding to each control object; according to the size and position of the bones, adjust the size of the forward dynamics controller corresponding to each control object to obtain adjusted forward dynamics controllers; based on the position, bind the adjusted forward dynamics controllers to the corresponding control objects, and based on the hierarchy, set the parent-child relationship (hierarchical relationship) between the bound forward dynamics controllers to obtain the first controller corresponding to each skeletal part.

[0078] Wherein, as an example but not limitation, the first target bone part is the end bone of the bone chain that is desired to be subject to IK constraints, the first target bone part may be the arm part and the leg part; the second target bone part may be the head and the shoulder. The third controller enables the virtual object to maintain the previous specific rotation attribute when the parent is transformed.

[0079] As an example but not limitation, the specific rotation attributes include but are not limited to rotation angle, axis angle and rotation matrix; when creating a second controller corresponding to the first target skeletal part and a third controller corresponding to the second target skeletal part, it is possible to: add an inverse kinematics component to the first target skeletal part, and set the inverse kinematics target point and the inverse kinematics weight to obtain the second controller, wherein the inverse kinematics target point is used to make the first target skeletal part face the target point, and the inverse kinematics weight is used to determine the strength of the inverse kinematics effect; create a global controller corresponding to the second target skeletal part, and set the point constraint and rotation constraint of the second target skeletal part to obtain the third controller, wherein the point constraint is used to indicate that in the control of the second target skeletal part, the second target skeletal part maintains a relative position relationship with a specific point (the specific point can be a reference point, a preset target point, a defined control point, a marker point or a skeletal key point, which is not limited here and is set according to actual conditions) when moving, and the rotation constraint is used to indicate that in the control of the second target skeletal part, the second target skeletal part is ensured to maintain a rotation consistent with a specific object (the specific object can be an adjacent bone, a parent bone or an external object, which is not limited here and is set according to actual conditions), and the rotation constraint defines the rotation range and rotation direction.

[0080] By creating a controller system based on the position and hierarchy of the bones (the first controller, the second controller and the third controller corresponding to each bone part), there is no need to re-skin the bones to add bone controllers, which facilitates direct resource modification in the FBX file, helps to simplify and maintain the subsequent controller animation data conversion process, and helps to improve the positioning accuracy of each bone part, the flexibility and efficiency of virtual character action adjustment.

[0081] In one implementation, when generating a controller system based on a first controller, a second controller, and a third controller, the first controller and the second controller may be mixed to obtain processed first and second controllers; a linear interpolation of the third controller may be set based on a preset constraint weight value to obtain a set third controller; and the processed first and second controllers, and the set third controller may be determined as a controller system.

[0082] The first controller and the second controller are mixed to achieve seamless switching between the first controller and the second controller.

[0083] Among them, the constraint weight value can be understood as the complementary value of the angle when the virtual object (wrapped model) moves or rotates, that is, adjusting the constraint range of the angle when scaling, moving or rotating; the preset constraint weight value is a value between [0,1]; in addition, it is used to control the overall rotation of the second target bone part of the virtual character; the constraint weight value can be a fixed value; the constraint weight value can also be dynamically changed, controlling the animation to gradually transition from fully following the starting posture to fully following the ending posture, making the movement more natural and smooth. The linear interpolation of the third controller can be an interpolation for scaling, rotation and translation components. Among them, the application state of the third controller can be as follows Fig. 9 As shown, Fig. 9 (1) in the table is the default state. Figure 8 (2) in the figure is the motion state of the wrapped model when the third controller is turned off. Fig. 9 (3) in FIG. 1 is the motion state of the wrapped model when the third controller is turned on. The effect of not applying the third controller can be shown as follows: Fig.10 As shown, Fig.10 (1) in the figure is the default effect of the wrapping model. Fig.10 (2) in the figure is the normal effect after the wrapped model is rotated 30 degrees without applying the third controller. The effect after applying the third controller can be as follows: Fig.11 As shown, Fig.11 (1) in the figure is the default effect of the wrapping model. Fig.11 (2) in the figure is the control effect after the wrapped model is rotated 30 degrees using the third controller.

[0084] By mixing the first controller and the second controller, a smooth switching effect between bones can be achieved. By constraining the weight value to set the linear interpolation of the third controller, it can be ensured that the second target bone part maintains a certain degree of continuity and naturalness when rotating.

[0085] In one implementation, when the first controller and the second controller are mixed and processed to obtain the processed first controller and the second controller, the first position information and the second position information can be obtained, wherein the first position information is the position information of the bone corresponding to the first controller, and the second position information is the position information of the target pole vector, and the target pole vector is the vector of the target position and direction in the reverse motion; the first position information and the second position information are assigned to the second controller to obtain the processed first controller and the second controller.

[0086] Among them, the target pole vector is the pole vector in inverse dynamics (IK), which is used to express and control the rotation behavior of the object of a specific joint chain (for example, limbs) when performing inverse dynamics (IK) settlement. The target pole vector defines a plane containing the root bone part of the IK chain, the target position, and the bone part that needs to be solved; the target pole vector is the pole vector of a specific part of the bone part corresponding to the second controller, for example, the position of the elbow is the position of the target pole vector.

[0087] As an example but not limitation, when obtaining the first position information and the second position information, you can: obtain the position information of the bone corresponding to the first controller to obtain the first position information, wherein the position information of the bone corresponding to the first controller corresponds to the position information of the bone in the target file; determine the vector of the target position and the vector of the root bone part in the package model, calculate the position information of the IK pole vector based on the vector of the target position and the vector of the root bone part, and obtain the second position information, or configure the IK pole vector (for example, in response to a drag operation on a preset visual controller, determine the corresponding position after the drag operation stops in the package model, determine the position information of the IK pole vector based on the position, and obtain the second position information; or, obtain an input value or determine a target object, determine the position information of the IK pole vector based on the input value or the target object, and obtain the second position information), adjust the position of the IK pole vector, and use the position of the IK pole vector obtained after the adjustment as the second position information.

[0088] As an example but not limitation, when the first position information and the second position information are assigned to the second controller to obtain the processed first controller and the second controller, the first position information and the second position information can be directly copied to the corresponding positions in the second controller to obtain the processed first controller and the second controller; or, the position information of the first controller and the animation increments corresponding to each bone in the target file are obtained, the position information of the first controller is subtracted from the position information of the first controller to obtain the difference, the animation increments corresponding to each bone are subtracted from the difference to obtain the processed position information, and the processed position information and the second position information are copied to the corresponding positions in the second controller to obtain the processed first controller and the second controller.

[0089] As an example but not limitation, after the first position information and the second position information are assigned to the second controller to obtain the processed first and second controllers, the following steps are also performed: the processed first and second controllers are tested, and a determination is made as to whether the test results indicate that the movement of the skeletal chain is smooth and natural, and reaches the expected target position; if so, the test is stopped, and the processed first and second controllers, and the set third controller are determined as the controller system; if not, the first position information and the second position information are reacquired, and the reacquired first and second position information are assigned to the second controller, and the reprocessed first and second controllers are tested until the test passes.

[0090] By assigning the position information of the bones and the target pole vector corresponding to the first controller to the second controller, the accuracy and reliability of the controller system are improved, which helps to enhance the naturalness, flexibility and controllability of the animation corresponding to the subsequent conversion into controller animation data, and also helps to optimize the stability and computational efficiency of the subsequent controller animation data.

[0091] In one implementation, when creating a time segment based on the controller animation data to obtain the animation segment, you can: determine the minimum time and maximum time of each bone in the controller animation data, where the minimum time is the time point of the first key frame when the bone starts to move, and the maximum time is the time point of the last key frame when the bone stops moving; determine the duration of the time segment based on the minimum time and the maximum time; based on the duration of the time segment, save the controller animation data as a time segment to obtain the animation segment, where the animation segment is a collection of animation curves for which key frame objects can be set.

[0092] The duration of each time segment may be the same or different.

[0093] Wherein, as an example but not limitation, the minimum time of each bone can be used as the starting point of each time segment, and the maximum time of each bone can be used as the end point of each time segment, that is, the difference between the minimum time and the maximum time can be used as the duration of each time segment. Alternatively, the starting point of the time axis of each bone movement is adjusted based on the minimum time of each bone, and the end point of the time axis of each bone movement is adjusted based on the maximum time of each bone, and each adjusted time axis is obtained, and the key points of each adjusted time axis are determined, and the key points are used as the segmentation points of the time segment, and the time length between two adjacent segmentation points is calculated to obtain the duration of the time segment; based on the duration of the time segment corresponding to each bone, the controller animation data is saved as the time segment corresponding to each bone, and the time segment corresponding to each bone is integrated to obtain the animation segment.

[0094] By saving the controller animation data as time segments to obtain animation clips based on the minimum time and maximum time of each bone in the controller animation data, the smoothness, continuity and accuracy of the animation clips are improved, efficient management of the animation clips is achieved, and subsequent editing is facilitated.

[0095] In one implementation, after converting the edited animation clip to the target file to obtain the edited target file, you can also: render based on the edited target file to obtain the visual effect of the virtual character; obtain the information to be edited generated based on the visual effect; edit the animation clip based on the information to be edited to obtain a second-edited animation clip; convert the second-edited animation clip to the target file to obtain the second-edited target file.

[0096] Wherein, as an example but not limitation, the information to be edited includes but is not limited to bone rotation information, bone displacement information, bone offset information, bone scaling information, bone posture information, key frame smooth transition information, animation scaling information and animation offset information in the animation clip. Wherein, the information to be edited can be manually input or automatically generated based on artificial intelligence. Based on the information to be edited, the animation resource data in the animation clip is edited to obtain the animation clip after secondary editing; the format of the animation clip after secondary editing is converted to the format of the target file, and the animation clip after the conversion format is copied to the corresponding position in the target file to obtain the target file after secondary editing.

[0097] By performing secondary editing on the animation clips based on the information to be edited generated by the visual effects, multiple direct editing of the target file is achieved, the editability and reusability of the target file editing are enhanced, as well as the visual effects and smoothness of the animation clips, and the modification efficiency and editing reliability of the data in the FBX file are improved.

[0098] Corresponding to the above method embodiment, see Fig.12 A schematic diagram of a file data processing device shown in FIG. 1 , the device comprising:

[0099] A generating module 1201 is used to generate a wrapping model based on the skeleton data in the target file, wherein the target file is used to store the three-dimensional model data of the virtual character; the wrapping model has a preset shape, and the wrapping model surrounds the character model of the virtual character;

[0100] A first creation module 1202 is used to create a controller system based on the package model, wherein the controller system is used to control the transformation properties of the skeleton parts in the package model;

[0101] The first conversion module 1203 is used to convert the animation data corresponding to the skeleton data in the target file into animation data corresponding to the controller system to obtain controller animation data;

[0102] The second creation module 1204 is used to create a time segment based on the controller animation data to obtain an animation segment;

[0103] The first editing module 1205 is used to edit the animation resource data in the animation clip to obtain the edited animation clip;

[0104] The second conversion module 1206 is used to convert the edited animation clip into a target file to obtain the edited target file.

[0105] The above-mentioned file data processing device generates a package model, converts the animation data in the target file into controller animation data based on the package model, and modifies resources based on the controller animation data, thereby realizing direct modification and adjustment of the target file, saving the step of modifying the source file, reducing limitations and reuse thresholds, avoiding duplication of work, and greatly improving the modification efficiency of data in FBX files.

[0106] Optionally, the generating module 1201 may also be used for:

[0107] Generate a polygonal model with the bone as the origin according to the position information and axial information in the bone data in the target file;

[0108] The polygonal model is adjusted based on preset parameters to obtain a wrapped model, wherein the preset parameters are used to control the size and scaling of the polygonal model.

[0109] Optionally, the first creation module 1202 may also be used to:

[0110] Based on the position and level of the bones in the wrapped model, create a first controller corresponding to each bone part, wherein the first controller is used to control the forward movement of the bones;

[0111] determining a first target skeletal part and a second target skeletal part among the skeletal parts for which the first controller has been created;

[0112] Creating a second controller corresponding to the first target bone part and a third controller corresponding to the second target bone part, wherein the second controller is used to control the reverse motion of the bone, and the third controller is used to ensure that a specific rotation attribute of the virtual object is not affected by the parent transformation;

[0113] A controller system is generated based on the first controller, the second controller, and the third controller.

[0114] Optionally, the first creation module 1202 may also be used to:

[0115] The first controller and the second controller are mixed to obtain the processed first controller and the second controller;

[0116] Setting a linear interpolation of a third controller based on a preset constraint weight value to obtain a set third controller;

[0117] The processed first controller and the second controller, and the set third controller are determined as a controller system.

[0118] Optionally, the first creation module 1202 may also be used to:

[0119] Acquire first position information and second position information, wherein the first position information is position information of the skeleton corresponding to the first controller, and the second position information is position information of the target pole vector, where the target pole vector is a vector of the target position and direction in the reverse motion;

[0120] The first position information and the second position information are assigned to the second controller to obtain the processed first controller and the second controller.

[0121] Optionally, the second creation module 1204 may also be used to:

[0122] Determine the minimum time and maximum time of each bone in the controller animation data, where the minimum time is the time point of the first key frame where the bone starts moving, and the maximum time is the time point of the last key frame where the bone stops moving;

[0123] Determine the duration of the time segment based on the minimum time and the maximum time;

[0124] Based on the duration of the time segment, the controller animation data is saved as a time segment to obtain an animation segment, wherein the animation segment is a set of animation curves for which a keyframe object can be set.

[0125] Optionally, the first editing module 1205 may also be used to:

[0126] Convert the format of the edited animation clip into the format of the target file to obtain the converted animation clip;

[0127] Copy the converted animation clip to the corresponding position in the target file to obtain the edited target file.

[0128] Optionally, the file data processing device further includes:

[0129] A rendering module 1207, used for rendering based on the edited target file to obtain a visual effect of the virtual character;

[0130] An acquisition module 1208, used for acquiring information to be edited generated based on the visual effect;

[0131] The second editing module 1209 is used to edit the animation clip based on the information to be edited to obtain the animation clip after secondary editing;

[0132] The third conversion module 1210 is used to convert the animation clip after secondary editing into a target file to obtain the target file after secondary editing.

[0133] This embodiment also provides an electronic device, including a processor and a memory, wherein the memory stores machine executable instructions that can be executed by the processor, and the processor executes the machine executable instructions to implement the above-mentioned file data processing method. The electronic device can be a server or a terminal device.

[0134] See also Fig.13 As shown, the electronic device includes a processor 1300 and a memory 1301 , wherein the memory 1301 stores machine executable instructions that can be executed by the processor 1300 , and the processor 1300 executes the machine executable instructions to implement the above-mentioned file data processing method.

[0135] Further, Fig.13 The electronic device shown further includes a bus 1302 and a communication interface 1303 , and the processor 1300 , the communication interface 1303 and the memory 1301 are connected via the bus 1302 .

[0136] Among them, the memory 1301 may include a high-speed random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage. The communication connection between the system network element and at least one other network element is realized through at least one communication interface 1303 (which can be wired or wireless), and the Internet, wide area network, local area network, metropolitan area network, etc. can be used. The bus 1302 can be an ISA bus, a PCI bus or an EISA bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.13 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0137] The processor 1300 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the processor 1300. The above processor 1300 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in this embodiment can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in conjunction with this embodiment can be directly embodied as a hardware decoding processor for execution, or a combination of hardware and software modules in the decoding processor for execution. The software module may be located in a random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, register, or other mature storage media in the art. The storage medium is located in the memory 1301, and the processor 1300 reads the information in the memory 1301 and completes the following steps in combination with its hardware:

[0138] Generate a wrapping model based on the skeleton data in the target file, wherein the target file is used to store the three-dimensional model data of the virtual character; the wrapping model has a preset shape, and the wrapping model surrounds the character model of the virtual character;

[0139] Creating a controller system based on the wrapping model, wherein the controller system is used to control the transformation properties of the bone parts in the wrapping model;

[0140] Convert the animation data corresponding to the skeleton data in the target file into animation data corresponding to the controller system to obtain the controller animation data;

[0141] Create time segments based on controller animation data to obtain animation segments;

[0142] Edit the animation resource data in the animation clip to obtain the edited animation clip;

[0143] The edited animation clip is converted to a target file to obtain the edited target file.

[0144] The above-mentioned method for processing file data generates a package model, converts the animation data in the target file into controller animation data based on the package model, and performs resource modification based on the controller animation data, thereby realizing direct modification and adjustment of the target file, saving the step of modifying the source file, reducing limitations and reuse thresholds, avoiding duplication of work, and greatly improving the modification efficiency of data in FBX files.

[0145] The above steps of generating a wrapping model based on the skeleton data in the target file include:

[0146] Generate a polygonal model with the bone as the origin according to the position information and axial information in the bone data in the target file;

[0147] The polygonal model is adjusted based on preset parameters to obtain a wrapped model, wherein the preset parameters are used to control the size and scaling of the polygonal model.

[0148] The above steps to create a controller system based on the package model include:

[0149] Based on the position and level of the bones in the wrapped model, create a first controller corresponding to each bone part, wherein the first controller is used to control the forward movement of the bones;

[0150] determining a first target skeletal part and a second target skeletal part among the skeletal parts for which the first controller has been created;

[0151] Creating a second controller corresponding to the first target bone part and a third controller corresponding to the second target bone part, wherein the second controller is used to control the reverse motion of the bone, and the third controller is used to ensure that a specific rotation attribute of the virtual object is not affected by the parent transformation;

[0152] A controller system is generated based on the first controller, the second controller, and the third controller.

[0153] The above step of generating a controller system based on the first controller, the second controller and the third controller includes:

[0154] The first controller and the second controller are mixed to obtain the processed first controller and the second controller;

[0155] Setting a linear interpolation of a third controller based on a preset constraint weight value to obtain a set third controller;

[0156] The processed first controller and the second controller, and the set third controller are determined as a controller system.

[0157] The above step of mixing the first controller and the second controller to obtain the processed first controller and the second controller includes:

[0158] Acquire first position information and second position information, wherein the first position information is position information of the skeleton corresponding to the first controller, and the second position information is position information of the target pole vector, where the target pole vector is a vector of the target position and direction in the reverse motion;

[0159] The first position information and the second position information are assigned to the second controller to obtain the processed first controller and the second controller.

[0160] The above steps of creating a time segment based on the controller animation data to obtain an animation segment include:

[0161] Determine the minimum time and maximum time of each bone in the controller animation data, where the minimum time is the time point of the first key frame where the bone starts moving, and the maximum time is the time point of the last key frame where the bone stops moving;

[0162] Determine the duration of the time segment based on the minimum time and the maximum time;

[0163] Based on the duration of the time segment, the controller animation data is saved as a time segment to obtain an animation segment, wherein the animation segment is a set of animation curves for which a keyframe object can be set.

[0164] The above step of converting the edited animation clip into a target file to obtain the edited target file includes:

[0165] Convert the format of the edited animation clip into the format of the target file to obtain the converted animation clip;

[0166] Copy the converted animation clip to the corresponding position in the target file to obtain the edited target file.

[0167] After the above step of converting the edited animation clip into a target file to obtain the edited target file, the following step is further included:

[0168] Rendering is performed based on the edited target file to obtain the visual effect of the virtual character;

[0169] Obtaining information to be edited generated based on visual effects;

[0170] Edit the animation clip based on the information to be edited to obtain the animation clip after secondary editing;

[0171] The animation clip after the second editing is converted into a target file to obtain the target file after the second editing.

[0172] This embodiment further provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are called and executed by a processor, the computer-executable instructions prompt the processor to implement the following steps of the above-mentioned file data processing method:

[0173] Generate a wrapping model based on the skeleton data in the target file, wherein the target file is used to store the three-dimensional model data of the virtual character; the wrapping model has a preset shape, and the wrapping model surrounds the character model of the virtual character;

[0174] Creating a controller system based on the wrapping model, wherein the controller system is used to control the transformation properties of the bone parts in the wrapping model;

[0175] Convert the animation data corresponding to the skeleton data in the target file into animation data corresponding to the controller system to obtain the controller animation data;

[0176] Create time segments based on controller animation data to obtain animation segments;

[0177] Edit the animation resource data in the animation clip to obtain the edited animation clip;

[0178] The edited animation clip is converted to a target file to obtain the edited target file.

[0179] The above-mentioned method for processing file data generates a package model, converts the animation data in the target file into controller animation data based on the package model, and performs resource modification based on the controller animation data, thereby realizing direct modification and adjustment of the target file, saving the step of modifying the source file, reducing limitations and reuse thresholds, avoiding duplication of work, and greatly improving the modification efficiency of data in FBX files.

[0180] The above steps of generating a wrapping model based on the skeleton data in the target file include:

[0181] Generate a polygonal model with the bone as the origin according to the position information and axial information in the bone data in the target file;

[0182] The polygonal model is adjusted based on preset parameters to obtain a wrapped model, wherein the preset parameters are used to control the size and scaling of the polygonal model.

[0183] The above steps to create a controller system based on the package model include:

[0184] Based on the position and level of the bones in the wrapped model, create a first controller corresponding to each bone part, wherein the first controller is used to control the forward movement of the bones;

[0185] determining a first target skeletal part and a second target skeletal part among the skeletal parts for which the first controller has been created;

[0186] Creating a second controller corresponding to the first target bone part and a third controller corresponding to the second target bone part, wherein the second controller is used to control the reverse motion of the bone, and the third controller is used to ensure that a specific rotation attribute of the virtual object is not affected by the parent transformation;

[0187] A controller system is generated based on the first controller, the second controller, and the third controller.

[0188] The above step of generating a controller system based on the first controller, the second controller and the third controller includes:

[0189] The first controller and the second controller are mixed to obtain the processed first controller and the second controller;

[0190] Setting a linear interpolation of a third controller based on a preset constraint weight value to obtain a set third controller;

[0191] The processed first controller and the second controller, and the set third controller are determined as a controller system.

[0192] The above step of mixing the first controller and the second controller to obtain the processed first controller and the second controller includes:

[0193] Acquire first position information and second position information, wherein the first position information is position information of the skeleton corresponding to the first controller, and the second position information is position information of the target pole vector, where the target pole vector is a vector of the target position and direction in the reverse motion;

[0194] The first position information and the second position information are assigned to the second controller to obtain the processed first controller and the second controller.

[0195] The above steps of creating a time segment based on the controller animation data to obtain an animation segment include:

[0196] Determine the minimum time and maximum time of each bone in the controller animation data, where the minimum time is the time point of the first key frame where the bone starts moving, and the maximum time is the time point of the last key frame where the bone stops moving;

[0197] Determine the duration of the time segment based on the minimum time and the maximum time;

[0198] Based on the duration of the time segment, the controller animation data is saved as a time segment to obtain an animation segment, wherein the animation segment is a set of animation curves for which a keyframe object can be set.

[0199] The above step of converting the edited animation clip into a target file to obtain the edited target file includes:

[0200] Convert the format of the edited animation clip into the format of the target file to obtain the converted animation clip;

[0201] Copy the converted animation clip to the corresponding position in the target file to obtain the edited target file.

[0202] After the above step of converting the edited animation clip into a target file to obtain the edited target file, the following step is further included:

[0203] Rendering is performed based on the edited target file to obtain the visual effect of the virtual character;

[0204] Obtaining information to be edited generated based on visual effects;

[0205] Edit the animation clip based on the information to be edited to obtain the animation clip after secondary editing;

[0206] The animation clip after secondary editing is converted into a target file to obtain the target file after secondary editing.

[0207] The computer program product of the file data processing method, device, electronic device and storage medium provided in this embodiment includes a computer-readable storage medium storing program code. The instructions included in the program code can be used to execute the methods described in the previous method embodiments. The specific implementation can be found in the method embodiments, which will not be repeated here.

[0208] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system and device described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0209] In addition, in the description of this embodiment, unless otherwise clearly specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, or it can be the internal communication of two components. For those skilled in the art, the specific meanings of the above terms in this disclosure can be understood according to specific circumstances.

[0210] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present disclosure, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present disclosure. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0211] In the description of the present disclosure, it should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc., indicating the orientation or positional relationship, are based on the orientation or positional relationship shown in the drawings, and are only for the convenience of describing the present disclosure and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation of the present disclosure. In addition, the terms "first", "second", and "third" are used for descriptive purposes only, and cannot be understood as indicating or implying relative importance.

[0212] Finally, it should be noted that the above embodiments are only specific implementation methods of the present disclosure, which are used to illustrate the technical solutions of the present disclosure, rather than to limit them. The protection scope of the present disclosure is not limited thereto. Although the present disclosure is described in detail with reference to the above embodiments, those skilled in the art should understand that any person skilled in the art who is familiar with the technical field can still modify the technical solutions recorded in the above embodiments within the technical scope disclosed in the present disclosure, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the present embodiments, and should be included in the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be based on the protection scope of the claims.

Claims

1. A method for processing file data, characterized in that: The method comprises: Generate a wrapping model based on the skeleton data in the target file, wherein the target file is used to store the three-dimensional model data of the virtual character; the wrapping model has a preset shape, and the wrapping model surrounds the character model of the virtual character; Creating a controller system based on the wrapping model, wherein the controller system is used to control transformation properties of a skeletal part in the wrapping model; Converting the animation data corresponding to the skeleton data in the target file into animation data corresponding to the controller system to obtain controller animation data; Creating a time segment based on the controller animation data to obtain an animation segment; Editing the animation resource data in the animation clip to obtain an edited animation clip; The edited animation clip is converted into the target file to obtain the edited target file.

2. The method according to claim 1, characterized in that The step of generating a package model based on the skeleton data in the target file includes: Generate a polygonal model with the bone as the origin according to the position information and axial information in the bone data in the target file; The polygonal model is adjusted based on preset parameters to obtain a wrapping model, wherein the preset parameters are used to control the size and scaling of the polygonal model.

3. The method according to claim 1, characterized in that: The step of creating a controller system based on the package model includes: Based on the position and level of the bones in the package model, create a first controller corresponding to each bone part, wherein the first controller is used to control the forward movement of the bones; determining a first target skeletal part and a second target skeletal part among the skeletal parts for which the first controller has been created; Creating a second controller corresponding to the first target bone part and a third controller corresponding to the second target bone part, wherein the second controller is used to control the reverse motion of the bone, and the third controller is used to ensure that a specific rotation attribute of the virtual object is not affected by the parent transformation; A controller system is generated based on the first controller, the second controller, and the third controller.

4. The method according to claim 3, characterized in that The step of generating a controller system based on the first controller, the second controller and the third controller comprises: Mixing the first controller and the second controller to obtain a processed first controller and a processed second controller; Setting a linear interpolation of the third controller based on a preset constraint weight value to obtain a set third controller; The processed first controller and the second controller, and the set third controller are determined as a controller system.

5. The method according to claim 4, characterized in that The step of mixing the first controller and the second controller to obtain the processed first controller and the second controller includes: Acquire first position information and second position information, wherein the first position information is position information of a bone corresponding to the first controller, and the second position information is position information of a target pole vector, and the target pole vector is a vector of a target position and direction in a reverse motion; The first position information and the second position information are assigned to the second controller to obtain the processed first controller and second controller.

6. The method according to claim 1, characterized in that The step of creating a time segment based on the controller animation data to obtain an animation segment comprises: Determine the minimum time and maximum time of each bone in the controller animation data, wherein the minimum time is the time point of the first key frame when the bone starts to move, and the maximum time is the time point of the last key frame when the bone stops moving; Determine the duration of the time segment based on the minimum time and the maximum time; Based on the duration of the time segment, the controller animation data is saved as a time segment to obtain an animation segment, wherein the animation segment is a set of animation curves for which a keyframe object can be set.

7. The method according to claim 1, characterized in that The step of converting the edited animation clip into the target file to obtain the edited target file comprises: Converting the format of the edited animation clip into the format of the target file to obtain a converted animation clip; The converted animation clip is copied to a corresponding position in the target file to obtain an edited target file.

8. The method according to any one of claims 1 to 7, characterized in that: After the step of converting the edited animation clip into the target file to obtain the edited target file, the method further includes: Rendering is performed based on the edited target file to obtain a visual effect of the virtual character; Acquire information to be edited generated based on the visual effect; Editing the animation clip based on the information to be edited to obtain a second-edited animation clip; The secondarily edited animation clip is converted into the target file to obtain the secondarily edited target file.

9. A file data processing device, characterized in that: The file data processing device comprises: A generating module, used for generating a wrapping model based on the skeleton data in the target file, wherein the target file is used to store the three-dimensional model data of the virtual character; the wrapping model has a preset shape, and the wrapping model surrounds the character model of the virtual character; A first creation module, used to create a controller system based on the package model, wherein the controller system is used to control the transformation properties of the skeleton parts in the package model; A first conversion module, used for converting the animation data corresponding to the skeleton data in the target file into the animation data corresponding to the controller system to obtain controller animation data; A second creation module is used to create a time segment based on the controller animation data to obtain an animation segment; A first editing module, used for editing the animation resource data in the animation clip to obtain an edited animation clip; The second conversion module is used to convert the edited animation clip into the target file to obtain the edited target file.

10. An electronic device, characterized in that: The invention comprises a processor and a memory, wherein the memory stores machine executable instructions that can be executed by the processor, and the processor executes the machine executable instructions to implement the file data processing method according to any one of claims 1 to 8.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions. When the computer-executable instructions are called and executed by a processor, the computer-executable instructions prompt the processor to implement the file data processing method according to any one of claims 1 to 8.