Game flight control method, device and electronic equipment

By setting up obstacles in the game to simulate real flight, and determining the angle and position of the obstacles based on the virtual player's flight direction and speed, the problem of weakened flight control logic for virtual characters is solved, resulting in a more realistic flight experience and immersion.

CN120860599BActive Publication Date: 2026-08-25GUANGZHOU CULUO TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511108892.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-08
Publication Date
2026-08-25
Estimated Expiration
2045-08-08

AI Technical Summary

Technical Problem

The current virtual character flight control logic in games weakens the simulation of the real physical environment, resulting in a lack of realistic flight experience and failing to meet players' demand for highly immersive game interaction.

Method used

By setting up obstructions to simulate real flight, the angle and position of the obstructions are determined based on the virtual player's flight direction and speed to simulate resistance and provide a realistic flight experience.

Benefits of technology

It enhances the realistic flight experience in the game, improves player immersion, and increases the realism of game interactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120860599B_ABST
    Figure CN120860599B_ABST
Patent Text Reader

Abstract

The application discloses a game flight control method and device and electronic equipment, wherein the method comprises the following steps: acquiring the flight direction and flight speed of a current virtual player; controlling the current virtual player to fly in a game picture, and determining the setting angle of a blocking surface according to the flight angle of the current virtual player relative to a world coordinate system and a preconfigured first included angle interval during the flight of the current virtual player, wherein the preconfigured first included angle interval is used for limiting the included angle between the blocking surface and the flight direction, and the blocking surface is used for simulating the resistance during the flight of the current virtual player; and setting the blocking surface in the preset range of the current virtual player according to the setting angle of the blocking surface.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of map technology, and in particular relates to a game flight control method, device and electronic device. Background Technology

[0002] Currently, in existing game scenarios, flight control of virtual characters is a common interaction method, and helicopter control logic is often used to implement flight control of virtual characters.

[0003] In existing technologies, the altitude control of the flight Z-axis is independent of the character's current kinetic energy and gravitational potential energy. Altitude changes are achieved by assigning additional speed parameters. This control logic weakens the simulation of the real physical environment, resulting in virtual characters lacking a realistic flight experience during flight and failing to meet players' needs for highly immersive game interaction. Summary of the Invention

[0004] This application provides a game flight control method, device, and electronic device that simulates real flight by setting up obstruction surfaces, providing players with a realistic flight experience.

[0005] In a first aspect, embodiments of this application provide a game flight control method, the method comprising:

[0006] Obtain the current virtual player's flight direction and speed;

[0007] Based on the current virtual player's flight direction and speed, during the process of controlling the current virtual player's flight in the game screen, the setting angle of the blocking surface is determined according to the flight angle of the current virtual player's flight direction relative to the world coordinate system and the pre-configured first angle range. The pre-configured first angle range is used to limit the angle between the blocking surface and the flight direction. The blocking surface is used to simulate the resistance during the current virtual player's flight.

[0008] The blocking surface is set within a preset range of the current virtual player according to the setting angle of the blocking surface.

[0009] In one embodiment of this application, determining the setting angle of the blocking surface based on the flight angle of the current virtual player's flight direction relative to the world coordinate system and a pre-configured first angle range includes:

[0010] Determine the angle range that matches the current virtual player's flight speed from multiple preset angle ranges;

[0011] Add the lower limit of the matched angle interval to the flight angle to obtain the first value;

[0012] The upper limit of the matched angle interval is added to the flight angle to obtain a second value, and the first value and the second value constitute the first angle interval;

[0013] The setting angle of the blocking surface is determined based on the first included angle interval and the pre-configured second included angle interval, wherein the second included angle interval is used to limit the included angle between the blocking surface and the horizontal direction.

[0014] In one embodiment of this application, the plurality of preset included angle intervals include a first preset included angle interval and a second preset included angle interval;

[0015] The step of determining the angle interval that matches the current virtual player's flight speed from multiple preset angle intervals includes:

[0016] If the current virtual player's flight speed is less than a preset speed, the first preset angle interval will be used as the angle interval to match the current virtual player's flight speed.

[0017] If the current virtual player's flight speed is greater than or equal to a preset speed, the second preset angle interval is used as the angle interval to match the current virtual player's flight speed.

[0018] In one embodiment of this application, the flight speed is determined as follows:

[0019] The following processing is performed on each frame of the game screen:

[0020] The projection value of the normal to the blocking surface of the inverse vector corresponding to the initial flight speed is calculated to obtain the third value, wherein the initial flight speed is the flight speed of the current virtual player in the previous frame of the game screen;

[0021] Multiplying the third value by the first drag coefficient of the blocking surface yields the first acceleration;

[0022] Multiplying the initial flight speed by the first air resistance coefficient yields the air resistance deceleration.

[0023] The flight speed of the current virtual player in the current frame of the game is determined based on the initial flight speed, the first acceleration, the air resistance deceleration, and the time interval between two adjacent game frames.

[0024] In one embodiment of this application, the first drag coefficient is determined as follows:

[0025] Obtain a preset first correspondence relationship, which includes multiple flight speeds and the drag coefficient of the blocking surface corresponding to each flight speed;

[0026] The drag coefficient of the blocking surface that matches the initial flight speed is determined in the preset first correspondence based on the initial flight speed;

[0027] The drag coefficient of the matched blocking surface is determined as the first drag coefficient.

[0028] In one embodiment of this application, the first air resistance coefficient is determined as follows:

[0029] Obtain a preset second correspondence, which includes multiple flight speeds and the air drag coefficient corresponding to each flight speed;

[0030] The air resistance coefficient matching the initial flight speed is determined in the preset first correspondence based on the initial flight speed;

[0031] The matched air resistance coefficient is determined as the first air resistance coefficient.

[0032] In one embodiment of this application, after obtaining the current virtual player's flight direction and speed, the method further includes:

[0033] In response to an acceleration operation for the current virtual player, the acceleration operation is used to trigger the current virtual player to accelerate flight;

[0034] Based on the current virtual player's flight direction and preset maximum flight speed, control the current virtual player to fly in the game screen.

[0035] In one embodiment of this application, after obtaining the current virtual player's flight direction and speed, the method further includes:

[0036] When the speed difference between the flight speed and the pre-configured balance speed is less than a preset value, and the flight direction is a preset direction, the current virtual player is controlled to fly in the game screen according to the preset direction and the balance speed.

[0037] Secondly, embodiments of this application provide a game flight control device, the device comprising:

[0038] The acquisition module is used to obtain the current virtual player's flight direction and speed;

[0039] The determining module is used to control the current virtual player's flight in the game screen based on the current virtual player's flight direction and speed. During this process, the module determines the setting angle of the blocking surface based on the flight angle of the current virtual player's flight direction relative to the world coordinate system and a pre-configured first angle range. The pre-configured first angle range is used to limit the angle between the blocking surface and the flight direction. The blocking surface is used to simulate the resistance during the current virtual player's flight.

[0040] The setting module is used to set the blocking surface within a preset range of the current virtual player according to the setting angle of the blocking surface.

[0041] Thirdly, embodiments of this application provide an electronic device, including: a processor and a memory storing computer program instructions;

[0042] When the processor executes the computer program instructions, it implements the game flight control method as described in the first aspect.

[0043] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer program instructions, which, when executed by a processor, implement the game flight control method as described in the first aspect.

[0044] Fifthly, embodiments of this application provide a computer program product in which instructions, when executed by a processor of an electronic device, cause the electronic device to perform the game flight control method as described in the first aspect.

[0045] The game flight control method, device, and electronic device of this embodiment acquire the current virtual player's flight direction and speed; based on the current virtual player's flight direction and speed, during the process of controlling the current virtual player's flight in the game screen, the setting angle of the obstruction surface is determined according to the flight angle of the current virtual player's flight direction relative to the world coordinate system and a pre-configured first angle interval. The pre-configured first angle interval is used to limit the angle between the obstruction surface and the flight direction. The obstruction surface is used to simulate the resistance during the current virtual player's flight; the obstruction surface is set within a preset range of the current virtual player according to the setting angle of the obstruction surface. In the above process, by setting the obstruction surface to simulate real flight, a realistic flight experience is provided to the player. Attached Figure Description

[0046] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0047] Figure 1 This is a flowchart illustrating a game flight control method provided in an embodiment of this application;

[0048] Figure 2 This is a schematic diagram of the game interface for the game flight control method provided in this application embodiment. Figure 1 ;

[0049] Figure 3 This is a schematic diagram of the game interface for the game flight control method provided in this application embodiment. Figure 2 ;

[0050] Figure 4 This is a schematic diagram of the structure of the game flight control device provided in the embodiments of this application;

[0051] Figure 5 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0052] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0053] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0054] To address the problems of the prior art, this application provides a game flight control method, apparatus, and electronic device. The game flight control method provided in this application will be described first.

[0055] Figure 1 A flowchart illustrating a game flight control method according to an embodiment of this application is shown. Figure 1 As shown, the game flight control method provided in this application embodiment is applied to an electronic device and includes the following steps 101-103, wherein:

[0056] Step 101: Obtain the current virtual player's flight direction and speed.

[0057] In this embodiment, the response is a flight operation for the current virtual player. The flight operation is used to determine the current virtual player's direction of movement. The flight speed is determined based on the initial flight speed and acceleration. The initial flight speed is the current virtual player's flight speed in the previous frame of the game screen.

[0058] Step 102: Based on the current virtual player's flight direction and speed, during the flight of the current virtual player in the game screen, determine the setting angle of the blocking surface based on the flight angle of the current virtual player's flight direction relative to the world coordinate system and the pre-configured first angle interval. The pre-configured first angle interval is used to limit the angle between the blocking surface and the flight direction. The blocking surface is used to simulate the resistance during the current virtual player's flight.

[0059] In this embodiment, a first included angle range is pre-configured. The pre-configured first included angle range is used to limit the angle between the blocking surface and the flight direction. For example, the first preset included angle range is [40°, 135°], and the second preset included angle range is [80°, 100°]. The pre-configured first included angle range is determined according to the first preset included angle range or the second preset included angle range. The specific selection of the first preset included angle range or the second preset included angle range is determined according to the flight speed.

[0060] Based on the current virtual player's flight direction and direction, while controlling the current virtual player's flight in the game screen, the setting angle of the obstruction surface is determined according to the current virtual player's flight direction relative to the world coordinate system and the pre-configured first angle range. The obstruction surface is used to simulate the resistance during the current virtual player's flight, which is equivalent to providing the current virtual player with resistance to simulate flight.

[0061] Step 103: Set the blocking surface within the preset range of the current virtual player according to the setting angle of the blocking surface.

[0062] In this embodiment, the obstruction surface is set within a preset range of the current virtual player according to the setting angle of the obstruction surface, which can simulate real flight.

[0063] Optionally, to prevent the changes in the normal direction and speed rotation of the obstructing surface from being too abrupt, a two-stage buffering approach is used. First, an intermediate variable A is defined for the first stage of buffering. When input is received, A rotates towards the target direction at a fixed angular velocity and is buffered. Then, the current direction and variable A are used to perform transition calculations at a certain ratio to obtain the normal direction of the obstructing surface in the current frame of the game screen. This is achieved using a gradient tool, which is a visual implementation of interpolation calculations that helps developers quickly create transition effects that meet visual expectations, improving the detail and immersion of the screen.

[0064] like Figure 2 As shown, Figure 2 The solid line encloses the current virtual player's flight direction, while the dashed line encloses the direction of the normal to the obstructing surface. Figure 2 As can be seen, when a user clicks the forward button or pushes the joystick on the terminal, the current virtual player's flight direction can be changed, causing the current virtual player to fly upwards. During the process of controlling the current virtual player's flight in the game screen, the setting angle of the obstruction surface is determined based on the flight angle of the current virtual player's flight direction relative to the world coordinate system and the pre-configured first angle range. The obstruction surface is then set within the preset range of the current virtual player based on the setting angle of the obstruction surface.

[0065] like Figure 3 As shown, Figure 3 The solid line encloses the current virtual player's flight direction, while the dashed line encloses the direction of the normal to the obstructing surface. Figure 3 As can be seen, when a user clicks the backward button or pushes the joystick on the terminal backward, the current virtual player's flight direction can be changed, causing the current virtual player to fly downward. During the process of controlling the current virtual player's flight in the game screen, the setting angle of the obstruction surface is determined based on the flight angle of the current virtual player's flight direction relative to the world coordinate system and the pre-configured first angle range. The obstruction surface is then set within the preset range of the current virtual player based on the setting angle of the obstruction surface.

[0066] Optionally, controlling the left and right tilt of the blocking surface can also achieve the result of changing the direction of movement. However, this method requires reversing the left and right directions when accelerating downwards. During the switching between forward and backward inputs, the turning speed is low. Therefore, the method of directly rotating the surface and speed direction through left and right inputs was chosen.

[0067] In this embodiment, the current virtual player's flight direction and speed are obtained. Based on the current virtual player's flight direction and speed, the current virtual player is controlled to fly in the game screen. The setting angle of the obstruction surface is determined according to the flight angle of the current virtual player's flight direction relative to the world coordinate system and the pre-configured first angle range. The obstruction surface is used to simulate the resistance during the current virtual player's flight. The obstruction surface is set within the current virtual player's preset range according to the setting angle of the obstruction surface. By setting the obstruction surface to simulate real flight, a realistic flight experience is provided to the player, meeting the player's needs for immersive game interaction.

[0068] In one embodiment of this application, determining the setting angle of the blocking surface based on the flight angle of the current virtual player's flight direction relative to the world coordinate system and a pre-configured first angle range includes:

[0069] Determine the angle range that matches the current virtual player's flight speed from multiple preset angle ranges;

[0070] Add the lower limit of the matched angle interval to the flight angle to obtain the first value;

[0071] The upper limit of the matched angle interval is added to the flight angle to obtain a second value, and the first value and the second value constitute the first angle interval;

[0072] The setting angle of the blocking surface is determined based on the first included angle interval and the pre-configured second included angle interval, wherein the second included angle interval is used to limit the included angle between the blocking surface and the horizontal direction.

[0073] In this embodiment, an angle range matching the current virtual player's flight speed is determined from multiple preset angle ranges. These preset angle ranges include a first preset angle range and a second preset angle range. The angle range matching the current virtual player's flight speed is determined from these preset angle ranges. This range includes an upper limit value and a lower limit value. The lower limit value is added to the flight angle to obtain a first value, and the upper limit value is added to the flight angle to obtain a second value. The first value and the second value constitute a pre-configured first angle range. The pre-configured second angle range is used to limit the angle between the blocking surface and the horizontal direction. The pre-configured second angle range is [10°, 140°]. The setting angle of the blocking surface is determined according to the pre-configured first angle range and the pre-configured second angle range. The pitch angle of the ascending and descending motions is limited by the pre-configured second angle range. Specifically, the setting angle of the blocking surface must be located within the pre-configured first angle range, and the angle between the blocking surface set according to the setting angle and the horizontal direction must be located within the pre-configured second angle range.

[0074] By limiting the angle, the game avoids the effect of a parachute. Furthermore, by restricting the pitch angle during ascent and descent, the game capitalizes on the fact that real-world aircraft are constrained by aerodynamics and other factors, limiting the pitch angle within a certain range. Limiting the pitch angle in the game simulates realistic flight characteristics to some extent, increasing realism. At the same time, the limits can be adjusted according to game needs, making the game more fun and playable, while preventing excessive realism from making the controls too difficult and negatively impacting the player experience.

[0075] In one embodiment of this application, the plurality of preset angle intervals include a first preset angle interval and a second preset angle interval;

[0076] The step of determining the angle interval that matches the current virtual player's flight speed from multiple preset angle intervals includes:

[0077] If the current virtual player's flight speed is less than a preset speed, the first preset angle interval will be used as the angle interval to match the current virtual player's flight speed.

[0078] If the current virtual player's flight speed is greater than or equal to a preset speed, the second preset angle interval is used as the angle interval to match the current virtual player's flight speed.

[0079] In this embodiment, the multiple preset included angle intervals include a first preset included angle interval and a second preset included angle interval. The first preset included angle interval can be set to [40°, 135°], and the second preset included angle interval is [80°, 100°].

[0080] Compare the current virtual player's flight speed with the preset speed. If the current virtual player's flight speed is less than the preset speed, the speed is relatively slow, and the range requirement is relatively small. The first preset angle interval is used as the angle interval to match the current virtual player's flight speed. If the current virtual player's flight speed is greater than or equal to the preset speed, the speed is relatively fast, and the range requirement is relatively large. The second preset angle interval is used as the angle interval to match the current virtual player's flight speed.

[0081] By limiting the angle between the obstruction surface and the flight direction, excessive deceleration can be prevented from causing the character to become a parachute, thus affecting the user's gaming experience. The range of the angle varies with the absolute value of the current flight speed; a larger range is required at higher speeds, while a smaller range is required at relatively lower speeds. This simulates the effect of speed on the inertia of an object's motion, enhancing realism.

[0082] In one embodiment of this application, the flight speed is determined as follows:

[0083] The following processing is performed on each frame of the game screen:

[0084] The projection value of the normal to the blocking surface of the inverse vector corresponding to the initial flight speed is calculated to obtain the third value, wherein the initial flight speed is the flight speed of the current virtual player in the previous frame of the game screen;

[0085] Multiplying the third value by the first drag coefficient of the blocking surface yields the first acceleration;

[0086] Multiplying the initial flight speed by the first air resistance coefficient yields the air resistance deceleration.

[0087] The flight speed of the current virtual player in the current frame of the game is determined based on the initial flight speed, the first acceleration, the air resistance deceleration, and the time interval between two adjacent game frames.

[0088] In this embodiment, the flight speed is calculated based on multiple parameters, and the following processing is performed on each frame of the game screen:

[0089] The third value is obtained by calculating the projection of the inverse vector corresponding to the initial flight speed onto the normal of the blocking surface. The initial flight speed is the flight speed of the current virtual player in the previous frame of the game. The third value is multiplied by the first drag coefficient of the blocking surface to obtain the first acceleration. In addition to acceleration, the deceleration caused by air resistance is also considered. Furthermore, the initial flight speed is multiplied by the first air resistance coefficient to obtain the air resistance deceleration. The initial flight speed, the first acceleration, the air resistance deceleration, and the time interval between two adjacent game frames are substituted into the formula to calculate the current virtual player's flight speed in the current frame of the game. The formula is as follows:

[0090] v=v0+(a1+a2)×Δt (1)

[0091] Where V is the flight speed in the current frame of the game screen, V0 is the initial flight speed, a1 is the first acceleration, a2 is the air resistance deceleration, and Δt is the time interval between two adjacent frames of the game screen.

[0092] To simulate real-world physics, the character's speed gradually decreases during flight due to air resistance. Therefore, air resistance deceleration is set, and acceleration is calculated using air resistance deceleration and the first acceleration. When the speed is fast enough and the angle of the obstruction surface is appropriate, it is possible to change the direction of speed, fall faster, slow down the fall, or even accelerate upwards, thus enhancing the player's flight experience.

[0093] In one embodiment of this application, the first drag coefficient is determined as follows:

[0094] Obtain a preset first correspondence relationship, which includes multiple flight speeds and the drag coefficient of the blocking surface corresponding to each flight speed;

[0095] The drag coefficient of the blocking surface that matches the initial flight speed is determined in the preset first correspondence based on the initial flight speed;

[0096] The drag coefficient of the matched blocking surface is determined as the first drag coefficient.

[0097] In this embodiment, a first correspondence is preset, which includes multiple flight speeds and the drag coefficient of the blocking surface corresponding to each flight speed. The initial flight speed is matched with multiple flight speeds in the preset first correspondence, and the drag coefficient of the blocking surface corresponding to the flight speed matched with the initial flight speed is determined. That is, the drag coefficient of the blocking surface matched with the initial flight speed is determined as the first drag coefficient.

[0098] In order to quickly improve the flight direction at high speeds, and to avoid excessive drag from the blocking surface at lower speeds, which would cause the speed to drop further, the drag coefficient of the blocking surface is dynamically adjusted according to the current speed, so that the speed is matched with the drag coefficient of the blocking surface.

[0099] In one embodiment of this application, the first air drag coefficient is determined as follows:

[0100] Obtain a preset second correspondence, which includes multiple flight speeds and the air drag coefficient corresponding to each flight speed;

[0101] The air resistance coefficient matching the initial flight speed is determined in the preset first correspondence based on the initial flight speed;

[0102] The matched air resistance coefficient is determined as the first air resistance coefficient.

[0103] In this embodiment, a second correspondence is preset, which includes multiple flight speeds and the air resistance coefficient corresponding to each flight speed. The initial flight speed is matched with multiple flight speeds in the preset second correspondence, and the air resistance coefficient corresponding to the flight speed matched with the initial flight speed is determined. That is, the air resistance coefficient matched with the initial flight speed is determined as the first air resistance coefficient.

[0104] By pre-setting the correspondence, the air resistance coefficient is adapted to the speed. By setting the air resistance coefficient to simulate the physical phenomena of the real world, a better gaming experience is provided.

[0105] In one embodiment of this application, after obtaining the current virtual player's flight direction and speed, the method further includes:

[0106] In response to an acceleration operation for the current virtual player, the acceleration operation is used to trigger the current virtual player to accelerate flight;

[0107] Based on the current virtual player's flight direction and preset maximum flight speed, control the current virtual player to fly in the game screen.

[0108] In this embodiment, in response to the acceleration operation for the current virtual player, such as when the user presses the corresponding acceleration key, the acceleration operation is triggered. The acceleration operation is used to trigger the current virtual player to accelerate flight. Based on the current virtual player's flight direction and preset maximum flight speed, the current virtual player is controlled to fly in the game screen. An additional acceleration in the same direction as the current flight speed is provided, that is, the preset maximum flight speed is obtained, which greatly increases the speed of the current virtual player and allows the character to reach a higher area.

[0109] By accelerating the action, an additional boost is provided to the current virtual player in the same direction as their current speed, greatly increasing their speed and kinetic energy. This kinetic energy can then be converted into more gravitational potential energy, allowing the character to reach higher areas.

[0110] In one embodiment of this application, after obtaining the current virtual player's flight direction and speed, the method further includes:

[0111] When the speed difference between the flight speed and the pre-configured balance speed is less than a preset value, and the flight direction is a preset direction, the current virtual player is controlled to fly in the game screen according to the preset direction and the balance speed.

[0112] In this embodiment, the speed difference between the flight speed and the pre-configured balance speed is compared with a preset value. If the speed difference between the flight speed and the pre-configured balance speed is less than the preset value and the flight direction is the preset direction, it indicates that the flight speed and the balance speed are very close, and the flight speed can be directly transitioned to the balance speed. The preset direction and the balance speed are used to control the current virtual player to fly in the game screen.

[0113] The equilibrium speed is the velocity vector of the equilibrium state obtained in advance based on gravity, the setting angle of the obstruction surface, the drag coefficient of the obstruction surface, and the air drag coefficient. While maintaining the upward flight direction and the current flight speed is very close to the equilibrium speed, the equilibrium speed is used to accelerate in order to reach the equilibrium state more quickly.

[0114] Figure 4A structural diagram of the game flight control device provided in an embodiment of this application is shown. Figure 4 As shown, the game flight control device 200 includes:

[0115] The acquisition module 201 is used to acquire the current virtual player's flight direction and flight speed;

[0116] The determining module 202 is used to control the current virtual player's flight in the game screen according to the current virtual player's flight direction and flight speed, and to determine the setting angle of the blocking surface according to the flight angle of the current virtual player's flight direction relative to the world coordinate system and a pre-configured first angle range. The pre-configured first angle range is used to limit the angle between the blocking surface and the flight direction. The blocking surface is used to simulate the resistance during the current virtual player's flight.

[0117] The setting module 203 sets the blocking surface within a preset range of the current virtual player according to the setting angle of the blocking surface.

[0118] In one embodiment of this application, the determining module includes a first determining submodule, a calculation submodule, and a second determining submodule;

[0119] The first determining submodule is used to determine an angle interval that matches the flight speed of the current virtual player from multiple preset angle intervals;

[0120] The calculation submodule is used to add the lower limit of the matched angle interval to the flight angle to obtain a first value; and add the upper limit of the matched angle interval to the flight angle to obtain a second value, wherein the first value and the second value constitute the first angle interval;

[0121] The second determining submodule is used to determine the setting angle of the blocking surface based on the first included angle interval and the pre-configured second included angle interval, wherein the second included angle interval is used to limit the included angle between the blocking surface and the horizontal direction.

[0122] In one embodiment of this application, the first determining submodule further includes a first determining subunit and a second determining subunit;

[0123] The first determining subunit is used to determine the first preset angle interval as the angle interval for matching the current virtual player's flight speed when the current virtual player's flight speed is less than the preset speed.

[0124] The second determining subunit is used to determine, when the current virtual player's flight speed is greater than or equal to a preset speed, a second preset angle interval as the angle interval for matching the current virtual player's flight speed.

[0125] In one embodiment of this application, the determining module further includes a third determining submodule;

[0126] The third determining submodule is used to perform the following processing on each frame of the game screen:

[0127] The projection value of the normal to the blocking surface of the inverse vector corresponding to the initial flight speed is calculated to obtain the third value, wherein the initial flight speed is the flight speed of the current virtual player in the previous frame of the game screen;

[0128] Multiplying the third value by the first drag coefficient of the blocking surface yields the first acceleration;

[0129] Multiplying the initial flight speed by the first air resistance coefficient yields the air resistance deceleration.

[0130] The flight speed of the current virtual player in the current frame of the game is determined based on the initial flight speed, the first acceleration, the air resistance deceleration, and the time interval between two adjacent game frames.

