Virtual human moving method and device, electronic equipment and storage medium

By adjusting the movement and movement of the virtual person according to the navigation path and vehicle position in the navigation interface, the problem of low accompaniment of the virtual person is solved, and the visual beauty and user experience of the navigation interface are improved.

CN119104080APending Publication Date: 2024-12-10SHENYANG MXNAVI CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310684940.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-09
Publication Date
2024-12-10

AI Technical Summary

Technical Problem

In the existing navigation technology, virtual people have low companionship, poor visual aesthetics, and insufficient flexibility, resulting in poor user travel experience.

Method used

By obtaining the path to be navigated and the three-dimensional map data, the initial position and movement method of the virtual person is determined, so that the virtual person can move with the vehicle in the three-dimensional map, adjust the movement and detour method of the virtual person according to the vehicle's position and road conditions, and improve the virtual person's movement and detour method. The accompanying feeling and visual beauty of the navigation interface.

Benefits of technology

It improves the intelligence and user experience of navigation products, enhances the accompanying and visual beauty of virtual people in the navigation interface, and improves the immersion and guidance effect of navigation interface.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119104080A_ABST
    Figure CN119104080A_ABST
Patent Text Reader

Abstract

The invention discloses a virtual human moving method and device, electronic equipment and a storage medium. The method comprises the following steps: acquiring a to-be-navigated path, and acquiring three-dimensional map data of a target three-dimensional map according to the to-be-navigated path; obtaining the position of a vehicle in the target three-dimensional map, and determining the initial position of a virtual human according to the position of the vehicle; and according to the moving mode of the vehicle in the target three-dimensional map and the three-dimensional map data, determining the moving mode of the virtual human so as to control the virtual human to start moving from the initial position of the virtual human according to the moving mode of the virtual human. By running the technical scheme provided by the embodiment of the invention, the problems of low accompanying feeling of the virtual person, poor visual aesthetic feeling of a navigation interface, low flexibility and the like caused by the fact that the virtual person only serves as an intelligent voice assistant or only displays the animation of the virtual person can be solved, the intelligence of a map and a navigation product is improved, and the travel experience of a user is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to navigation technology, and in particular to a virtual human movement method, device, electronic equipment and storage medium. Background Art

[0002] Compared with traditional 2D map-based navigation, 3D map-based navigation is more intuitive, vivid, accurate and comprehensive. Introducing virtual people to accompany you in 3D map-based navigation can not only make maps and navigation products more three-dimensional and intuitive in terms of visual experience, but also give virtual people functions such as intelligent question-and-answer and emotional companionship, thereby better improving the intelligence of maps and navigation products and improving users' travel experience.

[0003] In the existing technology, although virtual humans can accompany passengers on travel and provide intelligent prompts, they are usually only displayed as intelligent voice assistants in a fixed position in the navigation interface, resulting in poor experience such as low sense of virtual human companionship, poor visual aesthetics of the navigation interface, and low agility. Summary of the invention

[0004] The present invention provides a virtual human movement method, device, electronic device and storage medium, so as to improve the rationality of the virtual human movement and increase the sense of companionship of the virtual human.

[0005] According to one aspect of the present invention, a method for moving a virtual person is provided, the method comprising:

[0006] Acquire a path to be navigated, and acquire three-dimensional map data of a target three-dimensional map according to the path to be navigated;

[0007] Acquire the position of the vehicle in the target three-dimensional map, and determine the initial position of the virtual person according to the position of the vehicle;

[0008] The movement mode of the virtual person is determined according to the movement mode of the vehicle in the target three-dimensional map and the three-dimensional map data, so as to control the virtual person to move from the initial position of the virtual person according to the movement mode of the virtual person.

[0009] According to another aspect of the present invention, there is provided a virtual human movement device, the device comprising:

[0010] A map data acquisition module, used to acquire a path to be navigated, and acquire three-dimensional map data of a target three-dimensional map according to the path to be navigated;

[0011] An initial position determination module, used to obtain the position of the vehicle in the target three-dimensional map, and determine the initial position of the virtual person according to the position of the vehicle;

[0012] The movement mode determination module is used to determine the movement mode of the virtual person according to the movement mode of the vehicle in the target three-dimensional map and the three-dimensional map data, so as to control the virtual person to move from the initial position of the virtual person according to the movement mode of the virtual person.

[0013] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0014] at least one processor; and

[0015] a memory communicatively connected to the at least one processor; wherein,

[0016] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the virtual human movement method described in any embodiment of the present invention.

[0017] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the virtual human movement method described in any embodiment of the present invention when executed.

[0018] The technical solution of the embodiment of the present invention is to obtain the path to be navigated, and obtain the three-dimensional map data of the target three-dimensional map according to the path to be navigated; obtain the position of the vehicle in the target three-dimensional map, and determine the initial position of the virtual person according to the position of the vehicle, so that the distance between the initial position of the virtual person and the vehicle is maintained within a certain range. According to the movement mode of the vehicle in the target three-dimensional map and the three-dimensional map data, the movement mode of the virtual person is determined to control the virtual person to move from the initial position of the virtual person according to the movement mode of the virtual person, so that the virtual person moves with the vehicle near the vehicle in the target three-dimensional map. In the prior art, the virtual person is only used as an intelligent voice assistant, or only the virtual person animation is displayed, resulting in low sense of virtual person companionship, poor visual aesthetics of the navigation interface, and low agility. The intelligence of maps and navigation products is improved, and the travel experience of users is enhanced.

[0019] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 A flowchart of a virtual human movement method provided in Embodiment 1 of the present invention;

[0021] Figure 2 A schematic diagram of an initial position of a virtual person provided in the first embodiment of the present invention;

[0022] Figure 3 A flowchart of a virtual human movement method provided in Embodiment 2 of the present invention;

[0023] Figure 4 A flowchart of a virtual human movement method provided in Embodiment 3 of the present invention;

[0024] Figure 5 A schematic diagram of a single obstacle to be circumvented provided in Embodiment 3 of the present invention;

[0025] Figure 6 A schematic diagram of multiple obstacles to be circumvented provided in Embodiment 3 of the present invention;

[0026] Figure 7 A schematic diagram of the structure of a virtual human moving device provided in Embodiment 4 of the present invention;

[0027] Figure 8 It is a schematic diagram of the structure of an electronic device used to implement an embodiment of the present invention. DETAILED DESCRIPTION

[0028] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0029] It should be noted that the terms "first", "second", "target", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0030] Embodiment 1

[0031] Figure 1This is a flowchart of a method for moving a virtual person provided in the first embodiment of the present invention. This embodiment is applicable to the case where a virtual person moves in a three-dimensional map. The method can be executed by a virtual person moving device provided in the embodiment of the present invention, and the device can be implemented in software and / or hardware. Figure 1 The virtual human movement method provided in this embodiment includes:

[0032] Step 110: Acquire a path to be navigated, and acquire three-dimensional map data of a target three-dimensional map according to the path to be navigated.

[0033] Among them, the navigation path is the currently determined path that needs to be navigated, for example, it can be a navigation path selected by a user of a navigation map. The selection method can be that the user inputs the navigation starting point and the navigation end point, and the navigation system calculates and recommends at least two candidate routes, and the user selects from the candidate routes.

[0034] The target three-dimensional map is the three-dimensional navigation map currently in use. The three-dimensional map data obtained according to the path to be navigated is three-dimensional map data related to the path to be navigated, for example, the spatial topological structure of the three-dimensional map in the path to be navigated, including information such as navigation segments, shape points and points of interest of the path to be navigated.

[0035] Step 120: Obtain the position of the vehicle in the target three-dimensional map, and determine the initial position of the virtual person according to the position of the vehicle.

[0036] The vehicle is the vehicle that the user is currently in the target three-dimensional map, and can be displayed as a three-dimensional vehicle model or other three-dimensional identification in the target three-dimensional map, and this embodiment does not limit this. The position of the vehicle in the target three-dimensional map can be the current position of the vehicle in the target three-dimensional map, which can be determined based on the real-time position of the vehicle, and the real-time position of the vehicle can be obtained based on the positioning device such as the GPS of the vehicle. The size of the vehicle displayed in the target three-dimensional map can change accordingly with the scale of the target three-dimensional map.

[0037] The virtual person is a virtual character with a digital appearance, and can be displayed as a three-dimensional character model or other three-dimensional identification in the target three-dimensional map, which is not limited in this embodiment.

[0038] The initial position of the virtual person is the position where the virtual person starts to be displayed, which can be determined according to the current position of the vehicle when the virtual person needs to be displayed. For example, after determining the current position of the vehicle in the target three-dimensional map, the preset direction of the current position of the vehicle, such as the preset distance to the right front of the vehicle or the preset distance to the left front of the vehicle, is determined as the initial position of the virtual person. This embodiment does not limit this.

[0039] In this embodiment, optionally, determining the initial position of the virtual person according to the position of the vehicle includes:

[0040] The target point in the preset plane at the current position of the vehicle is obtained, and the initial position of the virtual person is determined according to the target point and the center point of the vehicle.

[0041] The target point in the preset plane at the current position of the vehicle may be a point in the side plane of the preset direction of the vehicle at the current position when determining the initial position of the virtual person, such as the center point in the plane on the left side of the vehicle model, which is not limited in this embodiment. The center point of the vehicle may be the center point of the vehicle model.

[0042] The initial position of the virtual person is determined according to the target point and the center point of the vehicle. The target point can be used as the center of the circle and a random number within the target numerical range can be used as the radius to determine the target circular range where the initial position of the virtual person is located. For example, the target point in the plane on the left or right side of the vehicle is used as the center point, and the random number in the interval (0, the distance from the center point of the vehicle to the target point) is used as the radius, denoted as r, to determine the target circular range, where the target circular range is the possible range of the initial position of the virtual person.

[0043] The target angle is determined according to the target circular range and the random angle; wherein the target angle is the angle between the straight line formed by the initial position of the virtual person and the target point, and the straight line formed by the center point of the vehicle and the target point, denoted as θ, and the random angle range can be between [0,2π].

[0044] Figure 2 A schematic diagram of an initial position of a virtual person provided in the first embodiment of the present invention, such as Figure 2 As shown, the target point E is the center point in the plane on the left side of the vehicle, the radius r is the distance from the center point F of the vehicle to the target point E, and the target angle is the angle θ between the straight line EF formed by the center point F of the vehicle and the target point E, and the straight line GE formed by the initial position G of the virtual person and the target point E within the target circular range.

[0045] The initial position of the virtual person is determined according to the preset flight height of the virtual person, the target angle and the coordinate information of the target point, wherein the preset flight height may be the flight height of the virtual person relative to the vehicle. The three-dimensional coordinates of the target point are marked as (x, y, z), where the two-dimensional coordinates are (x, y), and the two-dimensional coordinates of the virtual person are (x+r*cosθ, yr*sinθ). If the preset flight height of the virtual person is recorded as h, the three-dimensional coordinates of the virtual person may be (x+r*cosθ, yr*sinθ, z+h), and accordingly, the size of the virtual person model also changes accordingly with the scale of the target three-dimensional map.

[0046] The initial position of the virtual person is determined according to the target point and the center point of the vehicle, so that the initial position of the virtual person is near the vehicle, increasing the sense of companionship of the virtual person; the randomness of the initial position determination is improved by random angles and radius sizes, so that the virtual person maintains an appropriate distance from the vehicle, avoiding the virtual person being too far away from the vehicle, and improving the user experience.

[0047] Step 130: Determine the movement mode of the virtual person according to the movement mode of the vehicle in the target three-dimensional map and the three-dimensional map data, so as to control the virtual person to move from the initial position of the virtual person according to the movement mode of the virtual person.

[0048] The movement mode of the vehicle in the target three-dimensional map may include the vehicle's moving speed, etc. The movement mode of the virtual person may include the virtual person's moving speed and the virtual person's moving direction. The virtual person's moving speed may be determined based on the vehicle's moving speed. The determination method may be to adjust the virtual person's moving speed based on the real-time speed of the vehicle in the target three-dimensional map so that the virtual person's moving speed is consistent with the vehicle speed.

[0049] The moving direction of the virtual person can be determined according to the adjacent shape points in the three-dimensional map data. The adjacent shape points are the shape points of the road section in the three-dimensional map data. The road section refers to the arc connecting two nodes. It is the smallest unit contained in the road, including the road section identification, starting node identification, ending node identification, road section length, shape point data, road section name and other attributes; the node contains the node identification, node coordinates (latitude and longitude), node type, traffic lights, road signs and other information; the shape point refers to the coordinate point data that describes the shape of the road.

[0050] Since the shape points have longitude and latitude attributes, a direction vector can be determined based on the longitude and latitude of two shape points, so the virtual person can determine the direction of movement based on the direction vectors determined by the adjacent shape points. Since the shape points contain the expected driving direction of the vehicle, the direction of movement of the virtual person is determined based on the direction vectors determined by the adjacent shape points, so that the flight direction of the virtual person is consistent with the expected driving direction of the vehicle, thereby improving the effectiveness of the virtual person's subsequent guidance of the vehicle's driving position.

[0051] After determining the movement mode of the virtual person, the virtual person is controlled to move from the initial position of the virtual person according to the movement mode of the virtual person, for example, moving from the initial position of the virtual person according to the determined movement direction and movement speed, so as to achieve the effect that the virtual person moves with the vehicle.

[0052] The technical solution provided in this embodiment obtains the path to be navigated, and obtains the three-dimensional map data of the target three-dimensional map according to the path to be navigated; obtains the position of the vehicle in the target three-dimensional map, and determines the initial position of the virtual person according to the position of the vehicle, so that the distance between the initial position of the virtual person and the vehicle is maintained within a certain range. According to the movement mode of the vehicle in the target three-dimensional map and the three-dimensional map data, the movement mode of the virtual person is determined to control the virtual person to move from the initial position of the virtual person according to the movement mode of the virtual person, so that the virtual person moves with the vehicle near the vehicle in the target three-dimensional map. In the prior art, the virtual person is only used as an intelligent voice assistant, or only the virtual person animation is displayed, resulting in low sense of virtual person companionship, poor visual aesthetics of the navigation interface, and low agility. The intelligence of maps and navigation products is improved, and the travel experience of users is enhanced.

[0053] Embodiment 2

[0054] Figure 3 This is a flow chart of a virtual human movement method provided in the second embodiment of the present invention. This technical solution is to supplement the virtual human's movements. Compared with the above solution, this solution is specifically optimized to further include:

[0055] Acquiring a current road condition of the vehicle and / or a current state of a traffic light within a first preset distance of the vehicle;

[0056] According to the current state of the traffic light and / or the current road condition, the action migration sequence of the virtual person is determined. Specifically, the flowchart of the virtual person movement method is as follows: Figure 3 As shown:

[0057] Step 310: Acquire the path to be navigated, and acquire the three-dimensional map data of the target three-dimensional map according to the path to be navigated.

[0058] Step 320: Obtain the position of the vehicle in the target three-dimensional map, and determine the initial position of the virtual person according to the position of the vehicle.

[0059] Step 330: Determine the movement mode of the virtual person according to the movement mode of the vehicle in the target three-dimensional map and the three-dimensional map data, so as to control the virtual person to move from the initial position of the virtual person according to the movement mode of the virtual person.

[0060] Step 340: Obtain the current road condition of the vehicle and / or the current status of the traffic lights within a first preset distance of the vehicle.

[0061] The current road condition of the vehicle may be a real-time road condition, which may be provided by a navigation system, such as congestion, an accident, or smooth traffic.

[0062] The traffic lights within the first preset distance of the vehicle are the traffic lights that are at a first preset distance from the current position of the vehicle in the direction of vehicle movement. The current status of the traffic lights can be provided by the navigation system, for example, whether it is currently red, green, yellow, or about to change status.

[0063] Step 350: Determine the action migration sequence of the virtual person according to the current state of the traffic light and / or the current road condition.

[0064] The action transition sequence is a sequence of different actions generated by the virtual person over time, which can be determined by the current state of the traffic light, the current road condition, or the current state of the traffic light combined with the current road condition. For example, if the current state of the traffic light is green and the current road condition is unobstructed, the action transition sequence of the virtual person may include flying in the direction in which the vehicle is expected to travel, turning around to face the vehicle and making gestures to remind it to move forward, etc.

[0065] In this embodiment, optionally, determining the action migration sequence of the virtual person according to the current state of the traffic light and / or the current road condition includes:

[0066] If the current state of the traffic light is a red light state or a yellow light state, determining that the action transition sequence includes at least one of a deceleration action, a turning action, a reminder action, a landing action, and a traffic light observation action;

[0067] If the current state of the traffic light changes from a red light state to a green light state, determining that the action transition sequence includes at least one of a flying action, a turning action, and a reminding action;

[0068] If the current state of the traffic light is green, and the current road condition is a congested waiting state, then determining that the action migration sequence includes at least one of a deceleration action, a turning action, a reminder action, a landing action, and a front vehicle speed observation action;

[0069] If the current state of the traffic light is green and the current road condition requires lane change, the action migration sequence is determined to include at least one of a deceleration action, a turning action, a reminder action, a vehicle lane change waiting action, and a lane flying action after lane change.

[0070] If the current state of the traffic light is a red light state or a yellow light state, it is determined that the action transition sequence includes at least one of a deceleration action, a turning action, a reminder action, a landing action, and a traffic light observation action. Among them, the deceleration action may be that the virtual person reduces the moving speed, the turning action may be that the virtual person turns around to face the vehicle, the reminder action may be a reminder action to slow down, the landing action may be that the virtual person flies and lands on top of the vehicle, the turning action may be that the virtual person turns around to face the traffic light, and the traffic light observation action may be that the virtual person observes the state of the traffic light. That is, the action transition sequence may include 1. deceleration action -> 2. turning action -> 3. reminder to slow down -> 4. landing to the vehicle action -> 5. turning action -> 6. traffic light observation action.

[0071] If the current state of the traffic light changes from a red light state to a green light state, it is determined that the action transition sequence includes at least one of a flying action, a turning action, and a reminder action. Among them, the flying action may be that the virtual person takes off from above the vehicle and flies a distance in a preset direction, the turning action may be that the virtual person turns around to face the vehicle, the reminder action may be that the virtual person makes a gesture to remind the virtual person to move forward, and the flying action may also include waiting for the traffic light to turn green, and then the virtual person continues to move according to the moving direction. That is, the action transition sequence may include 1. flying action -> 2. turning action -> 3. departure reminder action -> 4. flying action.

[0072] If the current state of the traffic light is green, and the current road condition is a congested waiting state, then the action migration sequence is determined to include at least one of a deceleration action, a turn action, a reminder action, a landing action, and an action to observe the speed of the vehicle ahead. Among them, the deceleration action, the turn action, the reminder action, and the landing action may be similar to when the current state of the traffic light is red or yellow. The action to observe the speed of the vehicle ahead may be that after the virtual person lands on the top of the vehicle, he turns around to observe the road condition ahead. If the vehicle ahead of the vehicle starts to drive slowly or stops intermittently, the virtual person still stays above the vehicle; if the vehicle ahead drives fast or continuously, the virtual person may take off from the top of the vehicle and continue to move according to the moving direction, that is, the action migration sequence may include 1. deceleration action -> 2. turn action -> 3. deceleration reminder action -> 4. landing to the vehicle action -> 5. turn action -> 6. observation of the speed of the vehicle ahead.

[0073] If the current state of the traffic light is green, and the current road condition is a state where lane change is required, then the action migration sequence is determined to include at least one of a deceleration action, a turning action, a reminder action, a vehicle lane change waiting action, and a lane flying action after lane change. Among them, the lane change state is a state where the vehicle needs to change lanes due to an accident or temporary control ahead. The deceleration action can be the virtual person reducing the moving speed, the turning action is the virtual person turning around to face the vehicle, the reminder action can be the virtual person reminding the virtual person to change lanes to the left or right, the vehicle lane change waiting action can be the action of the virtual person waiting for the vehicle to change lanes, and the lane flying action after lane change can be the action of the virtual person flying to the lane where the vehicle is located after the vehicle changes lanes. That is, the action migration sequence may include 1. deceleration action -> 2. turning action -> 3. lane change reminder action > 4. vehicle lane change waiting action -> 5. lane flying action after lane change.

[0074] By specifically describing the method of determining the action migration sequence, distinguishing the action migration sequences corresponding to the current status of different traffic lights and different current road conditions, the targeted guidance of virtual humans in different scenarios is improved, the guidance methods of virtual humans are enriched, the sense of accompaniment and immersion of navigation products is enhanced, and the user experience is improved.

[0075] The embodiments of the present invention improve the real-time performance of the virtual person's guidance of vehicle driving by determining the action migration sequence of the virtual person according to the real-time road conditions and the current status of the traffic lights; and by determining the guidance action as an action migration sequence, the guidance action is split into a set of actions that change over time, which makes it easier for users to understand the current guidance purpose, increases the effectiveness of the guidance, and improves the user experience.

[0076] Embodiment 3

[0077] Figure 4 This is a flowchart of a virtual human movement method provided in Embodiment 3 of the present invention. This technical solution is a supplementary explanation of the virtual human bypassing obstacles. Compared with the above solution, this solution is specifically optimized to further include:

[0078] Determine obstacles to be circumvented within a second preset distance of the virtual person according to a preset obstacle determination method and three-dimensional map data;

[0079] According to the moving direction of the virtual person and the obstacle to be bypassed, the obstacle bypassing method of the virtual person is determined, so as to bypass the obstacle to be bypassed by using the obstacle bypassing method.

[0080] Specifically, the flowchart of the virtual human movement method is as follows: Figure 4 As shown:

[0081] Step 410: Acquire the path to be navigated, and acquire the three-dimensional map data of the target three-dimensional map according to the path to be navigated.

[0082] Step 420: Obtain the position of the vehicle in the target three-dimensional map, and determine the initial position of the virtual person according to the position of the vehicle.

[0083] Step 430: Determine the movement mode of the virtual person according to the movement mode of the vehicle in the target three-dimensional map and the three-dimensional map data, so as to control the virtual person to move from the initial position of the virtual person according to the movement mode of the virtual person.

[0084] Step 440: Determine obstacles to be circumvented within a second preset distance of the virtual human according to a preset obstacle determination method and three-dimensional map data.

[0085] The preset obstacle determination method is used to determine obstacles in the target three-dimensional map according to the three-dimensional map data, and may be, for example, a ray detection method such as Unity's Physics.RaycastAll, which is not limited in this embodiment. The obstacles to be circumvented within the second preset distance of the virtual person are objects that may collide when the virtual person moves, such as trees, street lights, buildings, etc. beside the road.

[0086] Step 450: Determine the obstacle bypassing method of the virtual person according to the moving direction of the virtual person and the obstacle to be bypassed, so as to bypass the obstacle to be bypassed by using the obstacle bypassing method.

[0087] According to the moving direction of the virtual person and the obstacle to be bypassed, the obstacle bypassing method of the virtual person is determined. The position where the virtual person may collide with the obstacle to be bypassed is determined according to the moving direction of the virtual person, and the obstacle bypassing method is determined according to the position. For example, if it is determined according to the moving direction of the virtual person that the virtual person may collide with the left part of the obstacle to be bypassed, the virtual person may bypass the obstacle from the left side when the distance between the virtual person and the obstacle is less than a preset threshold, so as to reduce the bypass distance and improve the bypass efficiency.

[0088] In this embodiment, optionally, determining the obstacle bypassing method of the virtual person according to the moving direction of the virtual person and the obstacle to be bypassed includes:

[0089] Obtain the circumscribed cube of the obstacle to be circumvented, and determine the intersection point between the moving direction of the virtual human and the circumscribed cube of each obstacle to be circumvented;

[0090] According to the intersection and the side of the circumscribed cube of the obstacle to be bypassed, the target side distance and the bypass position associated with the bypass direction of each virtual person are determined respectively, and the bypass cost of each virtual person's bypass direction is determined according to the target side distance;

[0091] Obtaining the position of the vehicle corresponding to the intersection point, and determining the position distance according to the position of the vehicle and each detour position;

[0092] Obtaining the associated detour direction of the current road in the detour direction of the virtual person, and determining whether the preset detour influence condition is met if the detour is made from the associated detour direction;

[0093] The obstacle bypass method is determined based on the preset bypass influencing conditions, the judgment result, the location distance and the bypass cost.

[0094] The circumscribed cube of the obstacle to be bypassed may be the minimum circumscribed cube of the model of the obstacle to be bypassed. Figure 5 A schematic diagram of a single obstacle to be circumvented provided in Embodiment 3 of the present invention, such as Figure 5 As shown, the obstacle to be bypassed is a tree.

[0095] When there is only one obstacle to be bypassed, the intersection of the vector of the virtual person's moving direction and the circumscribed cube of the single obstacle to be bypassed is obtained; when there are multiple obstacles to be bypassed, the intersection of the vector of the virtual person's moving direction and the circumscribed cubes of multiple obstacles to be bypassed is obtained. Figure 5 As shown, point P is the intersection of the virtual human's moving direction and the circumscribed cube of the obstacle to be circumvented. Here, only the intersection of the virtual human and the circumscribed cube of the obstacle to be circumvented is retained.

[0096] The virtual person's detour direction is the direction that the virtual person can choose when detouring an obstacle, such as detouring from the upper side of the obstacle, detouring from the lower side of the obstacle, detouring from the left side of the obstacle, and detouring from the right side of the obstacle. Since a circumscribed cube is determined for the obstacle to be detoured, the virtual person's actual optional detour direction may exclude detouring from the lower side of the obstacle in consideration of the actual detour effect, so the virtual person's detour direction may include detouring from the upper side of the obstacle, detouring from the left side of the obstacle, and detouring from the right side of the obstacle. Accordingly, the side surfaces of the circumscribed cube of the obstacle to be detoured may be the upper side surface, the left side surface, and the right side surface relative to the virtual person's moving direction.

[0097] The target side distance is the distance between the intersection point and each determined side, and the detour position is the position that the virtual person needs to pass when detouring the obstacle.

[0098] A perpendicular line can be drawn from the intersection point to the side of the circumscribed cube of the obstacle to be bypassed, and the intersection point of the perpendicular line with the side edge is determined as the bypass position, and the distance between the intersection point and the bypass position is determined as the target side distance, such as Figure 5 As shown, when the virtual person's detour direction is to the left, the associated detour position is P1, and the target side distance is b; when the virtual person's detour direction is to the right, the associated detour position is P2, and the target side distance is a; when the virtual person's detour direction is to the upper side, the associated detour position is P3, and the target side distance is c.

[0099] The detour cost is the cost that the virtual person needs to pay when detouring, which can be determined by the actual detour distance, etc.

[0100] For example, the cost of detouring from the right side is r_value=2×a+dis; the cost of detouring from the left side is l_value=2×b+dis; the cost of detouring from the top side is t_value=2×c+dis, where a, b, and c are multiplied by 2 to ensure that the original direction is restored after detouring, and dis is the width of the circumscribed cube of the obstacle to be detoured along the flight direction of the virtual person.

[0101] Obtain the position of the vehicle corresponding to the intersection, which can be the position of the vehicle when the intersection is determined; determine the position distance based on the position of the vehicle and each detour position, where the position distance can be the Euclidean distance between the position of the vehicle and each detour position, and this embodiment does not limit this.

[0102] If the vehicle is denoted as C, the coordinates of the vehicle are (x, y, z), and the coordinates of the intersection P are (l, m, n), then the coordinates of the left circumvention position P1 of the virtual person are (lb, m, n), the coordinates of the right circumvention position P2 are (l+a, m, n), and the coordinates of the upper circumvention position P3 are (l, m, n+c).

[0103] Correspondingly, if the position distance is the Euclidean distance between C and P1, P2 and P3, the calculation method can be as follows:

[0104]

[0105] Among them, d CP1 is the distance between the vehicle position and the left bypass position, d CP2 is the distance between the vehicle position and the right bypass position, d CP3 is the distance between the vehicle position and the upper bypass position.

[0106] The associated detour direction of the current road traffic direction, for example, if the current road traffic direction is to travel on the right, then the associated detour direction may be to detour from the right side; if the current road traffic direction is to travel on the right or on the left, then the associated detour direction may be to detour from the right side or from the left side; the preset detour influencing condition is used to determine whether detouring from the associated detour direction affects the detour effect. For example, the preset detour influencing condition is to determine whether detouring from the associated detour direction will cause a collision with a new object other than the obstacle to be detoured, such as a roadside building, etc., and this embodiment does not limit this.

[0107] The obstacle bypass method is determined based on the judgment result of whether the preset bypass influence condition is satisfied, the position distance and the bypass cost. It can be determined whether to use the associated bypass direction as a bypass candidate based on the judgment result of whether the preset bypass influence condition is satisfied. If not, the judgment is made from the remaining bypass directions combined with the position distance and the bypass cost. If so, the judgment is made from all bypass directions combined with the position distance and the bypass cost.

[0108] In order to keep the distance between the virtual person and the vehicle within a certain range, a detour can be made in a way that reduces the distance between the vehicle and the virtual person based on the location distance. If the detour cannot be determined based on the location distance, a detour with a smaller cost can be made.

[0109] The obstacle bypassing method is determined based on the judgment result, location distance and bypassing cost of the preset bypassing influence conditions, and the bypassing effect and bypassing efficiency are comprehensively considered to determine the most suitable obstacle bypassing method, improve the effect of the virtual person bypassing the obstacle, and improve the bypassing efficiency of the virtual person bypassing the obstacle.

[0110] In this embodiment, optionally, if the number of obstacles is greater than one, the intersection and the side of the circumscribed cube of the obstacle to be bypassed respectively determine the target side distance and bypass position associated with the bypass direction of each virtual person, including:

[0111] Determine the target cube from the circumscribed cubes of each obstacle to be circumvented according to the moving direction of the virtual human, and determine the collision plane between the virtual human and the target cube;

[0112] According to the length of each obstacle to be circumvented in the circumvention direction of each virtual person, the plane range of the collision plane is expanded;

[0113] According to the intersection point in the collision plane, a detour intersection point with the expanded collision plane in the detour direction of the virtual person is determined, and the detour intersection point is determined as a detour position;

[0114] A first distance between the intersection point and each detour position is acquired, and the first distance is determined as the target side distance.

[0115] If the number of obstacles is greater than one, it indicates that multiple obstacles to be bypassed need to be considered when performing obstacle bypassing. A target cube is determined from the circumscribed cubes of the obstacles to be bypassed according to the moving direction of the virtual human, wherein the target cube may be the circumscribed cube of the obstacle to be bypassed that is closest to the virtual human in the moving direction of the virtual human; and the collision plane between the virtual human and the target cube may be the plane in the target cube that is closest to the virtual human.

[0116] Figure 6 A schematic diagram of a plurality of obstacles to be circumvented provided in Embodiment 3 of the present invention, such as Figure 6 As shown, there are three obstacles A, B, and C to be bypassed. According to the virtual human's flight direction, the virtual human will pass through obstacles A, B, and C in sequence. Therefore, the circumscribed cube of obstacle A to be bypassed can be determined as the target cube, and the plane in the target cube closest to the virtual human is the collision plane.

[0117] According to the length of each obstacle to be bypassed in the bypassing direction of each virtual person, the plane range of the collision plane is expanded so that the length of the expanded collision plane in each bypassing direction is the maximum length, such as Figure 6 As shown, for example, if the obstacle B to be bypassed is farthest from the moving direction of the virtual person in the left bypassing direction and the upper bypassing direction, the left plane range and the upper plane range of the collision plane can be expanded according to the length of the left bypassing direction and the length of the upper bypassing direction of the obstacle B to be bypassed, so that the left side and the upper side of the expanded collision plane can cover the left side distance and the upper side distance of the obstacle B to be bypassed. If the obstacle C to be bypassed is farthest from the moving direction of the virtual person in the right bypassing direction, the right plane range of the collision plane can be expanded according to the length of the right bypassing direction of the obstacle C to be bypassed, so that the right side of the expanded collision plane can cover the right side distance of the obstacle C to be bypassed.

[0118] The intersection point in the collision plane is the intersection point of the virtual human's moving direction vector and the collision plane, such as Figure 6 As shown, the intersection is point P. A perpendicular line can be drawn from the intersection to the side of the extended collision plane in the detour direction. The intersection of the perpendicular lines is determined as the detour position. The distance between the intersection and the detour position is recorded as the first distance and determined as the target side distance. Figure 6 As shown, when the virtual person's detour direction is the left side, the associated detour position is P1, and the target side distance is b; when the virtual person's detour direction is the right side, the associated detour position is P2, and the target side distance is a; when the virtual person's detour direction is the upper side, the associated detour position is P3, and the target side distance is c. Therefore, when determining the detour method later, only the detour position and target side distance determined here need to be considered.

[0119] Correspondingly, the cost of detouring from the right side is r_value = 2×max{a1,…,an}+dis; the cost of detouring from the left side is l_value = 2×max{b1,…,bn}+dis; the cost of detouring from the upper side is t_value = 2×max{c1,…,cn}+dis, where n is the number of obstacles to be bypassed, max{a1,…,an} indicates the maximum value selected from the distance values ​​between the intersection point and the right side of the circumscribed cube of all obstacles to be bypassed, max{b1,…,bn} indicates the maximum value selected from the distance values ​​between the intersection point and the left side of the circumscribed cube of all obstacles to be bypassed, max{c1,…,cn} indicates the maximum value selected from the distance values ​​between the intersection point and the upper side of the circumscribed cube of all obstacles to be bypassed, and dis is the sum of the widths of the circumscribed cubes of all obstacles to be bypassed along the flight direction of the virtual man.

[0120] When the number of obstacles is greater than one, the plane range of the collision plane is expanded according to the length of each obstacle to be bypassed in the bypassing direction of each virtual person, so that the expanded collision plane covers all possible bypassing situations in the bypassing direction. Therefore, when the virtual person bypasses, only the expanded collision plane needs to be considered, that is, only a single target cube needs to be referred to for unified bypassing, avoiding the problem of frequent switching of the virtual person's flight direction due to bypassing multiple obstacles one by one, affecting the visual experience, and low bypassing efficiency.

[0121] In this embodiment, optionally, determining the obstacle bypassing method according to the judgment result, the position distance and the bypassing cost of the preset bypassing influence condition includes:

[0122] If the preset detour influence condition meets the judgment result, the obstacle detour method is determined according to the virtual person's detour direction except the associated detour direction, or

[0123] Determine the obstacle bypassing method according to the position distance and / or bypassing cost corresponding to the direction other than the associated bypassing direction in the virtual person's bypassing direction;

[0124] If the preset detour influencing condition is not satisfied, the obstacle detour method is determined according to the location distance and / or detour cost.

[0125] If the preset detour influencing conditions meet the judgment result, indicating that it is impossible to detour from the associated detour direction, when there are multiple associated detour directions, such as the left side and the right side, the direction of the virtual person's detour direction other than the associated detour direction, that is, from the upper side, can be directly determined as the actual detour direction, then detouring from the upper side is the obstacle bypassing method.

[0126] When the associated detour direction is single, the virtual person detour direction may include multiple directions other than the associated detour direction. For example, if the associated detour direction is right, the virtual person detour directions other than the associated detour direction are left and up. The obstacle detour method may be determined according to the position distance and / or detour cost. For example, the obstacle detour method may be determined based on the position distance. For example, the determination d CP1 With d CP3 If they are not equal, the detour direction corresponding to the smaller position distance is determined as the actual detour direction. CP1 Less than d CP3 When the obstacle is bypassed, the left side is determined as the obstacle bypassing method, that is, min{d CP1 , d CP3}; if they are equal, the detour direction corresponding to the smaller detour cost is determined as the actual detour direction. For example, when l_value is less than t_value, the detour from the left is determined as the obstacle detour method, that is, min{l_value, t_value}; if the detour costs are still equal, the obstacle detour method can be randomly determined according to the directions in the virtual person's detour direction except the associated detour direction. This embodiment does not limit this.

[0127] If the preset detour influence condition is not satisfied, indicating that the associated detour direction can be used, then the obstacle detour method is determined from all detour directions according to the position distance and / or detour cost. For example, the obstacle detour method is determined based on the position distance. For example, if d CP1 , d CP2 , d CP3 If the three are not equal, the detour direction corresponding to the smaller position distance is determined as the actual detour direction, that is, min{d CP1 , d CP2 , d CP3}; if d CP1 With d CP3 Equal and both greater than d CP2 , then the obstacle bypassing method will be determined from the right side; if d CP1 With d CP3 Equal and both less than d CP2 , the detour direction corresponding to the smaller detour cost is determined as the actual detour direction. For example, when l_value is less than t_value, detour from the left is determined as the obstacle detour method, that is, min{l_value, t_value}. If the detour costs are still equal, the obstacle detour method can be randomly determined from detour from the left and detour from the top. If d CP2 With d CP3 Equal and both greater than d CP1 , then the left-hand bypass will be determined as the obstacle bypass method; if d CP2 With d CP3 Equal and both less than d CP1 , the detour direction corresponding to the smaller detour cost is determined as the actual detour direction. For example, when r_value is less than t_value, detour from the right side is determined as the obstacle detour method, that is, min{r_value, t_value}, then the obstacle detour method can be randomly determined between detour from the right side and detour from the top side.

[0128] If the preset detour influence condition meets the judgment result, the associated detour direction can be excluded to determine the obstacle detour method. If the preset detour influence condition does not meet the judgment result, the associated detour direction will be included in the consideration range for determining the obstacle detour method, avoiding the need to consider the associated detour direction every time the obstacle detour method is determined, thereby improving the efficiency of determining the obstacle detour method. In addition, by determining the obstacle detour method with the minimum position distance and / or the minimum detour cost, the detour method with the minimum detour cost and the best visual effect is considered, which improves the visual aesthetics and user experience on the basis of reducing the possibility of collision or occlusion between models, and improves the rationality of obstacle detour.

[0129] In this embodiment, optionally, determining whether a preset detour impact condition is met if detouring from the associated detour direction includes:

[0130] Obtain the virtual human height and flight altitude of the virtual human, as well as the height of the obstacle to be circumvented;

[0131] Obtaining a virtual human width of the virtual human, and a second distance between the obstacle to be circumvented and other objects in the associated circumventing direction;

[0132] If the sum of the virtual person's height and the flight height is less than the height of any obstacle to be circumvented, and / or the virtual person's width is greater than or equal to any second distance, it is determined that the preset circumvention influence condition is met.

[0133] like Figure 5 As shown, the virtual height of the virtual person is the height of the virtual person itself, recorded as vittual_h; the flight height of the virtual person is the height of the virtual person from the ground, recorded as fly_h; the height of the obstacle to be bypassed is the height of the obstacle to be bypassed itself, when the obstacle to be bypassed is a tree, it is recorded as tree_h.

[0134] When the number of obstacles to be bypassed is one, if the sum of the virtual human's height and the flight height is less than the height of any obstacle to be bypassed, that is, tree_h>vittual_h+fly_h, it means that the sum of the virtual human's flying height and the virtual human's height is less than the height of the obstacle to be bypassed. Then when the virtual human bypasses, the obstacle may block the virtual human, causing the user to be unable to observe the virtual human, affecting the user's visual experience.

[0135] When the number of obstacles to be bypassed is greater than one, similar to the case where there is only one obstacle to be bypassed, as long as there is a height among these obstacles to be bypassed, denoted as tree_hi, which is greater than the sum of the virtual human height and the flight height, that is, tree_hi(i=1,2…n)>vittual_h+fly_h, occlusion behavior will occur, where n is the number of obstacles to be bypassed.

[0136] The virtual human width of the virtual human is the width of the virtual human itself, denoted as virtual_w; the second distance between the obstacle to be bypassed and other objects in the associated bypassing direction, denoted as d (not shown in the figure), is the distance between the obstacle to be bypassed and other adjacent objects in the associated bypassing direction. For example, if the associated bypassing direction is the right side, there are other objects such as trees, street lights, and buildings on the right side of the obstacle to be bypassed. If the nearest object is a street light, the second distance is the distance between the obstacle to be bypassed and the street light.

[0137] When the second distance quantity is one, the virtual human width is greater than or equal to the second distance, that is, virtual_w>=d, indicating that the distance between the obstacle to be bypassed and other objects in the associated bypassing direction is not enough for the virtual human to pass through, which will cause the virtual human to collide with the object; or the virtual human can just pass through, but the visual effect is not good and it appears too crowded.

[0138] When the number of second distances is greater than one, that is, there are multiple obstacles to be bypassed or there are multiple other objects in the associated bypassing direction, similar to the case where there is only one second distance, as long as there is a second distance, denoted as di, which is smaller than the width of the virtual person, that is, virtual_w<=di(i=1,2…n), a collision problem will occur, where n is the number of second distances.

[0139] If the sum of the virtual person's height and the flight height is less than the height of any obstacle to be bypassed, and the virtual person's width is greater than or equal to any second distance, and one of the two conditions is met, it is determined that the preset bypassing influence condition is met, thereby improving the accuracy of determining whether occlusion or collision problems will occur when the virtual person is bypassing, avoiding the virtual person from continuing to bypass when the preset bypassing influence condition is met, affecting the visual experience of the virtual person's bypassing, and improving the obstacle bypassing effect of the virtual person.

[0140] In this embodiment, optionally, it also includes:

[0141] Count the number of obstacles that the virtual person bypasses within a preset time. If the number of obstacles that the virtual person bypasses exceeds a preset threshold, determine the current position of the virtual person based on the current position of the vehicle.

[0142] Determine whether the distance between the current position of the virtual person and the previous historical position of the virtual person is less than a preset distance threshold;

[0143] If so, the current position of the virtual person is re-determined.

[0144] The number of times the virtual person bypasses obstacles within a preset time is counted. The preset time can be predetermined, for example, half an hour, and this embodiment does not limit this.

[0145] The number of times the virtual person bypasses an obstacle is the number of times the virtual person bypasses an obstacle. If the number of times the virtual person bypasses an obstacle within a preset time exceeds a preset threshold, the current position of the virtual person is determined according to the current position of the vehicle, for example, the position of the virtual person is reinitialized according to the current position of the vehicle. The initialization method may be the same as the method for determining the initial position of the virtual person, for example, randomly determining the position of the virtual person around the current position of the vehicle. The last historical position of the virtual person is the position of the virtual person before the virtual person re-determines the current position, for example, the position of the virtual person before the last obstacle bypass, wherein the current position of the virtual person and the last historical position of the virtual person may be the position of the virtual person relative to the vehicle.

[0146] Determine whether the distance between the current position of the virtual person and the previous historical position of the virtual person is less than a preset distance threshold. The judgment method can be to place the virtual person at both the current position and the previous historical position, and determine whether the two virtual persons intersect in space. If there is no intersection or the distance is beyond the preset distance, it indicates that the distance between the current position and the previous historical position of the virtual person is greater than the preset distance threshold, and the current position can be used as the new position of the virtual person.

[0147] If the distance between the current position of the virtual person and the previous historical position of the virtual person is less than a preset distance threshold, the current position of the virtual person is re-determined until the distance between the current position of the virtual person and the previous historical position of the virtual person is greater than or equal to the preset distance threshold.

[0148] If the number of times the obstacle is bypassed exceeds the preset threshold, it indicates that the virtual person is moving at the last historical position. It may be more likely to bypass the obstacle due to the large number of obstacles on the road section. If the position is not changed, the virtual person may continue to bypass. At this time, the current position of the virtual person is determined according to the current position of the vehicle to reduce the possibility of the virtual person bypassing, thereby reducing the amount of calculations for bypassing and reducing the resource consumption of the navigation system. When the distance between the current position of the virtual person and the last historical position of the virtual person is less than the preset distance threshold, the current position of the virtual person is re-determined to avoid the current position The difference between the current position and the last historical position is small, resulting in a high possibility that the virtual person bypasses the current position, thereby improving the effectiveness of determining the current position of the virtual person.

[0149] The embodiment of the present invention determines obstacles to be bypassed within a second preset distance of a virtual person according to a preset obstacle determination method and three-dimensional map data, and detects obstacles that the virtual person needs to bypass during movement; determines an obstacle bypassing method for the virtual person according to the moving direction of the virtual person and the obstacle to be bypassed, so that the obstacle to be bypassed is bypassed by using the obstacle bypassing method, thereby reducing the possibility of collision or occlusion between the virtual person and the obstacle to be bypassed, and improving the rationality and aesthetics of the movement of the virtual person.

[0150] Embodiment 4

[0151] Figure 7 This is a schematic diagram of the structure of a virtual human movement device provided in the fourth embodiment of the present invention. The device can be implemented by hardware and / or software, can execute a virtual human movement method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method. Figure 7 As shown, the device comprises:

[0152] A map data acquisition module 710 is used to acquire a path to be navigated, and acquire three-dimensional map data of a target three-dimensional map according to the path to be navigated;

[0153] An initial position determination module 720 is used to obtain the position of the vehicle in the target three-dimensional map and determine the initial position of the virtual person according to the position of the vehicle;

[0154] The movement mode determination module 730 is used to determine the movement mode of the virtual person according to the movement mode of the vehicle in the target three-dimensional map and the three-dimensional map data, so as to control the virtual person to move from the initial position of the virtual person according to the movement mode of the virtual person.

[0155] On the basis of the above technical solutions, optionally, the initial position determination module includes:

[0156] The initial position determination unit is used to obtain a target point within a preset plane at the current position of the vehicle, and determine the initial position of the virtual person based on the target point and the center point of the vehicle.

[0157] On the basis of the above technical solutions, optionally, the device further includes:

[0158] A road condition acquisition module, used to acquire the current road condition of the vehicle and / or the current state of a traffic light within a first preset distance of the vehicle;

[0159] The action transition sequence determination module is used to determine the action transition sequence of the virtual person according to the current state of the traffic light and / or the current road condition.

[0160] On the basis of the above technical solutions, optionally, the action migration sequence determination module includes:

[0161] a first action transition sequence determination unit, configured to determine, if the current state of the traffic light is a red light state or a yellow light state, that the action transition sequence includes at least one of a deceleration action, a turning action, a reminder action, a landing action, and a traffic light observation action;

[0162] a second action transition sequence determination unit, configured to determine, if the current state of the traffic light changes from a red light state to a green light state, that the action transition sequence includes at least one of a flying action, a turning action, and a reminding action;

[0163] a third action transition sequence determination unit, configured to determine, if the current state of the traffic light is a green light state and the current road condition is a congestion waiting state, that the action transition sequence includes at least one of a deceleration action, a turning action, a reminder action, a landing action, and a front vehicle speed observation action;

[0164] The fourth action migration sequence determination unit is used to determine that the action migration sequence includes at least one of a deceleration action, a turning action, a reminder action, a vehicle lane change waiting action, and a lane flying action after lane change if the current state of the traffic light is a green light state and the current road condition requires lane change.

[0165] On the basis of the above technical solutions, optionally, the device further includes:

[0166] An obstacle determination module to be circumvented, used to determine obstacles to be circumvented within a second preset distance of the virtual person according to a preset obstacle determination method and the three-dimensional map data;

[0167] The obstacle bypassing method determining module is used to determine the obstacle bypassing method of the virtual person according to the moving direction of the virtual person and the obstacle to be bypassed, so as to bypass the obstacle to be bypassed by using the obstacle bypassing method.

[0168] On the basis of the above technical solutions, optionally, the obstacle bypassing method determination module includes:

[0169] An intersection determination unit, used for obtaining the circumscribed cube of the obstacle to be circumvented, and determining the intersection of the moving direction of the virtual person and the circumscribed cube of each obstacle to be circumvented;

[0170] A detour cost determination unit, configured to determine a target side distance and a detour position associated with each virtual person's detour direction according to the intersection and the side of the circumscribed cube of the obstacle to be detourd, and determine a detour cost of each virtual person's detour direction according to the target side distance;

[0171] a position distance determining unit, configured to obtain the position of the vehicle corresponding to the intersection, and determine the position distance according to the position of the vehicle and each of the detour positions;

[0172] An influence condition satisfaction judgment unit is used to obtain a detour direction associated with the current road traffic direction in the detour direction of the virtual person, and judge whether a preset detour influence condition is satisfied if the detour is made from the associated detour direction;

[0173] The obstacle bypassing method determining unit is used to determine the obstacle bypassing method according to the judgment result of whether the preset bypassing influencing condition is satisfied, the position distance and the bypassing cost.

[0174] Based on the above technical solutions, optionally, if the number of obstacles is greater than one, the detour cost determination unit includes:

[0175] A collision plane determination subunit, configured to determine a target cube from the circumscribed cubes of the obstacles to be circumvented according to the moving direction of the virtual human, and determine a collision plane between the virtual human and the target cube;

[0176] A plane range expansion subunit, used to expand the plane range of the collision plane according to the length of each obstacle to be circumvented in the circumvention direction of each virtual human;

[0177] a detour position determination subunit, configured to determine a detour intersection point with the expanded collision plane in a detour direction of the virtual person according to the intersection point in the collision plane, and determine the detour intersection point as the detour position;

[0178] The target lateral distance determination subunit is used to obtain a first distance between the intersection point and each of the detour positions, and determine the first distance as the target lateral distance.

[0179] On the basis of the above technical solutions, optionally, the obstacle bypassing method determining unit includes:

[0180] a first obstacle bypassing method determining subunit, configured to determine the obstacle bypassing method according to a direction other than the associated bypassing direction in the virtual human bypassing direction if the preset bypassing influencing condition satisfies the judgment result, or

[0181] A second obstacle bypassing method determining subunit is used to determine the obstacle bypassing method according to the position distance and / or the bypassing cost corresponding to the direction other than the associated bypassing direction in the bypassing direction of the virtual person;

[0182] The third obstacle bypassing method determining subunit is used to determine the obstacle bypassing method according to the position distance and / or the bypassing cost if the preset bypassing influencing condition is judged to be not satisfied.

[0183] On the basis of the above technical solutions, optionally, the influencing condition satisfaction judgment unit includes:

[0184] A height acquisition subunit, used to acquire the virtual human height and flight height of the virtual human, and the height of the obstacle to be circumvented;

[0185] A width distance acquisition subunit, used to acquire the virtual human width of the virtual human, and a second distance between the obstacle to be circumvented and other objects in the associated circumventing direction;

[0186] The influencing condition satisfaction determination unit is used to determine that the preset bypass influencing condition is satisfied if the sum of the virtual person's height and the flight height is less than the height of any obstacle to be bypassed, and / or the width of the virtual person is greater than or equal to any of the second distances.

[0187] On the basis of the above technical solutions, the following options are optional:

[0188] A current position determination module, used to count the number of times the virtual person bypasses obstacles within a preset time, and if the number of times the obstacle bypasses exceeds a preset threshold, determine the current position of the virtual person according to the current position of the vehicle;

[0189] A position distance determination module, used to determine whether the distance between the current position of the virtual person and the last historical position of the virtual person is less than a preset distance threshold;

[0190] The position redetermining module is used to redetermine the current position of the virtual person if the position distance determining module determines that the current position of the virtual person is yes.

[0191] Embodiment 5

[0192] Figure 8 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0193] like Figure 8As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, ROM 12 and RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0194] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0195] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a virtual human movement method.

[0196] In some embodiments, the virtual human movement method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the virtual human movement method described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to execute the virtual human movement method in any other appropriate manner (for example, by means of firmware).

[0197] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0198] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0199] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0200] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0201] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0202] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0203] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0204] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A virtual human movement method, characterized in that: include: Acquire a path to be navigated, and acquire three-dimensional map data of a target three-dimensional map according to the path to be navigated; Acquire the position of the vehicle in the target three-dimensional map, and determine the initial position of the virtual person according to the position of the vehicle; The movement mode of the virtual person is determined according to the movement mode of the vehicle in the target three-dimensional map and the three-dimensional map data, so as to control the virtual person to move from the initial position of the virtual person according to the movement mode of the virtual person.

2. The method according to claim 1, characterized in that Determining the initial position of the virtual person according to the position of the vehicle includes: A target point in a preset plane at the current position of the vehicle is obtained, and an initial position of the virtual person is determined according to the target point and a center point of the vehicle.

3. The method according to claim 1, characterized in that Also includes: Acquiring a current road condition of the vehicle and / or a current state of a traffic light within a first preset distance of the vehicle; The action transition sequence of the virtual person is determined according to the current state of the traffic light and / or the current road condition.

4. The method according to claim 3, characterized in that Determining the action migration sequence of the virtual person according to the current state of the traffic light and / or the current road condition includes: If the current state of the traffic light is a red light state or a yellow light state, determining that the action migration sequence includes at least one of a deceleration action, a turning action, a reminder action, a landing action, and a traffic light observation action; If the current state of the traffic light changes from a red light state to a green light state, determining that the action transition sequence includes at least one of a flying action, a turning action, and a reminding action; If the current state of the traffic light is a green light state, and the current road condition is a congested waiting state, determining that the action migration sequence includes at least one of a deceleration action, a turning action, a reminder action, a landing action, and a front vehicle speed observation action; If the current state of the traffic light is a green light state, and the current road condition requires lane change, it is determined that the action migration sequence includes at least one of a deceleration action, a turning action, a reminder action, a vehicle lane change waiting action, and a lane flying action after lane change.

5. The method according to claim 1, characterized in that Also includes: Determine obstacles to be circumvented within a second preset distance of the virtual person according to a preset obstacle determination method and the three-dimensional map data; According to the moving direction of the virtual person and the obstacle to be circumvented, an obstacle circumvention method of the virtual person is determined, so as to circumvent the obstacle to be circumvented by using the obstacle circumvention method.

6. The method according to claim 5, characterized in that Determining a way for the virtual person to bypass the obstacle according to the moving direction of the virtual person and the obstacle to be bypassed, including: Obtaining the circumscribed cube of the obstacle to be circumvented, and determining the intersection point between the moving direction of the virtual person and the circumscribed cube of each obstacle to be circumvented; Determine the target side distance and the detour position associated with each virtual person's detour direction according to the intersection and the side of the circumscribed cube of the obstacle to be detoured, and determine the detour cost of each virtual person's detour direction according to the target side distance; Acquire the position of the vehicle corresponding to the intersection, and determine the position distance according to the position of the vehicle and each of the detour positions; Obtaining a detour direction associated with the current road traffic direction in the detour direction of the virtual person, and determining whether a preset detour influence condition is met if the detour is made from the associated detour direction; The obstacle bypassing method is determined according to the judgment result of whether the preset bypassing influencing condition is satisfied, the position distance and the bypassing cost.

7. The method according to claim 6, characterized in that If the number of obstacles is greater than one, the intersection and the side of the circumscribed cube of the obstacle to be circumvented respectively determine the target side distance and the circumventing position associated with the circumventing direction of each virtual person, including: Determine a target cube from the circumscribed cubes of each obstacle to be circumvented according to the moving direction of the virtual human, and determine a collision plane between the virtual human and the target cube; Expanding the plane range of the collision plane according to the length of each obstacle to be circumvented in the circumventing direction of each virtual person; According to the intersection point in the collision plane, determining a detour intersection point with the expanded collision plane in the detour direction of the virtual person, and determining the detour intersection point as the detour position; A first distance between the intersection point and each of the detour positions is acquired, and the first distance is determined as the target side distance.

8. The method according to claim 6, characterized in that Determining the obstacle bypassing method according to the preset bypassing influence condition satisfaction judgment result, the position distance and the bypassing cost includes: If the preset detour influencing condition satisfies the judgment result, the obstacle detour method is determined according to the direction of the virtual person's detour except the associated detour direction, or Determining the obstacle circumvention method according to the position distance and / or the circumvention cost corresponding to the direction other than the associated circumvention direction in the circumvention direction of the virtual person; If the preset detour influencing condition is not satisfied, the obstacle detour method is determined according to the position distance and / or the detour cost.

9. The method according to claim 6, characterized in that Determining whether a preset detour impact condition is met if detouring from the associated detour direction includes: Acquire the virtual human height and flight height of the virtual human, and the height of the obstacle to be circumvented; Acquire a virtual human width of the virtual human, and a second distance between the obstacle to be circumvented and other objects in the associated circumventing direction; If the sum of the virtual human height and the flight height is less than the height of any obstacle to be bypassed, and / or the virtual human width is greater than or equal to any of the second distances, it is determined that the preset bypassing influence condition is met.

10. The method according to any one of claims 5 to 9, characterized in that: Also includes: Counting the number of times the virtual person bypasses obstacles within a preset time, and if the number of times the virtual person bypasses obstacles exceeds a preset threshold, determining the current position of the virtual person according to the current position of the vehicle; Determine whether the distance between the current position of the virtual person and the last historical position of the virtual person is less than a preset distance threshold; If so, the current position of the virtual person is re-determined.

11. A virtual human mobile device, characterized in that: include: A map data acquisition module, used to acquire a path to be navigated, and acquire three-dimensional map data of a target three-dimensional map according to the path to be navigated; An initial position determination module, used to obtain the position of the vehicle in the target three-dimensional map, and determine the initial position of the virtual person according to the position of the vehicle; The movement mode determination module is used to determine the movement mode of the virtual person according to the movement mode of the vehicle in the target three-dimensional map and the three-dimensional map data, so as to control the virtual person to move from the initial position of the virtual person according to the movement mode of the virtual person.

12. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the virtual human movement method according to any one of claims 1 to 10.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the virtual human movement method according to any one of claims 1 to 10 when executed.