The present disclosure relates to the field of computer technologies, including a method and an apparatus for controlling a non-player character, a storage medium, and an electronic device.
In a virtual game scene, a plurality of different types of non-player characters (NPCs) are usually set. In addition, in order to make a game more interesting, an NPC performs a specified behavioral operation through an environmental perception capability of the NPC, thereby realizing an interaction between the NPC and a player.
In the related art, the environmental perception capability of the NPC mainly relies on visual perception, and usually the visual perception capability of the NPC is simulated based on information such as a distance and an angle between the NPC and the player. For example, in a 3D game scene, when the player is at a specified distance in front of the NPC and within a specified angle range, the NPC may see the player and interact with the player.
However, the impact of the 3D game scene on the vision of the NPC is not considered in the related art. For example, when the player hides behind an obstacle such as a rock, the NPC cannot see the player. Therefore, when the player walks, runs, or sprints in a blind spot of vision of the NPC, the NPC cannot perceive the player, and it is even impossible to control the NPC to interact with the player, resulting in a technical problem of being unable to accurately control the non-player character to perform the behavioral operation.
In view of the foregoing problem, no effective solution has been provided yet.
Aspects of the present disclosure provide a method and an apparatus for controlling a non-player character, a storage medium, and an electronic device, to at least solve the technical problem of being unable to accurately control a non-player character to perform a behavioral operation.
In an aspect, a method for controlling a non-player character includes obtaining a first sound level of a first sound and a first propagation distance of the first sound, the first sound being a sound made by a first player character at a first position in a virtual scene. The first sound level corresponds to a first movement of the first player character at the first position, and the first propagation distance is a propagation distance determined according to the first sound level. The method further includes, when a distance between an NPC and the first player character is less than the first propagation distance and less than a preset hearing radius of the NPC, determining a sound level of the first sound heard by the NPC in the virtual scene according to the first sound level and the distance between the NPC and the first player character. The method further includes controlling, by a server, the NPC to perform a behavioral operation corresponding to the first sound when the sound level of the first sound heard by the NPC is greater than or equal to a first sound level threshold.
In an aspect, an apparatus for controlling a non-player character includes processing circuitry of a server configured to obtain a first sound level of a first sound and a first propagation distance of the first sound, the first sound being a sound made by a first player character at a first position in a virtual scene. The first sound level corresponds to a first movement of the first player character at the first position, and the first propagation distance is a propagation distance determined according to the first sound level. The processing circuitry is further configured to, when a distance between an NPC and the first player character is less than the first propagation distance and less than a preset hearing radius of the NPC, determine a sound level of the first sound heard by the NPC in the virtual scene according to the first sound level and the distance between the NPC and the first player character. The processing circuitry is further configured to control, by a server, the NPC to perform a behavioral operation corresponding to the first sound when the sound level of the first sound heard by the NPC is greater than or equal to a first sound level threshold.
In an aspect, a non-transitory computer-readable storage medium stores computer-readable instructions, which, when executed by processing circuitry of a server, cause the server to perform a method of controlling a non-player character. The method includes obtaining a first sound level of a first sound and a first propagation distance of the first sound, the first sound being a sound made by a first player character at a first position in a virtual scene. The first sound level corresponds to a first movement of the first player character at the first position, and the first propagation distance is a propagation distance determined according to the first sound level. The method further includes, when a distance between an NPC and the first player character is less than the first propagation distance and less than a preset hearing radius of the NPC, determining a sound level of the first sound heard by the NPC in the virtual scene according to the first sound level and the distance between the NPC and the first player character. The method further includes controlling, by a server, the NPC to perform a behavioral operation corresponding to the first sound when the sound level of the first sound heard by the NPC is greater than or equal to a first sound level threshold. In the aspects provided in this disclosure, when it is determined that the NPC can hear the first sound made by the first player character according to the first target distance between the non-player character (NPC) and the first player character and the preset hearing radius of the NPC, the NPC is controlled to perform the behavioral operation corresponding to the first sound by comparing the sound intensity of the first sound heard by the NPC with the first sound intensity threshold. In other words, by comparing the sound intensity of the first sound heard by the NPC and the first sound intensity threshold, the NPC can accurately perform the corresponding behavioral operation, which avoids the technical problem of being unable to accurately control the NPC to perform the behavioral operation, and improves the accuracy of controlling the NPC to perform the behavioral operation.
The appended drawings illustrated herein are intended to provide further understanding of the present invention and form part of this disclosure, and schematic aspects of the present disclosure and their descriptions are intended to explain the present disclosure and do not constitute undue qualification of the present disclosure. In the accompanying drawings:
To make a person skilled in the art better understand solutions of the present disclosure, the technical solutions in embodiments of the present disclosure are described below with reference to the accompanying drawings in the aspects of the present disclosure. The described aspects are merely some rather than all of the aspects of the present disclosure. All other aspects obtained by a person of ordinary skill in the art based on the aspects of the present disclosure shall fall within the protection scope of the present disclosure.
First, terms used or related in the aspects of the present disclosure are described as follows. It can be understood that the following description is an explanation of the terms but not the only explanation:
In the specification, claims, and accompanying drawings of the present disclosure, the terms “first”, “second”, and so on are intended to distinguish between similar objects but do not necessarily indicate a specific order or sequence. It should be understood that the data so used may be interchanged in an appropriate condition, so that the aspects of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. Moreover, the terms “include”, “contain”, and any other variants thereof mean to cover the non-exclusive inclusion. For example, a process, method, system, product, or device that includes a list of operations or units is not necessarily limited to those operations or units that are clearly listed, but may include other operations or units not expressly listed or inherent to such a process, method, system, product, or device.
According to an aspect of the aspects of the present disclosure, a method for controlling a non-player character is provided. As an implementation, the method for controlling a non-player character may be, but is not limited to, applied to an application scenario shown in
As an implementation, the following operations in the method for controlling a non-player character may be performed on the server 106: S102: Obtain a first sound intensity of a first sound and a first propagation distance of the first sound, the first sound being a sound made by a first player character at a first position, the first sound intensity being a preset sound intensity corresponding to a first movement state of the first player character at the first position, and the first propagation distance being a propagation distance determined according to the first sound intensity; and control the NPC to perform a behavioral operation corresponding to the first sound when a sound intensity of the first sound heard by the NPC is greater than or equal to a first sound intensity threshold. For example, a first sound level of a first sound and a first propagation distance of the first sound are obtained. The first sound is a sound made by a first player character at a first position in a virtual scene, the first sound level corresponding to a first movement of the first player character at the first position. The first propagation distance is a propagation distance determined according to the first sound level. S104: Determine, when a first target distance between a non-player character (NPC) and the first player character is less than the first propagation distance and less than a preset hearing radius of the NPC, a sound intensity of the first sound heard by the NPC according to the first sound intensity and the first target distance. For example, when a distance between a non-player character (NPC) and the first player character is less than the first propagation distance and less than a preset hearing radius of the NPC, a sound level of the first sound heard by the NPC in the virtual scene is determined according to the first sound level and the distance between the NPC and the first player character. S106: Control the NPC to perform a behavioral operation corresponding to the first sound when the sound intensity of the first sound heard by the NPC is greater than or equal to a first sound intensity threshold. For example, the NPC is controlled by a server to perform a behavioral operation corresponding to the first sound when the sound level of the first sound heard by the NPC is greater than or equal to a first sound level threshold.
By using the foregoing method, when it is determined that the NPC can hear the first sound made by the first player character according to the first target distance between the non-player character (NPC) and the first player character and the preset hearing radius of the NPC, the NPC is controlled to perform the behavioral operation corresponding to the first sound by comparing the sound intensity of the first sound heard by the NPC with the first sound intensity threshold. In other words, by comparing the sound intensity of the first sound heard by the NPC and the first sound intensity threshold, the NPC can accurately perform the corresponding behavioral operation, which avoids the technical problem of being unable to accurately control the NPC to perform the behavioral operation, and improves the accuracy of controlling the NPC to perform the behavioral operation.
In order to resolve the foregoing technical problem of being unable to accurately control the NPC to perform the behavioral operation, an aspect of the present disclosure provides a method for controlling a non-player character.
S202: Obtain a first sound intensity of a first sound and a first propagation distance of the first sound, the first sound being a sound made by a first player character at a first position, the first sound intensity being a preset sound intensity corresponding to a first movement state of the first player character at the first position, and the first propagation distance being a propagation distance determined according to the first sound intensity.
For example, the first sound intensity and the first propagation distance of the first sound may be obtained from specified parameter values, which are not limited in this disclosure. For example, the first sound intensity may be obtained from the specified parameter values according to the first position of the first player character and the first movement state at the first position, or further in combination with other information. Further, the first propagation distance may be determined according to the first sound intensity. The first propagation distance may be a virtual distance in a virtual scene.
As shown in
As an example, as shown in
As another example, in addition to being related to the first movement state of the first player character at the first position, the first sound intensity may also be a preset sound intensity corresponding to a type of a virtual terrain of the first position and the first movement state of the first player character at the first position. For the sound made by a player in the game scene, the sound intensities of different sounds made by the player in the game scene may be simulated based on, but not limited to, a behavioral state of the player. For example, as shown in
For example, when the first player character is sneaking in a grass, according to the virtual terrain “grass” of the first position of the first player character and the movement state “sneaking”, the intensity of the sound made by the first player character in the game scene may be simulated to be 10 dB; and according to the virtual terrain “ground” of the first position of the first player character and the movement state “sneaking”, the intensity of the sound made by the first player character in the game scene may be simulated to be 15 dB.
Based on the foregoing analysis, the method of determining the first sound intensity of the first sound may be, but is not limited to, querying a pre-created relationship mapping table according to the type of the virtual terrain of the first position and/or the first movement state, to obtain a numerical value of the first sound intensity.
S204: Determine, when a first target distance between a non-player character (NPC) and the first player character is less than the first propagation distance and less than a preset hearing radius of the NPC, a sound intensity of the first sound heard by the NPC according to the first sound intensity and the first target distance.
Different types of NPCs correspond to different hearing capabilities. Therefore, in the process of determining the sound intensity of the first sound heard by the NPC, in addition to considering the first target distance between the NPC and the first player character, a hearing perception capability of the NPC, for example, the preset hearing radius of the NPC also needs to be considered.
For example, as shown in
In addition, whether the NPC 1 and the NPC 2 can hear the first sound may further be determined through the following implementation process: When the first player character makes the first sound, NPCs within the propagation distance d may first be determined according to the propagation distance d of the first sound, as shown in
The propagation distance d of the first sound, the preset hearing radius r of the NPC 2, the target distance between the NPC 1 and the first player character, the target distance between the NPC 2 and the first player character, and the like are only examples but are not limited thereto.
S206: Control the NPC to perform a behavioral operation corresponding to the first sound when the sound intensity of the first sound heard by the NPC is greater than or equal to a first sound intensity threshold.
By performing the operation S204, when the sound intensity of the first sound heard by the NPC is determined, the sound intensity of the first sound heard by the NPC is compared with the first sound intensity threshold, for example, the sound intensity of the first sound heard by the NPC is compared with a hearing awareness threshold of the NPC.
Obviously, only when the NPC is aware of the first sound, the behavioral operation corresponding to the first sound may be performed. For example, when the NPC 2 shown in
The foregoing operations S202 to S206 are all performed on a server side, which improves data synchronization efficiency and data processing efficiency between different clients, and avoids problems such as client cheating and large data synchronization delay.
In the aspects provided in this disclosure, when it is determined that the NPC can hear the first sound made by the first player character according to the first target distance between the non-player character (NPC) and the first player character and the preset hearing radius of the NPC, the NPC is controlled to perform the behavioral operation corresponding to the first sound by comparing the sound intensity of the first sound heard by the NPC with the first sound intensity threshold. In other words, by comparing the sound intensity of the first sound heard by the NPC and the first sound intensity threshold, the NPC can accurately perform the corresponding behavioral operation, which avoids the technical problem of being unable to accurately control the NPC to perform the behavioral operation, and improves the accuracy of controlling the NPC to perform the behavioral operation.
In order to ensure the authenticity of the hearing perception of the NPC and provide the NPC with an anthropomorphic hearing perception capability, in this aspect of this disclosure, various rules are set according to different parameters, for example, the preset hearing radius of the NPC and the first sound intensity threshold, to control the NPC to perform the behavioral operation corresponding to the first sound. In addition, this aspect of this disclosure further provides a second sound intensity threshold.
As an example, the controlling the NPC to perform a behavioral operation corresponding to the first sound when the sound intensity of the first sound heard by the NPC is greater than or equal to a first sound intensity threshold includes:
In this aspect of this disclosure, when the NPC can hear the first sound, in order to accurately control the NPC to perform the behavioral operation corresponding to the first sound, the behavioral operation performed is classified according to a case in which the NPC is aware of the first sound but does not discover the first player character, and a case in which the NPC is aware of the first sound and discovers the first player character. The first behavioral operation performed in the case in which the NPC is aware of the first sound but does not discover the first player character is first described in detail below with specific examples.
As an example, in the case in which the NPC is aware of the first sound but does not discover the first player character, the controlling the NPC to perform a behavioral operation corresponding to the first sound includes:
For example, as shown in (a) of
Obviously, since the sound intensity of the first sound heard by the NPC is less than the second sound intensity threshold, it means that the NPC only hears the first sound, but does not discover the first player character. Therefore, in addition to only moving in the direction of the first position S1, the first behavioral operation performed by the NPC may also be searching for the first player character while moving.
Specifically, as shown in (b) of
As another example, in the case in which the NPC is aware of the first sound and discovers the first player character, the controlling the NPC to perform a behavioral operation corresponding to the first sound further includes:
The second sound intensity threshold may be, but is not limited to, the hearing discovery threshold for the NPC to discover the first player character. That is, when the sound intensity of the first sound heard by the NPC is greater than or equal to the second sound intensity threshold, the NPC discovers the first player character and performs the second behavioral operation corresponding to the first sound, specifically including:
Since when the sound intensity of the first sound heard by the NPC is greater than or equal to the second sound intensity threshold, the NPC may directly discover the first player character and trigger the corresponding discovery behavior of the NPC (which may also be understood as the second behavioral operation). For example, according to a relationship between the NPC and the first player character, the NPC is controlled to move away from or close to the first player character, or the NPC is controlled to perform an interactive operation with the first player character, and the like. The discovery behavior is described below with specific examples:
Through the foregoing rules, in addition to the first behavioral operation and the second behavioral operation, the controlling the NPC to perform a behavioral operation corresponding to the first sound further includes: when the sound intensity of the first sound heard by the NPC is less than the first sound intensity threshold and less than the second sound intensity threshold, since the NPC does not discover the first sound, the NPC continues to perform the daily behavior. For example, the NPC continues to patrol, rest, or sleep. For details, refer to the schematic diagram shown in (d) of
Based on the analysis of the foregoing aspects, the NPC is controlled to perform the first behavioral operation corresponding to the first sound, the second behavior operation, or the daily behavioral operation according to a plurality of parameters such as the sound intensity of the first sound heard by the NPC, the first sound intensity threshold, and the second sound intensity threshold, which avoids the problem in the related art that when the NPC is in the blind spot of vision, the visual perception capability of the NPC cannot be used to hear the sound anthropomorphically, and improves the gaming experience of the player.
As an example, the determining a sound intensity of the first sound heard by the NPC according to the first sound intensity and the first target distance includes:
To ensure the authenticity of the sound source simulation, it is necessary to fully consider that when the sound propagates in a medium, the intensity of the sound continuously attenuates as the distance increases, and the attenuation of the sound is related to factors such as an attenuation formula, a distance, and a medium feature. For example, as shown in (a) of
For example, assuming that in this aspect of this disclosure, the specific process of sound attenuation is simulated according to a linear attenuation formula, for example, y=a/x, where y is the residual sound intensity of the first sound received by the NPC, x is the first target distance between the first player character and the NPC, and a is the first sound intensity of the first sound made by the first player character at the first position. According to the formula, as the first target distance between the first player character and the NPC gradually increases, the residual sound intensity of the first sound received by the NPC gradually decreases. For details, refer to the schematic diagram shown in (b) in
For example, if as shown in (c) in
By using the linear attenuation formula, full consideration is given to the process of the sound intensity changing with the propagation distance during sound propagation, and generation and propagation of the sound in the 3D virtual game scene are more realistically restored.
Obviously, the linear attenuation formula is only an example but is not limited thereto. For example, other nonlinear attenuation formulas may alternatively be used.
When the sound intensity of the first sound heard by the NPC is determined, in addition to considering the attenuation process of the first sound, the impact of the sound intensity of the environmental noise on the hearing perception capability of the NPC also needs to be considered, and when the sound intensity of the environmental noise at the position of the NPC is determined, the sound intensity of the first sound heard by the NPC is determined according to the residual sound intensity of the first sound received at the position of the NPC and the sound intensity of the environmental noise.
As an implementation, the determining the sound intensity of the first sound heard by the NPC according to the residual sound intensity and the sound intensity of the environmental noise includes:
Since the first sound made by the player character is a sound that the NPC intends to receive, and the environmental noise made by the surrounding environment is a sound that interferes with the NPC hearing the first sound made by the player character, when the residual sound intensity is greater than the sound intensity of the environmental noise, a difference between the residual sound intensity and the sound intensity of the environmental noise is determined as the sound intensity of the first sound heard by the NPC.
When the first player character makes the first sound and the NPC receives the first sound, according to XYZ coordinates of the position of the NPC, the position of the NPC may be quickly located corresponding to a target grid shown in
When the residual sound intensity is less than the sound intensity of the environmental noise at the position of the NPC, since the first sound received by the NPC is masked by the environmental noise at the position of the NPC, the sound intensity of the first sound heard by the NPC is equal to the sound intensity of the environmental noise at the position of the NPC.
When the residual sound intensity is equal to the sound intensity of the environmental noise at the position of the NPC, according to the foregoing calculation method of the difference between the residual sound intensity and the sound intensity of the environmental noise, the sound intensity of the first sound heard by the NPC is 0, that is, the NPC does not actually hear the sound.
Using the foregoing method, according to the residual sound intensity when the first sound propagates to the position of the NPC and the sound intensity of the environmental noise at the position of the NPC, the sound intensity of the first sound heard by the NPC may be accurately determined, which improves the accuracy of the sound intensity of the first sound heard by the NPC, and also helps to accurately control the NPC to perform the behavioral operation corresponding to the first sound.
As an example, the obtaining a sound intensity of an environmental noise at the position of the NPC includes:
Before the sound intensity of the environmental noise at the position of the NPC is obtained, the entire game scene needs to be divided into grids. For example, according to the actual game screen, the entire game scene is divided into 2D square grids, or into 3D cube grids. In this aspect of this disclosure, it is assumed that the entire 3D game screen is divided into a set of 0.5 m*0.5 m*0.5 m cube grids shown in
Using the game scene being divided into grids, the specific implementation operations of determining the sound intensity of the environmental noise at the position of the NPC include:
Obviously, in a real life scene, the sound intensity of the environmental noise in a forest is greater than the sound intensity of the environmental noise in a grass, and the sound intensity of the environmental noise around a waterfall is greater than the sound intensity of the environmental noise in the forest. That is, the type of the virtual terrain in each grid directly affects the sound intensity of the environmental noise of the grid.
Therefore, in this aspect of this disclosure, a simulation system from the virtual terrain to the sound intensity of the environmental noise is established. That is, the sound intensity of the environmental noise corresponding to each grid may be determined according to the type of the virtual terrain in each grid.
As shown in
In this aspect of this disclosure, by pre-calculating the sound intensity of the environmental noise of each grid in the game scene, query time for the sound intensity of the environmental noise is reduced, efficiency of determining the sound intensity of the environmental noise corresponding to each grid is improved, and data processing efficiency of the server is improved.
For example, when the position of the NPC is completely in one grid, the grid is directly determined as the target grid at which the NPC is located; and when the position of the NPC is in two or more grids, the grid with the largest proportion of the position of the NPC among the plurality of grids is determined as the target grid.
As mentioned above, noise, as a type of sound, may also propagate in the medium and also attenuates. The sound intensity of the environmental noise corresponding to each grid is not only affected by the virtual terrain of the grid, but also affected by the virtual terrain in the surrounding grids. Therefore, in this aspect of this disclosure, the simulation form of linear attenuation is also used to determine the sound intensity of the environmental noise corresponding to each grid.
As an example, in consideration of the virtual terrains in the surrounding grids, the implementation of determining the sound intensity of the environmental noise corresponding to each grid is as follows:
As shown in
For example, the sound intensity of the initial noise in the grid#1 is 10, and the sound intensity of the initial noise in a grid#2 is 20.
The noise impact value may be, but is not limited to, the residual sound intensity when the initial noise corresponding to each grid in the set of grids except the current grid propagates to the current grid. For example, the residual sound intensity when the initial noise corresponding to the grid 1# propagates to the grid 2# is 5, and the residual sound intensity when the initial noise corresponding to the grid 2# propagates to the grid 1# is 15, which means that the sound intensity of the propagated noise received by the grid 1# from the grid 2# is 15, and the sound intensity of the propagated noise received by the grid 2# from the grid 1# is 5. In the foregoing operations, a measurement unit of the sound intensity may be but is not limited to decibel (dB).
In the process of the initial noise corresponding to the grid 1# propagating to the grid 2#, or in the process of the initial noise corresponding to the grid 2# propagating to the grid 1#, the sound intensity attenuates.
Using the same method as the foregoing operations S11 to S13, when the grid 2# is determined as the current grid, according to the sound intensity of the initial noise corresponding to the grid 2# and the sound intensity of the propagated noise received by the grid 2#, the sound intensity of the environmental noise corresponding to the grid 2# is determined.
As an example, the determining a sound intensity of an environmental noise corresponding to the current grid according to the sound intensity of the initial noise and the sound intensity of the propagated noise includes:
The specific implementation method of the sound intensity of the environmental noise corresponding to the current grid is introduced below with specific examples.
As shown in
When the grid 2# is the current grid, assuming that the sound intensity of the initial noise of the grid 2# is 20 and the sound intensity of the propagated noise received by the grid 2# is 5, the maximum value of 20 and 5 is taken as the final sound intensity of the environmental noise of the grid 2#, that is, the sound intensity of the environmental noise corresponding to the grid 2# is 20.
As shown in
Since the grid 5# is surrounded by the grids 1# to 4# and 6# to 9#, assuming that the residual sound intensity when the initial noise corresponding to the grids 1#˜4# propagates to the grid 5# is V′1 to V′4 respectively and the residual sound intensity when the initial noise corresponding to the grids 6# to 9# propagates to the grid 5#, is V′6 to V′9 respectively, the sound intensity of the environmental noise corresponding to the grid 5# is
By using the foregoing linear attenuation simulation form, when the initial noise corresponding to the grids 1# to 4# and the grids 6# to 9# propagates to the grid 5#, the sound intensity of each initial noise may attenuate to 0. That is, some of the sound intensities V′1 to V′4 and V′6 to V′9 of the propagated noise received by the grid 5# may be 0.
Still using
The weighted summation is performed on the sound intensity V5 of the initial noise of the grid 5# and the sound intensities V′I to V′4 and V′6 to V′9 of the propagated noise to obtain the sound intensity of the environmental noise corresponding to the grid 5#:
Through the foregoing method, in consideration of the virtual terrain of the position of the NPC is ed, by introducing the sound intensity of the initial noise corresponding to the target grid at which the NPC is located and the sound intensity of the propagated noise received by the target grid, full consideration is given to the attenuation of the environmental noise and the impact of the environmental noise of the surrounding grid on the sound intensity of the environmental noise corresponding to the target grid, thereby improving the authenticity of the environmental noise.
As an example, the method further includes:
Based on the description of the foregoing aspects, the preset hearing radius of the NPC represents the hearing perception capability of the NPC, or may be understood as the hearing range in which the NPC can receive the sound. Therefore, in the process of determining whether the NPC can receive the first sound made by the first player character, the setting of the preset hearing radius plays a crucial role. How to set the preset hearing radius of the NPC is described below with examples.
First type: It is assumed that the NPCs are classified into two different types: hearing-sensitive and hearing-insensitive according to character types of the NPCs.
When the distances to the first player character are the same, the sound intensity of the first sound heard by the hearing-sensitive NPC is greater than the sound intensity of the first sound heard by the hearing-insensitive NPC. Alternatively, the hearing-sensitive NPC can hear the first sound made by the first player character, but the hearing-insensitive NPC cannot hear the first sound. That is, the preset hearing radius of the hearing-sensitive NPC is greater than the preset hearing radius of the hearing-insensitive NPC.
As shown in (a) of
Second type: It is assumed that the NPCs are classified into two different types: under attack and not under attack according to state features of the NPCs.
Obviously, when the distances to the first player character are the same, the sound intensity of the first sound heard by the NPC under attack is less than the sound intensity of the first sound heard by the NPC not under attack. Alternatively, the NPC not under attack can hear the first sound made by the first player character, but the NPC under attack cannot hear the first sound. That is, the preset hearing radius of the NPC not under attack is greater than the preset hearing radius of the NPC under attack.
As shown in (b) of
Third type: It is assumed that the NPCs are classified into two different types: skill unreleased and skill released according to skill release states of the NPCs.
When the distances to the first player character are the same, the sound intensity of the first sound heard by the NPC with skill unreleased is greater than the sound intensity of the first sound heard by the NPC with skill released. Alternatively, the NPC with skill unreleased can hear the first sound made by the first player character, but the NPC with skill released cannot hear the first sound. That is, the preset hearing radius of the NPC with skill unreleased is greater than the preset hearing radius of the NPC with skill released.
As shown in (c) of
Through the foregoing method, according to the character type of the NPC, the current state of the NPC, and the release state of the target skill of the NPC, the preset hearing radii of the NPC in different states under different types are set, which improves the flexibility of setting the preset hearing radius, and improving the authenticity of the preset hearing radius.
As an example, according to parameters such as the preset hearing radius of the NPC, the first sound intensity threshold, and the second sound intensity threshold, the NPC may be controlled to perform the first behavioral operation and the second behavioral operation corresponding to the first sound. In addition, through the first sound intensity threshold and the second sound intensity threshold, the behavioral operation of the NPC may further be controlled for switching, specifically, including:
The method of obtaining the second sound intensity and the second propagation distance is similar to that of the first sound intensity and the first propagation distance. For details, refer to the foregoing description.
As shown in (a) of
The second movement state of the second player character P2 at the second position S2 includes, but is not limited to, sneaking, sprinting, walking, and flying shown in
When the second target distance between the NPC and the second player character is less than the second propagation distance and less than the preset hearing radius of the NPC, it is determined that the NPC can hear the second sound made by the second player character. In this case, the sound intensity of the second sound heard by the NPC is determined according to the second sound intensity V2 and the second target distance.
If the sound intensity of the second sound heard by the NPC is greater than or equal to the first sound intensity threshold and greater than the sound intensity of the first sound heard by the NPC, it means that the NPC is aware of the second sound, and the second sound heard by the NPC interferes with the first sound heard by the NPC in advance. Then the NPC stops approaching the first player character P1 and performs a behavioral operation corresponding to the second sound, for example, moves away from the second player character P1 shown in (b) of
When the NPC hears the first sound and the second sound made by the first player character and the second player character, the sound intensities of the first sound and the second sound are calculated respectively, and when it is determined that the sound intensity of the second sound heard by the NPC is greater than the sound intensity of the first sound heard by the NPC, the behavioral operation performed by the NPC is switched, which improves the flexibility of the behavioral operation performed by the NPC, enriches the gameplay, and improves the user experience.
To more clearly understand the foregoing method for controlling a non-player character, the method is further described below with reference to the overall flowchart shown in
S1502: Calculate a sound intensity of an environmental noise.
For example, through the schematic diagrams shown in
S1504: Simulate a sound intensity of a first sound made by a player character.
Assuming that the player character makes the first sound at the first position in the game scene, the sound intensity of the first sound of the player character may be simulated according to the movement state of the player character at the first position.
The relationship between the sound intensity of the first sound and the type of the virtual terrain of the first position and/or the movement state of the player character may be determined, but is not limited to, by querying a pre-created relationship mapping table.
S1506: Select an NPC according to a propagation distance of the first sound and a preset hearing radius of the NPC.
As an example, the NPC is selected according to the propagation distance d of the first sound shown in
As shown in
In addition, whether the NPC 1 and the NPC 2 can hear the first sound may further be determined through the following implementation process: When the first player character makes the first sound, NPCs within the propagation distance d may first be determined according to the propagation distance d of the first sound, as shown in
The target distance between the NPC selected through the foregoing method and the first player character is less than the propagation distance of the first sound and less than the preset hearing radius of the NPC.
Further, by selecting the NPC through the foregoing method, subsequent calculations only need to be performed on some NPCs that meet the requirements. The subsequent calculations include but are not limited to calculation of the residual sound intensity of the first sound received by the NPC, and calculation of the sound intensity of the first sound actually heard by the NPC.
For example, assuming that a total quantity of NPCs in the virtual scene is 100, and according to the foregoing selection method, it is determined that only two NPCs meet the requirements, only the residual sound intensity of the first sound received by the two NPCs and the sound intensity of the first sound actually heard by the two NPCs need to be calculated, which reduces the amount of calculation and improves the efficiency of the NPC performing the behavioral operation.
S1508: Calculate a residual sound intensity of the first sound received by the NPC when the first sound propagates to a first position.
To ensure the authenticity of the sound source simulation, it is necessary to fully consider that when the sound propagates in a medium, the intensity of the sound continuously attenuates as the distance increases, and the attenuation of the sound is related to factors such as an attenuation formula, a distance, and a medium feature. For example, as shown in (a) of
In this aspect of this disclosure, the specific process of sound attenuation may be simulated according to, but is not limited to, the linear attenuation formula, for example, y=a/x, where y is the residual sound intensity of the first sound received by the NPC, x is the first target distance between the first player character and the NPC, and a is the first sound intensity of the first sound made by the first player character at the first position.
S1510: Query the sound intensity of the environmental noise.
First, the entire game scene is divided into a set of grids, and the corresponding sound intensity of the environmental noise is preset for each grid in the set of grids. Finally, the sound intensity obtained by the NPC is determined according to the type of the virtual terrain in each grid.
As an example, the sound intensity of the environmental noise at the position of the NPC may be directly determined as the preset sound intensity of the environmental noise corresponding to the target grid, or the sound intensity of the environmental noise corresponding to the target grid is determined according to the queried initial noise corresponding to the target grid and the residual sound intensity after the initial noise made by the surrounding grids propagates to the target grid. For the specific process, refer to the description in the foregoing aspects.
S1512: Calculate a sound intensity of a first sound actually heard by the NPC.
For example, the sound intensity of the first sound heard by the NPC is determined to be equal to a difference between the residual sound intensity and the sound intensity of the environmental noise when the residual sound intensity when the first sound propagates to the position of the NPC is greater than the sound intensity of the environmental noise; or
S1514: Compare a relationship between the sound intensity of the first sound heard by the NPC and a hearing perception threshold and a hearing discovery threshold, and perform a corresponding behavioral operation, such as the operation S1516.
For example, when the sound intensity of the first sound heard by the NPC is greater than or equal to the hearing perception threshold (the first sound intensity threshold), the first behavioral operation in the foregoing aspect, for example, searching for the player, is performed.
When the sound intensity of the first sound heard by the NPC is greater than or equal to the hearing discovery threshold (the second sound intensity threshold), the NPC is controlled to perform the second behavioral operation, such as dialog or interaction with the player.
S1516: Control the NPC to perform a behavioral operation corresponding to the first sound.
In the aspects provided in this disclosure, when it is determined that the NPC can hear the first sound made by the first player character according to the first target distance between the non-player character (NPC) and the first player character and the preset hearing radius of the NPC, the NPC is controlled to perform the behavioral operation corresponding to the first sound by comparing the sound intensity of the first sound heard by the NPC with the first sound intensity threshold. In other words, by comparing the sound intensity of the first sound heard by the NPC and the first sound intensity threshold, the NPC can accurately perform the corresponding behavioral operation, which avoids the technical problem of being unable to accurately control the NPC to perform the behavioral operation, and improves the accuracy of controlling the NPC to perform the behavioral operation.
For ease of description, the foregoing method aspects are described as a series of action combinations. However, a person skilled in the art should know that the present disclosure is not limited to the described order of the actions because some operations may be performed in another order or performed at the same time according to the present disclosure. In addition, a person skilled in the art is also to learn that the aspects described in this specification are all exemplary aspects, and the involved actions and modules are not necessarily required to the present disclosure.
According to another aspect of the aspects of the present disclosure, an apparatus for controlling a non-player character shown in
In some aspects, the second processing unit 1606 includes:
In some aspects, the first processing module further includes:
In some aspects, the second processing unit 1606 includes:
In some aspects, the second processing module further includes:
In some aspects, the first processing unit 1604 includes:
In some aspects, the first obtaining module includes:
In some aspects, the first obtaining module further includes:
In some aspects, the apparatus further includes:
In some aspects, the fourth processing module includes:
In some aspects, the apparatus further includes:
In some aspects, the apparatus further includes:
By applying the apparatus, when it is determined that the NPC can hear the first sound made by the first player character according to the first target distance between the non-player character (NPC) and the first player character and the preset hearing radius of the NPC, the NPC is controlled to perform the behavioral operation corresponding to the first sound by comparing the sound intensity of the first sound heard by the NPC with the first sound intensity threshold. In other words, by comparing the sound intensity of the first sound heard by the NPC and the first sound intensity threshold, the NPC can accurately perform the corresponding behavioral operation, which avoids the technical problem of being unable to accurately control the NPC to perform the behavioral operation, and improves the accuracy of controlling the NPC to perform the behavioral operation.
For the aspect of the apparatus for controlling a non-player character herein, reference may be made to the foregoing aspect of the method for controlling a non-player character. Details are not described again herein.
According to still another aspect of the aspects of this disclosure, an electronic device for performing the foregoing method for controlling a non-player character is further provided. The electronic device may be a terminal device shown in
In some aspects, in this aspect, the electronic device may be located in at least one of a plurality of network devices in a computer network.
In some aspects, in this aspect, the processor may be configured to perform the following operations by executing the computer program.
S1: Obtain a first sound intensity of a first sound and a first propagation distance of the first sound, the first sound being a sound made by a first player character at a first position, the first sound intensity being a preset sound intensity corresponding to a first movement state of the first player character at the first position, and the first propagation distance being a propagation distance determined according to the first sound intensity.
S2: Determine, when a first target distance between a non-player character (NPC) and the first player character is less than the first propagation distance and less than a preset hearing radius of the NPC, a sound intensity of the first sound heard by the NPC according to the first sound intensity and the first target distance.
S3: Control the NPC to perform a behavioral operation corresponding to the first sound when the sound intensity of the first sound heard by the NPC is greater than or equal to a first sound intensity threshold.
In some aspects, a person of ordinary skill in the art may understand that, the structure shown in
The memory 1702 may be configured to store a software program and a module, for example, a program instruction/module corresponding to the method and apparatus for controlling a non-player character in the aspects of this disclosure, and the processor 1704 performs various functional applications and data processing by running a software program and a module stored in the memory 1702, that is, implementing the foregoing method for controlling a non-player character. The memory 1702 may include a high-speed RAM, and may further include a non-volatile memory such as one or more magnetic storage apparatuses, a flash memory, or another non-volatile solid-state memory. In some aspects, the memory 1702 may further include memories remotely disposed relative to the processor 1704, and these remote memories may be connected to the terminal through a network. The foregoing examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof. The memory 1702 may specifically, but is not limited to, be configured to store the first sound intensity of the first sound, the first target distance between the NPC and the first player character, the preset hearing radius of the NPC, and the like. As an example, as shown in
In some aspects, the transmission apparatus 1706 is configured to receive or transmit data through a network. Specific examples of the network include a wired network and a wireless network. In an example, the transmission apparatus 1706 includes an NIC. The NIC may be connected to another network device and a router by using a network cable, to communicate with the Internet or a local area network. In an example, the transmission apparatus 1706 is a radio frequency (RF) module, and is configured to wirelessly communicate with the Internet.
In addition, the foregoing electronic device may further include: a display 1708, configured to display direction prompt information of the target sound; and a connection bus 1710, configured to connect various module components in the electronic device.
In other aspects, the foregoing target terminal or server may be a node in a distributed system. The distributed system may be a blockchain system. The blockchain system may be a distributed system formed by the plurality of nodes connected in the form of network communication. A peer to peer (P2P) network may be formed between the nodes. A computing device in any form, for example, an electronic device such as a server or a terminal, may become a node in the blockchain system by joining the P2P network.
According to an aspect of this disclosure, a computer program product or a computer program is provided, the computer program product or the computer program including computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, causing the computer device to perform the method for controlling a non-player character provided in various implementations of the foregoing server verification processing and other aspects, where the computer program is configured to perform the operations of any one of the foregoing method aspects when running.
In some aspects, in this aspect, the computer-readable storage medium may be configured to store a computer program configured to perform the following operations:
In some aspects, in this aspect, a person of ordinary skill in the art may understand that all or some of the operations of the various methods in the foregoing aspects may be implemented by a program instructing hardware related to the target terminal. The program may be stored in a computer-readable storage medium. The storage medium may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, an optical disc, or the like.
The sequence numbers of the foregoing aspects of this disclosure are merely for description purpose, and do not indicate the preference among the aspects.
When the integrated unit in the foregoing aspects is implemented in the form of a software function unit and sold or used as an independent product, the integrated unit may be stored in the foregoing computer-readable storage medium. Based on such an understanding, the technical solutions of the present disclosure essentially, or a part contributing to the related art, or all or a part of the technical solution may be implemented in a form of a software product. The computer software product is stored in a storage medium and includes several instructions for instructing one or more computer devices (which may be a PC, a server, a network device, or the like) to perform all or some of operations of the methods in the aspects of the present disclosure.
In the foregoing aspects of the present disclosure, the descriptions of the aspects have respective focuses. For a part that is not described in detail in an aspect, reference may be made to related descriptions in other aspects.
In the several aspects provided in this disclosure, it is to be understood that the disclosed client may be implemented in other manners. The described apparatus aspects are merely exemplary. For example, the unit division is merely logical function division, and may use other division manners during actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the units or modules may be implemented in electronic or another form.
The units described as separate parts may or may not be physically separate, and components displayed as units may or may not be physical units, that is, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of aspects.
In addition, the functional units in the aspects of the present disclosure may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit. The integrated unit may be implemented in a form of hardware, or may be implemented in a form of a software functional unit.
The foregoing disclosure includes some exemplary embodiments of this disclosure which are not intended to limit the scope of this disclosure. Other embodiments shall also fall within the scope of this disclosure.
Number | Date | Country | Kind |
---|---|---|---|
202211174826.0 | Sep 2022 | CN | national |
This application is a continuation of International Application No. PCT/CN2023/117303, filed on Sep. 6, 2023, which claims priority to Chinese Patent Application No. 202211174826.0, entitled “METHOD AND APPARATUS FOR CONTROLLING NON-PLAYER CHARACTER, STORAGE MEDIUM, AND ELECTRONIC DEVICE” and filed on Sep. 26, 2022. The disclosures of the prior applications are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2023/117303 | Sep 2023 | WO |
Child | 18661482 | US |