[0131] In one embodiment of this application, the third determining submodule includes a first acquiring subunit, a first matching subunit, and a third determining subunit;

[0132] The first acquisition subunit is used to acquire a preset first correspondence relationship, which includes multiple flight speeds and the drag coefficient of the blocking surface corresponding to each flight speed;

[0133] The first matching subunit is used to determine the drag coefficient of the blocking surface that matches the initial flight speed in the preset first correspondence relationship based on the initial flight speed;

[0134] The third determining subunit is used to determine the drag coefficient of the matched blocking surface as the first drag coefficient.

[0135] In one embodiment of this application, the third determining submodule includes a second obtaining subunit, a second matching subunit, and a fourth determining subunit;

[0136] The second acquisition subunit is used to acquire a preset second correspondence relationship, which includes multiple flight speeds and the air drag coefficient corresponding to each flight speed.

[0137] The second matching subunit is used to determine the air resistance coefficient that matches the initial flight speed in the preset first correspondence based on the initial flight speed;

[0138] The fourth determining subunit is used to determine the matched air drag coefficient as the first air drag coefficient.

[0139] In one embodiment of this application, the device further includes a response module and a control module;

[0140] A response module is configured to respond to an acceleration operation performed on the current virtual player, the acceleration operation being configured to trigger the current virtual player to accelerate flight;

[0141] The control module is used to control the current virtual player to fly in the game screen according to the current virtual player's flight direction and preset maximum flight speed.

[0142] In one embodiment of this application, the control module is further configured to control the current virtual player to fly in the game screen according to the preset direction and the preset balance speed when the speed difference between the flight speed and the preset balance speed is less than a preset value and the flight direction is a preset direction.

[0143] The game flight control device provided in this application embodiment can realize the various processes implemented in the aforementioned game flight control method embodiment and achieve the same technical effect. To avoid repetition, it will not be described again here.

[0144] Figure 5 A schematic diagram of the hardware structure of the electronic device provided in an embodiment of this application is shown.

[0145] The electronic device may include a processor 301 and a memory 302 storing computer program instructions.

[0146] Specifically, the processor 301 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0147] Memory 302 may include mass storage for data or instructions. For example, and not limitingly, memory 302 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 302 may include removable or non-removable (or fixed) media. Where appropriate, memory 302 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 302 is non-volatile solid-state memory.

[0148] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to the first or second aspect of this disclosure.

[0149] The processor 301 implements any of the methods described above in the above embodiments by reading and executing computer program instructions stored in the memory 302.

[0150] In one example, the electronic device may also include a communication interface 303 and a bus 310. For example, Figure 5 As shown, the processor 301, memory 302, and communication interface 303 are connected through bus 310 and complete communication with each other.

[0151] The communication interface 303 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0152] Bus 310 includes hardware, software, or both, that couples components of a method or electronic device as described above together. For example, and not as a limitation, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 310 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0153] Alternatively, embodiments of this application can be implemented using a computer storage medium. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the game flight control methods described in the above embodiments.

[0154] Alternatively, this application embodiment can provide a computer program product for implementation, wherein when the instructions in the computer program product are executed by the processor of an electronic device, the electronic device implements any of the game flight control methods in the above embodiments.

[0155] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described as examples. However, the method process of this application is not limited to the specific steps described. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0156] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0157] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0158] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0159] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A game flight control method, characterized in that, The method includes: Obtain the current virtual player's flight direction and speed; Based on the current virtual player's flight direction and speed, during the process of controlling the current virtual player's flight in the game screen, the setting angle of the blocking surface is determined according to the flight angle of the current virtual player's flight direction relative to the world coordinate system and the pre-configured first angle range. The pre-configured first angle range is used to limit the angle between the blocking surface and the flight direction. The blocking surface is used to simulate the resistance during the current virtual player's flight. The blocking surface is set within a preset range of the current virtual player according to the setting angle of the blocking surface; The step of determining the setting angle of the blocking surface based on the flight angle of the current virtual player's flight direction relative to the world coordinate system and the pre-configured first angle range includes: An angle interval matching the current virtual player's flight speed is determined from a plurality of preset angle intervals, wherein the plurality of preset angle intervals include a first preset angle interval and a second preset angle interval; The step of determining the angle interval that matches the current virtual player's flight speed from multiple preset angle intervals includes: If the current virtual player's flight speed is less than a preset speed, the first preset angle interval will be used as the angle interval to match the current virtual player's flight speed. If the current virtual player's flight speed is greater than or equal to a preset speed, the second preset angle interval is used as the angle interval to match the current virtual player's flight speed.

2. The game flight control method according to claim 1, characterized in that, The step of determining the setting angle of the blocking surface based on the flight angle of the current virtual player's flight direction relative to the world coordinate system and the pre-configured first angle range also includes: Add the lower limit of the matched angle interval to the flight angle to obtain the first value; The upper limit of the matched angle interval is added to the flight angle to obtain a second value, and the first value and the second value constitute the first angle interval; The setting angle of the blocking surface is determined based on the first included angle interval and the pre-configured second included angle interval, wherein the second included angle interval is used to limit the included angle between the blocking surface and the horizontal direction.

3. The game flight control method according to claim 1, characterized in that, The flight speed is determined as follows: The following processing is performed on each frame of the game screen: The projection value of the normal to the blocking surface of the inverse vector corresponding to the initial flight speed is calculated to obtain the third value, wherein the initial flight speed is the flight speed of the current virtual player in the previous frame of the game screen; Multiplying the third value by the first drag coefficient of the blocking surface yields the first acceleration; Multiplying the initial flight speed by the first air resistance coefficient yields the air resistance deceleration. The flight speed of the current virtual player in the current frame of the game is determined based on the initial flight speed, the first acceleration, the air resistance deceleration, and the time interval between two adjacent game frames.

4. The game flight control method according to claim 3, characterized in that, The first drag coefficient is determined as follows: Obtain a preset first correspondence relationship, which includes multiple flight speeds and the drag coefficient of the blocking surface corresponding to each flight speed; The drag coefficient of the blocking surface that matches the initial flight speed is determined in the preset first correspondence based on the initial flight speed; The drag coefficient of the matched blocking surface is determined as the first drag coefficient.

5. The game flight control method according to claim 3, characterized in that, The first air resistance coefficient is determined as follows: Obtain a preset second correspondence, which includes multiple flight speeds and the air drag coefficient corresponding to each flight speed; The air resistance coefficient matching the initial flight speed is determined in the preset second correspondence based on the initial flight speed; The matched air resistance coefficient is determined as the first air resistance coefficient.

6. The game flight control method according to claim 1, characterized in that, After obtaining the current virtual player's flight direction and speed, the method further includes: In response to an acceleration operation for the current virtual player, the acceleration operation is used to trigger the current virtual player to accelerate flight; Based on the current virtual player's flight direction and preset maximum flight speed, control the current virtual player to fly in the game screen.

7. The game flight control method according to claim 1, characterized in that, After obtaining the current virtual player's flight direction and speed, the method further includes: When the speed difference between the flight speed and the pre-configured balance speed is less than a preset value, and the flight direction is a preset direction, the current virtual player is controlled to fly in the game screen according to the preset direction and the balance speed.

8. A game flight control device, characterized in that, The device includes: The acquisition module is used to obtain the current virtual player's flight direction and speed; The determining module is used to control the current virtual player's flight in the game screen based on the current virtual player's flight direction and speed. During this process, the module determines the setting angle of the blocking surface based on the flight angle of the current virtual player's flight direction relative to the world coordinate system and a pre-configured first angle range. The pre-configured first angle range is used to limit the angle between the blocking surface and the flight direction. The blocking surface is used to simulate the resistance during the current virtual player's flight. The setting module is used to set the blocking surface within a preset range of the current virtual player according to the setting angle of the blocking surface; The determining module includes a first determining submodule; the first determining submodule is used to determine an angle interval that matches the current virtual player's flight speed from a plurality of preset angle intervals; the plurality of preset angle intervals include a first preset angle interval and a second preset angle interval; The first determining submodule further includes a first determining subunit and a second determining subunit; The first determining subunit is used to determine the first preset angle interval as the angle interval for matching the current virtual player's flight speed when the current virtual player's flight speed is less than the preset speed. The second determining subunit is used to determine, when the current virtual player's flight speed is greater than or equal to a preset speed, a second preset angle interval as the angle interval for matching the current virtual player's flight speed.

9. An electronic device, characterized in that, include: Processor and memory storing computer program instructions; When the processor executes the computer program instructions, it implements the game flight control method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Method and device for controlling flight of virtual aircraft, equipment and storage medium

    CN110585703A

  • VR technology-based bow and arrow practice or competition simulation device and method

    CN112370757A