WO2018126956A1 - 一种信息处理方法、装置及服务器 - Google Patents

一种信息处理方法、装置及服务器 Download PDF

Info

Publication number
WO2018126956A1
WO2018126956A1 PCT/CN2017/118874 CN2017118874W WO2018126956A1 WO 2018126956 A1 WO2018126956 A1 WO 2018126956A1 CN 2017118874 W CN2017118874 W CN 2017118874W WO 2018126956 A1 WO2018126956 A1 WO 2018126956A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual object
target
skill
virtual
resource
Prior art date
Application number
PCT/CN2017/118874
Other languages
English (en)
French (fr)
Inventor
杨岳军
刘林
种道伟
李晨
刘绵光
彭晨
刘玄耀
肖盾
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201710007956.8A external-priority patent/CN106657127B/zh
Priority claimed from CN201710058471.1A external-priority patent/CN106807087B/zh
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to JP2019525990A priority Critical patent/JP6850884B2/ja
Priority to KR1020197022877A priority patent/KR102319206B1/ko
Publication of WO2018126956A1 publication Critical patent/WO2018126956A1/zh
Priority to US16/425,733 priority patent/US11135515B2/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/332Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/58Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6027Methods for processing data by generating or executing the game program using adaptive systems learning from user actions, e.g. for skill level adjustment

Definitions

  • the present invention relates to the field of information processing technologies, and in particular, to an information processing method, apparatus, and server.
  • multiple users can participate in competitive activities in virtual scenes provided by web applications through virtual objects created by themselves.
  • a user can control at least one virtual object through a client.
  • the virtual scene for example, in the case of a game web application, multiple users can control the created game characters to fight in the game map through their respective game clients.
  • the activity of a virtual object in a virtual scene affects other virtual objects in the virtual scene.
  • the client of the other virtual object in the virtual scene needs to display the action of the virtual object to display the skill.
  • the authenticity of the virtual object activity in the virtual scene is generated. Therefore, when there is an active virtual object in the virtual scene, the server needs to notify the client of the other virtual object in the virtual scene in time.
  • the number of virtual objects that are active at the same time in the virtual scene may be large, which makes the server need to send a large number of notifications to the client, and the downward pressure of the information is large.
  • the client currently has more active virtual objects, It is necessary to process a large number of issued notifications for information synchronization, and the information processing pressure of the client is also large; therefore, how to reduce the amount of information sent by the server to the client and reduce the information processing pressure of the client becomes a problem to be considered.
  • Hierarchical project management technology is used in project development using other game engines other than Unity.
  • an interactive application in which a plurality of simulation objects are simultaneously displayed, there is a server distribution circle and a resource loading circle. Concept to optimize character rendering pressure and add/unload speed.
  • An interactive application that simultaneously displays multiple simulation objects.
  • the application is based on the GameBryo engine modified according to the project requirements.
  • the character enters the server and sends the circle, the logical object and name card of the character are created immediately.
  • the player further enters the resource loading circle the character resource is asynchronously loaded, and the character model instance is created and displayed immediately after the loading.
  • the embodiments of the present invention provide an information processing method, apparatus, and server, so as to reduce the amount of information that the server delivers to the client, and reduce the information processing pressure of the client.
  • the embodiment of the present invention provides the following technical solutions:
  • An information processing method includes:
  • the embodiment of the present invention further provides an information processing device, where the device is applied to a mobile terminal, where the mobile terminal includes a first client that displays multiple virtual objects on the same screen, and the first virtual terminal displays a first virtual Object;
  • the information processing apparatus includes:
  • a transceiver module configured to receive a skill casting request of the first virtual object sent by the first client, where the skill casting request is used to request to perform the first skill
  • a processing module configured to determine a virtual object number in a field of view of the first virtual object in the virtual scene
  • the transceiver module is further configured to: acquire a first broadcast notification generated in response to the skill display request, and send a first broadcast notification to a client of the target virtual object, where the first broadcast notification is used to notify the client The end shows the action of the first virtual object to perform the first skill.
  • An embodiment of the present invention further provides a server, including the information processing apparatus described above.
  • the server when receiving the request for sending, by the first client, the first virtual object to perform the skill application request of the first skill, the server may determine the field of view of the first virtual object in the virtual scene. The number of virtual objects within the range, and when the number of virtual objects in the field of view is greater than a predetermined predetermined threshold, selecting a target virtual object corresponding to the predetermined threshold from the field of view of the first virtual object, determining a response
  • the first broadcast notification generated by the skill application request sends a first broadcast notification to the client of the target virtual object, so that the client of the target virtual object displays the action of the first virtual object to perform the first skill, and implements the first
  • the client of the virtual object in the field of view of the first virtual object performs corresponding display on the action of applying the first skill to the first virtual object, and maintains the virtual object activity in the virtual scene.
  • the server may send the first broadcast to the client smaller than the number of the virtual objects by the predetermined threshold, the server may apply the skill to the first virtual object, and the number of virtual objects in the field of view of the first virtual object is greater than the predetermined threshold. Notification, thus reducing the amount of information that the server delivers to the client. At the same time, when there are more virtual objects that simultaneously perform skills, the amount of information acquired by the client can be reduced, and the information processing pressure of the client is reduced.
  • the embodiment of the invention further provides a method for processing a simulated object in an application, and a mobile terminal, which is used for performing a corresponding operation in each control range of the mobile terminal, and has reasonable operation arrangement for each control range, and is rendered for final display.
  • a mobile terminal which is used for performing a corresponding operation in each control range of the mobile terminal, and has reasonable operation arrangement for each control range, and is rendered for final display.
  • a first aspect of the embodiments of the present invention provides a method for processing a simulated object in an application, where the method is applied to an interactive application in which a plurality of simulated objects are displayed on the same screen of a mobile terminal, and a display object is displayed on the display interface of the interactive application.
  • Methods can include:
  • the mobile terminal detects a detection range centered on the main simulation object, and the detection range includes a plurality of control ranges, each of which corresponds to an operation within a control range, and the operation refers to a virtual object entering the control range.
  • the target simulation object is processed according to an operation performed by the control range in which the target virtual object is located.
  • a second aspect of the embodiment of the present invention provides a mobile terminal, where the mobile terminal includes an interactive application that displays a plurality of analog objects on the same screen.
  • the display interface of the interactive application displays a main simulation object, and the mobile terminal may include:
  • a detection module configured to detect a detection range centered on the main simulation object, the detection range includes a plurality of control ranges, each control range is in one-to-one correspondence with operations within a control range, and the operation refers to virtual access to the control range The operation performed by the object;
  • a first determining module configured to determine a distance between the target simulated object and the main simulated object when the target simulated object is detected within the detection range
  • a second determining module configured to determine, according to the distance, a control range to which the target simulation object belongs
  • a processing module configured to process the target simulation object according to an operation performed by the control scope of the target virtual object.
  • the method is applied to an interactive application in which a multi-simulation object is displayed on the same screen of a mobile terminal, and a display object is displayed on the display interface of the interactive application, and the mobile terminal detects the main simulation object as a center.
  • the detection range includes a plurality of control ranges, each control range corresponding to an operation performed to enter a respective control range; when the target simulation object is detected within the detection range, determining the target simulation object and the main simulation object According to the distance, the control range to which the target simulation object belongs is determined; and the target simulation object is processed according to the execution operation corresponding to the control range to which the control belongs.
  • the mobile terminal performs corresponding operations in each control range, it has reasonable operation arrangement for each control range, prepares for the final display of the target simulated object after the rendering, and optimizes resource allocation when displaying a large number of simulated objects on the same screen. Reduce the probability of a carton appearing.
  • FIG. 1 is a schematic structural diagram of a system for implementing an information processing method according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of determining a virtual object within a field of view of a first virtual object
  • FIG. 4 is another signaling flowchart of an information processing method according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of an action of a game server notifying a game client to display a skill of a game character
  • FIG. 6 is another schematic diagram of the game server notifying the game client of the action of displaying the skill of the game character
  • FIG. 7 is a flow chart of a method for a server to notify a client to display a skill effect
  • FIG. 8 is a schematic diagram of the game server notifying the game client to display the display skill effect
  • FIG. 9 is a structural block diagram of an information processing apparatus according to an embodiment of the present invention.
  • FIG. 10 is a block diagram showing another structure of an information processing apparatus according to an embodiment of the present invention.
  • FIG. 11 is a block diagram showing still another structure of an information processing apparatus according to an embodiment of the present invention.
  • FIG. 12 is a block diagram of a hardware structure of a server
  • FIG. 13 is a schematic diagram of management of a field of view of a simulated object according to an embodiment of the present invention.
  • FIG. 14 is a schematic diagram showing the same screen display of multiple analog objects on a mobile terminal according to an embodiment of the present invention.
  • FIG. 15 is a schematic diagram of a framework of a resource manager and a role instance object pool according to an embodiment of the present invention.
  • 16 is a schematic diagram of an embodiment of a method for processing a simulated object in an application according to an embodiment of the present invention
  • 17 is another schematic diagram of management of a field of view of a simulated object in an embodiment of the present invention.
  • FIG. 18 is a schematic diagram of another embodiment of a mobile terminal according to an embodiment of the present invention.
  • FIG. 19 is a schematic diagram of another embodiment of a mobile terminal according to an embodiment of the present invention.
  • FIG. 20 is a schematic diagram of another embodiment of a mobile terminal according to an embodiment of the present invention.
  • FIG. 1 is a schematic structural diagram of a system for implementing an information processing method according to an embodiment of the present invention.
  • the system architecture may include: a plurality of clients 10 and a server 20;
  • the client 10 can be loaded on a mobile terminal such as a smart phone or a tablet computer to provide local services for network applications such as games and simulations; optionally, the client 10 is a game client;
  • the server 20 is a service device provided on the network side to provide network services for network applications such as games and simulations; the server 20 may be a server group composed of multiple servers, or may be implemented by a separate server; optionally, the server 20 such as a game server.
  • the plurality of clients 10 shown in FIG. 1 may be distributed in different locations, and the plurality of clients 10 perform the information interaction with the server 20, load the same virtual scene, and add the virtual objects controlled by the respective clients.
  • the activity of the virtual object controlled by the client in the virtual scenario can be implemented; optionally, a client 10 can control at least one virtual object (generally created by the client user) Virtual object) Activities in a virtual scene.
  • the server needs to notify the client of the virtual object in the field of view of the virtual object, and display the action of the virtual object to perform the skill;
  • the problem of how to reduce the amount of information that the server delivers to the client and reduce the information processing pressure of the client is a problem that needs to be solved in the embodiment of the present invention.
  • FIG. 2 is a signaling flowchart of an information processing method according to an embodiment of the present invention.
  • the method is applied to a first client that displays multiple virtual objects on the same screen on a mobile terminal, and the first The first virtual object is displayed on the display interface of the client.
  • the first client can also be referred to as an interactive application, and the virtual object can also be referred to as a mock object.
  • the process may include:
  • Step S10 The first client sends a skill casting request of the first virtual object to the server, where the skill casting request is used to request to perform the first skill.
  • the first virtual object is a virtual object controlled by the first client, and the virtual scene view displayed by the first client is generally based on the field of view of the first virtual object in the virtual scene; the first client may be as shown in FIG. The client corresponding to the virtual object of any of the multiple clients.
  • Sending, by the first client, a skill application request of the first virtual object to the server may be performed when the first client user operation triggers the first virtual object to perform the first skill; for example, the first client user may click the first of the screen
  • the performance icon of the skill triggers the first virtual object to display the first skill, or the first client user can trigger the first virtual object to display the first skill through an input device such as an external keyboard or mouse, so that the first client sends the first skill to the server.
  • the skill application request of the first virtual object may be performed when the first client user operation triggers the first virtual object to perform the first skill; for example, the first client user may click the first of the screen
  • the performance icon of the skill triggers the first virtual object to display the first skill, or the first client user can trigger the first virtual object to display the first skill through an input device such as an external keyboard or mouse, so that the first client sends the first skill to the server.
  • the skill application request of the first virtual object may be performed when the first client user operation triggers the first virtual object to perform
  • the server may receive a skill casting request of the first virtual object sent by the first client.
  • Step S11 The server determines the number of virtual objects in the field of view of the first virtual object in the virtual scene.
  • Determining the number of virtual objects in the field of view of the first virtual object in the virtual scene that is, determining how many virtual objects are in the field of view of the first virtual object
  • the number of virtual objects in the field of view of the first virtual object may be determined by matching the coordinates of the virtual object in the virtual scene with the coordinate range corresponding to the field of view of the first virtual object.
  • the coordinates of a virtual object in the virtual scene, centered on the coordinates of the first virtual object, and the set coordinate range of the coordinates of the first virtual object (generally the virtual scene coordinate range that can be displayed on the screen single screen)
  • the field of view of the first virtual object correspondingly, may obtain a coordinate range corresponding to the field of view of the first virtual object in the virtual scene; and further matching the coordinates of the virtual object in the virtual scene with the coordinate range to determine coordinates The number of virtual objects in the coordinate range, thereby obtaining the number of virtual objects;
  • the coordinate range corresponding to the field of view of the first virtual object may be a set range centered on the coordinates of the first virtual object; as shown in FIG. 3, in the embodiment of the present invention, the coordinates of the first virtual object may be Center, constructing a set size of the nine-square grid range, determining a coordinate range corresponding to the field of view of the first virtual object; thereby, the coordinates in the virtual scene fall into the virtual object of the nine-square grid range, and are determined to be in the first
  • the virtual objects in the field of view of the virtual object (the virtual objects falling within the scope of the nine-square grid in FIG. 3, the virtual objects are represented by the black dots in FIG. 3), and the number of virtual objects in the field of view of the first virtual object are counted.
  • Step S12 If the number of virtual objects in the field of view is greater than a predetermined threshold, the server selects a target virtual object from the virtual objects in the field of view of the first virtual object.
  • the embodiment of the present invention may reserve a predetermined threshold, and after determining the number of virtual objects in the field of view, determine whether the number of virtual objects in the field of view is greater than a predetermined predetermined threshold.
  • the number of virtual objects in the field of view is greater than the predetermined threshold, it may be determined that there are more virtual objects in the field of view of the first virtual object, and if all clients of all virtual objects in the field of view of the first virtual object are notified In the end, the first virtual object is displayed to perform the first skill, and the amount of information sent by the server to the client is large. Meanwhile, if there are more virtual objects with the skill at the same time, the client receives the server. The amount of information will be larger, and the information processing pressure of the client will also rise.
  • the first virtual when the number of virtual objects in the field of view of the first virtual object is greater than the predetermined threshold, only the first virtual Selecting a target virtual object corresponding to the predetermined threshold in the field of view of the object, so as to display the action of the first virtual object to perform the first skill on the client that only informs the target virtual object;
  • the predetermined threshold may be a value defined according to a plurality of actual test results; the predetermined threshold can ensure that the server sends less information, and the virtual object currently displayed by the client is still more Excessive reduction of the display effect of the skill display action can still reflect the authenticity of the virtual object activity in the virtual scene (such as maintaining the intense effect of the game battle scene); in the embodiment of the present invention, the predetermined threshold has no specific numerical limit. It can be set after testing according to the specific network application type and the actual application of the network application.
  • Step S13 The server acquires a first broadcast notification that is generated in response to the skill display request, and sends a first broadcast notification to the client corresponding to the target virtual object, where the first broadcast notification is used to notify the client to display the first A virtual object performs the action of the first skill.
  • generating the first broadcast notification in response to the skill casting request may be performed when the server receives the skill casting request, or may be a client of the virtual object that is sent to the first broadcast notification. After execution.
  • the first broadcast notification may be a broadcast notification that triggers an action of displaying the first virtual object to perform the first skill, and the action of the first virtual object to perform the first skill refers to that the first virtual object needs to perform when the first skill is performed.
  • the skill display action after the first virtual object performs the skill display action, the first virtual object can display the first skill.
  • the server when receiving the request for the first virtual object to perform the skill application of the first skill sent by the first client, the server may determine the number of virtual objects in the field of view of the first virtual object in the virtual scene. And, when the number of virtual objects in the field of view is greater than a predetermined predetermined threshold, selecting a target virtual object corresponding to the predetermined threshold from a field of view of the first virtual object, determining to respond to the skill application request
  • the generated first broadcast notification sends a first broadcast notification to the client of the target virtual object, so that the client of the target virtual object displays the action of the first virtual object to perform the first skill, and implements the first client
  • the client of the virtual object in the field of view of the first virtual object performs corresponding action on the first virtual object to perform the first skill, thereby maintaining the authenticity of the virtual object activity in the virtual scene.
  • the server may send the first broadcast to the client smaller than the number of the virtual objects by the predetermined threshold, the server may apply the skill to the first virtual object, and the number of virtual objects in the field of view of the first virtual object is greater than the predetermined threshold. Notification, thus reducing the amount of information that the server delivers to the client. At the same time, when there are more virtual objects that simultaneously perform skills, the amount of information acquired by the client can be reduced, and the information processing pressure of the client is reduced.
  • the number of virtual objects in the field of view of the first virtual object determined in step S11 is less than or equal to a predetermined predetermined threshold, the number of virtual objects in the field of view of the first virtual object may be determined to be small, and the server is even
  • the client that notifies all the virtual objects in the field of view of the first virtual object displays the action of the first virtual object to perform the first skill, and the amount of information to be sent by the server can also be controlled in a small number range; therefore,
  • the server may send the second broadcast notification to the client of all the virtual objects in the field of view of the first virtual object when the number of virtual objects in the field of view is less than or equal to a predetermined predetermined threshold, to notify the first The client of all virtual objects within the field of view of the virtual object, showing the action of the first virtual object to perform the first skill.
  • the server may also determine whether to adopt the position of the first virtual object in the virtual scene according to the first skill to be performed by the first virtual object, such as whether the first skill is a displacement skill, or not, according to FIG. 2 Method for information processing;
  • FIG. 4 shows another signaling flow of the information processing method provided by the embodiment of the present invention.
  • the process may include:
  • Step S20 The first client sends a skill casting request of the first virtual object to the server, where the skill casting request is used to request to apply the first skill.
  • Step S21 The server determines whether the first skill adjusts the position of the first virtual object in the virtual scene. If yes, step S22 is performed, and if no, step S23 is performed.
  • the server may pre-record the skill identifier, and the pre-recorded skill identifier corresponds to the skill, and can adjust the position of the first virtual object in the virtual scene; so the server may, after receiving the skill casting request, The skill identifier of the first skill requested by the skill application request is matched with the pre-recorded skill identifier. If the skill identifier of the first skill matches the pre-recorded skill identifier, it may be determined that the first skill can adjust the first virtual The position of the object in the virtual scene, if the skill identifier of the first skill does not match the pre-recorded skill identifier, it may be determined that the first skill cannot adjust the position of the first virtual object in the virtual scene.
  • the first virtual object can be made because the position change of the first virtual object needs timely notification to other virtual objects in the field of view of the first virtual object.
  • the latest location is synchronized between the other clients; therefore, the embodiment of the present invention needs to notify the clients of all the virtual objects in the field of view of the first virtual object, adjust the position of the first virtual object, and ensure the new virtual object. Synchronization of location between other clients;
  • the present invention may determine a client range that notifies the first virtual object to perform the action of the first skill by comparing the number of virtual objects in the field of view of the first virtual object with a predetermined predetermined threshold.
  • Step S22 The server determines a new location that is adjusted by the first virtual object in the virtual scenario, and sends a third broadcast notification to the client of all the virtual objects in the field of view of the first virtual object, where the third broadcast notification is used to indicate Updating the location of the first virtual object in the virtual scene to the new location.
  • Step S23 The server determines the number of virtual objects in the field of view of the first virtual object in the virtual scene.
  • Step S24 The server determines whether the number of virtual objects in the field of view range is greater than a predetermined predetermined threshold. If yes, step S25 is performed, and if no, step S27 is performed.
  • Step S25 The server selects, from the field of view of the first virtual object, a target virtual object corresponding to the predetermined threshold.
  • Step S26 The server determines to send a first broadcast notification to the client of the target virtual object in response to the third broadcast notification generated by the skill application request.
  • Step S27 The server determines to send the third broadcast notification to the clients of all virtual objects in the field of view of the first virtual object in response to the third broadcast notification generated by the skill application request.
  • the first skill applied by the first virtual object does not adjust the position of the first virtual object in the virtual scene, and step S11 shown in FIG. 2 is performed; the first skill displayed in the first virtual object is performed.
  • step S11 shown in FIG. 2 is performed; the first skill displayed in the first virtual object is performed.
  • the first skill applied in the first virtual object does not adjust the position of the first virtual object in the virtual scene, but when the number of virtual objects in the field of view of the first virtual object is not greater than the predetermined threshold, the first virtual The client of all virtual objects of the object's field of view sends a first broadcast notification.
  • the manner in which the server selects the target virtual object corresponding to the predetermined threshold from the field of view of the first virtual object includes but is not limited to the following manners:
  • the embodiment of the present invention may randomly select a target virtual object corresponding to the predetermined threshold from a field of view of the first virtual object, for example, select the target virtual object whose quantity is the predetermined threshold.
  • the embodiment of the present invention may determine each type of camp to which all virtual objects in the field of view of the first virtual object belong, and then select a quantity corresponding to the predetermined threshold from the field of view of the first virtual object.
  • the target virtual object, and the number of the target virtual object corresponding to each type of camp meets the setting requirement; the number of the target virtual object corresponding to each camp type meets the setting requirement, for example, the target virtual object has the same number in each camp type
  • the number of the target virtual object corresponding to each camp type meets the setting requirement. For example, if the first skill is the skill of the first virtual object pointing to the virtual object of the first camp, the virtual object of the first camp may be raised in the target virtual object. In the proportion of the non-first camp virtual object in the target virtual object The proportion.
  • the embodiment of the present invention may further select a target virtual object corresponding to the predetermined threshold according to the relationship between the virtual object and the first virtual object in the field of view of the first virtual object, for example, selecting the quantity as the Determining a predetermined threshold; if preferentially from the field of view of the first virtual object, selecting a target virtual object having a relationship with the first virtual object and corresponding to the predetermined threshold (the degree of relationship may be positive in relationship) Sorting is ahead, or relationship degree is reversed in the front; relationship degree is positively sorted in the front. Generally speaking, the more in front of the virtual object is more intimate with the first virtual object, the degree of relationship is reversed in the front. Generally speaking, the higher the front The virtual object is more hostile to the first virtual object).
  • the server may first process the skill consumption consumption of the first virtual object, for example, the first virtual object needs to consume the mana value when performing the first skill.
  • the health value, the anger value, and the like the server may first broadcast the mana, health, or rage value required to perform the first skill on the first virtual object.
  • the client may be a game client
  • the server may be a game server
  • the virtual object may be a game character controlled by the user through the game client; currently the battle between different camps of the game involves Many game characters in different camps fight in the same game map. The battle between the game characters is very intense, and the skill release is also very frequent. If each game character is performing skills, it is to other game characters in the field of view of the game character.
  • the game client broadcasts the information of the game character's skill, the amount of information sent by the game server will be very large, and the amount of information on the game client will be very large;
  • the game client controlling the game character A will send a skill application request of the game character A to the game server, and the server will play other game characters within the field of view of the game character A (i1).
  • the server will play other game characters within the field of view of the game character A (i1).
  • To the game client of in) broadcast the game character A to display the skill information, so that the game client of the other game characters in the field of view of the game character A displays the action of the skill of the game character A;
  • FIG. 5 shows a
  • the information of the server is sent out. In the camp battle, there are many game characters in the game map that simultaneously display skills. This undoubtedly increases the amount of information sent by the server, and also increases the amount of information.
  • Information processing pressure of the game client is a skill application request of the game character A to the game server, and the server will play other game characters within the field of view of the game character A (i1).
  • To the game client of in broadcast the game character A to display the skill information, so that the game client of the other game characters
  • the game server may determine the number of game characters in the field of view of the game character A, and determine the number of the game characters in the game server.
  • the game character corresponding to the predetermined threshold may be selected from the field of view of the game character A, and the information of the skill of the game character A is broadcasted to the game client of the selected game character, so that the selected
  • the game client of the virtual character displays the action of the skill of the game character A; and by setting the predetermined threshold value reasonably, when the number of game characters in the field of view of the game character A is large, only the game character corresponding to the predetermined threshold is notified.
  • the game client displays the action of the game character A to perform the skill.
  • the information downlink of the game server is reduced, and the information processing pressure of the game client is lowered;
  • the game server may not serve the N game characters.
  • the game client broadcasts the game character A to display the skill information, but selects only a small number of M game characters from the N game characters, and broadcasts the game character A to the game client of the N game characters to display the skill information. , thereby reducing the number of broadcast notifications issued by the game server from a large N to a smaller M, reducing the amount of information sent by the game server;
  • the game character A may be broadcast to the game client of all the game characters in the field of view of the game character A. .
  • the server may broadcast to the client in a split manner, and the second virtual object is first received by the server in the embodiment of the present invention.
  • the information of the skill effect affected by the skill optionally, the first skill applied by the first virtual object herein affects the attribute value of the second virtual object in the virtual scene.
  • FIG. 7 shows a flowchart of a method for the server to notify the client to display the skill effect, and the method is applicable to the server.
  • the method may include:
  • Step S100 The server determines, according to the skill application request, at least one second virtual object that is targeted by the first skill.
  • the skill application request may carry a virtual object list for the first skill, and the virtual object list may record the first virtual object display. At least one second virtual object targeted by the first skill;
  • the second virtual object targeted by the first skill may be indicated by the user of the first client and recorded in the virtual object list.
  • Step S110 The server determines remaining attribute values of each second virtual object after being affected by the first skill.
  • the remaining attribute value may be a remaining life value of the second virtual object, a remaining mana value, a residual anger value, etc., and the specific form of the remaining attribute value may be set according to an actual situation;
  • the server may adjust the defense force of the second virtual object for each second virtual object.
  • the attack power of the first virtual object calculating the damage value of each second virtual object after the first skill attack, subtracting the damage value from the current life value of the second virtual object, and obtaining the remaining life of the second virtual object Value; obviously, the description in this paragraph is only an optional form for calculating the damage value of the second virtual object after the first skill attack, and may further combine the damage base of the first skill, the damage type, and the damage resistance of the second virtual object.
  • Etc. determining the damage value of the second virtual object after being attacked by the first skill; the remaining attribute value is the remaining mana value of the second virtual object, and the calculation of the remaining anger value, etc., in the same sense, may be cross-referenced.
  • Step S120 Corresponding to generating a broadcast notification for notifying that the second virtual object is affected by the first skill, according to the remaining attribute values of the second virtual objects affected by the first skill.
  • different second virtual objects are different in value of the remaining attributes after being affected by the first skill, and need to separately calculate remaining attributes of the second virtual objects after being affected by the first skill.
  • the value generates a corresponding broadcast notification for each second virtual object.
  • Step S130 Send a second broadcast notification corresponding to the second virtual object to the client of all the virtual objects in the field of view of the second virtual object, for the second virtual object whose remaining attribute value meets the preset condition, the second broadcast notification Used to notify the effect that the second virtual object is affected by the first skill.
  • the first skill may be a debuffing skill for the second virtual object
  • the remaining attribute value is an example of the remaining life value.
  • the virtual object may be sent to all the virtual objects in the field of view of the second virtual object.
  • the preset condition of the second broadcast notification if the second virtual object is affected by the first skill, the remaining life value is less than the set life value, or the remaining life value is zero (ie, the second virtual object is subject to the first skill) Death after attack, etc.;
  • the first skill may also be a gain skill for the second virtual object, and the remaining attribute value is an example of the remaining life value.
  • the preset condition may also be that the remaining virtual value of the second virtual object is completely affected by the first skill. Recovery (if the remaining life is the maximum health);
  • the remaining attribute value is a remaining mana value of the second virtual object
  • the setting of the preset condition in the case of the remaining anger value or the like may also be set by referring to the case where the remaining attribute value is the remaining life value;
  • the setting of the specific form of the condition can be carried out in combination with the actual situation, and is not fixed.
  • the server may send the client to all the virtual objects in the second virtual object's field of view.
  • a second broadcast notification such that the clients of all the virtual objects in the field of view of the second virtual object exhibit an effect that the second virtual object is affected by the first skill; for example, determining that a second virtual object is affected
  • the effect information of the second virtual object affected by the first skill may be broadcasted to the client of all the virtual objects in the field of view of the second virtual object, so that the second virtual object has a field of view within the field of view.
  • the client of all virtual objects can know the information of the death of the second virtual object.
  • Step S140 Send, to the client of the second virtual object and the first client, a second broadcast notification corresponding to the second virtual object, for the second virtual object whose remaining attribute value does not meet the preset condition.
  • the server may send a second broadcast notification only to the client of the second virtual object and the first client, such that the client of the second virtual object and the first client display the second virtual object The effect affected by the first skill.
  • the client when displaying the effect that the second virtual object is affected by the first skill, the client may display the attribute adjustment value of the second virtual object affected by the first skill, and combine the current attribute value with the attribute adjustment value.
  • the remaining attribute value correspondingly, the second broadcast notification may carry the attribute adjustment value of the second virtual object and the remaining attribute value; for example, if the attribute value is a life value, the first skill is an attack skill, for example, in the second broadcast notification
  • the second virtual object may be subjected to a life damage value (ie, a damage value) after the first skill attack, and a remaining life value;
  • the remaining life value of zero will trigger the death event of the second virtual object, and the corresponding virtual object death logic needs to be executed (generally, after the virtual object dies, there will be a falling motion, etc.), and at the same time, It is possible to start the revival logic of the virtual object.
  • the client may directly perform the attribute adjustment value and the remaining attribute value of the second virtual object affected by the first skill according to the attribute adjustment value and the remaining attribute value of the second virtual object carried in the second broadcast notification, such as
  • the client can directly display the life-damaged value of the second virtual object, and the remaining life value, and eliminate the incremental update of the second virtual object attribute value on the client side.
  • the server needs to send a third broadcast notification to the client of all the virtual objects in the field of view of the second virtual object, where the third broadcast notification is used to notify the display of the adjusted position of the first virtual object in the virtual scene;
  • the adjusted position of the first virtual object in the virtual scene may be determined by the server according to the position of the first virtual object when the first skill is applied, and the position difference of the first skill corresponding adjustment.
  • the embodiment of the present invention may set the preset condition that the remaining life value of the game character affected by the first skill is zero (ie, the game character affected by the first skill is dead), because the game is different from the camp.
  • the battle between the different game characters of different camps is in the same game map battle.
  • the battle between the game characters is very intense, and the skill release is also very frequent. If each game character is affected by the skill, it is directed to the game character.
  • the game client of other game characters in the field of view broadcasts the effect of the game character affected by the skill, the amount of information sent by the game server will be very large, and the information processing pressure of the game client will be very large;
  • the game server can calculate the remaining life values of the game characters B and C; if the remaining life value of the game character B is zero If the game character B dies, the remaining life value of the game character B meets the preset condition, and the game server can broadcast the effect information of the game character B affected by the skill to the game client of all the game characters in the field of view of the game character B.
  • the debuffing skills such as the damage skill
  • the effect information may carry the damage value and the remaining life value of the game character B; the game client of all the game characters in the field of view of the game character B may display the damage value suffered by the game character B after being affected by the skill, and When the remaining life value of the game character B is zero, the effect display of the death of the game character B is triggered (for example, if the game character B dies, the game character B will be triggered to fall to the ground);
  • the game server calculates that the remaining life value of the game character C is not zero, it may be determined that the remaining life value of the game character C does not meet the preset condition, and the game server may provide the game client of the game character C and the game client of the game character A.
  • the broadcast game character C is affected by the skill effect information, the effect information may carry the damage value and the remaining life value of the game character C; the game client of the game character C, and the game client of the game character A may display the game character The value of damage suffered by C after being affected by the skill.
  • game character A can also apply gain skills (such as healing skills) to other game characters.
  • the game server can play the game client of the game character for the gain skill, and the game character A.
  • the client, the broadcast game character is affected by the skill gain effect information.
  • the server can broadcast the stage of displaying the skill display action of the virtual object to the client, and the server can broadcast the effect of displaying the effect of the virtual object affected by the skill to the client, and the server is delivered.
  • the embodiment of the present invention may have the following advantages:
  • the number of downlink information packets to be broadcasted can be reduced from 23% to 16% in the total number of downlink packets, and The proportion of broadcast downlink packets in the total downlink packet decreased from 18% to 11%;
  • the number of downlink packets of the broadcast can be reduced, and the proportion of the total number of downlink packets is reduced from 17% to 6%, and the downlink of the broadcast is The proportion of information packets in total downlink volume decreased from 37% to 7%;
  • the embodiment of the present invention can reduce the amount of information sent by the server to the client with a large probability, and at the same time, reduce the information processing pressure of the client with a large probability.
  • the information processing apparatus provided by the embodiment of the present invention is described below, and the information processing apparatus described below can refer to the information processing method described above.
  • FIG. 9 is a structural block diagram of an information processing apparatus according to an embodiment of the present invention.
  • the information processing apparatus is applicable to a client.
  • the information processing apparatus may include:
  • the transceiver module 100 is configured to receive a skill application request of the first virtual object sent by the first client, where the skill application request is used to request to perform the first skill;
  • the processing module 200 is configured to determine the number of virtual objects in the field of view of the first virtual object in the virtual scene.
  • the processing module 200 in the embodiment of the present application may be a software module and/or a hardware module, which is not limited in this application.
  • the number of virtual objects in the field of view is greater than a predetermined predetermined threshold, selecting a target virtual object from a field of view of the first virtual object, the number of target virtual objects corresponding to the predetermined threshold;
  • FIG. 10 is another structural block diagram of an information processing apparatus according to an embodiment of the present invention.
  • the processing module 200 is further configured to:
  • the first broadcast notification is sent by the transceiver module 100 to clients of all virtual objects within the field of view of the first virtual object.
  • the processing module 200 may further include:
  • the skill judging module 600 is configured to determine whether the first skill adjusts a position of the first virtual object in the virtual scene
  • the triggering module 700 is configured to trigger the quantity determining module to determine the number of virtual objects in the field of view of the first virtual object in the virtual scene if the first skill does not adjust the position of the first virtual object in the virtual scene;
  • the first skill adjusts the position of the first virtual object in the virtual scene, determining the adjusted position of the first virtual object in the virtual scene, and all the virtual objects in the field of view of the first virtual object by the transceiver module 100
  • the client of the object sends a broadcast notification to adjust the position of the first virtual object in the virtual scene to the adjusted position.
  • processing module 200 is further configured to:
  • the coordinates of the virtual object in the virtual scene are matched with the coordinate range, and the number of virtual objects whose coordinates are within the coordinate range is determined, and the number of the virtual objects is obtained.
  • processing module 200 may further include:
  • the object selection module 300 is configured to randomly select a target virtual object corresponding to the predetermined threshold from a field of view of the first virtual object;
  • the target virtual object corresponding to the predetermined threshold is selected.
  • FIG. 11 is a block diagram showing another structure of the information processing apparatus according to the embodiment of the present invention.
  • the processing module 200 may further include:
  • the skill-targeting determining module 900 is configured to determine, according to the skill casting request, at least one second virtual object that is targeted by the first skill;
  • the remaining attribute value determining module 1000 is configured to determine a remaining attribute value of each second virtual object after being affected by the first skill
  • a second broadcast notification generating module 1100 configured to generate a second broadcast notification corresponding to each second virtual object according to a remaining attribute value of each second virtual object affected by the first skill, respectively;
  • the second broadcast notification is for notifying that the second virtual object is affected by the first skill
  • the transceiver module 100 For the second virtual object whose remaining attribute value does not meet the preset condition, the transceiver module 100 sends a second broadcast notification corresponding to the second virtual object to the client of the second virtual object and the first client.
  • the skill-to-object determination module 900 is specifically configured to:
  • the virtual object list Determining, according to the virtual object list carried by the skill application request, at least one second virtual object targeted by the first skill; the virtual object list recording at least one second virtual target for the first skill target of the first virtual object Object.
  • the remaining attribute value includes: a remaining life value; the remaining attribute value conforming to the preset condition includes: the remaining life value is zero.
  • the first skill is an attack skill
  • the second broadcast notification includes: a life damage value of the second virtual object after being attacked by the first skill, and a remaining life value; wherein, if the remaining life value is zero, , triggers the death event of the second virtual object.
  • the information processing apparatus can develop a stage of notifying the client of the notification of the skill display action of the other virtual object, and a stage of developing the effect of the virtual object affected by the skill under the server to the client. Reduce the amount of information that the server delivers to the client and reduce the pressure on the client's information processing.
  • the embodiment of the invention further provides a server, which may include the information processing device described above.
  • FIG. 12 shows a hardware structural block diagram of a server.
  • the server may include: a processor 1, a communication interface 2, a memory 3, and a communication bus 4;
  • the processor 1, the communication interface 2, and the memory 3 complete communication with each other through the communication bus 4;
  • the communication interface 2 can be an interface of the communication module, such as an interface of the GSM module;
  • the processor 1 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
  • CPU central processing unit
  • ASIC Application Specific Integrated Circuit
  • the memory 3 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory.
  • the processor 1 is specifically configured to:
  • the number of virtual objects in the field of view is greater than a predetermined predetermined threshold, selecting a target virtual object from a field of view of the first virtual object, the number of target virtual objects corresponding to the predetermined threshold;
  • Determining in response to the first broadcast notification generated by the skill casting request, transmitting a first broadcast notification to a client of the target virtual object, the first broadcast notification being used to notify an action of displaying the first virtual object to perform the first skill .
  • the steps of a method or algorithm described in connection with the embodiments disclosed herein may be implemented directly in hardware, a software module executed by a processor, or a combination of both.
  • the software module can be placed in random access memory (RAM), memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or technical field. Any other form of storage medium known.
  • An embodiment of the present invention provides a method for processing a simulated object in an application, and a mobile terminal, which is used by the mobile terminal to perform a corresponding operation in each ring operation range, and has a reasonable operation arrangement for each ring operation range, which is a final display.
  • the rendered target simulation object is ready to optimize the resource allocation when displaying a large number of simulation objects on the same screen, reducing the probability of occurrence of the stagnation, and optimizing the frame rate (Frames per second).
  • each character will display a character model in the game scene, that is, a player character instance.
  • the analog object can be called a character.
  • it is based on the GameBryo engine modified according to the project requirements.
  • FIG. 13 is a visual field for the simulated object.
  • FIG. 13 A schematic diagram of management. When the character enters the server and sends the circle, the logical object and name card of the character are created immediately.
  • the player further enters the resource loading circle, the character resource is asynchronously loaded, and the character model instance is created and displayed immediately after the loading is completed.
  • the resource loading circle needs to load resources, create instances, and then perform rendering operations
  • the performance of the CPU and GPU on the PC platform is much higher than that of mobile devices such as mobile phones, as long as the resource loading and role are realized through the resource loading circle.
  • Instance creation operations rarely happening. For mobile devices with limited performance and strict requirements on power consumption and heat generation, the experience is poor. It is often the case that these operations are performed.
  • Prefab The basic management unit of art resources in the Unity engine, which can store models, textures, animations, etc. of art production in pre-edited files.
  • Game Object The game runtime object in the Unity engine. Different characters and models must create different Game Object objects for display.
  • Each player in a massively multiplayer online game controls a character in the game.
  • Each character displays a character model in the scene, which is an instance of the player character.
  • Instantiation Multiple roles may use the same resources (templates) in fine art representation, but appear as multiple object instances in performance. Instantiation refers to the process of creating multiple instances of a game object based on art assets.
  • Dressup When the player wears different equipment or fashion, the appearance of the player's character model will also change accordingly. This process is called dressing up.
  • Nameplate An information panel that is displayed on the character model and is used to display the player's name, family name, title, and so on.
  • the main application of this technology is: in a game with large-scale multi-player screen display requirements, when there are a large number of players dynamically entering and exiting the screen view, the rendering calculation cost of the player character is minimized, and the character creation/deletion of the character is reduced. Overhead.
  • FIG. 14 a schematic diagram of a multi-simulation object displayed on the same screen.
  • Prefab and its included model, texture, animation and other resources loading overhead Prefab instantiation overhead; rendering overhead; animation update overhead; GameObjet open engine data update overhead; the technical solution of the present invention can effectively solve the above performance problem.
  • FIG. 15 it is a schematic diagram of a framework of a resource manager and a role instance object pool, and the technical principle is described below.
  • the role manager Actor Manager is the program class responsible for managing all player role objects.
  • the instance pool Instance Pool will try to reuse the existing idle object instance from the collection pool of the instance cache Instance Cache before creating a new instance, avoiding the overhead of creating a new instance.
  • the Resource Manager Resource Manager also has a resource index list. When referring to the same resource, you can directly extract the resource to avoid repeatedly loading resources through the expensive Unity engine interface.
  • FIG. 15 is only a brief description of the design.
  • the role instance object pool, the special effect instance object pool, the equipment component object pool, and the like can be divided into a specific type specialization implementation and a delay unloading algorithm. .
  • FIG. 16 is a schematic diagram of an embodiment of a method for processing a simulated object in an application according to an embodiment of the present invention, including:
  • the mobile terminal detects a detection range centered on the main simulation object, where the detection range includes a plurality of control ranges, and each control range is in one-to-one correspondence with operations within the control range, where the operation is performed by a simulation object entering the control range. Operation
  • the mobile terminal detects a detection range centered on the main simulation object, and the detection range includes a plurality of control ranges, wherein the plurality of control ranges are concentric control ranges different from the distance of the center, and each control range is Corresponding to the operations performed in the respective control ranges.
  • the mock object of the present application may also be referred to as a virtual object.
  • FIG. 17 a schematic diagram of the management of the plurality of simulated object field of view on the mobile terminal.
  • Multiple control ranges can be four-layer character view circle set with the main character as the center point: server release circle, resource preparation circle, role instantiation circle, visible circle, resource preparation circle can also be called resource loading circle, visible circle is also called Visualization circle.
  • configure the corresponding program algorithm strategy to reduce the occurrence of the card that is, it can optimize the rendering calculation pressure when displaying a large number of player characters on the same screen, and the character loading and deletion pressure when repeatedly entering and exiting the field of view.
  • control range herein may be a plurality of circles of different radii centered on the main character, or may be a square, ellipse or other shape of the character view circle, which is not limited. Moreover, the number of control ranges is at least three, and each control range performs the corresponding operation.
  • the mobile terminal herein may include any terminal device such as a mobile phone, a tablet computer, a PDA (Personal Digital Assistant), a car computer, and the like.
  • the target simulation object and the main simulation object are various characters in the game, for example, it can be a general in the game, a soldier and the like, and the name can be similar to a torn compassion, a wind blowing, a cool, Mini Soul, not obeying, from childhood, as a hacker, street corner, kill red eye and other names.
  • the distance between the target simulation object and the main simulation object is determined.
  • the main simulation object here is the main character.
  • the target simulation object can be the target character that has been online before, or it can be the target character just online. Now it is within the detection range that the protagonist can detect. Then, the protagonist and the target character can be determined. The previous distance.
  • the mobile terminal when the mobile terminal detects the target simulation object within the detection range, after determining the distance between the target simulation object and the main simulation object, the mobile terminal determines the control range to which the target simulation object belongs according to the distance.
  • the distances between the plurality of control ranges and the center are arranged from large to small, and may include: a server delivery range, a resource loading range, an instantiation range, and a visualization range; then, the mobile terminal determines according to the distance.
  • the control scope to which the target simulation object belongs may be the server delivery range, the resource loading range, the instantiation scope, or the visualization scope.
  • the control range to which the target simulation object belongs is the server delivery range; if the distance is 6m, the control range to which the target simulation object belongs is the resource loading range; if the distance is 4m, the target simulation object The control range to which it belongs is the instantiation range; if the distance is 2m, the control range to which the target simulation object belongs is the visualization range.
  • the unit m here is a unit of meters in the virtual world of the game.
  • the mobile terminal after determining the control range to which the target simulation object belongs according to the distance, the mobile terminal processes the target simulation object according to the execution operation corresponding to the control scope.
  • the target simulation object is processed according to the execution operation corresponding to the control range, including at least one of the following:
  • the target instance is rendered and displayed, and the rendered target simulation object is displayed.
  • the mobile terminal includes a resource cache
  • the loading of the corresponding resource to the target simulation object may include:
  • the resource cache includes a target resource for creating an instance of the target simulation object, the target resource is extracted from the resource cache;
  • the target resource of the instance created by the target simulation object is not included in the resource cache, the target resource is loaded asynchronously.
  • the mobile terminal may further include an instance cache, perform rendering calculation on the target instance, and display the target virtual object after the rendering, and perform the following steps:
  • the target instance cache includes the target instance corresponding to the target simulation object, the target instance is reused; the target instance is rendered and displayed, and the rendered target simulation object is displayed, which may include: performing rendering calculation on the target instance, and displaying the rendered target simulation Object.
  • the target object corresponding to the target simulation object is created by using the corresponding resource
  • the method may include: if the target instance corresponding to the target simulation object is not included in the instance cache, acquiring the target simulation object Create a target resource for the instance; create a target instance with the target resource.
  • the control scope of the target role belongs to the server issuing the fan circle, which will continuously move through the resource loading circle, the instantiation circle and the visualization circle.
  • the target role is now circled under the server. Then, the mobile terminal judges the target role to determine whether a logical object has been created. If the logical object is not created, the mobile terminal creates a logical object of the target role and displays the The name card of the target object; if the logical object is created, the mobile terminal directly displays the name card of the target object.
  • the mobile terminal When the target role moves to the resource loading circle, the mobile terminal still first determines whether the target character has created a logical object. If it is created, the mobile terminal loads the resource of the target character. Of course, this is because the slave server is under the server. The circle moves to the resource loading circle. Therefore, the result of the judgment is that the logical object is created; if the logical object has not been created, the mobile terminal first creates a logical object for the target character, and then loads the resource.
  • the mobile terminal when the mobile terminal loads the resource of the target role, it may also first determine whether the target role resource is saved in the resource cache, and if so, the resource may be directly multiplexed. If not, the mobile terminal needs to Create the resources needed for the target to be asynchronously loaded by the resource manager through the resource manager. It should be noted that, when the resource is loaded in the circle, the target character of the target character is displayed on the mobile terminal.
  • the mobile terminal When the target character moves to the role instantiation circle, the mobile terminal still first determines whether the target character has created a logical object. If it is created, the mobile terminal loads the resource for the target character. Of course, this is because The server sends the circle to the resource loading circle and then moves to the role instantiation circle. Therefore, the result of the judgment is that the logical object is created; if the logical object has not been created, the mobile terminal first creates the logical object for the target role. Then load the resources.
  • the mobile terminal may first determine whether to save the resource for the target role in the resource cache, and if so, the mobile terminal may directly reuse the resource; if not, Then, the mobile terminal needs to create a resource required for the target to be asynchronously loaded by the resource manager through the resource manager.
  • the mobile terminal may use the resource acquired by the resource loading circle to create an instance of the target character, and the target character does not display the target role when the role is instantiated, that is, there is no rendering and instance update computing overhead, and the mobile terminal The name card of the target character is also displayed on the terminal.
  • the mobile terminal When the target character moves to the visualization circle, the mobile terminal still first determines whether the target character has created a logical object. If it is created, the mobile terminal loads the resource for the target character. Of course, this is because the server is under the server. The movement circle moves to the resource loading circle, then moves to the character instantiation circle, and finally moves to the visualization circle. Therefore, the result of the judgment is that the logical object is created; if the logical object has not been created, the mobile terminal first performs the target character The creation of logical objects, and then the loading of resources.
  • the mobile terminal may first determine whether to save the resource for the target role in the resource cache, and if so, the mobile terminal may directly reuse the resource; if not, Then, the mobile terminal needs to create a resource required for the target to be asynchronously loaded by the resource manager through the resource manager.
  • the mobile terminal may use the resource acquired by the resource loading circle to create an instance of the target character, and the target character does not display the target role when the role is instantiated, that is, there is no rendering and instance update computing overhead, and the mobile terminal The name card of the target character is also displayed on the terminal.
  • the mobile terminal enables the created role instance for the target character, performs actual rendering and calculation, and displays the rendered target character on the mobile terminal.
  • the target role belongs to the control circle, which will be continuously moved through the instantiation circle, resource loading circle and server release circle.
  • the target character appears online for the first time in the visualization circle. Then, the mobile terminal first determines whether the target character has created a logical object. If not created, the mobile terminal creates a logical object of the target role; if created, the mobile terminal The logical object that has been created is directly multiplexed. If no logical object is created, the mobile terminal creates a pure logical role object for the target application.
  • the mobile terminal determines whether the target role has been created. If the instance is created, the instance of the target role may be reused from the instance cache to implement the reuse of the instance, thereby avoiding the overhead of creating a new instance; Then, the mobile terminal needs to acquire resources for creating an instance of the target role.
  • the mobile terminal when it acquires the resource of the target role creation instance, it may first determine whether the resource of the target role is cached; if it is cached, the mobile terminal may directly extract the cached resource from the resource cache; if not cached Then, the mobile terminal needs to load the asynchronous resource through the resource manager, and obtain a resource for creating an instance for the target role.
  • the mobile terminal uses the acquired resources to create an instance of the target role.
  • the mobile terminal enables the creation of an instance of the target character, performs actual rendering and calculation, and displays the rendered target character on the mobile terminal, that is, displays the character.
  • the mobile terminal When the target character moves to the instantiation circle, the mobile terminal also determines whether the target character has created a logical object. If not created, the mobile terminal creates a logical object of the target character; if created, moves The terminal determines whether the instance of the target role has been created. If the instance of the target role is created, the mobile terminal directly reuses the instance from the instance cache; if the instance of the target role has not been created, the mobile terminal needs to obtain the created A resource of the target role instance that is used to create an instance of the target role.
  • the mobile terminal When the mobile terminal obtains the resource of the instance that creates the target role, it may first determine whether the resource for creating the target role instance is already cached. If the cache is used, the mobile terminal may directly extract the cached resource. If not, then move. The terminal needs to asynchronously load the resources needed to create the target instance through the resource manager.
  • the resource may be used to create an instance of the target character, but at this time, the name card of the target character is displayed on the mobile terminal.
  • the mobile terminal When the target role moves to the resource loading circle, the mobile terminal also determines whether the target character has created a logical object. If created, the mobile terminal acquires a resource for creating an instance for the target role; if not, The mobile terminal creates a logical object for the target role.
  • the obtaining, by the mobile terminal, the resource for creating the instance for the target role may include: the mobile terminal determining whether the resource for creating the target role instance is already cached, and if the cache is, the mobile terminal may directly extract the cached resource; if not, the mobile terminal needs to The resources required to create the target instance are asynchronously loaded by the resource manager. At this time, the name card of the target character is displayed on the mobile terminal.
  • the mobile terminal When the target character moves to the server to send a circle, the mobile terminal also determines whether the target character has created a logical object. If it is created, the mobile terminal directly uses the logical object, and if not created, moves The terminal creates a logical object for the target role.
  • the processing of each target role is similar to the above method, combined with the resource manager
  • the technology of the instance object pool and the view circle management greatly reduces the resource loading and instance creation/deletion overhead of the character repeatedly entering and leaving the field of view.
  • the dynamic parameter adjustment mechanism based on hardware performance and real-time frame rate, and the character hiding strategy designed according to the gameplay method subtly reduce the rendering and computational overhead of displaying a large number of characters on the same screen.
  • the mobile terminal receives a skin resurfacing command for the target simulation object, where the target simulation object may be a main character or other target characters.
  • the target simulation object may be a main character or other target characters. It should be noted here that before the mobile terminal performs skin resurfacing on the protagonist or the target character, it is necessary to ensure the uniformity of the skeleton and the model, and the skin resurfacing here may also be referred to as a reloading.
  • the mobile terminal after receiving the skin resurfacing instruction of the target simulation object, acquires bone data corresponding to the target simulation object, and target mesh data and target material data to be replaced. That is, the mobile terminal can directly load the Mesh mesh of the new skin and the material resource of the material (it is necessary to ensure that the skeleton derived by the model is consistent).
  • the mobile terminal acquires the bone data corresponding to the target simulation object, and the target mesh data and the target material data to be replaced, the source mesh data and the source material data bound on the bone data are replaced.
  • Target grid data and target material data are replaced.
  • the mobile terminal directly replaces Mesh and Material with the original model's Skinned Mesh Renderer; after modification, the Prefab level loading and instantiation steps are omitted, and the skinning cost is reduced to a lot. .
  • the reload optimization mechanism skips the Prefab level instantiation step of the Unity engine by ensuring the uniformity of the skeleton and the model, and uses the method of directly replacing the underlying node model and material resources to improve the program execution efficiency of the skin resurfacing.
  • steps 405-407 are optional steps. In actual applications, whether to perform according to actual needs may be determined. Moreover, the timing of steps 405-407 and the timing of steps 401-404 are not limited.
  • the field of view circle can be merged into other circles without using resource preloading circles or visualization circles; the specific algorithm of skinning can be replaced with some bones, or the material can be directly replaced, and the skin can be loaded together with Prefab.
  • the method is applied to an interactive application in which a multi-simulation object is displayed on the same screen of a mobile terminal, and a display object is displayed on the display interface of the interactive application, and the mobile terminal detects the main simulation object as a center.
  • the detection range includes a plurality of control ranges, the plurality of control ranges being different concentric control ranges from the center, and the plurality of control ranges are not overlapped, and each control range is executed by entering a respective control range Corresponding to the operation; when the target simulation object is detected within the detection range, determining the distance between the target simulation object and the main simulation object; determining the control range to which the target simulation object belongs according to the distance; The corresponding execution operation is performed on the target simulation object. Because the mobile terminal performs corresponding operations in each control range, it has reasonable operation arrangement for each control range, and performs accurate work for the target simulated object after the final display is rendered, and optimizes resource allocation when displaying a large number of simulated objects on the same screen. Reduce the probability of a carton appearing.
  • the resource loading and instance creation/deletion overhead of the character repeatedly entering and leaving the field of view are greatly reduced.
  • the dynamic parameter adjustment mechanism based on hardware performance and real-time frame rate, and the character hiding strategy designed according to the gameplay method subtly reduce the rendering and computational overhead of displaying a large number of characters on the same screen.
  • the optimization of the role skinning mechanism is based on the characteristics of the project. On the basis of the above technology, the resource loading and switching overhead that are inevitable when the equipment is replaced are further improved.
  • the assumption includes the protagonist, the target character 1 is the national general, the target character 2 is the town general, and the target character 3 is the general of the town;
  • the mobile phone is centered on the protagonist's arrogance, and the view circle management is divided into four circles as shown in Figure 17 above, the server is issued, the resource preparation circle, the role instantiation circle, and the visible circle. Then, when the target character 1 is online, the distance S1 of the target character 1 from the main character is determined, and the ring operation range to which the target character 1 belongs is determined according to the distance S1.
  • the ring operation range determined here is the resource loading circle; the mobile phone determines the target character 1 To determine whether a logical object has been created, if any, the target role 1 can be loaded with resources; if no logical object has been created, the mobile phone needs to first create a logical object for the target character 1 and then load the resource.
  • the resource when the resource is loaded, it may be determined whether the resource of the target role 1 is included in the resource cache. If yes, the resource may be directly obtained. If not, the mobile phone needs to load the resource asynchronously through the resource manager.
  • the target character 1 displays the name card in the resource loading circle, that is, the opening country.
  • the target character 1 moves again, and the mobile phone obtains the distance between the target character 1 and the main character, and determines the ring operation range to which the target character 1 belongs according to the distance.
  • the mobile phone also needs to target the target character 1 Determine whether to create a logical object. If created, the mobile phone directly displays the name card of the target character 1. If not created, the mobile phone first creates a logical object for the target character 1, and then displays the name of the target character 1. The card was opened.
  • the target character 1 When the distance between the target character 1 and the main character is greater than the maximum diameter of the server's hair ring, the target character 1 is not displayed on the mobile phone. It is possible that the target character 1 is offline, or may stay outside the server's hair circle, and travel around. go.
  • the mobile phone can first determine whether the target character 2 has created an instance, and if so, the target character.
  • the instance can be directly reused for actual rendering and calculation, and the rendered target character 2 (including the name of the target character 2, the townside general) is displayed on the mobile phone. Because the instance resources created before can be directly utilized, the resource overhead is saved.
  • the mobile phone judges the target character 2 to determine whether a logical object has been created. If it is created, the mobile phone directly displays the name card of the target character 2. If not, the mobile phone performs the target character. The creation of logical objects. Then, it is determined whether the resource of the instance is created for the target role 2, and if it is cached, the mobile phone can directly obtain the cached resource; the overhead caused by the engine repeatedly loading the resource is avoided. If not, then the phone needs to load resources asynchronously.
  • Target character 2 (including the name of the target character 2 town general).
  • the mobile phone determines the distance S3 between the target character 3 and the main character, and judges that the target character 3 is in the instantiation circle according to the distance S3.
  • the mobile phone first determines whether the target role 3 has been created. If it is created, the instance can be reused directly from the instance cache, and no new instance creation is required, thereby saving resource overhead. If no instance has been created, then the mobile phone needs to create an instance of the target role 3.
  • the resource cache includes the resource created by the target role 3, it can be directly obtained. If not, the mobile phone needs to load the resource for creating the instance, and create an instance for the target role 3 according to the obtained resource. At this time, on the mobile phone. Shown is the name of the target character 3, the generals of the town.
  • the target character 3 moves and runs to the visualization circle. Then the mobile phone can enable the created target instance 3 to create a good instance, perform rendering and calculation, and display the rendered target character 3.
  • the embodiment of the present invention can combine the resource management device and the instance object pool with the view circle management technology, thereby greatly reducing the resource loading and instance creation/deletion overhead of the character repeatedly entering and leaving the field of view.
  • FIG. 18 it is a schematic diagram of an embodiment of the mobile terminal, where the mobile terminal includes multiple analog objects.
  • the interactive application of the screen display, the main simulation object is displayed on the display interface of the interactive application, and the mobile terminal may include:
  • the detecting module 601 is configured to detect a detection range centered on the main simulation object, where the detection range includes multiple control ranges, and each control range corresponds to an operation performed by entering the respective control range;
  • the first determining module 602 is configured to determine a distance between the target simulated object and the main simulated object when the target simulated object is detected within the detection range;
  • a second determining module 603, configured to determine, according to the distance, a control range to which the target simulation object belongs;
  • the processing module 604 is configured to process the target simulation object according to the execution operation corresponding to the associated control range.
  • the distance between the multiple control ranges and the center is arranged from large to small, including: a server delivery range, a resource loading range, an instantiation range, and a visualization range;
  • the processing module 604 is specifically configured to include at least one of the following:
  • the logical object is created on the target simulation object, and the name card corresponding to the target simulation object that creates the logical object is displayed;
  • the corresponding simulated object is loaded with the corresponding resource
  • the target instance corresponding to the target simulation object is created by using the corresponding resource
  • the target instance is rendered and displayed, and the rendered target simulation object is displayed.
  • the mobile terminal includes a resource cache.
  • the processing module 604 is specifically configured to: if the resource cache includes a first resource that creates an instance of the target simulated object, extract the first resource from the resource cache;
  • the processing module 604 is specifically configured to: if the first resource that creates an instance of the target simulated object is not included in the resource cache, load the first resource asynchronously.
  • the mobile terminal includes an instance cache, and the mobile terminal further includes:
  • the processing module 604 is specifically configured to: if the first instance corresponding to the target simulation object is included in the instance cache, reuse the first instance; perform rendering calculation on the first instance, and display the rendered target simulation object.
  • the mobile terminal includes an instance cache
  • the processing module 604 is specifically configured to: if the first instance corresponding to the target simulation object is not included in the instance cache, obtain the first resource of the target simulation object creation instance; and create the first instance by using the first resource.
  • the mobile terminal may further include:
  • the receiving module 605 is configured to receive a skin resurfacing instruction for the target simulation object
  • the obtaining module 606 is configured to acquire bone data corresponding to the target simulation object, and target mesh data and target material data to be replaced;
  • the replacement module 607 is configured to replace the source grid data and the source material data bound on the bone data with the target grid data and the target material data.
  • FIG. 20 is a schematic diagram of another embodiment of a mobile terminal according to an embodiment of the present invention. For the convenience of description, only parts related to the embodiment of the present invention are shown. For details that are not disclosed, refer to the embodiment of the present invention. Method part.
  • FIG. 20 is a block diagram showing a partial structure of a mobile phone related to a terminal provided by an embodiment of the present invention.
  • the mobile phone includes: a radio frequency (RF) circuit 810, a memory 820, an input unit 830, a display unit 840, a sensor 850, an audio circuit 860, a wireless fidelity (WiFi) module 870, and a processor 880. And power supply 890 and other components.
  • RF radio frequency
  • the RF circuit 810 can be used for receiving and transmitting signals during the transmission or reception of information or during a call. Specifically, after receiving the downlink information of the base station, it is processed by the processor 880. In addition, the uplink data is designed to be sent to the base station. Generally, RF circuit 810 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like. In addition, RF circuitry 810 can also communicate with the network and other devices via wireless communication. The above wireless communication may use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (Code Division). Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), E-mail, Short Messaging Service (SMS), and the like.
  • GSM Global System of Mobile communication
  • GPRS General Packet Radio Service
  • the memory 820 can be used to store software programs and modules, and the processor 880 executes various functional applications and data processing of the mobile phone by running software programs and modules stored in the memory 820.
  • the memory 820 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored according to Data created by the use of the mobile phone (such as audio data, phone book, etc.).
  • memory 820 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
  • the input unit 830 can be configured to receive input numeric or character information and to generate key signal inputs related to user settings and function controls of the handset.
  • the input unit 830 may include a touch panel 831 and other input devices 832.
  • the touch panel 831 also referred to as a touch screen, can collect touch operations on or near the user (such as the user using a finger, a stylus, or the like on the touch panel 831 or near the touch panel 831. Operation), and drive the corresponding connecting device according to a preset program.
  • the touch panel 831 can include two parts: a touch detection device and a touch controller.
  • the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
  • the processor 880 is provided and can receive commands from the processor 880 and execute them.
  • the touch panel 831 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • the input unit 830 may also include other input devices 832.
  • other input devices 832 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
  • the display unit 840 can be used to display information input by the user or information provided to the user as well as various menus of the mobile phone.
  • the display unit 840 can include a display panel 841.
  • the display panel 841 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
  • the touch panel 831 can cover the display panel 841. When the touch panel 831 detects a touch operation thereon or nearby, the touch panel 831 transmits to the processor 880 to determine the type of the touch event, and then the processor 880 according to the touch event. The type provides a corresponding visual output on display panel 841.
  • the touch panel 831 and the display panel 841 are two independent components to implement the input and input functions of the mobile phone, in some embodiments, the touch panel 831 can be integrated with the display panel 841. Realize the input and output functions of the phone.
  • the handset can also include at least one type of sensor 850, such as a light sensor, motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 841 according to the brightness of the ambient light, and the proximity sensor may close the display panel 841 and/or when the mobile phone moves to the ear. Or backlight.
  • the accelerometer sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
  • the mobile phone can be used to identify the gesture of the mobile phone (such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, no longer Narration.
  • the gesture of the mobile phone such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration
  • vibration recognition related functions such as pedometer, tapping
  • the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, no longer Narration.
  • An audio circuit 860, a speaker 861, and a microphone 862 can provide an audio interface between the user and the handset.
  • the audio circuit 860 can transmit the converted electrical data of the received audio data to the speaker 861 for conversion to the sound signal output by the speaker 861; on the other hand, the microphone 862 converts the collected sound signal into an electrical signal by the audio circuit 860. After receiving, it is converted into audio data, and then processed by the audio data output processor 880, sent to the other mobile phone via the RF circuit 810, or outputted to the memory 820 for further processing.
  • WiFi is a short-range wireless transmission technology
  • the mobile phone can help users to send and receive emails, browse web pages, and access streaming media through the WiFi module 870, which provides users with wireless broadband Internet access.
  • FIG. 20 shows the WiFi module 870, it can be understood that it does not belong to the essential configuration of the mobile phone, and may be omitted as needed within the scope of not changing the essence of the invention.
  • the processor 880 is the control center of the handset, and connects various portions of the entire handset using various interfaces and lines, by executing or executing software programs and/or modules stored in the memory 820, and invoking data stored in the memory 820, executing The phone's various functions and processing data, so that the overall monitoring of the phone.
  • the processor 880 may include one or more processing units; preferably, the processor 880 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
  • the modem processor primarily handles wireless communications. It will be appreciated that the above described modem processor may also not be integrated into the processor 880.
  • the handset also includes a power source 890 (such as a battery) that supplies power to the various components.
  • a power source 890 such as a battery
  • the power source can be logically coupled to the processor 880 through a power management system to manage functions such as charging, discharging, and power management through the power management system.
  • the mobile phone may further include a camera, a Bluetooth module, and the like, and details are not described herein again.
  • the processor 880 included in the terminal further has the following functions:
  • the detection range includes a plurality of control ranges, each control range corresponding to an operation performed in entering the respective control range; when the target simulation object is detected within the detection range, determining the target simulation object The distance from the main simulation object; according to the distance, the control range to which the target simulation object belongs is determined; and the target simulation object is processed according to the execution operation corresponding to the control range to which it belongs.
  • the distance between the multiple control ranges and the center is arranged from large to small, including: a server delivery range, a resource loading range, an instantiation range, and a visualization range; and the processor 880 further has The following features:
  • a logical object is created on the target simulation object, and a name card corresponding to the target simulation object that creates the logical object is displayed;
  • the target instance corresponding to the target simulation object is created by using the corresponding resource
  • the target instance is rendered and displayed, and the rendered target simulation object is displayed.
  • the mobile terminal includes a resource cache
  • the processor 880 further has the following functions:
  • the resource cache includes a first resource that creates an instance of the target simulation object, extracting the first resource from the resource cache;
  • the first resource of the instance created by the target simulation object is not included in the resource cache, the first resource is asynchronously loaded.
  • the mobile terminal includes an instance cache
  • the processor 880 further has the following functions:
  • the instance cache includes the first instance corresponding to the target simulation object, multiplexing the first instance; performing rendering calculation on the first instance to display the rendered target simulation object.
  • the mobile terminal includes an instance cache
  • the processor 880 further has the following functions:
  • the first instance corresponding to the target simulation object is not included in the instance cache, acquiring the first resource of the target simulation object creation instance; and using the first resource to create the first instance.
  • the processor 880 further has the following functions:
  • Receiving a skin resurfacing instruction on the target simulation object acquiring bone data corresponding to the target simulation object, and target mesh data and target material data to be replaced; replacing the source mesh data and the source material data bound on the bone data Target grid data and target material data.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例提供一种信息处理方法、装置及服务器,该方法包括:接收第一客户端发送的第一虚拟对象的技能施展请求,所述技能施展请求用于请求施展第一技能;确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量;如果所述视野范围内的虚拟对象数量大于预定的预定阈值,从所述第一虚拟对象的视野范围内选取目标虚拟对象,所述目标虚拟对象数量与所述预定阈值相应;确定响应所述技能施展请求所生成的第一广播通知,向所述目标虚拟对象的客户端发送第一广播通知,所述第一广播通知用于通知展示第一虚拟对象施展第一技能的动作。本发明实施例可降低服务器下发到客户端的信息量,并降低客户端的信息处理压力。

Description

一种信息处理方法、装置及服务器
本申请要求于2017年1月5日提交中国专利局、申请号为2017100079568、发明名称为“一种信息处理方法、装置及服务器”;以及2017年1月23日提交中国专利局、申请号为2017100584711、发明名称为“一种应用中模拟对象处理的方法以及移动终端”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及信息处理技术领域,具体涉及一种信息处理方法、装置及服务器。
背景技术
随着游戏、仿真等类型网络应用的兴起,多用户可通过各自创建的虚拟对象在网络应用提供的虚拟场景中参与竞技等活动,一般而言,一个用户可通过一个客户端控制至少一个虚拟对象在虚拟场景中进行活动;如以游戏网络应用为例,多个用户可通过各自的游戏客户端,控制所创建的游戏角色在游戏地图中进行战斗。
虚拟场景中一虚拟对象的活动,将影响虚拟场景中的其他虚拟对象,如一虚拟对象施展技能时,虚拟场景中其他虚拟对象的客户端,需要相应的展示该虚拟对象施展技能的动作,以体现出虚拟场景中虚拟对象活动的真实性,因此在虚拟场景中存在活动的虚拟对象时,服务器需要将该虚拟对象的活动及时的通知给虚拟场景中的其他虚拟对象的客户端。
然而,虚拟场景中同时活动的虚拟对象的数量可能较多,这使得服务器需要向客户端下发大量的通知,信息的下行压力较大,同时,客户端在当前存在较多活动的虚拟对象时,需要处理大量下发通知以进行信息同步,客户端的信息处理压力也较大;因此如何降低服务器下发到客户端的信息量,并降低客户端的信息处理压力,成为了需要考虑的问题。
在现有技术中,在使用非Unity的其它游戏引擎的项目开发中使用分层视野圈管理技术,在一些多个模拟对象同时显示的交互式应用中,存在服务器下发圈和资源加载圈的概念,用来优化角色渲染压力和加/卸载速度。
多个模拟对象同时显示的交互式应用,该应用基于根据项目需求修改过的GameBryo引擎实现,仅存在服务器下发圈和资源加载圈两层。当角色进入服 务器下发圈后就立刻创建角色的逻辑对象和名字牌,当玩家进一步进入资源加载圈后即开始异步加载角色资源,并在加载完毕后立刻创建角色模型实例并显示。
这样的技术方案可满足大多数PC(personal computer,个人计算机)游戏的多人同屏显示效率需求。在PC平台上由于中央处理器(CPU,Central Processing Unit)和图形处理器(Graphics Processing Unit,GPU)性能都远远高于手机等移动端设备,通过资源加载圈实现异步的资源加载和角色实例创建操作,出现卡顿的情况很少。但是对于性能有限、对耗电量、发热量严格要求的移动设备来说,在多人同屏类型的游戏中,通过资源加载圈实现异步的资源加载和角色实例创建操作,经常会出现卡顿的情况,不能流畅的使游戏运行。
发明内容
有鉴于此,本发明实施例提供一种信息处理方法、装置及服务器,以降低服务器下发到客户端的信息量,并降低客户端的信息处理压力。
为实现上述目的,本发明实施例提供如下技术方案:
一种信息处理方法,包括:
接收第一客户端发送的第一虚拟对象的技能施展请求,所述技能施展请求用于请求施展第一技能;
确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量;
如果所述视野范围内的虚拟对象数量大于预定的预定阈值,从所述第一虚拟对象的视野范围内的虚拟对象中选取目标虚拟对象;
获取响应于所述技能施展请求所生成的第一广播通知,向所述目标虚拟对象对应的的客户端发送第一广播通知,所述第一广播通知用于通知所述客户端展示第一虚拟对象施展第一技能的动作。
本发明实施例还提供一种信息处理装置,所述装置应用于移动终端,所述移动终端包括同屏显示多虚拟对象的第一客户端,所述第一客户端的显示界面上显示第一虚拟对象;所述信息处理装置包括:
收发模块,用于接收第一客户端发送的第一虚拟对象的技能施展请求,所述技能施展请求用于请求施展第一技能;
处理模块,用于确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对 象数量;
如果所述视野范围内的虚拟对象数量大于预定的预定阈值,从所述第一虚拟对象的虚拟对象中的视野范围内选取目标虚拟对象;
所述收发模块还用于获取响应于所述技能施展请求所生成的第一广播通知,向所述目标虚拟对象的客户端发送第一广播通知,所述第一广播通知用于通知所述客户端展示第一虚拟对象施展第一技能的动作。
本发明实施例还提供一种服务器,包括上述所述的信息处理装置。
基于上述技术方案,本发明实施例中,服务器在接收到第一客户端发送的请求第一虚拟对象施展第一技能的技能施展请求时,可确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量,并在所述视野范围内的虚拟对象数量大于预定的预定阈值时,从所述第一虚拟对象的视野范围内选取数量与所述预定阈值相应的目标虚拟对象,确定响应所述技能施展请求所生成的第一广播通知,向目标虚拟对象的客户端发送第一广播通知,使得所述目标虚拟对象的客户端,展示第一虚拟对象施展第一技能的动作,实现第一客户端的第一虚拟对象施展第一技能时,第一虚拟对象视野范围内的虚拟对象的客户端,对第一虚拟对象施展第一技能的动作进行相应的展示,维持虚拟场景中虚拟对象活动的真实性。
由于通过预定预定阈值,服务器可在第一虚拟对象施展技能,且第一虚拟对象的视野范围内的虚拟对象数量大于所述预定阈值时,向小于所述虚拟对象数量的客户端发送第一广播通知,因此降低了服务器下发到客户端的信息量,同时,在当前存在较多同时施展技能的虚拟对象时,可降低客户端获取的信息量,降低客户端的信息处理压力。
本发明实施例还提供了一种应用中模拟对象处理的方法以及移动终端,用于移动终端在每个控制范围执行相应的操作,对每个控制范围都有合理的操作安排,为最终显示渲染后的目标模拟对象做准备工作,优化同屏显示大量模拟对象时的资源分配,降低卡顿出现的概率,还优化了帧速率(Frames per second)。
本发明实施例第一方面提供一种应用中模拟对象处理的方法,该方法应用 于移动终端上多模拟对象同屏显示的交互应用中,该交互应用的显示界面上显示有主模拟对象,该方法可以包括:
该移动终端检测以该主模拟对象为中心的检测范围,该检测范围包括多个控制范围,每个控制范围与控制范围内的操作一一对应,所述操作是指进入控制范围的虚拟对象所执行的操作;
当在该检测范围内检测到目标模拟对象时,确定该目标模拟对象与该主模拟对象的距离;
根据该距离,确定该目标模拟对象所属的控制范围;
根据该目标虚拟对象所在的控制范围所执行的操作,对该目标模拟对象进行处理。
本发明实施例第二方面提供一种移动终端,该移动终端上包含多模拟对象同屏显示的交互应用,该交互应用的显示界面上显示有主模拟对象,该移动终端可以包括:
检测模块,用于检测以该主模拟对象为中心的检测范围,该检测范围包括多个控制范围,每个控制范围与控制范围内的操作一一对应,所述操作是指进入控制范围的虚拟对象所执行的操作;
第一确定模块,用于当在该检测范围内检测到目标模拟对象时,确定该目标模拟对象与该主模拟对象的距离;
第二确定模块,用于根据该距离确定该目标模拟对象所属的控制范围;
处理模块,用于根据该目标虚拟对象所在的控制范围所执行的操作,对该目标模拟对象进行处理。
从以上技术方案可以看出,本发明实施例具有以下优点:
在本发明实施例中,该方法应用于移动终端上多模拟对象同屏显示的交互应用中,该交互应用的显示界面上显示有主模拟对象,该移动终端检测以该主模拟对象为中心的检测范围,该检测范围包括多个控制范围,每个控制范围与进入各自控制范围所执行的操作对应;当在该检测范围内检测到目标模拟对象时,确定该目标模拟对象与该主模拟对象的距离;根据该距离,确定该目标模拟对象所属的控制范围;根据该所属的控制范围所对应的执行操作,对该目标模拟对象进行处理。因为移动终端在每个控制范围执行相应的操作,对每个控 制范围都有合理的操作安排,为最终显示渲染后的目标模拟对象做准备工作,优化同屏显示大量模拟对象时的资源分配,降低卡顿出现的概率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的实现信息处理方法的系统架构示意图;
图2为本发明实施例提供的信息处理方法的信令流程图;
图3为确定第一虚拟对象的视野范围内的虚拟对象的示意图;
图4为本发明实施例提供的信息处理方法的另一信令流程图;
图5为游戏服务器通知游戏客户端展示游戏角色施展技能的动作的示意图;
图6为游戏服务器通知游戏客户端展示游戏角色施展技能的动作的另一示意图;
图7为服务器通知客户端展示技能效果的方法流程图;
图8为游戏服务器通知游戏客户端展示展示技能效果的示意图;
图9为本发明实施例提供的信息处理装置的结构框图;
图10为本发明实施例提供的信息处理装置的另一结构框图;
图11为本发明实施例提供的信息处理装置的再一结构框图;
图12为服务器的硬件结构框图;
图13为本发明实施例中对模拟对象视野圈管理的一个示意图;
图14为本发明实施例中移动终端上多模拟对象同屏显示的一个示意图;
图15为本发明实施例中资源管理器和角色实例对象池的框架示意图;
图16为本发明实施例中应用中模拟对象处理的方法的一个实施例示意图;
图17为本发明实施例中对模拟对象视野圈管理的另一个示意图;
图18为本发明实施例中移动终端的另一个实施例示意图;
图19为本发明实施例中移动终端的另一个实施例示意图;
图20为本发明实施例中移动终端的另一个实施例示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的实现信息处理方法的系统架构示意图,参照图1,该系统架构可以包括:多个客户端10和服务器20;
其中,客户端10可以装载在智能手机、平板电脑等移动终端上,为游戏、仿真等类型网络应用提供本地服务;可选的,客户端10如游戏客户端;
服务器20是设置于网络侧的为游戏、仿真等类型网络应用提供网络服务的服务设备;服务器20可以是由多个服务器组成的服务器群组,也可能由单独的服务器实现;可选的,服务器20如游戏服务器。
在本发明实施例中,图1所示多个客户端10可以分布在不同的地点,多个客户端10通过与服务器20进行信息交互,加载同一虚拟场景,将各自控制的虚拟对象加入到该虚拟场景中;并且通过各客户端的操作,可实现客户端所控制的虚拟对象在虚拟场景中的活动;可选的,一个客户端10可控制至少一个虚拟对象(一般是客户端用户所创建的虚拟对象)在虚拟场景中进行活动。
施展技能作为虚拟对象典型的活动形式,当一个客户端控制一个虚拟对象施展技能时,服务器需通知该虚拟对象视野范围内的虚拟对象的客户端,展示该虚拟对象施展技能的动作;在这个过程中,如何降低服务器下发到客户端的信息量,减少客户端的信息处理压力,是本发明实施例需要解决的一个问题。
为解决该问题,图2示出了本发明实施例提供的信息处理方法的信令流程图,所述方法应用于移动终端上多虚拟对象同屏显示的第一客户端中,所述第一客户端的显示界面上显示第一虚拟对象。第一客户端也可称为交互式应用,虚拟对象也可称为模拟对象。结合图1和图2所示,该流程可以包括:
步骤S10、第一客户端向服务器发送第一虚拟对象的技能施展请求,所述技能施展请求用于请求施展第一技能。
第一虚拟对象为第一客户端所控制的虚拟对象,第一客户端所展示的虚拟场景视野一般以第一虚拟对象在虚拟场景中的视野为准;第一客户端可以是图 1所示多个客户端中任意一个施展技能的虚拟对象所对应的客户端。
第一客户端向服务器发送第一虚拟对象的技能施展请求,可以是在第一客户端用户操作触发第一虚拟对象施展第一技能时进行;比如第一客户端用户可通过点击屏幕的第一技能的施展图标,触发第一虚拟对象施展第一技能,或者,第一客户端用户可通过外接的键盘、鼠标等输入装置触发第一虚拟对象施展第一技能,使得第一客户端向服务器发送第一虚拟对象的技能施展请求。
相应的,服务器可接收第一客户端发送的第一虚拟对象的技能施展请求。
步骤S11、服务器确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量。
确定虚拟场景中第一虚拟对象的视野范围内的虚拟对象数量,即确定在第一虚拟对象的视野范围内,具有多少个虚拟对象;
可选的,第一虚拟对象的视野范围内的虚拟对象数量可通过虚拟场景中的虚拟对象的坐标,与第一虚拟对象的视野范围对应的坐标范围的匹配确定;本发明实施例可确定第一虚拟对象在虚拟场景中的坐标,以第一虚拟对象的坐标为中心,将包含第一虚拟对象的坐标的设定坐标范围(一般是屏幕单屏所能够显示的虚拟场景坐标范围),作为第一虚拟对象的视野范围,相应的,可得出第一虚拟对象的视野范围在虚拟场景中对应的坐标范围;进而将虚拟场景中虚拟对象的坐标,与所述坐标范围进行匹配,确定坐标处于所述坐标范围内的虚拟对象的数量,从而得到所述虚拟对象数量;
可选的,第一虚拟对象的视野范围对应的坐标范围可以是,以第一虚拟对象的坐标为中心的设定范围;如图3所示,本发明实施例可以第一虚拟对象的坐标为中心,构建一个设定大小的九宫格范围,确定出第一虚拟对象的视野范围对应的坐标范围;从而将在虚拟场景中的坐标,落入该九宫格范围的虚拟对象,确定为在所述第一虚拟对象的视野范围内的虚拟对象(如图3中落在九宫格范围内的虚拟对象,虚拟对象由图3中的黑点表示),统计出第一虚拟对象的视野范围内的虚拟对象数量。
步骤S12、如果所述视野范围内的虚拟对象数量大于预定阈值,服务器从所述第一虚拟对象的视野范围内的虚拟对象中选取目标虚拟对象。
可选的,本发明实施例可预定预定阈值,并在确定所述视野范围内的虚拟对象数量后,判断所述视野范围内的虚拟对象数量是否大于预定的预定阈值。
如果所述视野范围内的虚拟对象数量大于所述预定阈值,则可确定第一虚拟对象的视野范围存在较多的虚拟对象,如果均通知第一虚拟对象的视野范围内的所有虚拟对象的客户端,展示第一虚拟对象施展第一技能的动作,则服务器下发到客户端的信息量将较大;同时,如果当前同时存在较多施展技能的虚拟对象,则客户端接收到服务器下发的信息量将较大,客户端的信息处理压力也将攀升;基于此,本发明实施例可在第一虚拟对象的视野范围内的虚拟对象数量大于所述预定阈值时,仅从所述第一虚拟对象的视野范围内选取数量与所述预定阈值相应的目标虚拟对象,从而在后续仅通知目标虚拟对象的客户端,展示第一虚拟对象施展第一技能的动作;
可选的,预定阈值可以是根据多次实际的测试结果定义的数值;该预定阈值能够保证服务器下发较少的信息量,且客户端展示的当前施展技能的虚拟对象仍然较多,不会过多的降低技能施展动作的展示效果,仍可体现出虚拟场景中虚拟对象活动的真实性(如维持游戏战斗场景的激烈效果);在本发明实施例中,预定阈值并没有具体的数值限制,可根据具体的网络应用类型、网络应用实际情况进行测试后设定。
步骤S13、服务器获取响应于所述技能施展请求所生成的第一广播通知,向所述目标虚拟对象对应的客户端发送第一广播通知,所述第一广播通知用于通知该客户端展示第一虚拟对象施展第一技能的动作。
可选的,响应所述技能施展请求生成第一广播通知,可以是在服务器接收到所述技能施展请求时执行,也可以是在确定第一广播通知所需要下发至的虚拟对象的客户端后执行。
可选的,第一广播通知可以是触发展示第一虚拟对象施展第一技能的动作的广播通知,第一虚拟对象施展第一技能的动作是指第一虚拟对象施展第一技能时,需要执行的技能施展动作,在第一虚拟对象执行完技能施展动作后,第一虚拟对象可施展出第一技能。
本发明实施例中,服务器在接收到第一客户端发送的请求第一虚拟对象施展第一技能的技能施展请求时,可确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量,并在所述视野范围内的虚拟对象数量大于预定的预定阈值时,从所述第一虚拟对象的视野范围内选取数量与所述预定阈值相应的目标虚拟对象,确定响应所述技能施展请求所生成的第一广播通知,向目标虚拟对 象的客户端发送第一广播通知,使得所述目标虚拟对象的客户端,展示第一虚拟对象施展第一技能的动作,实现第一客户端的第一虚拟对象施展第一技能时,第一虚拟对象视野范围内的虚拟对象的客户端,对第一虚拟对象施展第一技能的动作进行相应的展示,维持虚拟场景中虚拟对象活动的真实性。
由于通过预定预定阈值,服务器可在第一虚拟对象施展技能,且第一虚拟对象的视野范围内的虚拟对象数量大于所述预定阈值时,向小于所述虚拟对象数量的客户端发送第一广播通知,因此降低了服务器下发到客户端的信息量,同时,在当前存在较多同时施展技能的虚拟对象时,可降低客户端获取的信息量,降低客户端的信息处理压力。
可选的,如果步骤S11所确定的第一虚拟对象的视野范围内的虚拟对象数量,小于或等于预定的预定阈值,则可确定第一虚拟对象的视野范围的虚拟对象较少,服务器就算均通知第一虚拟对象的视野范围内的所有虚拟对象的客户端,均展示第一虚拟对象施展第一技能的动作,服务器所要下发的信息量也可控制在较少的数量范围内;因此,服务器可在所述视野范围内的虚拟对象数量,小于或等于预定的预定阈值时,服务器可发送第二广播通知至第一虚拟对象的视野范围内的所有虚拟对象的客户端,以通知第一虚拟对象的视野范围内的所有虚拟对象的客户端,展示第一虚拟对象施展第一技能的动作。
可选的,服务器也可根据第一虚拟对象所要施展的第一技能,是否调整第一虚拟对象在虚拟场景中的位置(如第一技能是否为位移技能),来决定是否采用图2所示方法进行信息处理;
可选的,图4示出了本发明实施例提供的信息处理方法的另一信令流程,结合图1和图4所示,该流程可以包括:
步骤S20、第一客户端向服务器发送第一虚拟对象的技能施展请求,所述技能施展请求用于请求施展第一技能。
步骤S21、服务器判断所述第一技能是否调整第一虚拟对象在虚拟场景中的位置,若是,执行步骤S22、若否,执行步骤S23。
可选的,服务器可预记录技能标识,且预记录的技能标识对应的技能,能够调整第一虚拟对象在虚拟场景中的位置;从而服务器在接收到所述技能施展请求后,可将所述技能施展请求所请求的第一技能的技能标识,与预记录的技能标识进行匹配,如果第一技能的技能标识与所述预记录的技能标识匹配,则 可确定第一技能能够调整第一虚拟对象在虚拟场景中的位置,如果第一技能的技能标识与所述预记录的技能标识不匹配,则可确定第一技能不能够调整第一虚拟对象在虚拟场景中的位置。
如果第一技能是用来调整第一虚拟对象在虚拟场景中的位置,由于第一虚拟对象的位置变化需要及时的通知给第一虚拟对象视野范围内的其他虚拟对象,才能使得第一虚拟对象的最新位置在其他客户端之间实现同步;因此本发明实施例需通知第一虚拟对象的视野范围内的所有虚拟对象的客户端,调整第一虚拟对象的位置,保障第一虚拟对象的新位置在其他客户端之间的同步;
如果第一技能不是用来调整第一虚拟对象在虚拟场景中的位置,若第一虚拟对象的视野范围内的所有虚拟对象的客户端没有及时更新第一虚拟对象的位置的需要,因此本发明实施例可视第一虚拟对象的视野范围内的虚拟对象数量,与预定预定阈值的比对结果,决定通知展示第一虚拟对象施展第一技能的动作的客户端范围。
步骤S22、服务器确定第一虚拟对象在虚拟场景中调整后的新位置,向第一虚拟对象的视野范围内的所有虚拟对象的客户端发送第三广播通知,所述第三广播通知用于指示将所述第一虚拟对象在所述虚拟场景中的位置更新至所述新位置。
步骤S23、服务器确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量。
步骤S24、服务器判断所述视野范围内的虚拟对象数量是否大于预定的预定阈值,若是,执行步骤S25,若否,执行步骤S27。
步骤S25、服务器从所述第一虚拟对象的视野范围内选取数量与所述预定阈值相应的目标虚拟对象。
步骤S26、服务器确定响应所述技能施展请求所生成的第三广播通知,向所述目标虚拟对象的客户端发送第一广播通知。
步骤S27、服务器确定响应所述技能施展请求所生成的第三广播通知,向第一虚拟对象的视野范围内的所有虚拟对象的客户端发送所述第三广播通知。
可见,本发明实施例可在第一虚拟对象施展的第一技能,不调整第一虚拟对象在虚拟场景中的位置时,执行图2所示步骤S11;在第一虚拟对象施展的第一技能调整第一虚拟对象在虚拟场景中的位置时,向第一虚拟对象的视野范围 内的所有虚拟对象的客户端发送,调整第一虚拟对象在虚拟场景中的位置至新位置的第三广播通知;在第一虚拟对象施展的第一技能,不调整第一虚拟对象在虚拟场景中的位置,但第一虚拟对象的视野范围内的虚拟对象数量不大于所述预定阈值时,向第一虚拟对象的视野范围的所有虚拟对象的客户端发送第一广播通知。
可选的,服务器从所述第一虚拟对象的视野范围内选取数量与所述预定阈值相应的目标虚拟对象的方式包括但不限于如下方式:
第一种方式,本发明实施例可从第一虚拟对象的视野范围内,随机选取数量与所述预定阈值相应的目标虚拟对象,例如选取数量为所述预定阈值的所述目标虚拟对象。
第二种方式,由于第一虚拟对象的视野范围内的虚拟对象可能属于不同的阵营,阵营之间的虚拟对象可能是敌对关系;为均衡第一虚拟对象施展第一技能的动作在不同阵营间的展示,本发明实施例可确定第一虚拟对象的视野范围内的所有虚拟对象所属于的各个类型的阵营,进而从所述第一虚拟对象的视野范围内,选取数量与所述预定阈值相应的目标虚拟对象,且目标虚拟对象在各个类型的阵营对应的数量符合设定要求;目标虚拟对象在各个阵营类型对应的数量符合设定要求,如,目标虚拟对象在各个阵营类型对应的数量相同;目标虚拟对象在各个阵营类型对应的数量符合设定要求,又如,如果第一技能是第一虚拟对象指向第一阵营的虚拟对象的技能,可提升第一阵营的虚拟对象在目标虚拟对象中的占比,降低非第一阵营的虚拟对象在目标虚拟对象中的占比。
第三种方式,本发明实施例还可根据第一虚拟对象的视野范围内的虚拟对象与第一虚拟对象的关系度,选取数量与所述预定阈值相应的目标虚拟对象,例如选取数量为所述预定阈值;如优先从第一虚拟对象的视野范围内,选取与第一虚拟对象的关系度靠前且数量与所述预定阈值相应的目标虚拟对象(关系度靠前可以是关系度正向排序靠前,或者,关系度逆向排序靠前;关系度正向排序靠前一般认为,越靠前的虚拟对象与第一虚拟对象越亲密,关系度逆向排序靠前一般认为,越靠前的虚拟对象与第一虚拟对象越敌对)。
可选的,服务器在接收第一客户端发送的第一虚拟对象的技能施展请求后,可以先对第一虚拟对象的技能施展消耗进行处理,如第一虚拟对象施展第一技能需要消耗魔法值、生命值、或怒气值等,服务器可先对第一虚拟对象施 展第一技能所需消耗的魔法值、生命值、或怒气值进行广播处理。
以游戏网络应用为例,相应的,客户端可以是游戏客户端,服务器可以是游戏服务器,虚拟对象可以是用户通过游戏客户端所控制的游戏角色;目前游戏不同阵营之间的战斗,涉及到不同阵营的众多游戏角色在同一游戏地图的战斗,游戏角色之间的战斗非常激烈,技能释放也非常频繁;如果在每一个游戏角色施展技能时,均向该游戏角色视野范围内的其他游戏角色的游戏客户端,广播该游戏角色施展技能的信息,则游戏服务器的下发信息量将非常大,同时,游戏客户端的信息数量压力也将非常大;
如图5所示,游戏角色A施展一个技能时,控制游戏角色A的游戏客户端将向游戏服务器发送游戏角色A的技能施展请求,服务器会向游戏角色A视野范围内的其他游戏角色(i1至in)的游戏客户端,广播游戏角色A施展技能的信息,使得游戏角色A视野范围内的其他游戏角色的游戏客户端,对游戏角色A施展技能的动作进行展示;图5所示是一个游戏角色在施展技能时,服务器的信息下发情况,而在阵营战斗中,一个游戏地图中同时施展技能的游戏角色是众多的,这无疑加大了服务器下发的信息量,也加大了游戏客户端的信息处理压力;
因此,本发明实施例在游戏角色A施展一个技能,游戏服务器接收到游戏角色A的技能施展请求时,游戏服务器可确定游戏角色A视野范围内的游戏角色数量,在游戏服务器确定该游戏角色数量大于预定的预定阈值时,可从游戏角色A的视野范围内选取与所述预定阈值相应的游戏角色,向所选取的游戏角色的游戏客户端广播游戏角色A施展技能的信息,使得所选取的虚拟角色的游戏客户端,对游戏角色A施展技能的动作进行展示;通过合理设置的预定阈值,可使得游戏角色A视野范围内的游戏角色数量较多时,仅通知与预定阈值相应的游戏角色的游戏客户端,展示游戏角色A施展技能的动作,在维持游戏战斗激烈程度、和游戏角色活动真实性的基础上,降低游戏服务器的信息下行量,并降低游戏客户端的信息处理压力;
如图6所示,设预定阈值为M,且M=20,在游戏服务器确定游戏角色A视野范围内的游戏角色数量为N,且N>M时,游戏服务器可不向该N个游戏角色的游戏客户端广播游戏角色A施展技能的信息,而是仅从该N个游戏角色中 选取数量较小的M个游戏角色,向该N个游戏角色的游戏客户端广播游戏角色A施展技能的信息,从而将游戏服务器下发的广播通知数量由较大的N降低到较小的M,减小游戏服务器下发的信息量;
可选的,如果游戏角色A视野范围内的游戏角色数量,小于或等于预定的预定阈值时,可向游戏角色A视野范围内的所有游戏角色的游戏客户端,广播游戏角色A施展技能的信息。
进一步,如果第一虚拟对象施展的第一技能针对至少一个第二虚拟对象(第二虚拟对象可以是虚拟场景中不同于第一虚拟对象的虚拟对象),且第一技能的技能效果会对所述至少一个第二虚拟对象的属性值造成影响(如对属性值造成增益影响或减益影响),则本发明实施例中,服务器可分情况向客户端广播,展示第二虚拟对象受第一技能影响的技能效果的信息;可选的,此处第一虚拟对象施展的第一技能会影响虚拟场景中第二虚拟对象的属性值。
可选的,站在服务器的角度,图7示出了服务器通知客户端展示技能效果的方法流程图,该方法可应用于服务器,参照图7,该方法可以包括:
步骤S100、服务器根据所述技能施展请求,确定所述第一技能针对的至少一个第二虚拟对象。
可选的,如果第一技能具有针对的施展对象,技能施展请求除携带第一技能的技能标识外,还可携带第一技能针对的虚拟对象列表,该虚拟对象列表可以记录第一虚拟对象施展的第一技能针对的至少一个第二虚拟对象;
第一技能所针对的第二虚拟对象可以由第一客户端的用户指示,并记录在虚拟对象列表中。
步骤S110、服务器确定各第二虚拟对象受所述第一技能影响后的剩余属性值。
可选的,剩余属性值可以是第二虚拟对象的剩余生命值,剩余魔法值,剩余怒气值等,剩余属性值的具体形式可以根据实际情况设定;
以剩余属性值为第二虚拟对象的剩余生命值为例,服务器在确定第一技能针对的各个第二虚拟对象后,对于每一个第二虚拟对象,服务器可调取第二虚拟对象的防御力,及第一虚拟对象的攻击力,计算出每一个第二虚拟对象受第一技能攻击后的伤害值,将第二虚拟对象的当前生命值减去伤害值,得到第二 虚拟对象的剩余生命值;显然,本段描述仅是计算第二虚拟对象受第一技能攻击后的伤害值的可选形式,进一步还可结合第一技能的伤害基数、伤害类型、第二虚拟对象的伤害抗性等,确定第二虚拟对象受第一技能攻击后的伤害值;剩余属性值为第二虚拟对象的剩余魔法值,剩余怒气值等情况下的计算,与此同理,可相互参照。
步骤S120、分别根据各第二虚拟对象受所述第一技能影响后的剩余属性值,对应生成用于通知展示该第二虚拟对象受所述第一技能影响的效果的广播通知。
由于不同的第二虚拟对象的伤害抗性不同,不同的第二虚拟对象受第一技能影响后的剩余属性值不同,需要分别针对各第二虚拟对象受所述第一技能影响后的剩余属性值,生成出各第二虚拟对象相应的广播通知。
步骤S130、对于剩余属性值符合预设条件的第二虚拟对象,向该第二虚拟对象视野范围内所有虚拟对象的客户端发送该第二虚拟对象相应的第二广播通知,该第二广播通知用于通知展示该第二虚拟对象受所述第一技能影响的效果。
可选的,第一技能可能是针对第二虚拟对象的减益技能,以剩余属性值为剩余生命值为例,本发明实施例可设定向第二虚拟对象视野范围内的所有虚拟对象发送第二广播通知的预设条件,预设条件如第二虚拟对象受第一技能影响后,剩余生命值小于设定生命值,或者,剩余生命值为零(即第二虚拟对象受第一技能攻击后死亡)等;
可选的,第一技能也可能是针对第二虚拟对象的增益技能,以剩余属性值为剩余生命值为例,预设条件也可以如第二虚拟对象受第一技能影响后剩余生命值完全恢复(如剩余生命值为最大生命值);
可选的,剩余属性值为第二虚拟对象的剩余魔法值,剩余怒气值等情况下的预设条件的设定,也可参照剩余属性值为剩余生命值的情况进行设定;对于预设条件具体形式的设定,本发明实施例可结合实际情况进行,并不固定。
在计算出某一第二虚拟对象的剩余属性值后,如果该第二虚拟对象的剩余属性值符合预设条件,则服务器可向该第二虚拟对象视野范围内的所有虚拟对象的客户端发送第二广播通知,以使得该第二虚拟对象视野范围内的所有虚拟对象的客户端,均展示该第二虚拟对象受所述第一技能影响的效果;如在确定 某一第二虚拟对象受第一技能攻击死亡时,可向该第二虚拟对象视野范围内的所有虚拟对象的客户端,广播该第二虚拟对象受第一技能影响的效果信息,使得该第二虚拟对象视野范围内的所有虚拟对象的客户端,可知晓该第二虚拟对象死亡的信息。
步骤S140、对于剩余属性值不符合预设条件的第二虚拟对象,向该第二虚拟对象的客户端及所述第一客户端发送该第二虚拟对象相应的第二广播通知。
可选的,在计算出某一第二虚拟对象的剩余属性值后,如果该第二虚拟对象的剩余属性值不符合预设条件(如第二虚拟对象剩余生命值不为零、未死亡,或者第二虚拟对象的剩余生命值未低于设定生命值等),则没有必要向第二虚拟对象视野范围内的所有虚拟对象的客户端发送第二广播通知;为减少服务器下发的信息量,服务器可仅向该第二虚拟对象的客户端,以及所述第一客户端发送第二广播通知,使得该第二虚拟对象的客户端,以及所述第一客户端展示第二虚拟对象受所述第一技能影响的效果。
可选的,客户端在展示第二虚拟对象受所述第一技能影响的效果时,可以展示第二虚拟对象受第一技能影响的属性调整值,以及将当前属性值与属性调整值结合后的剩余属性值;相应的,第二广播通知中可以携带第二虚拟对象的属性调整值以及剩余属性值;如以属性值为生命值,第一技能为攻击技能为例,第二广播通知中可以携带第二虚拟对象受第一技能攻击后的生命受损值(即伤害值),以及剩余生命值;
这里需要注意的是,剩余生命值为零将触发第二虚拟对象的死亡事件,需要执行相应的虚拟对象死亡逻辑(一般而言,虚拟对象死亡后,会有倒地动作等),同时,还可能启动虚拟对象的复活逻辑。
相应的,客户端可直接根据第二广播通知中携带的第二虚拟对象的属性调整值以及剩余属性值,进行第二虚拟对象受第一技能影响的属性调整值以及剩余属性值的展示,如客户端可直接展示第二虚拟对象的生命受损值,以及剩余生命值,免去在客户端进行第二虚拟对象属性值的增量更新。
可选的,如果第一技能能够调整第一虚拟对象在虚拟场景中的位置,由于第一虚拟对象的位置变化需要及时的通知给,第一虚拟对象视野中的其他虚拟对象;则本发明实施例中,服务器需要向所述第二虚拟对象视野范围内所有虚拟对象的客户端发送第三广播通知,所述第三广播通知用于通知展示第一虚拟 对象在虚拟场景中调整后的位置;第一虚拟对象在虚拟场景中调整后的位置可由服务器根据第一虚拟对象施展第一技能时的位置,及第一技能对应调整的位置差值确定。
以游戏网络应用为例,本发明实施例可设定预设条件为受第一技能影响的游戏角色的剩余生命值为零(即受第一技能影响的游戏角色死亡),由于游戏不同阵营之间的战斗,涉及到不同阵营的众多游戏角色在同一游戏地图的战斗,游戏角色之间的战斗非常激烈,技能释放也非常频繁,如果每一个游戏角色受到技能影响后,均向该游戏角色的视野范围内的其他游戏角色的游戏客户端,广播该游戏角色受到技能影响的效果,则游戏服务器的下发信息量将非常大,同时,游戏客户端的信息处理压力也将非常大;
如图8所示,游戏角色A对游戏角色B和C施展减益技能(如伤害技能)后,游戏服务器可计算游戏角色B和C的剩余生命值;如果游戏角色B的剩余生命值为零,即游戏角色B死亡,则游戏角色B的剩余生命值符合预设条件,游戏服务器可向游戏角色B的视野范围内所有的游戏角色的游戏客户端,广播游戏角色B受技能影响的效果信息,该效果信息可以携带有游戏角色B受到的伤害值和剩余生命值;游戏角色B的视野范围内所有的游戏角色的游戏客户端,可以展示游戏角色B受到技能影响后遭受的伤害值,以及游戏角色B剩余生命值为零时,触发游戏角色B死亡的效果展示(如游戏角色B死亡,将触发游戏角色B倒地);
游戏服务器计算游戏角色C的剩余生命值不为零,则可确定游戏角色C的剩余生命值不符合预设条件,游戏服务器可向游戏角色C的游戏客户端,以及游戏角色A的游戏客户端,广播游戏角色C受技能影响的效果信息,该效果信息可以携带有游戏角色C受到的伤害值和剩余生命值;游戏角色C的游戏客户端,以及游戏角色A的游戏客户端可以展示游戏角色C受到技能影响后遭受的伤害值。
显然,游戏角色A也可对其他游戏角色施展增益技能(如治疗技能),对于增益技能针对的各个游戏角色,游戏服务器可向增益技能针对的游戏角色的游戏客户端,以及游戏角色A的游戏客户端,广播游戏角色受技能增益影响的效果信息。
采用本发明实施例提供的信息处理方法,可以在服务器向客户端广播展示虚拟对象的技能施展动作的阶段,以及在服务器向客户端广播展示虚拟对象受技能影响的效果的阶段,降低服务器下发到客户端的信息量,同时,减轻客户端的信息处理压力;经过测试,在游戏类型的网络应用中,采用本发明实施例提供的信息处理方法进行服务器向客户端的广播,和以现有技术对虚拟对象视野范围内的所有虚拟对象的客户端均进行广播的方式相比,本发明实施例可具有如下优势:
本发明实施例在服务器向客户端广播展示虚拟对象的技能施展动作的阶段,能够将广播的下行信息包个数,在总下行包个数中的占比从23%降低到16%,且,广播的下行信息包量在总下行包量中的占比从18%降低到11%;
在服务器向客户端广播展示虚拟对象受技能影响的效果的阶段,能够将广播的下行信息包个数,在总下行包个数中的占比从17%降低到6%,且,广播的下行信息包量在总下行包量中的占比从37%降低到7%;
可见,本发明实施例可较大概率的降低服务器下发到客户端的信息量,同时,较大概率的降低客户端的信息处理压力。
下面对本发明实施例提供的信息处理装置进行介绍,下文描述的信息处理装置可与上文描述的信息处理方法相互对应参照。
图9为本发明实施例提供的信息处理装置的结构框图,该信息处理装置可应用于客户端,参照图9,该信息处理装置可以包括:
收发模块100,用于接收第一客户端发送的第一虚拟对象的技能施展请求,所述技能施展请求用于请求施展第一技能;
处理模块200,用于确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量;本申请实施例中的处理模块200可以是软件模块和/或硬件模块,具体本申请不作限定。
如果所述视野范围内的虚拟对象数量大于预定的预定阈值,从所述第一虚拟对象的视野范围内选取目标虚拟对象,所述目标虚拟对象数量与所述预定阈值相应;
确定响应所述技能施展请求所生成的第一广播通知,通过收发模块100向所述目标虚拟对象的客户端发送第一广播通知,所述第一广播通知用于通知展 示第一虚拟对象施展第一技能的动作。
可选的,图10示出了本发明实施例提供的信息处理装置的另一结构框图,结合图9和图10所示,该处理模块200还可用于:
如果所述视野范围内的虚拟对象数量小于或等于所述预定阈值,通过收发模块100向第一虚拟对象的视野范围内的所有虚拟对象的客户端发送所述第一广播通知。
可选的,如图10所示,该处理模块200还可以包括:
技能判断模块600,用于判断所述第一技能是否调整第一虚拟对象在虚拟场景中的位置;
触发模块700,用于如果所述第一技能不调整第一虚拟对象在虚拟场景中的位置,触发所述数量确定模块确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量;
如果所述第一技能调整第一虚拟对象在所述虚拟场景中的位置,确定第一虚拟对象在虚拟场景中调整后的位置,通过收发模块100向第一虚拟对象的视野范围内的所有虚拟对象的客户端发送,调整第一虚拟对象在虚拟场景中的位置至调整后的位置的广播通知。
可选的,处理模块200还可用于:
以第一虚拟对象的坐标为中心,确定与第一虚拟对象的视野范围对应的坐标范围;
将虚拟场景中的虚拟对象的坐标,与所述坐标范围进行匹配,确定坐标处于所述坐标范围内的虚拟对象的数量,得到所述虚拟对象数量。
可选的,处理模块200还可包括:
对象选取模块300,用于从第一虚拟对象的视野范围内,随机选取数量与所述预定阈值相应的目标虚拟对象;
或,确定第一虚拟对象的视野范围内的所有虚拟对象所属于的各个阵营类型,从所述第一虚拟对象的视野范围内,选取数量与所述预定阈值相应的目标虚拟对象,且目标虚拟对象在各个阵营类型对应的数量符合设定要求;
或,根据第一虚拟对象的视野范围内的虚拟对象与第一虚拟对象的关系度,选取数量与所述预定阈值相应的目标虚拟对象。
可选的,图11示出了本发明实施例提供的信息处理装置的再一结构框图, 结合图9所示,该处理模块200还可以包括:
技能针对对象确定模块900,用于根据所述技能施展请求,确定所述第一技能针对的至少一个第二虚拟对象;
剩余属性值确定模块1000,用于确定各第二虚拟对象受所述第一技能影响后的剩余属性值;
第二广播通知生成模块1100,用于分别根据各第二虚拟对象受所述第一技能影响后的剩余属性值,生成各第二虚拟对象相应的第二广播通知;
对于剩余属性值符合预设条件的第二虚拟对象,通过所述收发模块100向该第二虚拟对象视野范围内所有虚拟对象的客户端发送该第二虚拟对象相应的第二广播通知,所述第二广播通知用于通知展示该第二虚拟对象受所述第一技能影响的效果;
对于剩余属性值不符合预设条件的第二虚拟对象,通过所述收发模块100向该第二虚拟对象的客户端及所述第一客户端发送该第二虚拟对象相应的第二广播通知。
可选的,技能针对对象确定模块900具体用于:
根据所述技能施展请求携带的虚拟对象列表,确定所述第一技能针对的至少一个第二虚拟对象;所述虚拟对象列表记录有第一虚拟对象施展的第一技能针对的至少一个第二虚拟对象。
可选的,所述剩余属性值包括:剩余生命值;所述剩余属性值符合预设条件包括:剩余生命值为零。
可选的,所述第一技能为攻击技能,所述第二广播通知包括:第二虚拟对象受第一技能攻击后的生命受损值,以及剩余生命值;其中,如果剩余生命值为零,则触发第二虚拟对象的死亡事件。
本发明实施例提供的信息处理装置,能够在服务器向客户端下发展示其他虚拟对象的技能施展动作的通知的阶段,及在服务器向客户端下发展示虚拟对象受技能影响的效果的阶段,降低服务器下发到客户端的信息量,并降低客户端的信息处理压力。
本发明实施例还提供一种服务器,该服务器可以包括上述所述的信息处理装置。
可选的,图12示出了服务器的硬件结构框图,参照图12,该服务器可以 包括:处理器1,通信接口2,存储器3和通信总线4;
其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,处理器1具体用于:
接收第一客户端发送的第一虚拟对象的技能施展请求,所述技能施展请求用于请求施展第一技能;
确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量;
如果所述视野范围内的虚拟对象数量大于预定的预定阈值,从所述第一虚拟对象的视野范围内选取目标虚拟对象,所述目标虚拟对象数量与所述预定阈值相应;
确定响应所述技能施展请求所生成的第一广播通知,向所述目标虚拟对象的客户端发送第一广播通知,所述第一广播通知用于通知展示第一虚拟对象施展第一技能的动作。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处 理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明实施例提供了一种应用中模拟对象处理的方法以及移动终端,用于移动终端在每个环形操作范围执行相应的操作,对每个环形操作范围都有合理的操作安排,为最终显示渲染后的目标模拟对象做准备工作,优化同屏显示大量模拟对象时的资源分配,降低卡顿出现的概率,还优化了帧速率(Frames per second)。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,都应当属于本发明保护的范围。
在有大规模多人同屏角色显示需求的游戏中,每个人物在游戏场景中都会显示一个人物模型,即玩家角色实例。模拟对象通俗的可以称呼为角色。在现有技术中的一些多人网络游戏内,是基于根据项目需求修改过的GameBryo引擎实现,仅存在服务器下发圈和资源加载圈两层,如图13所示,为对模拟对象视野圈管理的一个示意图。当角色进入服务器下发圈后就立刻创建角色的逻辑对象和名字牌,当玩家进一步进入资源加载圈后即开始异步加载角色资源,并在加载完毕后立刻创建角色模型实例并显示。但是因为资源加载圈需要加载资源,创建实例,再进行渲染等操作,在PC平台上由于CPU、GPU性能都远远高于手机等移动端设备,只要通过资源加载圈实现异步的资源加载和角色实例创建操作,很少出现卡顿的情况。而对于性能有限、对耗电量、发热量严格要求的移动设备却体验比较差,执行这些操作经常会出现卡顿的情况。
下面先对本发明技术方案中所用到的一些缩略语和关键术语进行定义:
Unity:一款业界广为使用的3D游戏引擎,提供了游戏开发中的基础功能和部分开发工具,可大幅提高产品开发效率。但在性能和特定游戏类型的适用性方面存在一定问题,需要项目组自行改进。
Prefab:Unity引擎中的美术资源基本管理单位,可以将美术制作的模型、贴图、动画等存储在预先编辑好的文件中。
Game Object:Unity引擎中的游戏运行时对象,不同的角色和模型必须创建不同的Game Object对象用来显示。
角色实例:大型多人网络游戏中每个玩家都控制游戏中的一个人物,每个人物在场景中都会显示出一个人物模型,即玩家角色实例。
实例化:多个角色可能在美术表现上使用了相同的资源(模板),但在表现上却显示为多个对象实例。实例化是指根据美术资源创建多个游戏对象实例的过程。
换装:当玩家穿着不同装备或时装时,玩家的角色模型外观也会发生相应的变化,这个过程被称为换装。
名字牌:悬浮显示在角色模型之上,用于显示玩家名称和家族名、称号等文字的信息面板。
本技术主要的应用场合为:在有大规模多人同屏角色显示需求的游戏中,当有大量玩家动态进出屏幕视野时,最大程度地减少玩家角色的渲染计算开销、角色创建/删除卡顿开销。如图14所示,为多模拟对象同屏显示的一个示意图。现有技术主要的问题体现在如下几方面:
Prefab及其包含的模型、纹理、动画等资源的加载开销;Prefab实例化的开销;渲染开销;动画更新开销;GameObjet开启时的引擎数据更新开销;本发明技术方案可以有效的解决上述的这些性能问题。
如图15所示,为资源管理器和角色实例对象池的框架示意图,技术原理下述进行说明。在图15中,角色管理器Actor Manager为负责管理所有玩家角色对象的程序类,当新的角色需要创建角色实例时则会通过实例池Instance Pool进行申请。而实例池Instance Pool则会在创建新实例前先尝试从实例缓存Instance Cache的回收池中复用已有的闲置对象实例,避免创建新实例的开销。
当实例池Instance Pool创建实例需要资源时,则会通过资源管理器Resource Manager加载资源。而资源管理器Resource Manager中也有一份资源索引列表,当引用到相同资源时可以直接提取该资源,避免通过开销较大的Unity引擎接口去重复加载资源。
需要说明的是,图15所示的只是设计上的概要描述,具体实现中还可以划分角色实例对象池、特效实例对象池、装备部件对象池等针对性的类型特化实现和延迟卸载算法区分。
下面以实施例的方式对本发明技术方案做进一步的描述,主要应用在移动终端上多模拟对象同屏显示的交互应用中,所述交互应用的显示界面上显示有主模拟对象,交互式应用可以称为安装在移动终端上的客户端。如图16所示,为本发明实施例中应用中模拟对象处理的方法的一个实施例示意图,包括:
401、移动终端检测以主模拟对象为中心的检测范围,检测范围包括多个控制范围,每个控制范围与控制范围内的操作一一对应,所述操作是指进入控制范围的模拟对象所执行的操作;
在本发明实施例中,移动终端检测以主模拟对象为中心的检测范围,检测范围包括多个控制范围,其中,多个控制范围是与中心的距离不同的同心控制范围,每个控制范围与进入各自控制范围所执行的操作对应。本申请的模拟对象也可称为虚拟对象。
示例性的,基于视野圈的角色管理中,如图17所示,为移动终端上多个模拟对象视野圈管理的一个示意图。多个控制范围可以是以主角为中心点设置的四层角色视野圈:服务器下发圈、资源准备圈、角色实例化圈、可见圈,资源准备圈也可以叫资源加载圈,可见圈也叫可视化圈。并配置相应的程序算法策略,减少卡顿出现的情况,即可以优化同屏显示大量玩家角色时的渲染计算压力、反复进出视野时的角色加载和删除压力等。
需要说明的是,这里的控制范围可以是以主角为中心的多个不同半径的圆,也可以是正方形,椭圆或者其他形状的角色视野圈,具体不做限定。而且,控制范围的个数至少为3个,每个控制范围都会执行相应的操作。
这里的移动终端可以包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、车载电脑等任意终端设备。应理解,这里的目标模拟对象和 主模拟对象是游戏中的各个角色,例如:可以是游戏中的将军,士兵等角色,起的名字可以类似为撕裂的天堂、风吹屁丫爽、Mini丶弑魂、不服来嘛、从小立志当贱客、街角、杀红眼等名称。
402、当在检测范围内检测到目标模拟对象时,确定目标模拟对象与主模拟对象的距离;
在本发明实施例中,当移动终端在检测范围内检测到目标模拟对象时,确定目标模拟对象与主模拟对象的距离。这里的主模拟对象是主角,目标模拟对象可以是之前就已经上线的目标角色,也可以是刚上线的目标角色,现在出现在主角可以检测到的检测范围内,那么,可以确定主角和目标角色之前的距离。
403、根据距离确定目标模拟对象所在的控制范围;
在本发明实施例中,当移动终端在检测范围内检测到目标模拟对象时,确定目标模拟对象与主模拟对象的距离之后,移动终端根据距离,确定目标模拟对象所属的控制范围。
如上述图17中所示,多个控制范围与中心的距离由大到小排列,可以包括:服务器下发范围、资源加载范围、实例化范围和可视化范围;那么,移动终端根据该距离,确定目标模拟对象所属的控制范围可以是服务器下发范围、资源加载范围、实例化范围或者可视化范围。即若该距离为8m,那么目标模拟对象所属的控制范围是服务器下发范围;若该距离为6m,那么目标模拟对象所属的控制范围是资源加载范围;若该距离为4m,那么目标模拟对象所属的控制范围是实例化范围;若该距离为2m,那么目标模拟对象所属的控制范围是可视化范围。应理解,这里的单位m是以游戏虚拟世界中的米作为单位。
404、根据目标虚拟对象所在的控制范围所执行的操作,对目标模拟对象进行处理;
在本发明实施例中,移动终端根据距离,确定目标模拟对象所属的控制范围之后,根据所属的控制范围所对应的执行操作,对目标模拟对象进行处理。
如上述图17中所示,具体的,根据所属的控制范围所对应的执行操作,对目标模拟对象进行处理,至少包括以下之一:
(1)当所属的控制范围包括服务器下发范围时,对目标模拟对象创建逻辑对象,并显示已创建逻辑对象的目标模拟对象对应的名字牌;
或者,
(2)当目标虚拟对象所在的控制范围包括资源加载范围时,对目标模拟对象加载对应的资源;
或者,
(3)当目标虚拟对象所在的控制范围包括实例化范围时,使用对所述目标虚拟对象加载的资源创建目标模拟对象对应的目标实例;
或者,
(4)当目标虚拟对象所在的控制范围包括可视化范围时,对目标实例进行渲染计算,显示渲染后的目标模拟对象。
需要说明的是,可选的,在一些可能的实现方式中,移动终端包括资源缓存,那么,对目标模拟对象加载对应的资源,可以包括:
①若资源缓存中包括对目标模拟对象创建实例的目标资源,则从资源缓存中提取目标资源;
或者,
②若资源缓存中未包括对目标模拟对象创建实例的目标资源,则异步加载目标资源。
而且,可选的,在一些可能的实现方式中,移动终端还可以包括实例缓存,对所述目标实例进行渲染计算,显示渲染后的目标虚拟对象之前,还可以执行如下步骤:
若实例缓存中包括目标模拟对象对应的目标实例,则复用目标实例;对目标实例进行渲染计算,显示渲染后的目标模拟对象,可以包括:对目标实例进行渲染计算,显示渲染后的目标模拟对象。
其中,可选的,在一些可能的实现方式中,使用对应的资源创建目标模拟对象对应的目标实例,可以包括:若实例缓存中未包括目标模拟对象对应的目标实例,则获取对目标模拟对象创建实例的目标资源;使用目标资源创建目标实例。
下面对目标角色首次上线,在出现在不同的控制范围所执行的不同操作做进一步的说明:
一、目标角色所属的控制范围为服务器下发范圈,会连续移动通过资源加 载圈、实例化圈和可视化圈。
(1)目标角色现在在服务器下发圈,那么,移动终端会对目标角色进行判断,确定是否创建过逻辑对象,若未创建逻辑对象,则移动终端创建该目标角色的逻辑对象,并显示该目标对象的名字牌;若创建过该逻辑对象,则移动终端直接显示该目标对象的名字牌。
(2)当目标角色移动到资源加载圈时,移动终端还是会先判断该目标角色是否创建过逻辑对象,若创建过,则移动终端对目标角色进行资源加载,当然,这里是因为从服务器下发圈移动到资源加载圈的,所以,判断的结果是创建过逻辑对象;若未创建过逻辑对象,则移动终端先对目标角色进行逻辑对象的创建,再进行资源的加载。
进一步的,这里移动终端对目标角色进行资源加载的时候,也可以先判断是否在资源缓存中保存该目标角色资源,若有,那么可以直接复用该资源,若没有,那么,移动终端就需要通过资源管理器为该目标角色创建实例异步加载所需要的资源。需要说明的是,该目标角色在资源加载圈时,在移动终端上显示的还是该目标角色的名字牌。
(3)当目标角色移动到角色实例化圈时,移动终端还是会先判断该目标角色是否创建过逻辑对象,若创建过,则移动终端对该目标角色进行资源加载,当然,这里是因为从服务器下发圈移动到资源加载圈再移动到角色实例化圈的,所以,判断的结果是创建过逻辑对象;若未创建过逻辑对象,则移动终端先对该目标角色进行逻辑对象的创建,再进行资源的加载。
进一步的,这里移动终端对目标角色进行资源加载的时候,也可以先判断是否在资源缓存中保存为该目标角色创建实例的资源,若有,那么移动终端可以直接复用该资源;若没有,那么,移动终端就需要通过资源管理器为该目标角色创建实例异步加载所需要的资源。
更进一步的,移动终端可以利用资源加载圈获取的资源对目标角色进行实例的创建,而目标角色在角色实例化圈的时候,并不显示目标角色,即没有渲染和实例更新计算开销,在移动终端上显示的还是该目标角色的名字牌。
(4)当目标角色移动到可视化圈时,移动终端还是会先判断该目标角色是否创建过逻辑对象,若创建过,则移动终端对该目标角色进行资源加载,当 然,这里是因为从服务器下发圈移动到资源加载圈,再移动到角色实例化圈的,最后移动到可视化圈的,所以,判断的结果是创建过逻辑对象;若未创建过逻辑对象,则移动终端先对目标角色进行逻辑对象的创建,再进行资源的加载。
进一步的,这里移动终端对目标角色进行资源加载的时候,也可以先判断是否在资源缓存中保存为该目标角色创建实例的资源,若有,那么移动终端可以直接复用该资源;若没有,那么,移动终端就需要通过资源管理器为该目标角色创建实例异步加载所需要的资源。
更进一步的,移动终端可以利用资源加载圈获取的资源对目标角色进行实例的创建,而目标角色在角色实例化圈的时候,并不显示目标角色,即没有渲染和实例更新计算开销,在移动终端上显示的还是该目标角色的名字牌。
最后,移动终端对目标角色启用创建好的角色实例,进行实际的渲染和计算,在移动终端上显示渲染后的目标角色。
需要说明的是,在“一”的说明中,当目标角色上线所属的控制范围为服务器下发范圈,那么,目标角色连续移动通过资源加载圈停止不动或者下线,或者,连续移动通过资源加载圈和实例化圈然后停止不动或者下线,都可以参考上述的说明,此处不再赘述。
二、目标角色所属的控制范围为可视化圈,会连续移动通过实例化圈、资源加载圈和服务器下发圈。
(1)目标角色首次上线出现在可视化圈,那么,移动终端首先判断该目标角色是否创建过逻辑对象,若未创建过,则移动终端创建该目标角色的逻辑对象;若创建过,则移动终端直接复用已创建过的逻辑对象,若没有创建逻辑对象,那么,移动终端对该目标应用创建纯逻辑角色对象。
下一步,移动终端判断该目标角色是否创建过实例,如创建过实例,可以从实例缓存中复用该目标角色的实例,实现实例的重复利用,避免创建新实例的开销;若未创建过实例,那么,移动终端需要获取对目标角色创建实例的资源。
进一步的,移动终端获取对目标角色创建实例的资源时,可以先判断是否已缓存该目标角色的资源;若已缓存,那么,移动终端可以直接从资源缓存中提取已缓存的资源;若未缓存,那么,移动终端需要通过资源管理器进行异步 资源的加载,获取为该目标角色创建实例的资源。
再进一步,移动终端使用获取的资源,对目标角色进行实例的创建。
最后,移动终端启用创建好的目标角色的实例,进行实际的渲染和计算,在移动终端上显示渲染后的目标角色,即显示人物。
(2)当目标角色移动到实例化圈时,移动终端还会判断一下该目标角色是否创建过逻辑对象,若未创建过,则移动终端创建该目标角色的逻辑对象;若创建过,则移动终端判断是否创建过该目标角色的实例,若创建过该目标角色的实例,那么移动终端直接从实例缓存中复用该实例;若没有创建过该目标角色的实例,则移动终端需要获取创建该目标角色实例的资源,使用该资源创建目标角色的实例。
而移动终端在获取创建该目标角色的实例的资源时,也可以先判断创建该目标角色实例的资源是否已经缓存,若缓存,那么,移动终端可以直接提取缓存的资源,若没有,那么,移动终端需要通过资源管理器异步加载创建该目标实例所需的资源。
当移动终端获取为目标角色创建实例的资源时,可以使用该资源创建目标角色的实例,但是此时在移动终端上显示的是该目标角色的名字牌。
(3)当目标角色移动到资源加载圈时,移动终端还会判断一下该目标角色是否创建过逻辑对象,若创建过,则移动终端获取为目标角色创建实例的资源;若未创建过,则移动终端创建该目标角色的逻辑对象。移动终端获取为目标角色创建实例的资源又可以包括:移动终端判断创建该目标角色实例的资源是否已经缓存,若缓存,那么,移动终端可以直接提取缓存的资源;若没有,那么,移动终端需要通过资源管理器异步加载创建该目标实例所需的资源。此时在移动终端上显示的还是该目标角色的名字牌。
(4)当目标角色移动到服务器下发圈时,移动终端还会判断一下该目标角色是否创建过逻辑对象,若创建过,则移动终端直接用该逻辑对象了,若未创建过,则移动终端创建该目标角色的逻辑对象。
需要说明的是,在“二”的说明中,当目标角色上线所属的控制范围为可视化圈时,那么,目标角色可以连续移动通过实例化圈停止不动或者下线,或者,目标角色可以连续移动通过实例化圈和资源加载圈然后停止不动或者下线,都 可以参考上述的说明,此处不再赘述。
应理解,上述只是针对一个目标角色来进行说明,但在实际应用中,多人同屏显示中,包括很多个目标角色,对每个目标角色的处理都是类似上述的方法,结合资源管理器、实例对象池和视野圈管理的技术,极大地降低了角色反复进出视野的资源加载和实例创建/删除开销。同时辅以根据硬件性能和实时帧率的动态参数调整机制、以及根据游戏玩法设计的角色隐藏策略,巧妙地降低了同屏显示大量角色的渲染和计算开销。
405、接收对目标模拟对象的换肤指令;
在本发明实施例中,移动终端接收对目标模拟对象的换肤指令,这里的目标模拟对象可以是主角,也可以是其他的目标角色。这里需要说明的是,移动终端对主角或者目标角色进行换肤之前,需要保证的是骨骼和模型的统一性,这里的换肤也可以称呼为换装。
在RPG(角色扮演游戏,Role-playing game)类型的游戏中通常都有在为角色更换装备时,同步切换外观皮肤显示的功能需求。而当角色大量进出视野或切换装备时,由于资源大量加载,切换显示皮肤,会造成严重的卡顿。
406、获取目标模拟对象对应的骨骼数据、目标网格数据和目标材质数据;
在现有技术中,Unity引擎官方给出的实现方式步骤为:
1.载入一个新皮肤的Prefab;
2.实例化新皮肤的Prefab;
3.将新实例中的模型节点替换到原实例上;
4.根据骨骼名称遍历原实例的所有骨骼节点,并根据结果将Skinned Mesh Renderer(蒙皮网格渲染器)内的骨骼索引重新排序。
在本发明实施例中,移动终端接收对目标模拟对象的换肤指令之后,获取目标模拟对象对应的骨骼数据,以及待替换的目标网格数据和目标材质数据。即移动终端可以直接载入新皮肤的Mesh网格和Material材质资源(需要保证模型导出的骨骼一致)。
407、将骨骼数据上绑定的源网格数据替换为目标网格数据,以及将所述骨骼数据上绑定的源材质数据替换为目标材质数据。
在本发明实施例中,移动终端获取目标模拟对象对应的骨骼数据,以及待 替换的目标网格数据和目标材质数据之后,将骨骼数据上绑定的源网格数据和源材质数据对应的替换为目标网格数据和目标材质数据。
即移动终端直接将Mesh和Material替换到原模型的Skinned Mesh Renderer(蒙皮网格渲染器)上;经过修改后因省去了Prefab层级载入和实例化的步骤,将换肤开销降低到了很多。当大量玩家进出视野时,移动终端原本卡顿的体验得到了明显优化。换装优化机制通过保证骨骼和模型的统一性,跳过Unity引擎的Prefab层级实例化步骤,使用直接替换底层节点模型、材质资源的方法来提高换肤的程序执行效率。
需要说明的是,步骤405-407是可选的步骤,在实际应用中,可以根据实际需要确定是否执行。而且,步骤405-407的时序与步骤401-404的时序不做限定。
应理解,本文中提及的技术方案只是说明整体上的设计思路,针对不同项目可以衍生出特化的算法。例如视野圈可以不使用资源预加载圈或可视化圈,而是合并到其它的圈内;换肤的具体算法也可以连同部分骨骼一起替换,或者直接替换材质,皮肤连同Prefab一起载入等。
在本发明实施例中,该方法应用于移动终端上多模拟对象同屏显示的交互应用中,该交互应用的显示界面上显示有主模拟对象,该移动终端检测以该主模拟对象为中心的检测范围,该检测范围包括多个控制范围,该多个控制范围是与该中心的距离不同的同心控制范围,且该多个控制范围各自不重叠,每个控制范围与进入各自控制范围所执行的操作对应;当在该检测范围内检测到目标模拟对象时,确定该目标模拟对象与该主模拟对象的距离;根据该距离,确定该目标模拟对象所属的控制范围;根据该所属的控制范围所对应的执行操作,对该目标模拟对象进行处理。因为移动终端在每个控制范围执行相应的操作,对每个控制范围都有合理的操作安排,为最终显示渲染后的目标模拟对象做准确工作,优化同屏显示大量模拟对象时的资源分配,降低卡顿出现的概率。
通过资源管理器、实例对象池结合视野圈管理技术,极大地降低了角色反复进出视野的资源加载和实例创建/删除开销。同时辅以根据硬件性能和实时帧率的动态参数调整机制、以及根据游戏玩法设计的角色隐藏策略,巧妙地降低了同屏显示大量角色的渲染和计算开销。而角色换肤机制的优化则是针对项 目特点,在以上技术的基础上,进一步提高了装备更换时不可避免的资源加载、切换开销。
下面以实际应用场景对本发明技术方案做进一步的说明,如下所示:
在手机上的一个多角色扮演游戏中,假设包括主角傲战,目标角色1开国猛将,目标角色2镇边将军,目标角色3是镇关将军;
手机以主角傲战为中心,视野圈管理分为上述图17所示的四个圈,服务器下发圈、资源准备圈、角色实例化圈、可见圈。那么,当目标角色1上线时,确定目标角色1离主角的距离S1,根据距离S1确定目标角色1所属的环形操作范围,这里确定的环形操作范围为资源加载圈;手机对目标角色1进行判断,确定是否创建过逻辑对象,若有,则可对目标角色1进行资源加载;若没有创建过逻辑对象,那么,手机需要先对目标角色1进行逻辑对象的创建,再进行资源的加载。进一步的,在资源加载时,可以先确定资源缓存中是否包含目标角色1的资源,若有,可以直接获取该资源,若没有,手机需要通过资源管理器异步加载资源。目标角色1在资源加载圈显示的是名字牌,即开国猛将。
目标角色1接下来又进行移动,手机获取目标角色1与主角的距离,根据该距离确定目标角色1所属的环形操作范围,当目标角色1属于服务器下发圈时,手机还要对目标角色1进行判断,确定是否创建过逻辑对象,若创建过,则手机直接显示目标角色1的名字牌,若未创建过,则手机先对目标角色1进行逻辑对象的创建,再显示目标角色1的名字牌开国猛将。
当目标角色1与主角的距离大于服务器下发圈的最大直径时,目标角色1在手机上就没有显示了,可能目标角色1下线了,也可能停留在服务器下发圈的外边,四处游走。
当目标角色2上线时,根据目标角色2与主角的距离S2确定目标角色2所属的环形操作范围在可视化圈,那么,手机可以先判断目标角色2是否创建过实例,若有,那么,目标角色可以直接复用该实例,进行实际的渲染和计算,在手机上显示渲染后的目标角色2(包括目标角色2的名字牌镇边将军)。因为可以直接利用之前创建过的实例资源,所以,节省了资源的开销。
若没有创建过实例,那么,手机对目标角色2进行判断,确定是否创建过逻辑对象,若创建过,则手机直接显示目标角色2的名字牌,若没有创建过, 那么,手机对目标角色进行逻辑对象的创建。再判断是否已缓存为目标角色2创建实例的资源,若已缓存,那么,手机可以直接获取已缓存的资源;避免了引擎重复加载资源造成的开销。若没有,那么,手机需要异步加载资源。
当手机获取对目标角色2创建实例的资源时,使用该资源,对目标角色2进行实例的创建,当创建好实例后,启用创建好的角色实例,进行实际的渲染和计算,显示渲染后的目标角色2(包括目标角色2的名字牌镇边将军)。
当目标角色3上线时,手机确定目标角色3与主角的距离S3,根据距离S3判断目标角色3是处于实例化圈的。手机先对目标角色3判断是否创建过实例,若创建过,可以直接从实例缓存中复用该实例的,不需要再进行新实例的创建,节省资源开销。若没有创建过实例,那么,手机就需要对目标角色3进行实例的创建,在创建实例时,首先需要获取创建实例所需的资源。当资源缓存中包括目标角色3创建实例的资源时,可以直接获取,若没有,那么手机就需要加载创建实例的资源,根据获取的资源对目标角色3进行实例的创建,此时,在手机上显示的是目标角色3的名字牌镇关将军。
目标角色3进行移动,跑到可视化圈了,那么手机可以启用目标角色3创建好的实例,进行渲染和计算,显示渲染后的目标角色3。
即本发明实施例可以通过资源管理器、实例对象池结合视野圈管理技术,极大地降低了角色反复进出视野的资源加载和实例创建/删除开销。
上述对本发明实施例中应用中模拟对象处理的方法进行了描述,下面对本发明实施例中移动终端进行说明,如图18所示,为移动终端的一个实施例示意图,移动终端上包含多模拟对象同屏显示的交互应用,交互应用的显示界面上显示有主模拟对象,移动终端可以包括:
检测模块601,用于检测以主模拟对象为中心的检测范围,检测范围包括多个控制范围,每个控制范围与进入各自控制范围所执行的操作对应;
第一确定模块602,用于当在检测范围内检测到目标模拟对象时,确定目标模拟对象与主模拟对象的距离;
第二确定模块603,用于根据距离,确定目标模拟对象所属的控制范围;
处理模块604,用于根据所属的控制范围所对应的执行操作,对目标模拟对象进行处理。
可选的,在本发明的一些实施例中,多个控制范围与中心的距离由大到小排列,包括:服务器下发范围、资源加载范围、实例化范围和可视化范围;
处理模块604,具体用于至少包括以下之一:
具体用于当所属的控制范围为服务器下发范围时,对目标模拟对象创建逻辑对象,并显示创建逻辑对象的目标模拟对象对应的名字牌;
或者,
具体用于当所属的控制范围为资源加载范围时,对目标模拟对象加载对应的资源;
或者,
具体用于当所属的控制范围为实例化范围时,使用对应的资源创建目标模拟对象对应的目标实例;
或者,
具体用于当所属的控制范围为可视化范围时,对目标实例进行渲染计算,显示渲染后的目标模拟对象。
可选的,在本发明的一些实施例中,移动终端包含资源缓存,
处理模块604,具体用于若资源缓存中包括对目标模拟对象创建实例的第一资源,则从资源缓存中提取第一资源;
或者,
处理模块604,具体用于若资源缓存中未包括对目标模拟对象创建实例的第一资源,则异步加载第一资源。
可选的,在本发明的一些实施例中,移动终端包括实例缓存,移动终端还包括:
处理模块604,具体用于若实例缓存中包括目标模拟对象对应的第一实例,则复用第一实例;对第一实例进行渲染计算,显示渲染后的目标模拟对象。
可选的,在本发明的一些实施例中,移动终端包括实例缓存,
处理模块604,具体用于若实例缓存中未包括目标模拟对象对应的第一实例,则获取对目标模拟对象创建实例的第一资源;使用第一资源创建第一实例。
可选的,在本发明的一些实施例中,在上述图18所示的基础上,如图19所示,为移动终端的另一个实施例示意图,移动终端还可以包括:
接收模块605,用于接收对目标模拟对象的换肤指令;
获取模块606,用于获取目标模拟对象对应的骨骼数据,以及待替换的目标网格数据和目标材质数据;
替换模块607,用于将骨骼数据上绑定的源网格数据和源材质数据对应的替换为目标网格数据和目标材质数据。
如图20所示,为本发明实施例中移动终端的另一个实施例示意图,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。
图20示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图20,手机包括:射频(Radio Frequency,RF)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(wireless fidelity,WiFi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图20中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图20对手机的各个构成部件进行具体的介绍:
RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器880处理;另外,将设计上行的数据发送给基站。通常,RF电路810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操 作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元830可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元830可包括触控面板831以及其他输入设备832。触控面板831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元840可包括显示面板841,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板841。进一步的,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图20中,触控面板831与显示面板841是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光 传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在手机移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路860、扬声器861,传声器862可提供用户与手机之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810以发送给比如另一手机,或者将音频数据输出至存储器820以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图20示出了WiFi模块870,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器880是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器880可包括一个或多个处理单元;优选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
手机还包括给各个部件供电的电源890(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器880还具有以下功能:
检测以主模拟对象为中心的检测范围,检测范围包括多个控制范围,每个控制范围与进入各自控制范围所执行的操作对应;当在检测范围内检测到目标模拟对象时,确定目标模拟对象与主模拟对象的距离;根据距离,确定目标模拟对象所属的控制范围;根据所属的控制范围所对应的执行操作,对目标模拟对象进行处理。
可选的,在本发明的一些实施例中,多个控制范围与中心的距离由大到小排列,包括:服务器下发范围、资源加载范围、实例化范围和可视化范围;处理器880还具有以下功能:
当所属的控制范围为服务器下发范围时,对目标模拟对象创建逻辑对象,并显示创建逻辑对象的目标模拟对象对应的名字牌;
或者,
当所属的控制范围为资源加载范围时,对目标模拟对象加载对应的资源;
或者,
当所属的控制范围为实例化范围时,使用对应的资源创建目标模拟对象对应的目标实例;
或者,
当所属的控制范围为可视化范围时,对目标实例进行渲染计算,显示渲染后的目标模拟对象。
可选的,在本发明的一些实施例中,移动终端包含资源缓存,处理器880还具有以下功能:
若资源缓存中包括对目标模拟对象创建实例的第一资源,则从资源缓存中提取第一资源;
或者,
若资源缓存中未包括对目标模拟对象创建实例的第一资源,则异步加载第一资源。
可选的,在本发明的一些实施例中,移动终端包括实例缓存,处理器880还具有以下功能:
若实例缓存中包括目标模拟对象对应的第一实例,则复用第一实例;对第一实例进行渲染计算,显示渲染后的目标模拟对象。
可选的,在本发明的一些实施例中,移动终端包括实例缓存,处理器880还具有以下功能:
若实例缓存中未包括目标模拟对象对应的第一实例,则获取对目标模拟对象创建实例的第一资源;使用第一资源创建第一实例。
可选的,在本发明的一些实施例中,处理器880还具有以下功能:
接收对目标模拟对象的换肤指令;获取目标模拟对象对应的骨骼数据,以及待替换的目标网格数据和目标材质数据;将骨骼数据上绑定的源网格数据和源材质数据对应的替换为目标网格数据和目标材质数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全 部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (27)

  1. 一种信息处理方法,其特征在于,所述方法应用于移动终端上多虚拟对象同屏显示的第一客户端中,所述第一客户端的显示界面上显示第一虚拟对象,所述方法包括:
    接收第一客户端发送的第一虚拟对象的技能施展请求,所述技能施展请求用于请求施展第一技能;
    确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量;
    如果所述视野范围内的虚拟对象数量大于预定阈值,从所述视野范围内的虚拟对象中选取目标虚拟对象;
    获取响应于所述技能施展请求所生成的第一广播通知,向所述目标虚拟对象对应的客户端发送第一广播通知,所述第一广播通知用于通知所述客户端展示第一虚拟对象施展第一技能的动作。
  2. 根据权利要求1所述的信息处理方法,其特征在于,所述方法还包括:
    如果所述视野范围内的虚拟对象数量小于或等于所述预定阈值,则向第一虚拟对象的视野范围内的所有虚拟对象对应的客户端发送响应于所述技能施展请求所生成的第二广播通知。
  3. 根据权利要求2所述的信息处理方法,其特征在于,所述方法还包括:
    判断所述第一技能是否用于调整所述第一虚拟对象在所述虚拟场景中的位置;
    如果所述第一技能不是用于调整所述第一虚拟对象在虚拟场景中的位置,则触发执行所述确定所述虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量的步骤。
  4. 根据权利要求3所述的信息处理方法,其特征在于,所述方法还包括:
    如果所述第一技能用于调整所述第一虚拟对象在所述虚拟场景中的位置,则确定第一虚拟对象在所述虚拟场景中调整后的新位置,向所述视野范围内的所有虚拟对象对应的客户端发送第三广播通知,所述第三广播通知用于指示将所述第一虚拟对象在所述虚拟场景中的位置更新至所述新位置。
  5. 根据权利要求1所述的信息处理方法,其特征在于,所述确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量,包括:
    以所述第一虚拟对象的坐标为中心,确定与所述视野范围对应的坐标范 围;
    将所述虚拟场景中当前的各虚拟对象的坐标与所述坐标范围进行匹配,确定坐标处于所述坐标范围内的虚拟对象的数量,得到所述虚拟对象数量。
  6. 根据权利要求1所述的信息处理方法,其特征在于,所述从所述视野范围内的虚拟对象中选取目标虚拟对象,包括:
    从所述视野范围内选取数量为所述预定阈值的所述目标虚拟对象;
    或,确定所述视野范围内的所有虚拟对象所属于的各个类型的阵营,从所述视野范围内,选取数量为所述预定阈值的所述目标虚拟对象,且所述目标虚拟对象在各个类型的阵营对应的数量符合设定要求;
    或,根据所述视野范围内的虚拟对象与所述第一虚拟对象的关系度,选取数量为所述预定阈值的所述目标虚拟对象。
  7. 根据权利要求1-6任一项所述的信息处理方法,其特征在于,所述方法还包括:
    根据所述技能施展请求,确定所述第一技能针对的至少一个第二虚拟对象;
    确定各第二虚拟对象受所述第一技能影响后的剩余属性值;
    分别根据各第二虚拟对象受所述第一技能影响后的剩余属性值,对应生成用于通知展示该第二虚拟对象受所述第一技能影响的效果的广播通知;
    对于剩余属性值符合预设条件的第二虚拟对象,向其视野范围内所有虚拟对象对应的客户端发送其对应的广播通知;
    对于剩余属性值不符合预设条件的第二虚拟对象,分别向其所对应的客户端及所述第一客户端发送其对应的广播通知。
  8. 根据权利要求7所述的信息处理方法,其特征在于,所述根据所述技能施展请求,确定所述第一技能针对的至少一个第二虚拟对象包括:
    根据所述技能施展请求携带的虚拟对象列表,确定所述第一技能针对的至少一个第二虚拟对象;所述虚拟对象列表记录所述第一虚拟对象施展的第一技能时针对的至少一个第二虚拟对象。
  9. 根据权利要求7所述的信息处理方法,其特征在于,所述剩余属性值包括:剩余生命值;所述剩余属性值符合预设条件包括:剩余生命值为零。
  10. 根据权利要求9所述的信息处理方法,其特征在于,所述第一技能为 攻击技能,所述广播通知包括:第二虚拟对象受第一技能攻击后的生命受损值,以及剩余生命值;其中,如果剩余生命值为零,则所述广播通知触发第二虚拟对象的死亡事件。
  11. 一种信息处理装置,其特征在于,所述装置应用于移动终端,所述移动终端包括同屏显示多虚拟对象的第一客户端,所述第一客户端的显示界面上显示第一虚拟对象;所述信息处理装置包括:
    收发模块,用于接收第一客户端发送的第一虚拟对象的技能施展请求,所述技能施展请求用于请求施展第一技能;
    处理模块,用于确定虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量;如果所述视野范围内的虚拟对象数量大于预定阈值,从所述视野范围内的虚拟对象中选取目标虚拟对象;
    所述收发模块还用于获取响应于所述技能施展请求所生成的第一广播通知,向所述目标虚拟对象的客户端发送第一广播通知,所述第一广播通知用于通知所述客户端展示第一虚拟对象施展第一技能的动作。
  12. 根据权利要求11所述的信息处理装置,其特征在于,所述收发模块还用于:
    如果所述视野范围内的虚拟对象数量小于或等于所述预定阈值,则向所述视野范围内的所有虚拟对象对应的客户端发送响应于所述技能施展请求所生成的第二广播通知。
  13. 根据权利要求12所述的信息处理装置,其特征在于,所述处理模块还用于:
    判断所述第一技能是否用于调整所述第一虚拟对象在所述虚拟场景中的位置;
    如果所述第一技能不是用于调整第一虚拟对象在所述虚拟场景中的位置,则触发所述数量确定模块确定所述虚拟场景中所述第一虚拟对象的视野范围内的虚拟对象数量;
    如果所述第一技能是用于调整所述第一虚拟对象在所述虚拟场景中的位置,则确定第一虚拟对象在所述虚拟场景中调整后的新位置,通过所述收发模块向所述视野范围内的所有虚拟对象对应的客户端发送第三广播通知,所述第三广播通知用于指示将所述第一虚拟对象在所述虚拟场景中的位置更新至所 述新位置。
  14. 根据权利要求11-13任一项所述的信息处理装置,其特征在于,所述处理模块还用于:
    根据所述技能施展请求,确定所述第一技能针对的至少一个第二虚拟对象;
    确定各第二虚拟对象受所述第一技能影响后的剩余属性值;
    分别根据各第二虚拟对象受所述第一技能影响后的剩余属性值,对应生成用于通知展示该第二虚拟对象受所述第一技能影响的效果的广播通知;
    对于剩余属性值符合预设条件的第二虚拟对象,通过所述收发模块向其视野范围内所有虚拟对象对应的客户端发送其对应的广播通知;
    对于剩余属性值不符合预设条件的第二虚拟对象,通过所述收发模块分别向其所对应的客户端及所述第一客户端发送其对应的广播通知。
  15. 一种服务器,其特征在于,包括权利要求11-14任一项所述的信息处理装置。
  16. 一种应用中虚拟对象处理的方法,其特征在于,所述方法应用于移动终端上多虚拟对象同屏显示的客户端中,所述客户端的显示界面上显示有主虚拟对象,所述方法包括:
    所述移动终端检测以所述主虚拟对象为中心的检测范围,所述检测范围包括多个控制范围,每个控制范围与控制范围内的操作一一对应,所述操作是指进入控制范围的虚拟对象所执行的操作;
    当在所述检测范围内检测到目标虚拟对象时,确定所述目标虚拟对象与所述主虚拟对象的距离;
    根据所述距离确定所述目标虚拟对象所在的控制范围;
    根据所述目标虚拟对象所在的控制范围所执行的操作,对所述目标虚拟对象进行处理。
  17. 根据权利要求16所述的方法,其特征在于,所述多个控制范围与所述中心的距离由大到小排列,包括:服务器下发范围、资源加载范围、实例化范围和可视化范围;+
    所述根据所述目标虚拟对象所在的控制范围所对应的执行操作,对所述目标虚拟对象进行处理,至少包括以下之一:
    当所述目标虚拟对象所在的控制范围为所述服务器下发范围时,对所述目标虚拟对象创建逻辑对象,并显示已创建所述逻辑对象的所述目标虚拟对象对应的名字牌;
    或者,当所述目标虚拟对象所在的控制范围为所述资源加载范围时,对所述目标虚拟对象加载对应的资源;
    或者,当所述目标虚拟对象所在的控制范围为所述实例化范围时,使用对所述目标虚拟对象加载的资源创建所述目标虚拟对象对应的目标实例;
    或者,当所述目标虚拟对象所在的控制范围为所述可视化范围时,对所述目标实例进行渲染计算,显示渲染后的目标虚拟对象。
  18. 根据权利要求16或17所述的方法,其特征在于,所述移动终端包括资源缓存,所述对所述目标虚拟对象加载对应的资源,包括:
    若所述资源缓存中包括对所述目标虚拟对象创建实例的目标资源,则从所述资源缓存中提取所述目标资源;
    或者,若所述资源缓存中未包括对所述目标虚拟对象创建实例的目标资源,则通过资源管理器为所述目标虚拟对象异步加载所述目标资源。
  19. 据权利要求17所述的方法,其特征在于,所述移动终端包括实例缓存,所述对所述目标实例进行渲染计算,显示渲染后的目标虚拟对象之前,方法还包括:
    若所述实例缓存中包括所述目标虚拟对象对应的目标实例,则复用所述目标实例。
  20. 根据权利要求18所述的方法,其特征在于,所述移动终端包括实例缓存,所述使用所述对应的资源创建所述目标虚拟对象对应的目标实例,包括:
    若所述实例缓存中未包括所述目标虚拟对象对应的目标实例,则获取对所述目标虚拟对象创建实例的目标资源;
    使用所述目标资源创建所述目标实例。
  21. 根据权利要求19或20所述的方法,其特征在于,所述方法还包括:
    接收对所述目标虚拟对象的换肤指令;
    获取所述目标虚拟对象对应的骨骼数据、目标网格数据和目标材质数据;
    将所述骨骼数据上绑定的源网格数据替换为所述目标网格数据,以及将所述骨骼数据上绑定的源材质数据替换为所述目标材质数据。
  22. 一种移动终端,其特征在于,所述移动终端上包含多虚拟对象同屏显示的交互应用,所述交互应用的显示界面上显示有主虚拟对象,所述移动终端包括:
    检测模块,用于检测以所述主虚拟对象为中心的检测范围,所述检测范围包括多个控制范围,每个控制范围与控制范围内的操作一一对应,所述操作是指进入控制范围的虚拟对象所执行的操作;
    第一确定模块,用于当在所述检测范围内检测到目标虚拟对象时,确定所述目标虚拟对象与所述主虚拟对象的距离;
    第二确定模块,用于根据所述距离,确定所述目标虚拟对象所在的控制范围;
    处理模块,用于根据所述目标虚拟对象所在的控制范围所执行的操作,对所述目标虚拟对象进行处理。
  23. 根据权利要求22所述的移动终端,其特征在于,所述多个控制范围与所述中心的距离由大到小排列,包括:服务器下发范围、资源加载范围、实例化范围和可视化范围;
    所述处理模块,具体用于至少包括以下之一:
    当所述目标虚拟对象所在的控制范围为所述服务器下发范围时,对所述目标虚拟对象创建逻辑对象,并显示创建所述逻辑对象的目标虚拟对象对应的名字牌;
    或者,当所述目标虚拟对象所在的控制范围为所述资源加载范围时,对所述目标虚拟对象加载对应的资源;
    或者,当所述目标虚拟对象所在的控制范围为所述实例化范围时,使用对所述目标虚拟对象加载的资源创建所述目标虚拟对象对应的目标实例;
    或者,当所述目标虚拟对象所在的控制范围为所述可视化范围时,对所述目标实例进行渲染计算,显示渲染后的目标虚拟对象。
  24. 根据权利要求22或23所述的移动终端,其特征在于,所述移动终端包含资源缓存,
    所述处理模块,具体用于若所述资源缓存中包括对所述目标虚拟对象创建实例的目标资源,则从所述资源缓存中提取所述目标资源;
    或者,所述处理模块,具体用于若所述资源缓存中未包括对所述目标虚拟 对象创建实例的目标资源,则通过资源管理器为所述目标虚拟对象异步加载所述目标资源。
  25. 根据权利要求23所述的移动终端,其特征在于,所述移动终端包括实例缓存,所述处理模块还用于:
    若所述实例缓存中包括所述目标虚拟对象对应的目标实例,则复用所述目标实例。
  26. 根据权利要求24所述的移动终端,其特征在于,所述移动终端包括实例缓存,所述处理模块,具体用于:
    若所述实例缓存中未包括所述目标虚拟对象对应的目标实例,则获取对所述目标虚拟对象创建实例的目标资源;使用所述目标资源创建所述目标实例。
  27. 根据权利要求25或26所述的移动终端,其特征在于,所述移动终端还包括:
    接收模块,用于接收对所述目标虚拟对象的换肤指令;
    获取模块,用于获取所述目标虚拟对象对应的骨骼数据、目标网格数据和目标材质数据;
    替换模块,用于将所述骨骼数据上绑定的源网格数据替换为所述目标网格数据,以及将所述骨骼数据上绑定的源材质数据替换为所述目标材质数据。
PCT/CN2017/118874 2017-01-05 2017-12-27 一种信息处理方法、装置及服务器 WO2018126956A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019525990A JP6850884B2 (ja) 2017-01-05 2017-12-27 情報処理方法及び装置
KR1020197022877A KR102319206B1 (ko) 2017-01-05 2017-12-27 정보 처리 방법 및 장치 그리고 서버
US16/425,733 US11135515B2 (en) 2017-01-05 2019-05-29 Information processing method and apparatus and server

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201710007956.8 2017-01-05
CN201710007956.8A CN106657127B (zh) 2017-01-05 2017-01-05 一种信息处理方法、装置及服务器
CN201710058471.1A CN106807087B (zh) 2017-01-23 2017-01-23 一种应用中模拟对象处理的方法以及移动终端
CN201710058471.1 2017-01-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/425,733 Continuation US11135515B2 (en) 2017-01-05 2019-05-29 Information processing method and apparatus and server

Publications (1)

Publication Number Publication Date
WO2018126956A1 true WO2018126956A1 (zh) 2018-07-12

Family

ID=62789090

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/118874 WO2018126956A1 (zh) 2017-01-05 2017-12-27 一种信息处理方法、装置及服务器

Country Status (4)

Country Link
US (1) US11135515B2 (zh)
JP (1) JP6850884B2 (zh)
KR (1) KR102319206B1 (zh)
WO (1) WO2018126956A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083408A (zh) * 2019-04-30 2019-08-02 珠海天燕科技有限公司 一种游戏场景中操作预定对象的方法和装置
CN110433493A (zh) * 2019-08-16 2019-11-12 腾讯科技(深圳)有限公司 虚拟对象的位置标记方法、装置、终端及存储介质
CN110465090A (zh) * 2019-08-16 2019-11-19 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
CN111476115A (zh) * 2020-03-23 2020-07-31 深圳市联合视觉创新科技有限公司 一种人体行为识别方法、装置及设备
CN111589115A (zh) * 2020-07-08 2020-08-28 腾讯科技(深圳)有限公司 虚拟对象的视野控制方法、装置、存储介质及计算机设备
CN111905363A (zh) * 2020-08-21 2020-11-10 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
CN112529993A (zh) * 2020-12-09 2021-03-19 威创集团股份有限公司 基于Unity的撒点图标优化方法及存储介质
CN113633970A (zh) * 2021-08-18 2021-11-12 腾讯科技(成都)有限公司 动作效果的显示方法、装置、设备及介质
CN114011069A (zh) * 2021-11-05 2022-02-08 腾讯科技(深圳)有限公司 虚拟对象的控制方法、存储介质和电子设备
CN114146410A (zh) * 2021-12-01 2022-03-08 网易(杭州)网络有限公司 视野控制方法、装置、介质及设备

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110975287A (zh) * 2019-12-06 2020-04-10 珠海金山网络游戏科技有限公司 一种基于Unity3D的组件优化方法及装置
CN111124579B (zh) * 2019-12-24 2023-12-19 北京金山安全软件有限公司 一种特效渲染方法、装置、电子设备及存储介质
KR102369476B1 (ko) * 2020-01-07 2022-03-04 주식회사 컴투스홀딩스 이전 시즌의 게임 캐릭터의 능력치를 감소시키기 위해 신규 시즌의 게임 캐릭터에게 부여되는 능력을 이용하여 게임을 진행하는 방법 및 시스템
CN111228805B (zh) * 2020-01-08 2023-07-14 腾讯科技(深圳)有限公司 虚拟操作对象的控制方法和装置、存储介质及电子装置
JP7395139B2 (ja) * 2020-01-29 2023-12-11 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
CN111744178A (zh) * 2020-05-26 2020-10-09 广州尊游软件科技有限公司 一种共享资源方法
CN114339270B (zh) * 2020-10-12 2024-01-09 腾讯科技(深圳)有限公司 直播中发放物品的控制方法、系统、电子设备及存储介质
CN114430492B (zh) * 2020-10-29 2023-10-13 海信视像科技股份有限公司 显示设备、移动终端及图片同步缩放方法
CN113163224B (zh) * 2021-04-27 2022-08-19 思享智汇(海南)科技有限责任公司 一种虚拟形象的发放方法、系统
USD1045914S1 (en) * 2022-10-21 2024-10-08 Inter Ikea Systems B.V. Display screen with a graphical user interface
CN116861117B (zh) * 2023-09-04 2023-11-24 深圳有咖互动科技有限公司 虚拟物品信息处理方法、装置、电子设备和可读介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838982A (zh) * 2014-03-27 2014-06-04 优视科技有限公司 一种虚拟游戏对象生成方法及装置
CN104915117A (zh) * 2015-06-16 2015-09-16 深圳市腾讯计算机系统有限公司 控制与虚拟目标进行交互的方法和装置
JP2016039859A (ja) * 2014-08-12 2016-03-24 株式会社gloops ゲームサーバ、ゲーム制御方法、ゲームプログラム及びゲームプログラム記録媒体
CN106139593A (zh) * 2016-06-23 2016-11-23 腾讯科技(深圳)有限公司 一种游戏数据处理方法及游戏客户端
CN106657127A (zh) * 2017-01-05 2017-05-10 腾讯科技(深圳)有限公司 一种信息处理方法、装置及服务器
CN106807087A (zh) * 2017-01-23 2017-06-09 腾讯科技(深圳)有限公司 一种应用中模拟对象处理的方法以及移动终端

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4003898B2 (ja) * 1997-11-10 2007-11-07 株式会社バンダイナムコゲームス 画像生成装置及び情報記憶媒体
US6283861B1 (en) * 1999-03-23 2001-09-04 Square Co., Ltd. Video game device and video game method
KR100452089B1 (ko) * 2004-06-23 2004-10-13 엔에이치엔(주) 게임 화면을 갱신하기 위한 오브젝트를 로딩하는 이미지리소스 로딩 시스템 및 이미지 리소스 로딩 방법
CN101136775B (zh) 2007-08-02 2010-07-07 北京航空航天大学 基于出生地管理的虚拟对象所有权组织方法
JP5039950B2 (ja) * 2008-03-21 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクト移動制御システム、オブジェクト移動制御方法、サーバ及びコンピュータプログラム
WO2009144945A1 (ja) * 2008-05-30 2009-12-03 株式会社カプコン ゲームプログラム、記憶媒体、ゲーム装置およびゲームシステム
EP2754471A4 (en) * 2011-09-06 2015-10-07 Capcom Co GAME SYSTEM, GAME CONTROL PROCEDURE AND RECORDING MEDIUM
JP5922963B2 (ja) 2012-03-27 2016-05-24 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理方法、および情報処理システム
CN103379163B (zh) 2012-04-25 2016-04-06 阿里巴巴集团控股有限公司 一种业务对象的确定方法以及确定装置
CN103593546B (zh) * 2012-08-17 2015-03-18 腾讯科技(深圳)有限公司 一种无动态阻挡网络游戏系统及其处理方法
EP3000232A4 (en) * 2013-05-23 2017-01-25 Kabushiki Kaisha Square Enix Holdings (also trading as Square Enix Holdings Co., Ltd) Dynamic allocation of rendering resources in a cloud gaming system
EP3008685A4 (en) * 2013-06-11 2017-01-25 Wemade IO Co., Ltd. Method and apparatus for automatically targeting target objects in a computer game
CN108355348B (zh) 2015-10-10 2021-01-26 腾讯科技(成都)有限公司 信息处理方法、终端及计算机存储介质
CN105335065A (zh) * 2015-10-10 2016-02-17 腾讯科技(深圳)有限公司 一种信息处理方法、终端及计算机存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838982A (zh) * 2014-03-27 2014-06-04 优视科技有限公司 一种虚拟游戏对象生成方法及装置
JP2016039859A (ja) * 2014-08-12 2016-03-24 株式会社gloops ゲームサーバ、ゲーム制御方法、ゲームプログラム及びゲームプログラム記録媒体
CN104915117A (zh) * 2015-06-16 2015-09-16 深圳市腾讯计算机系统有限公司 控制与虚拟目标进行交互的方法和装置
CN106139593A (zh) * 2016-06-23 2016-11-23 腾讯科技(深圳)有限公司 一种游戏数据处理方法及游戏客户端
CN106657127A (zh) * 2017-01-05 2017-05-10 腾讯科技(深圳)有限公司 一种信息处理方法、装置及服务器
CN106807087A (zh) * 2017-01-23 2017-06-09 腾讯科技(深圳)有限公司 一种应用中模拟对象处理的方法以及移动终端

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083408A (zh) * 2019-04-30 2019-08-02 珠海天燕科技有限公司 一种游戏场景中操作预定对象的方法和装置
CN110465090B (zh) * 2019-08-16 2023-05-30 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
CN110433493A (zh) * 2019-08-16 2019-11-12 腾讯科技(深圳)有限公司 虚拟对象的位置标记方法、装置、终端及存储介质
CN110465090A (zh) * 2019-08-16 2019-11-19 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
CN110433493B (zh) * 2019-08-16 2023-05-30 腾讯科技(深圳)有限公司 虚拟对象的位置标记方法、装置、终端及存储介质
CN111476115A (zh) * 2020-03-23 2020-07-31 深圳市联合视觉创新科技有限公司 一种人体行为识别方法、装置及设备
CN111476115B (zh) * 2020-03-23 2023-08-29 深圳市联合视觉创新科技有限公司 一种人体行为识别方法、装置及设备
CN111589115B (zh) * 2020-07-08 2023-06-13 腾讯科技(深圳)有限公司 虚拟对象的视野控制方法、装置、存储介质及计算机设备
CN111589115A (zh) * 2020-07-08 2020-08-28 腾讯科技(深圳)有限公司 虚拟对象的视野控制方法、装置、存储介质及计算机设备
CN111905363A (zh) * 2020-08-21 2020-11-10 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
CN111905363B (zh) * 2020-08-21 2023-10-13 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
CN112529993A (zh) * 2020-12-09 2021-03-19 威创集团股份有限公司 基于Unity的撒点图标优化方法及存储介质
CN112529993B (zh) * 2020-12-09 2024-02-06 威创集团股份有限公司 基于Unity的撒点图标优化方法及存储介质
CN113633970A (zh) * 2021-08-18 2021-11-12 腾讯科技(成都)有限公司 动作效果的显示方法、装置、设备及介质
CN113633970B (zh) * 2021-08-18 2024-03-08 腾讯科技(成都)有限公司 动作效果的显示方法、装置、设备及介质
CN114011069A (zh) * 2021-11-05 2022-02-08 腾讯科技(深圳)有限公司 虚拟对象的控制方法、存储介质和电子设备
CN114146410A (zh) * 2021-12-01 2022-03-08 网易(杭州)网络有限公司 视野控制方法、装置、介质及设备

Also Published As

Publication number Publication date
JP6850884B2 (ja) 2021-03-31
US20190275429A1 (en) 2019-09-12
US11135515B2 (en) 2021-10-05
KR102319206B1 (ko) 2021-10-28
JP2020518293A (ja) 2020-06-25
KR20190103307A (ko) 2019-09-04

Similar Documents

Publication Publication Date Title
WO2018126956A1 (zh) 一种信息处理方法、装置及服务器
CN106807087B (zh) 一种应用中模拟对象处理的方法以及移动终端
CN106504185B (zh) 一种渲染优化方法和装置
US10341716B2 (en) Live interaction system, information sending method, information receiving method and apparatus
CN106693367B (zh) 一种在客户端显示数据的处理方法和服务器以及客户端
CN113018848B (zh) 一种游戏画面的显示方法、相关装置、设备以及存储介质
WO2018103633A1 (zh) 一种图像处理的方法及装置
CN112245903A (zh) 云应用中网络状态指示方法、操作系统、装置及存储介质
CN111589116B (zh) 显示功能选项的方法、装置、终端及存储介质
CN115040873A (zh) 一种游戏分组处理方法、装置、计算机设备及存储介质
CN111589117B (zh) 显示功能选项的方法、装置、终端及存储介质
WO2024051414A1 (zh) 热区的调整方法、装置、设备、存储介质及程序产品
CN111617472A (zh) 一种虚拟场景中模型管理的方法以及相关装置
CN113426115B (zh) 游戏角色的展示方法、装置和终端
CN115212567A (zh) 信息处理方法、装置、计算机设备及计算机可读存储介质
CN112099713B (zh) 一种虚拟元素的展示方法以及相关装置
CN117101121A (zh) 一种游戏道具修复方法、装置、终端及存储介质
CN114225412A (zh) 信息处理方法、装置、计算机设备及存储介质
CN114100122A (zh) 一种场景位面的显示方法、相关装置、设备以及存储介质
CN113384893A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN109725892B (zh) 系统逻辑控制方法及装置
CN112044080B (zh) 一种虚拟对象的管理方法以及相关装置
US20230092869A1 (en) Automated frame pacing based on gameplay state
CN116492671A (zh) 虚拟资源处理方法、装置、计算机设备及存储介质
CN115531876A (zh) 画面渲染方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17890240

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019525990

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20197022877

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 17890240

Country of ref document: EP

Kind code of ref document: A1