CN109550250B - Virtual object skeleton data processing method and device, storage medium and electronic equipment - Google Patents
Virtual object skeleton data processing method and device, storage medium and electronic equipment Download PDFInfo
- Publication number
- CN109550250B CN109550250B CN201811369376.4A CN201811369376A CN109550250B CN 109550250 B CN109550250 B CN 109550250B CN 201811369376 A CN201811369376 A CN 201811369376A CN 109550250 B CN109550250 B CN 109550250B
- Authority
- CN
- China
- Prior art keywords
- limb
- virtual object
- virtual
- skeleton
- bone
- 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.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
The embodiment of the invention relates to a method and a device for processing bone data of a virtual object, belonging to the technical field of data processing, wherein the method comprises the following steps: creating a limb skeleton ik of the virtual object; wherein, the skeleton position information of the virtual object corresponds to the limb skeleton ik one by one; judging whether the position of the virtual object in the virtual scene belongs to a preset position or not; if the position of the virtual object in the virtual scene belongs to a preset position, reading a limb skeleton ik corresponding to the skeleton position information; and controlling the virtual object to move at the preset position by utilizing the limb skeleton ik. The method solves the problem that the accuracy of the animation is low because the climbing animation is directly made of the CS skeleton of 3Dmax and then is directly adsorbed on an object in the prior art; the accuracy of the animation is improved, the movement of the virtual object at the preset position is more vivid, and the user experience is improved.
Description
Technical Field
The embodiment of the invention relates to the technical field of data processing, in particular to a virtual object bone data processing method, a virtual object bone data processing device, a computer readable storage medium and electronic equipment.
Background
Currently, electronic games are of a wide variety, where the more popular variety may belong to action role-playing games. The most symbolic elements in the action role-playing game are that the game role has abundant attacking or defending skills. Further, in the defense skills, the game character may need to be avoided by climbing skills during the process of avoiding.
In the existing climbing animation, the climbing animation is generally made by directly using CS bones of 3Dmax, and then is directly adsorbed on an object. However, animation produced in this way is less accurate. For example, occasionally there may be some clearance between the hands and feet and the wall; for another example, when an irregular object is encountered, the gap is larger and larger due to the self action, or the climbing is not continued at all. Therefore, the player experiences poor feeling in the game process and cannot be well integrated into the game.
Therefore, it is desirable to provide a new method and apparatus for processing bone data of a virtual object.
It is to be noted that the information invented in the above background section is only for enhancing the understanding of the background of the present invention, and therefore, may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
An object of the present invention is to provide a virtual object bone data processing method, a virtual object bone data processing apparatus, a computer-readable storage medium, and an electronic device, which overcome, at least to some extent, the problem of low accuracy due to the limitations and drawbacks of the related art.
According to an aspect of the present disclosure, there is provided a virtual object bone data processing method, including:
creating a limb skeleton ik of the virtual object; wherein, the skeleton position information of the virtual object corresponds to the limb skeleton ik one by one;
judging whether the position of the virtual object in the virtual scene belongs to a preset position or not;
if the position of the virtual object in the virtual scene belongs to a preset position, reading a limb skeleton ik corresponding to the skeleton position information;
and controlling the virtual object to move at the preset position by utilizing the limb skeleton ik.
In an exemplary embodiment of the disclosure, creating a limb bone ik of a virtual object comprises:
creating a limb controller and a limb virtual body of the virtual object;
and selecting an ik target of the limb virtual body, and connecting the limb controller with the ik target of the limb virtual body to obtain the limb bone ik.
In an exemplary embodiment of the present disclosure, creating a limb virtual body of the virtual object includes:
configuring a length ratio of each joint included in the limb virtual body;
and creating a limb virtual body of the virtual object according to the length proportion of each joint.
In an exemplary embodiment of the disclosure, controlling the virtual object to move at the preset position using the limb bone ik includes:
controlling the virtual object to move at the preset position by utilizing the limb controller and an ik target of the limb virtual body;
and determining the number of the ik targets according to the actual position of the limb virtual body.
In an exemplary embodiment of the present disclosure, the preset position includes a climbing position having a concave-convex surface.
In an exemplary embodiment of the present disclosure, the virtual object bone data processing method further includes:
and adjusting the horizontal and vertical lengths of the limb virtual body of the virtual object according to the concave-convex degree of the concave-convex surface of the climbing position.
In an exemplary embodiment of the present disclosure, adjusting the horizontal and vertical lengths of the limb virtual body of the virtual object according to the degree of the concave-convex surface of the preset position includes:
judging whether the concave-convex degree of the concave-convex surface of the climbing position is larger than the preset curvature of the limb virtual body;
and if the concave-convex degree of the concave-convex surface of the climbing position is larger than the preset curvature of the limb virtual body, adjusting the transverse and longitudinal lengths of the limb virtual body of the virtual object.
According to an aspect of the present disclosure, there is provided a virtual object bone data processing apparatus, including:
a creation module for creating a limb bone ik of a virtual object; wherein, the skeleton position information of the virtual object corresponds to the limb skeleton ik one by one;
the judging module is used for judging whether the position of the virtual object in the virtual scene belongs to a preset position or not;
the reading module is used for reading limb bones ik corresponding to the bone position information if the position of the virtual object in the virtual scene belongs to a preset position;
and the control module is used for controlling the virtual object to move at the preset position by utilizing the limb skeleton ik.
According to an aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the virtual object bone data processing method of any one of the above.
According to an aspect of the present disclosure, there is provided an electronic device including:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform any one of the above virtual object skeletal data processing methods via execution of the executable instructions.
The embodiment of the invention provides a method and a device for processing bone data of a virtual object, wherein a limb bone ik of the virtual object is created; then when the position of the virtual object in the virtual scene is judged to belong to a preset position, reading a limb skeleton ik corresponding to the skeleton position information; finally, controlling the virtual object to move at a preset position by utilizing the limb skeleton ik; on one hand, when the position of the virtual object in the virtual scene is judged to belong to the preset position, reading a limb skeleton ik corresponding to the skeleton position information; the limb skeleton ik is used for controlling the virtual object to move at a preset position, so that the problem of low animation accuracy caused by the fact that the CS skeleton of 3Dmax is directly used for making climbing type animation and then directly adsorbed on an object in the prior art is solved; the animation accuracy is improved, so that the movement of the virtual object at the preset position is more vivid, and the user experience is improved; on the other hand, by judging whether the position of the virtual object in the virtual scene belongs to the preset position or not and reading the limb skeleton ik corresponding to the skeleton position information when the position of the virtual object in the virtual scene belongs to the preset position, the problem that the animation accuracy is not high due to the fact that the limb skeleton ik controls the virtual object to move when the virtual object is not in the preset position is avoided, and the animation accuracy is further improved; on the other hand, by creating the limb bone ik of the virtual object and reading the limb bone ik corresponding to the bone position information when judging that the position of the virtual object in the virtual scene belongs to the preset position, the problems that the workload is large due to the fact that the bone ik needs to be repeatedly established for many times and the occupied memory is large due to the fact that the bone ik is repeatedly established for many times are solved, animation development efficiency is improved, meanwhile, storage space is saved, the burden of a system is reduced, and the operation speed of the system is improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description, serve to explain the principles of the invention. It is obvious that the drawings in the following description are only some embodiments of the invention, and that for a person skilled in the art, other drawings can be derived from them without inventive effort.
Fig. 1 schematically shows a flow chart of a virtual object bone data processing method.
Fig. 2 schematically shows an example of a construction scenario of a limb bone ik.
Fig. 3 schematically shows an example view of a virtual scene.
Fig. 4 schematically shows another example view of a virtual scene.
Fig. 5 schematically shows another example view of a virtual scene.
Fig. 6 schematically shows a flow chart of a method for adjusting the horizontal and vertical lengths of the limb virtual body of the virtual object according to the degree of the unevenness of the uneven surface of the climbing position.
Fig. 7 schematically shows another example view of a virtual scene.
Fig. 8 schematically shows a block diagram of a virtual object bone data processing device.
Fig. 9 schematically shows an electronic device for implementing the above-described virtual object bone data processing method.
Fig. 10 schematically illustrates a computer-readable storage medium for implementing the above-described virtual object bone data processing method.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, devices, steps, and so forth. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the invention.
Furthermore, the drawings are merely schematic illustrations of the invention and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
In the present exemplary embodiment, a method for processing bone data of a virtual object is first provided, where the method may be executed in a server, a server cluster, a cloud server, or the like, and may also be executed in a terminal device; of course, those skilled in the art may also operate the method of the present invention on other platforms as needed, and this is not particularly limited in this exemplary embodiment. Referring to fig. 1, the virtual object bone data processing method may include the steps of:
step S110, a limb skeleton ik of the virtual object is created; and the bone position information of the virtual object corresponds to the limb bones ik one by one.
And S120, judging whether the position of the virtual object in the virtual scene belongs to a preset position.
And S130, if the position of the virtual object in the virtual scene belongs to a preset position, reading a limb skeleton ik corresponding to the skeleton position information.
And S140, controlling the virtual object to move at the preset position by using the limb skeleton ik.
In the virtual object bone data processing method, on one hand, when the position of the virtual object in the virtual scene is judged to belong to the preset position, the limb bone ik corresponding to the bone position information is read; the limb skeleton ik is used for controlling the virtual object to move at a preset position, so that the problem of low animation accuracy caused by the fact that the CS skeleton of 3Dmax is directly used for making climbing type animation and then directly adsorbed on an object in the prior art is solved; the animation accuracy is improved, so that the movement of the virtual object at the preset position is more vivid, and the user experience is improved; on the other hand, by judging whether the position of the virtual object in the virtual scene belongs to the preset position or not and reading the limb skeleton ik corresponding to the skeleton position information when the position of the virtual object in the virtual scene belongs to the preset position, the problem that the animation accuracy is not high due to the fact that the limb skeleton ik controls the virtual object to move when the virtual object is not in the preset position is avoided, and the animation accuracy is further improved; on the other hand, by creating the limb bone ik of the virtual object and reading the limb bone ik corresponding to the bone position information when judging that the position of the virtual object in the virtual scene belongs to the preset position, the problems that the workload is large due to the fact that the bone ik needs to be repeatedly established for many times and the occupied memory is large due to the fact that the bone ik is repeatedly established for many times are solved, animation development efficiency is improved, meanwhile, storage space is saved, the burden of a system is reduced, and the operation speed of the system is improved.
Hereinafter, each step in the above-described virtual object bone data processing method in the present exemplary embodiment will be explained and explained in detail with reference to the drawings.
In step S110, a limb skeleton ik of the virtual object is created; and the bone position information of the virtual object corresponds to the limb bones ik one by one.
In the present exemplary embodiment, first, the limb bones ik are explained and explained. ik (Inverse dynamics), which is a method for determining the orientation of a child skeleton and reversely deducing the orientation of an N-level father skeleton on an inheritance chain; by creating the limb skeleton ik, the problem of low animation accuracy caused by directly using a CS skeleton (common skeleton) of 3Dmax to make a climbing animation and then directly adsorbing the climbing animation on an object in the prior art is solved; the accuracy of the animation is improved, and the movement of the virtual object at the preset position is more vivid. Further, creating a limb bone ik of a virtual object may include: creating a limb controller and a limb virtual body of the virtual object; and selecting an ik target of the limb virtual body, and connecting the limb controller with the ik target of the limb virtual body to obtain the limb bone ik. In detail:
first, a limb controller and a limb virtual body of a virtual object (here, the virtual object is exemplified as a virtual character, and the same shall apply hereinafter) are created; wherein creating the limb virtual body of the virtual object may include: configuring a length ratio of each joint included in the limb virtual body; and creating a limb virtual body of the virtual object according to the length proportion of each joint. For example:
firstly, configuring the length ratio of each joint included in a limb virtual body (for example, the limb virtual body may be a left leg, and may include a thigh, a calf, a left foot, and a toe; it should be additionally noted here that other limb virtual bodies may also be exemplified, for example, an arm and the like, and this example is not particularly limited); for example, the thigh: shank: left foot: the length ratio of the toes can be 10:8:4:0.5, and the like, and other ratios can be adopted, and the example is not particularly limited; then, a limb virtual body of the virtual object is created according to the ratio. In this way, the limb virtual body of the virtual object can be enlarged or reduced in equal proportion, for example, when the virtual object is a child, the limb virtual body can be reduced in equal proportion; when the virtual object is an adult, the virtual object can be amplified in equal proportion, so that the distortion of the virtual object caused by the fact that scaling is directly carried out in the absence of proportion is avoided, and the accuracy of animation is further improved. It should be noted here that the length ratio may be adjusted according to the gender, and this example is not particularly limited.
Further, after the limb virtual body of the virtual object is created, a limb controller of the virtual object needs to be created; the limb controller can control local movement of the limb and can also control the whole movement of the limb; for example, three limb controllers may be provided on the left leg of the virtual subject for controlling the movements of the leg, the step, and the toes, respectively; further, a limb controller may be directly provided for controlling the movement of the entire left leg, which is not particularly limited in this example.
Furthermore, after the limb virtual body and the limb controller of the virtual object are created, an ik target of the limb virtual body needs to be selected, and then the limb controller is connected with the ik target of the limb virtual body to obtain the limb skeleton ik. For example, the following steps are carried out:
referring to FIG. 2, an ik target for the left leg of the virtual object is selected, which may be, for example, as shown at 1, 2, and 3 in FIG. 2; the number of the ik targets can be determined according to the number required by the actual position of the limb virtual body; for example, the left leg may have three ik targets or four ik targets, which the present example is not particularly limited; for another example, the left arm may have two ik targets or may have other multiple ik targets. Furthermore, after the ik target selection is completed, the limb controller is connected with the ik target of the limb virtual body to obtain the limb skeleton ik. For example, the ik target # 1 can be connected to controller # B, and the control # B can be connected to controller # C; connecting the ik target 3 to the ik target 2; and connecting the target No. 2 ik to the controller No. C, and finally connecting the controller No. C to the controller No. A, so that the limb skeleton ik of the left leg of the virtual object is obtained.
Furthermore, in order to facilitate the search of each limb bone ik, the bone position information of the virtual object may be in one-to-one correspondence with the limb bone ik. For example, the correspondence of the bone position information of the left leg to the limb bone ik may be: left _ leg: ik _ leg _ L, etc.; by the method, when a developer queries the limb skeleton ik of a certain limb virtual body, the developer can directly query in the pull-down list corresponding to the name, so that the query efficiency is improved, and the animation production efficiency is improved.
In step S120, it is determined whether the position of the virtual object in the virtual scene belongs to a preset position.
In the present exemplary embodiment, after the limb skeleton ik of the virtual object is created, it may be determined whether the position of the virtual object in the virtual scene belongs to a preset position; the preset position may include a position with a concave-convex surface, for example, a horizontal position with a concave-convex surface (for example, a ground with a protrusion or a depression, etc.) or a vertical position with a concave-convex surface (for example, a wall or a rock body with a protrusion or a depression, a trunk, etc., as shown in fig. 3 and 4 in particular), a position with a slope with a concave-convex surface (for example, a hill), etc., or a flat vertical position (for example, a flat vertical wall, as shown in fig. 5 in particular), etc., which is not limited in this example. Furthermore, judgment can be carried out according to the actual requirements of the virtual scene; for example, when a virtual object needs to climb a wall to avoid an attack, it can be determined that the position of the virtual object in a virtual scene belongs to a preset position; the position of the virtual object in the virtual scene can be judged to belong to a preset position in other ways, for example, when the virtual object runs in a climbing mode when meeting obstacles; this example is not particularly limited thereto.
In step S130, if the position of the virtual object in the virtual scene belongs to a preset position, a limb bone ik corresponding to the bone position information is read.
In the present exemplary embodiment, if the position of the virtual object in the virtual scene belongs to the preset position, the limb bone ik corresponding to the bone position information is read. For example, when the virtual object is located at a preset position of a wall with a protrusion or a depression, the arm and the leg are required to act simultaneously, and the corresponding limb bones of the arm and the leg can be read. For example, the above left _ leg: ik _ leg _ L; other parts can be read at one time, and are not described in detail here.
In step S140, the limb bone ik is used to control the virtual object to move at the preset position.
In the present exemplary embodiment, after the limb bone ik corresponding to the bone position information is read, the limb bone ik may be used to control the virtual object to move at a preset position. Wherein, the controlling the virtual object to move at the preset position by using the limb skeleton ik may include: and controlling the virtual object to move at the preset position by utilizing the limb controller and the ik target of the limb virtual body. In detail:
continuing with FIG. 2, leg motion may be controlled using an ik target number 1 and a controller number 1; controlling the movement of the heel by using the No. 2 ik target and the No. 2 controller; controlling the motion of the sole and the toe by using the No. 3 ik target and the No. 3 controller; meanwhile, because each ik target and each controller are connected with each other, the whole left leg can be controlled to flexibly move on the wall with the concave-convex surface. Furthermore, by using the method, when the virtual object moves on the wall with the concave-convex surface, climbing action is provided, so that the animation effect is more vivid; referring to FIG. 5, the hat of FIG. 5 is shown without the technique of the present invention, and thus is seen to be directly dropped, having a large space with the wall; the virtual object is processed by the technology of the invention, so that climbing actions occur.
Furthermore, in order to enable the animation effect to be close to the actual effect better, the horizontal length and the longitudinal length of the limb virtual body of the virtual object can be adjusted according to the concave-convex degree of the concave-convex surface at the preset position. As shown in fig. 6, adjusting the horizontal and vertical lengths of the limb virtual body of the virtual object according to the degree of the concave and convex surface at the preset position may include steps S610 and S620. Wherein:
in step S610, it is determined whether the degree of concavity and convexity of the concave-convex surface of the climbing position is greater than a preset curvature of the virtual limb body.
In step S620, if the degree of the concave-convex surface of the climbing position is greater than the preset curvature of the limb virtual body, adjusting the horizontal and vertical lengths of the limb virtual body of the virtual object.
Next, step S610 and step S620 will be explained and explained. Firstly, judging whether the concave-convex degree of the concave-convex surface of the climbing position is greater than the preset curvature of the limb virtual body; for example, whether the degree of unevenness of the uneven surface of the climbing position (the degree of curvature of the armrest on the vertical wall, the degree of curvature of the foot support position, or the like) is greater than the preset curvature of the limb virtual body (the preset curvature of the finger or the preset curvature of the foot) may be determined; for another example, as shown in fig. 7, it can be determined whether the degree of unevenness of the uneven surface at the predetermined position (degree of curvature of the grip portion of the virtual gun) is greater than the predetermined curvature of the virtual body of the limb (predetermined curvature of the left-hand finger), or whether the curvature of the butt portion of the virtual gun is greater than the predetermined curvature of the right-hand finger. It should be additionally noted here that the preset curvature of the limb virtual body may be preset; the preset curvature may be a numerical range or a fixed numerical value, which is not particularly limited in this example; further, if the bending degree of the handle part of the virtual gun is larger than the preset bending degree of the left-hand finger; or the curvature of the gun stock part of the virtual gun is larger than the preset curvature of the right hand finger, the transverse and longitudinal lengths of the left hand finger or the right hand finger can be adjusted, for example, the left hand finger or the right hand finger can be stretched upwards or downwards for adjustment; it should be added here that the stretching length here can be set to a preset value; if the bone height is larger than the preset value, the bone ik of the part needs to be adjusted again to adapt to the concave-convex degree of the concave-convex surface at the preset position.
The present disclosure also provides a virtual object bone data processing apparatus. Referring to fig. 8, the virtual object bone data processing apparatus may include a creation module 810, a determination module 820, a reading module 830, and a control module 840. Wherein:
the creation module 810 may be used to create a limb skeleton ik of a virtual object; and the bone position information of the virtual object corresponds to the limb bones ik one by one.
The determining module 820 may be configured to determine whether a position of the virtual object in the virtual scene belongs to a preset position.
The reading module 830 may be configured to read a limb bone ik corresponding to the bone position information if the position of the virtual object in the virtual scene belongs to a preset position.
The control module 840 may be configured to control the virtual object to move at the predetermined position using the limb bones ik.
In an example embodiment of the present disclosure, creating a limb bone ik of a virtual object comprises:
creating a limb controller and a limb virtual body of the virtual object;
and selecting an ik target of the limb virtual body, and connecting the limb controller with the ik target of the limb virtual body to obtain the limb bone ik.
In an example embodiment of the present disclosure, creating a limb virtual body of the virtual object comprises:
configuring a length ratio of each joint included in the limb virtual body;
and creating a limb virtual body of the virtual object according to the length proportion of each joint.
In an example embodiment of the present disclosure, controlling the virtual object to move at the preset position using the limb bone ik includes:
controlling the virtual object to move at the preset position by utilizing the limb controller and an ik target of the limb virtual body;
and determining the number of the ik targets according to the actual position of the limb virtual body.
In an example embodiment of the present disclosure, the preset position includes a climbing position having a concave-convex surface.
In an example embodiment of the present disclosure, the virtual object bone data processing method further includes:
and adjusting the horizontal and vertical lengths of the limb virtual body of the virtual object according to the concave-convex degree of the concave-convex surface of the climbing position.
In an example embodiment of the present disclosure, adjusting the horizontal and vertical lengths of the limb virtual body of the virtual object according to the degree of the unevenness of the uneven surface of the preset position includes:
judging whether the concave-convex degree of the concave-convex surface of the climbing position is larger than the preset curvature of the limb virtual body;
and if the concave-convex degree of the concave-convex surface of the climbing position is larger than the preset curvature of the limb virtual body, adjusting the transverse and longitudinal lengths of the limb virtual body of the virtual object.
The specific details of each module in the virtual object bone data processing apparatus have been described in detail in the corresponding virtual object bone data processing method, and therefore are not described herein again.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the invention. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Moreover, although the steps of the methods of the present invention are depicted in the drawings in a particular order, this does not require or imply that the steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiment of the present invention can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to make a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) execute the method according to the embodiment of the present invention.
In an exemplary embodiment of the present invention, there is also provided an electronic device capable of implementing the above method.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or program product. Thus, various aspects of the invention may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
An electronic device 900 according to this embodiment of the invention is described below with reference to fig. 9. The electronic device 900 shown in fig. 9 is only an example and should not bring any limitations to the function and scope of use of the embodiments of the present invention.
As shown in fig. 9, the electronic device 900 is embodied in the form of a general purpose computing device. Components of electronic device 900 may include, but are not limited to: the at least one processing unit 910, the at least one memory unit 920, and a bus 930 that couples various system components including the memory unit 920 and the processing unit 910.
Wherein the storage unit stores program code that is executable by the processing unit 910 to cause the processing unit 910 to perform steps according to various exemplary embodiments of the present invention described in the above section "exemplary methods" of the present specification. For example, the processing unit 910 may execute step S110 as shown in fig. 1: creating a limb skeleton ik of the virtual object; wherein, the skeleton position information of the virtual object corresponds to the limb skeleton ik one by one; s120: judging whether the position of the virtual object in the virtual scene belongs to a preset position or not; step S130: if the position of the virtual object in the virtual scene belongs to a preset position, reading a limb skeleton ik corresponding to the skeleton position information; step S140: and controlling the virtual object to move at the preset position by utilizing the limb skeleton ik.
The storage unit 920 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM)9201 and/or a cache memory unit 9202, and may further include a read only memory unit (ROM) 9203.
The electronic device 900 may also communicate with one or more external devices 700 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 900, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 900 to communicate with one or more other computing devices. Such communication may occur via input/output (I/O) interface 950. Also, the electronic device 900 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network, such as the Internet) via the network adapter 960. As shown, the network adapter 960 communicates with the other modules of the electronic device 900 via the bus 930. It should be appreciated that although not shown, other hardware and/or software modules may be used in conjunction with the electronic device 900, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiment of the present invention can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to make a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) execute the method according to the embodiment of the present invention.
In an exemplary embodiment of the present invention, there is also provided a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, aspects of the invention may also be implemented in the form of a program product comprising program code means for causing a terminal device to carry out the steps according to various exemplary embodiments of the invention described in the above section "exemplary methods" of the present description, when said program product is run on the terminal device.
Referring to fig. 10, a program product 1000 for implementing the above method according to an embodiment of the present invention is described, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited in this regard and, in the present document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
Furthermore, the above-described figures are merely schematic illustrations of processes involved in methods according to exemplary embodiments of the invention, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
Claims (8)
1. A method for processing bone data of a virtual object, comprising:
creating a limb skeleton ik of the virtual object; wherein, the skeleton position information of the virtual object corresponds to the limb skeleton ik one by one;
judging whether the position of the virtual object in the virtual scene belongs to a preset position or not; wherein the preset position comprises a climbing position with a concave-convex surface;
if the position of the virtual object in the virtual scene belongs to a preset position, reading a limb skeleton ik corresponding to the skeleton position information;
and controlling the virtual object to move at the preset position by utilizing the limb skeleton ik, and adjusting the transverse and longitudinal lengths of the limb virtual body of the virtual object according to the concave-convex degree of the concave-convex surface of the climbing position.
2. The virtual object skeletal data processing method of claim 1, wherein creating a limb skeleton ik of a virtual object comprises:
creating a limb controller and a limb virtual body of the virtual object;
and selecting an ik target of the limb virtual body, and connecting the limb controller with the ik target of the limb virtual body to obtain the limb bone ik.
3. The virtual object skeletal data processing method of claim 2, wherein creating a virtual body of limbs of the virtual object comprises:
configuring a length ratio of each joint included in the limb virtual body;
and creating a limb virtual body of the virtual object according to the length proportion of each joint.
4. The method as claimed in claim 2, wherein the controlling the virtual object to move at the preset position by the limb bone ik comprises:
controlling the virtual object to move at the preset position by utilizing the limb controller and an ik target of the limb virtual body;
and determining the number of the ik targets according to the actual position of the limb virtual body.
5. The virtual object bone data processing method according to claim 1, wherein adjusting the horizontal and vertical lengths of the virtual body of the limb of the virtual object according to the degree of the irregularity of the irregular surface of the climbing position comprises:
judging whether the concave-convex degree of the concave-convex surface of the climbing position is larger than the preset curvature of the limb virtual body;
and if the concave-convex degree of the concave-convex surface of the climbing position is larger than the preset curvature of the limb virtual body, adjusting the transverse and longitudinal lengths of the limb virtual body of the virtual object.
6. A virtual object bone data processing apparatus, comprising:
a creation module for creating a limb bone ik of a virtual object; wherein, the skeleton position information of the virtual object corresponds to the limb skeleton ik one by one;
the judging module is used for judging whether the position of the virtual object in the virtual scene belongs to a preset position or not; wherein the preset position comprises a climbing position with a concave-convex surface;
the reading module is used for reading limb bones ik corresponding to the bone position information if the position of the virtual object in the virtual scene belongs to a preset position;
and the control module is used for controlling the virtual object to move at the preset position by utilizing the limb skeleton ik and adjusting the transverse and longitudinal lengths of the limb virtual body of the virtual object according to the concave-convex degree of the concave-convex surface of the climbing position.
7. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the virtual object bone data processing method according to any one of claims 1 to 5.
8. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the virtual object skeletal data processing method of any of claims 1 to 5 via execution of the executable instructions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811369376.4A CN109550250B (en) | 2018-11-16 | 2018-11-16 | Virtual object skeleton data processing method and device, storage medium and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811369376.4A CN109550250B (en) | 2018-11-16 | 2018-11-16 | Virtual object skeleton data processing method and device, storage medium and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109550250A CN109550250A (en) | 2019-04-02 |
CN109550250B true CN109550250B (en) | 2022-04-29 |
Family
ID=65866581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811369376.4A Active CN109550250B (en) | 2018-11-16 | 2018-11-16 | Virtual object skeleton data processing method and device, storage medium and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109550250B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113033242A (en) * | 2019-12-09 | 2021-06-25 | 上海幻电信息科技有限公司 | Action recognition method and system |
CN111524213B (en) * | 2020-07-06 | 2020-09-22 | 江苏原力数字科技股份有限公司 | Inverse dynamics resolving method and device applied to humanoid skeleton |
CN111784809B (en) * | 2020-07-09 | 2023-07-28 | 网易(杭州)网络有限公司 | Virtual character skeleton animation control method and device, storage medium and electronic equipment |
CN112057866A (en) * | 2020-09-14 | 2020-12-11 | 深圳市小元元科技有限公司 | Simulation method conforming to acting force of human body joint |
CN112348931B (en) * | 2020-11-06 | 2024-01-30 | 网易(杭州)网络有限公司 | Foot reverse motion control method, device, equipment and storage medium |
CN113457136B (en) * | 2021-06-29 | 2022-05-31 | 完美世界(北京)软件科技发展有限公司 | Game animation generation method and device, storage medium and terminal |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104517310A (en) * | 2014-10-21 | 2015-04-15 | 无锡梵天信息技术股份有限公司 | Robot animation method using inverse dynamical simulation |
CN106326643A (en) * | 2016-08-16 | 2017-01-11 | 完美世界(北京)数字科技有限公司 | Inverse kinematics calculation method and device applied to humanoid framework |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10099135B2 (en) * | 2017-02-16 | 2018-10-16 | Electronic Arts Inc. | Relative inverse kinematics graphical user interface tool |
-
2018
- 2018-11-16 CN CN201811369376.4A patent/CN109550250B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104517310A (en) * | 2014-10-21 | 2015-04-15 | 无锡梵天信息技术股份有限公司 | Robot animation method using inverse dynamical simulation |
CN106326643A (en) * | 2016-08-16 | 2017-01-11 | 完美世界(北京)数字科技有限公司 | Inverse kinematics calculation method and device applied to humanoid framework |
Non-Patent Citations (2)
Title |
---|
Foot Placement Using Foot IK;Peyman Massoudi;《http://peyman-mass.blogspot.com/2015/06/foot-placement-using-foot-ik.html》;20150630;网页正文第1段 * |
IK bone骨骼设置;互联网;《https://wenku.baidu.com/ndcore/browse/docDownloadSucc?docId=6f4387a3f7ec4afe05a1df72&wp=2&shopId=&pAlert=》;20160724;网页正文第1页第1段-最后1页最后1段 * |
Also Published As
Publication number | Publication date |
---|---|
CN109550250A (en) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109550250B (en) | Virtual object skeleton data processing method and device, storage medium and electronic equipment | |
CN109848985B (en) | Robot graphic programming method and device and intelligent terminal | |
US20240307779A1 (en) | Animation data processing method, non-transitory storage medium and electronic device | |
US20230334744A1 (en) | Method and apparatus for generating walk animation of virtual role, device and storage medium | |
CN112684970B (en) | Adaptive display method and device of virtual scene, electronic equipment and storage medium | |
US10758826B2 (en) | Systems and methods for multi-user editing of virtual content | |
CN105117296A (en) | Method and system for synchronizing states of objects in game | |
CN109509242B (en) | Virtual object facial expression generation method and device, storage medium and electronic equipment | |
US20230330534A1 (en) | Method and apparatus for controlling opening operations in virtual scene | |
CN112669194B (en) | Animation processing method, device, equipment and storage medium in virtual scene | |
CN111369647A (en) | Information processing method and device, computer storage medium and electronic equipment | |
CN108734774B (en) | Virtual limb construction method and device and human-computer interaction method | |
CN113041616B (en) | Method, device, electronic equipment and storage medium for controlling skip word display in game | |
US20230360348A1 (en) | Method and apparatus for generating main control object projection, device, and medium | |
CN112546631A (en) | Role control method, device, equipment and storage medium | |
CN111784809B (en) | Virtual character skeleton animation control method and device, storage medium and electronic equipment | |
CN111714889B (en) | Sound source control method, device, computer equipment and medium | |
CN114219924A (en) | Method, apparatus, device, medium, and program product for adaptive display of virtual scene | |
KR102545817B1 (en) | Game providing device, game providing method and computer program for determining a final reward by contact with computational obstacles | |
CN114247132B (en) | Control processing method, device, equipment, medium and program product for virtual object | |
CN109864743B (en) | User height determination method and device in virtual reality system and storage medium | |
US20240299848A1 (en) | Guiding movement of virtual object | |
CN114842122B (en) | Model rendering method, device, equipment and storage medium | |
US10437940B2 (en) | Computational design of linkage-based characters | |
CN116271832A (en) | Editing method, device, medium, electronic device and program product for virtual image |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |