Wearable tracking item
The method generates unique tracking constellations for wearable tracking devices, eliminating the need for calibration and reducing setup time, thus enhancing user experience and efficiency in interactive environments.
Patent Information
- Application Number
- PCT/EP2024/076204
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-21
- Filing Date
- 2024-09-19
- Publication Date
- 2025-03-27
AI Technical Summary
Existing motion capture techniques require users to wear tracking objects over their entire bodies, necessitating expensive wearable tracking items and time-consuming calibration processes.
A computer-implemented method for obtaining a set of unique tracking constellations in a 3D space, where each constellation comprises a predefined number of tracking objects, and the positions of these objects are uniquely assigned to create wearable tracking devices that do not require calibration.
The solution eliminates the need for calibration and reduces the time required for users to initiate interactive experiences, improving user experience and efficiency by using easily applied wearable items like hats or visors.
Smart Images

Figure EP2024076204_27032025_PF_FP_ABST
Abstract
Description
[0001] Wearable Tracking Item
[0002] Technical Field
[0003] The present disclosure relates to a method for obtaining a set of unique tracking constellations for use in a wearable tracking item.
[0004] Background
[0005] Motion capture refers to the process of recording the movement of objects or people. The technique has applications across a number of fields. It is commonly used in filmmaking and video game development to animate digital character models in 2D or 3D computer animation based on recoded actions of human actors.
[0006] During motion capture sessions, a performer wears markers near each joint. The positions and angles between the markers are used to identify the motion of the wearer’s joints. The markers are tracked at a high frequency rate, ideally twice that of the desired motion rate.
[0007] The markers can be acoustic, inertial, LED, magnetic or reflective markers, or combinations of any of these. Cameras are positioned to capture movements of all of the markers.
[0008] Once the motion of the joins have been tracked, this animation data is mapped to a 3D model, such that the 3D model performs the same actions as the performer.
[0009] Summary
[0010] The present disclosure relates to tracking users in an environment, where the users’ locations in the environment are used to control interactions in an interactive environment, such as a game. Multiple users are tracked in the interactive environment, with each user being mapped to a different element in the virtual environment.
[0011] For the uses described herein, known motion capture techniques are inappropriate. The known techniques require users to wear tracking objects over their entire bodies, requiring expensive wearable tracking items which are time consuming for users to put on. Once on, a calibration method is needed to calibrate the tracking objects to the users. According to a first aspect disclosed herein, there is provided a computer-implemented method for obtaining a set of x unique tracking constellations in a predefined three- dimensional, 3D, space, wherein each unique tracking constellation of the set of x unique tracking constellations comprises a predefined number n of tracking objects, wherein each unique tracking constellation is for a respective wearable tracking device for tracking a wearer in a 3D environment, the method comprising: defining a set of y discrete available positions for positioning a tracking object within the predefined 3D space; defining a minimum number m of tracking objects, wherein the minimum number is less than or equal to the predefined number n of tracking objects; and for each unique tracking constellation, assigning each tracking object of the tracking constellation a unique one of the set of y discrete available positions to obtain the unique tracking constellation; wherein the assigned positions of any minimum number m of tracking objects of each unique tracking constellation is unique in the set of x unique tracking constellations.
[0012] The wearable tracking items provided herein derived from the provided design method do not suffer from the disadvantages of the known motion capture techniques.
[0013] Specifically, the wearable tracking items provided herein do not require calibration before use since the constellations are fixed. The constellations can be attached to easy-to-apply wearable items, such as hats, visors, or other headwear. Thus, user experiences are improved by reducing time to initiate the interactive experience.
[0014] A central point may be defined, wherein the set of y discrete available positions are located uniformly about the central point, y may be equal to 48.
[0015] One or more layers may be defined, wherein each layer of the one or more layers comprises an equal number of available positions. Two layers may be defined.
[0016] Each available position in one of the one or more layers may have a corresponding available position in each of the other one or more layers, wherein the corresponding available positions in each layer are located at a same angular separation from an axis about the central point. The available position in a first of the two layers may be located at a radial distance closer to the central point than the available positions in a second of the two layers.
[0017] The available positions in a first of the two layers may be located at a vertical distance above the central point which is smaller than a vertical distance above the central point at which the available position in a second of the two layers are located.
[0018] In some embodiments, x = 5 and / or m = 3.
[0019] A plane may be defined for each discrete available position.
[0020] The method may further comprise: mapping each tracking object of each unique tracking constellation to a corresponding plane; and determining a next unique tracking constellation based, at least in part, on planes to which tracking objects of the set of unique tracking constellations have not been mapped.
[0021] According to a second aspect disclosed herein, there is provided a method of manufacturing a wearable tracking device for tracking a wearer in a three-dimensional, 3D, environment, the method comprising: obtaining the set of x unique tracking constellations of any preceding claim; selecting one unique tracking constellation of the set of x unique tracking constellations; providing a support structure for fixing the tracking objects of the selected unique tracking constellation at the assigned discrete available positions; affixing the tracking objects to the support structure; and affixing the support structure to a wearable item.
[0022] The wearable item may be headwear. The support structure may be located on top of the headwear when the wearable tracking device is worn.
[0023] The support structure may be provided such that the support structure does not obscure at least a portion of each of the tracking objects. The portion may be 50% or more of a cross-
[0024] 2 section of the tracking object. The portion may be, for example, - of the cross-section of the tracking object. The at least a portion of each of the tracking objects may be not obscured from one or more predefined observation points defined in the 3D environment.
[0025] The unique tracking constellation may be orientation specific, wherein the support structure is provided to orientate the unique tracking constellation in the specific orientation relative to the wearable item.
[0026] Components of the wearable tracking device may be connected to one another using releasable fastenings. The support structure may be affixed to the wearable item using a releasable connection. The tracking objects may be affixed to the support structure using a releasable connection. The releasable connection may be a threaded connection, a snap fit connection, and a friction fit connection.
[0027] According to a third aspect disclosed herein, there is provided a computing equipment comprising: memory comprising one or more memory units; and processing apparatus comprising one or more processing units, wherein the memory stores code arranged to run on the processing apparatus, the code being configured so as when on the processing apparatus to perform the method for obtaining a set of x unique tracking constellations.
[0028] Brief Description of the Drawings
[0029] To assist understanding of embodiments of the present disclosure and show how such embodiments may be put into effect, reference is made, by way of example only, to the accompanying drawings in which:
[0030] Figure l is a schematic diagram of a room for providing an interactive user experience;
[0031] Figure 2 shows an example wearable tracking item;
[0032] Figure 3 is a schematic diagram showing a method for generating a set of unique tracking constellations;
[0033] Figures 4A and 4B schematically illustrate a distribution of available positions for tracking objects about a central point; Figure 5 provides an example set of unique tracking constellations;
[0034] Figure 6 illustrates the example set of unique tracking constellations using a set of planes;
[0035] Figure 7 shows an example support structure;
[0036] Figure 8 shows an example set of support structures for a set of unique tracking constellations;
[0037] Figure 9 shows an modular headwear item of the wearable tracking item;
[0038] Figure 10 shows a construction of a constellation of the wearable tracking item;
[0039] Figure 11 schematically illustrates a system for implementing an interactive game using the wearable item;
[0040] Figures 12 and 14 provide example methods for implementing game moves by tracking a player in a game session; and
[0041] Figures 13 and 15 provide example gameboards for player tracked games.
[0042] Detailed Description of Embodiments
[0043] Figure 1 shows an interactive room 100, or tracking environment, in which one or more users are tracked using wearable tracking items. In the present disclosure, the interactive room 100 provides an interactive game. The users participate in the interactive game by moving within the interactive room 100. It will be apparent that the wearable tracking items provided herein are not limited to use in an interactive gaming environment, and may be used in any suitable environment in which locations of the users are to be tracked.
[0044] The interactive room 100 comprises four walls (front, left, right, and back walls 104-F, 104- L, 104-R, 104-B) and a floor 107 onto which portions of a game are projected. In other implementations, one, some or all the walls and / or the floor of the room 100 (e.g. one, two, three, or four walls, and / or the floor) may be used for displaying the game. Respective images are projected onto the walls 104-F, 104-L, 104-R, 104-B and floor 107 using an arrangement of image projectors 102 positioned at or near the ceiling of the room 100. By placing the projectors 102 in this position, users of the interactive room 100 can move freely in the room without blocking, or colliding with, the projector 102. Cameras 106A-D (described later) are also able to capture the movement of the users withing being obstructed by the projector 102 when placed in this location. +
[0045] The images provided to the interactive walls 104-L, 104-R, 104-F, 104-B and floor 107 of the room 100 may correspond to the same interactive environment. For example, in a game environment using a gameboard, the gameboard may cover some or all of the four display walls 104 of the room 100 and the floor 107. More generally, interactive game elements can be rendered on the walls and floor, and pass freely between these surfaces in a seamless manner (with the images being adjacent portions of a single, larger game image that spans the walls and floor of the room 100).
[0046] Four cameras 106A-D are provided in the interactive room 100 in each of the top corners. The cameras 106A-D are used to capture images of users within the interactive room 100 for use by a tracking system of a game engine, described later.
[0047] Users in the interactive room 100 wear wearable tracking items 200, an example of which is shown in Figure 2. The wearable tracking item 200 is a headwear item comprising a visor 202, a support structure 204, and five tracking objects 206a-e. Together, the tracking objects 206a-e form a tracking constellation.
[0048] The tracking objects 206a-e are used to track the movement of a wearer of the wearable tracking item 200 in the interactive room 100. Images of the wearer, or at least the constellation of the wearable tracking item 200, are captured by the cameras 106A-D in the room 100, and processed to locate the tracking objects 206a-e in the captured images. The position of the tracking objects 206a-e in the room is determined in each frame, which is subsequently mapped to a corresponding location in an interactive (game) environment. Alternatively, relative changes in position of the tracking objects between image frames may be used to determine the wearer’s movements within the room 100, and these movements mapped to movements of a user controlled game object in the interactive (game) environment. A headwear item, with the constellation supported at the top of the item 200, is the preferred construction of the wearable tracking item 200. This layout allows the constellation to be visible to the cameras 106A-D more readily during use, and is less likely to be obscured by movement of the wearer or other users in the room 100.
[0049] To allow for more than one wearer, or user, to be tracked in the room 100, each user wears a wearable item 200 with a unique tracking constellation. In the example of Figure 2, constellations are considered unique if the position of any three tracking objects 206a-e is unique when compared to any three tracking object 206a-e of any other constellation. In this way, users can be identified and distinguished from one another in each image frame provided at least three of the tracking items 206a-e of their constellation are visible to a camera 106A-D.
[0050] The unique tracking constellations are obtained using a computer-implemented design method. A computer program 302, run on a computing device, takes, as input:
[0051] • a number of constellations, x;
[0052] • a number of tracking objects in each constellation, n;
[0053] • a minimum number of tracking objects, m; and
[0054] • a set of y discrete available tracking object positions.
[0055] The inputs are defined by an operator. In the example of an interactive game experience, the operator may be a game designer.
[0056] Using the defined inputs, the computer program 302 obtains a set of x unique tracking constellations 304, each with n tracking objects and with a geometric arrangement of any m of those tracking objects being unique relative to any m tracking objects of any other of the constellations.
[0057] In the example of Figure 2, n = 5 and m = 3.
[0058] The minimum number of tracking objects is set to 3 based on requirements of an object tracking module (described later). In summary, the object tracking module determines the locations of the tracking objects 206 in the room 100 based on captures image frames. The 3 minimum points are required for the object tracking module to identify and maintain the constellation in a coordinate based / XYZ volume. A minimum number of tracking objects of 3 is likely to be required across systems known in the art.
[0059] The number of constellations to be generated may depend on the use of the wearable tracking items 100. For example, in an interactive game, the number of constellations required is depended on the number of players of the game. In the example provided herein, the number of constellations x = 6. This corresponds to 6 players of the game in the interactive room 100.
[0060] The set of discrete available positions defines the relative geometric locations at which tracking objects may be placed in the constellation. By defining discrete locations, the problem to be solved by the computer program is limited to a finite number of solutions, thereby simplifying the problem to one which is solvable using a limited amount of computer resource and within a limited time period.
[0061] Figures 4A and 4B show an example distribution of the discrete positions. A central point 406 is defined. The central point 406 corresponds to a connection point between the support structure 204 and the visor 202 (see Figure 2), and defines a central point in the constellation. The central point 406 may also be referred to as a connection point or a mounting point.
[0062] In the present example, the discrete available positions are distributed uniformly around the central point 406. The central point 406 can be considered to be split into equal segments by radii, as shown in Figure 4A, with each radius having a horizontal equal angle of separation (ph. The radii intersect an outer edge of the central point 406 at intersections 402. The radii are used to define the locations of the available positions relative to the central point 406.
[0063] A number of layers is also defined. In Figure 4B, two layers are shown. A layer may be defined by is radial distance from the central point 406 and / or its vertical height above a point (e.g. a bottom, or intersection 402) of the central point 406 and / or a vertical angle of separation (pv. In the case of the example of Figure 4B, the two layers are different in both radial distance and height. The layers are defined along a plane corresponding to each radius. Each layer defines a respective discrete available position 404a, 404b. In the example of Figures 4A and 4B, there are 32 discrete available positions. That is, each radius (16 shown in Figure 4A) has two discrete available positions located along it radially, one in each of the layers as shown in Figure 4B.
[0064] The number of radii and layers provided in Figures 4A and 4B are provided by way of example only. In a preferred embodiment, the total number of discrete available positions y = 48, with two layers. Thus, 24 radii are defined, each with a horizontal angle of separation (phof 15°. The first layer is provided at a vertical angle of separation (pvfrom a horizonal of 20°, and the second layer is provided at a vertical angle of separation (pvfrom the first layer also of 20°.
[0065] In a preferred embodiment, the available positions 404b of the first layer are located at a distance of 25mm from the intersection point 402, and the available positions 404a of the second layer are located at a distance of 75mm from the intersection point 402. Thus, there is a distance of 50mm between available positions 404a, 404b located along the same radius, i.e. at the same horizontal angle of separation. This has been found to be sufficient separation for the system to correctly identify tracking items 206 located at the positions 404a, 404b.
[0066] The available positions 404, and therefore the tracking objects, are said to be within a 3- dimentional (3D) space defined for the tracking constellation. The 3D space is considered predefined since the angels and lengths described above are defined. The size of the 3D space is determined based on physical considerations for the wearer. Such considerations include the weight of the support structure required to support the constellation. A larger 3D shape requires a larger support structure and therefore increases the overall weight of the wearable item 200.
[0067] The angles of separation (ph, (pvand the distance of the discrete available position 404a, 404b from the central point 406 are defined based on both user requirements and requirements of the tracking system. There is a trade-off between comfort for a wearer and ease of identifying and differentiating the tracking objects 206. The dimensions above have been chosen to balance the overall object volume to not be large / cumbersome for the wearer, and also ensure that each location 404 within the patterns (vertically and horizontally) are distinct enough to register as unique whilst also using standard motion capture (mocap) markers, such as MoCap® markers, as tracking objects 206. It will be appreciated that the dimensions and values have been provided by way of example only, and other values are possible.
[0068] If the angles of separation (ph, (pvdefined above were to be decreased, for example, the markers in one position would overlap with another and so the object tracking module cannot easily identify the tracking objects in captured images. The size of the tracking objects 206 is therefore also a factor in the locations of the discrete available positions 404. If, instead, the horizontal angel of separation (ph, were increased, the number of potential positions available would decrease and so the number of possible unique tracking constellations would be reduced.
[0069] Figure 5 shows the resultant set of unique tracking constellations 304, with each constellation being represented by a different colour or hashing. The constellations are each centred around the central point 406.
[0070] It can be seen that some constellations can have tracking objects located at the same geometric positions. For example, both the green and yellow constellations have a tracking object at the available position 404c. Provided the two constellations are unique, that is that any combination of the minimum number of tracking objects in the constellation are different from any other minimum number of tracking objects of any other constellation, there is no restriction on the number of tracking objects of the set of unique constellations 304 which can be located at any particular discrete available position.
[0071] The computer program 302 may also generate, for each available position 404 occupied by a tracking object of the set of unique constellations, a plane 602 as shown in Figure 6. The planes 602 pass though both the point of intersection 402 and the available position 404. This visualisation of occupied available position allows unoccupied spaces in the constellations to be more easily identified, where an unoccupied space in the 3D space is one in which there is no tracking object of any of the set of unique tracking constellations. In order to generate this representation, the computer program 302 defines, for each available position 404, a plane 602 passing through the available position 404 and the point of intersection 402. The tracking objects 206 of the unique tracking constellations 304 are then mapped to the planes to identify the occupied planes, and thereby identifying spaces.
[0072] Identifying spaces in this way can be used if an additional unique constellation is required to be obtained after the set of unique tracking constellations has been derived. For example, if the game were modified to include a seventh player, a new unique tracking constellation is needed. The seventh constellation can be obtained using the planes shown in Figure 6.
[0073] The representation of the available spaces is obtained at the beginning of the process if adding a new constellation to the system. The representation is used to check for gaps and any overlaps.
[0074] It is possible for one of the tracking objects 206 of a new constellation to overlap with a tracking object 206 of a constellation which has already been defined, if the other tracking objects 206 of the new constellation are very distinct from the overlapping constellation. This ensures that the object tracking system can accurately differentiate between the two constellations, even if only 3 tracking objects 206 are visible, one of which is at the overlapping position 404. This can be checked using the representation of Figure 6.
[0075] In some instances, tracking objects 206 may be mapped to planes 602 when the set of unique constellations 304 is first being defined. For example, a first constellation may be defined and the tracking objects mapped to the planes. A second constellation is then defined using the representation of the first constellation, and then mapped to the planes. This can be repeated until all constellations of the set 304 have been defined.
[0076] By varying the inputs, the ease at which viable constellations may be determined is varied. For example, if the 3D space in which the constellations are to be designed is increased, the radial distance of the tracking objects 404a in the outer layer can be increased and so it is easier to find unique tracking constellations, However, this would result is heavier wearable tracking items. In another example, the minimum number of tracking objects required for uniqueness in a constellation could be increased in order to increase the ease of finding constellations which are unique. However, this makes it more difficult to design support structures to ensure visibility of the minimum number of tracking objects at all times.
[0077] The set of unique tracking constellations may be considered to be optimal in that the constellations have maximum, or wide, variation in the layouts even when partially obscured. That is, any minimum number of tracking objects may be easily distinguished from any other minimum number to easily identify the particular constellation. Here, ease is relative and based on how computationally intensive determining a constellation from a particular minimum set of tracking objects.
[0078] Once the set of unique tracking constellations has been obtained, a wearable tracking item 200 can be made for each of the constellations.
[0079] To manufacture one of the wearable tracking items 200, the tracking objects 206a-e are attached to the support structure in the positions as determined by the computer program 302, and the support structure attached to the visor 202.
[0080] The support structure 204 is designed to hold the tracking objects 206a-e in the correct positions, as defined by the constellation. The following considerations are taken into account when designing the shape of the support structure 204:
[0081] • Weight - the support structure is designed to minimise the weight of the wearable item 200 on the wearer. The weight can be varied by changing the material and / or the shape of the support structure 204. The shape of the support structure in this instance refers to the layout of the arms (structural elements between the centre point and a tracking object) and linking elements (structural elements between arms) and crosssection of the arms and linking elements. The cross-section includes both the cross- sectional area (e.g. shape and size or perimeter) and the wall thickness (e.g. whether the elements are hollow or solid).
[0082] • Stability - the support structure 204 must hold the tracking elements 206a-e in the correct position despite the movements of the wearer. This stability may be provided by the inclusion of linking elements between the arms, or by increasing the crosssection of the arms.
[0083] • Visibility - the support structure 204 should not obscure any of the tracking elements 206a-e when viewed from different angles. There may be a minimum amount, or portion, of a tracking element which needs to be visible for object tracking to be sufficiently accurate. For example, the tracking object 206 may be accurately identified in an image frame if at least 50% of the cross-sectional area of the tracking element 206 is visible in the frame. In this case, the support structure 204 is designed to avoid obscuring more than 50% of any single tracking object 206a-e. The portion of the tracking elements 206 visible may be determined from predefined observation locations, for example from the locations of the cameras 106A-D in the interactive room 100. That is, the visible portions are determined from observation points above the support structure 206, rather than below, and may take into account expected angular movements of the wearer (e.g. head tilts) while in use. It may be considered acceptable for the support structure 204 to obscure some of the tracking elements 206a-e in use, provided the minimum number of tracking elements are always visible. The amount, or portion, of the tracking object 206 which is required for accurate identification is dependent on the object tracking software used, that is the object tracking module as described later. In some embodiments, it is preferable for at least 2 / 3rds of the tracking object 206 to be exposed and visible to the cameras 106A-D.With a different object tracking software, it may be possible to remove tracking errors with a lower portion of the tracking objects 206 being visible.
[0084] It will be appreciated that these considerations are provided by way of example only, and other considerations may be taken into account when designing the shape of the support structure 204.
[0085] Figure 7 provides an example support structure for an example unique tracking constellation shown from four different observations points. It can be seen that all 5 tracking objects are visible from each observation point. In the view shown in the bottom right-hand comer of Figure 7, the tracking object 206f is partially obscured by the tracking object 206g. However, more than 50% of the partially obscured tracking object 206f is visible, and therefore the tracking object 206f can still be used for tracking the user.
[0086] Figure 8 provides six different example support structures which may be used for the six unique tracking constellations 304. The unique constellations may be orientation specific. That is, the constellation defines a forward-facing orientation. During tracking, this can be used to determine which way a user is facing.
[0087] The support structure 204, or an attachment element for attaching the support structure 204 to the visor 202, may be designed to ensure that the constellation is orientated correctly relative to the visor.
[0088] The support structure 204 may be designed using a computer program such as a computer- aided design (CAD) program. The positions of the tracking elements 206a-e and the central point 406 are modelled in the program, and the expected forces applied to these points. The program can determine a geometric shape which provides sufficient support given the applied forces. This initial geometric shape is modified based on the considerations set out above to provide the support structure 204 for use in the wearable tracking item 200.
[0089] The wearable tracking item 200 is modular. Figure 9 shows an exploded view of the visor 202 of the wearable tracking item 200. The visor 202 comprises a headband 902, a peak 904, and a front panel 906. These components are held together with releasable fasteners 908.
[0090] The support structure 204 (not shown) is affixed to the front panel 906 using a releasable mechanism. The releasable mechanism may be releasable fasteners 908, or any other releasable fixing may be used.
[0091] The releasable mechanism for affixing the support structure 204 to the visor 202 may be, for example, a threaded connection , a snap fit connection, or a friction fit connection. Other known releasable connections may be used, as known in the art.
[0092] The modular construction of the wearable item 200 allows elements to be replaced if they become damaged or broken. The modular construction also limits the variations in different wearable tracking items 200, such that only the support structures 204 differ, and therefore improves ease of manufacture. This also means that visors 202 are interchangeable, i.e. that a visor 202 which has been used with one constellation could be used with another in a subsequent game if needed. A further benefit of the modular wearable item 200 is that it can be shipped more easily. Each component can be shipped separately, so packed more efficiently, and the wearable item 200 constructed on-site.
[0093] The constellations are also modular, as shown in Figure 10. The support structure 204 has, at the location at which the tracking object 206 is to be attached, a hole 1004 into which one end of a connector 1002 is placed. The other end of the connector 1002 is placed in a hole of the tracking object 206. The connector 1002 releasably affixes the tracking object 206 to the support structure 204.
[0094] The connector 1002 may be a threaded connector, a snap fit connector, or a friction fit connector. In a preferred embodiment, the connector 1002 is threaded.
[0095] In some embodiments, the tracking object 206 may be releasably affixed directly to the support structure 204. For example, the support structure 204 may be manufactured with a threaded portion at the end of each arm, onto which the tracking object 206 is screwed.
[0096] As with the visor 202, the modular construction of the constellation provides flexibility and improves manufacturing. The tracking objects 206 can be affixed to any support structure 204, and can be interchanged between constellations if needed.
[0097] In use, each unique tracking constellation may be assigned to a user. As users move around the interactive room 100, image frames captured by cameras 106A-D are processed to determine both which tracking objects captured in the image frames belong to which user and the motion of the users.
[0098] Figure 11 shows an example system for tracking game players in the interactive room 100. The tracking system comprises cameras 106 located in the room 100 for capturing images of the players during gameplay, an object tracking module 1102 for analysing the captured images to identify players and track their movements in the room 100, a game engine 1104 for determining gameplay events based on the players’ locations, and a display system 1106 for rending the gameplay events and other game elements to the players. The display system 1106 comprises the projector 102. The game engine 1104 defines the game rules used to implement the game, as well as a game environment in which the game is played. The tracking system may be used with any suitable game rules. Below are described two gameplay mechanisms through which a user may play a game. In the first of these examples, players are required to interact with game elements, that is the players position themselves at the location of the game element to activate an action associated with the game elements. In the second of the examples, the movement of players causes game elements to move. It will be appreciated that a game may use both of these mechanisms, or other gameplay mechanisms.
[0099] Figure 12 provides an example method for processing captured images to play a game which requires players to interact with game elements. An example of a two-player game which uses this mechanism is provided in Figure 13. In the game, each player wears a different constellation, and each different constellation is assigned its own colour.
[0100] A gameboard 1306 is provided on the floor 107 of the room 100 by the projector 102. Four interactable game objects 1302a, 1302b, 1304a, 1304b are shown on the gameboard. Each player is assigned a colour. The interactable game objects are provided in one of the two colours. Each player must position themselves at the location of an interactable game object of their colour to collect the object and thereby collect game points. When a player collects a game object of their colour, a new game object of their colour is generated and placed at a different location on the gameboard. 1306.
[0101] During gameplay, the players move within the interactive room 100, step S1202. The cameras 106A-D capture images of the players in the room, and pass these images to the object tracking module 1102, step S1204.
[0102] The object tracking module 1102 processes the captured images to identify the tracking objects 206 of the players’ wearable tracking items 200 in the image frames, and determine their position in the room 100, step S1206. By determining the locations of the tracking objects 206, or the relative locations or tracking objects to each other, the object tracking module 1102 determines the constellations to which each tracking object 206 captured in the image is related. Since each player is assigned a different unique tracking constellation, by identifying the different constellations, the object tracking module in effect identifies the players based on the tracking objects 206, step S1208. Based on the determined locations of each of the tracking objects 206, the object tracking module 1102 also determines a position and orientation of each player in the room 100, step S1210. This position may be presented relative to the boardgame 1306. For example, the position of each player may be given in (x, y) coordinates, with an origin at the bottom lefthand comer of the gameboard 1306.
[0103] The locations of the players are passed to the game engine 1104, which compares the locations to the locations of the interactable game objects 1302a, 1302b, 1304a, 1304b on the gameboard 1306 to determine if a player is at the location of a game object of the corresponding colour, step S1212. The locations may be given in (x,y) coordinates as set out above.
[0104] If the player is not determined to be at the location of an interactable game object 1302a, 1302b, 1304a, 1304b corresponding to the player, i.e. of the colour assigned to the players, no action is initiated, step S 1214.
[0105] If, instead, the game engine 1104 determines that a player is at the same location as an interactable game object 1302a, 1302b, 1304a, 1304b of the corresponding colour, the game engine 1104 accesses game rules of the game, which are stored in a game rule database at, or accessible to, the game engine 1104. The game rules define actions to be initiated based on the gameplay. In the example of Figure 13, the game rules define that, when a player interacts with a corresponding interactable game element, said game element is removed from the gameboard 1306, a player score associated with the player is increased, and a new game element in the corresponding colour is generated and provided on the gameboard 1306. The game engine 1104 determines the actions to be implemented based on the stored game rules, step S1216.
[0106] Once the actions have been determined, the game engine triggers the action and updates an image to be rendered in the room 100, step S 1218. The image is the image to be projected by the projector 102 onto the floor 107, i.e. the gameboard with the updated interactable game objects. This updated gameboard 1306 is passed to the display system 1106, and rendered, step S1220. Figure 15 shows an example two-player game in which the movement of the players controls user-controlled game elements 1502a, 1502b during gameplay. A gameboard 1506 is displayed on the front wall 104-F of the interactive room 100. Each player controls a respective one of the user-controlled game elements 1502a, 1502b. As a player moves backwards and forwards in the room 100, their associated user-controlled game element 1502a, 1502b moves down and up the gameboard 1506 accordingly.
[0107] During the game, the players bounce a ball 1504 between their user-controlled game elements 1502a, 1502b. During the game, players attempt to prevent the ball 1504 from passing their user-controlled game element 1502a, 1502b.
[0108] Figure 14 provides an example method for implementing the game mechanism of Figure 15.
[0109] Steps S1202 to S1210 as set out above with reference to Figure 12 are implemented. That is, the cameras 106 capture images of the players moving in the room 100, the images are passed to the object tracking module 1102 which process the images to identify tracking objects, and thereby determine the location and orientation of the players. The locations of the players may be given in (x, y) coordinates as set out above.
[0110] At step S1402, the object tracking module 1102 determines a relative movement of each player since a last captured image frame. This relative movement of the players is mapped to their respective user-controlled game elements 1502a, 1502b by the game engine 1104 at step SI 404, such that the game engine 1104 determines new locations for the user-controlled game elements 1502a, 1502b.
[0111] To map between the players and the user-controlled game elements 1502a, 1502b, scaling may be required. For example, the floor 107 may not map exactly to the size of the gameboard 1506 as displayed on the front wall 104-F. The location of the players in (x, y) coordinates may be scaled based on the difference in size between the floor 107 and the gameboard 1506, such that any movement of a player is proportional to the movement of their user-controlled game element 1502a, 1502b. The game engine 1104 then determines if the new locations of the user-controlled game elements 1502a, 1502b corresponds to a current location of the ball 1504, also referred to as a gameplay element.
[0112] If neither user-controlled game elements 1502a, 1502b corresponds to the location of the ball 1504, the game engine updates the image, step SI 408, to represent the movement of the user- controlled game elements 1502a, 1502b and the ball 1504, and passes the updated image to the display system 1106 which renders the updated image, step S1410.
[0113] If, however, the one of the user-controlled game elements 1502a, 1502b corresponds to the location of the ball 1504, that is, the ball 1504 “hits” the one of the user-controlled game elements 1502a, 1502b, the game rules are accessed by the game engine 1104 and the corresponding action determined, step S 1412. In the game of Figure 15, the corresponding action would be to reflect, or “bounce”, the ball 1504 off an inner surface of the user- controlled game element 1502b at a calculated angle.
[0114] The game engine 1104 triggers the determined action and updates the image to reflect both the movement of the ball 1504 and the user-controlled game elements 1502a, 1502b, step S 1414. The updated image is passed to the display system 1106 and rendered, step S1416.
[0115] It will be appreciated that the steps provided in Figures 12 and 14 are provided by way of example only and may be modified as appropriate. For example, the orientation of the player is not needed to implement either of the example games, and therefore may be removed from the methods. As another example, the positions of constellations may be determined before being mapped to players. Other variations of the methods will be apparent.
[0116] In the example of Figure 14, the relative movement of the players, step SI 402, may not be determined. It is sufficient to find the location of the players and map the location to the user- controlled game elements 1502a, 1502b.
[0117] Each constellation may be assigned in a database to a constellation colour, character, or other identifier. When the player is identified, step S1210, this database is access and the corresponding identifier obtained. In some embodiments, the object tracking module 1102 or the game engine 1104 has access to a database which stores current player identifiers, e.g. the names of the players, in association with the constellation identifiers. This database may be used to render a leader board or user points identifying the players.
[0118] The database comprising the constellation identifiers and corresponding constellations may be prepopulated such that it does not vary between games. That is, each of the unique tracking constellations is assigned an identifier, and these identifiers are used for all games, irrespective of the number of players or the players themselves.
[0119] This improves flexibility in the use of the wearable tracking items as no calibration is needed to initiate a game session, when a new player is added, or if a replacement wearable item is needed during a game session. This also improves user experience by reducing game initiation time, and reduces the computations requirements for initiating the game.
[0120] The examples described herein are to be understood as illustrative examples of embodiments of the invention. Further embodiments and examples are envisaged. Any feature described in relation to any one example or embodiment may be used alone or in combination with other features. In addition, any feature described in relation to any one example or embodiment may also be used in combination with one or more features of any other of the examples or embodiments, or any combination of any other of the examples or embodiments. Furthermore, equivalents and modifications not described herein may also be employed within the scope of the invention, which is defined in the claims.
Claims
Claims1. A computer-implemented method for obtaining a set of x unique tracking constellations in a predefined three-dimensional, 3D, space, wherein each unique tracking constellation of the set of x unique tracking constellations comprises a predefined number n of tracking objects, wherein each unique tracking constellation is for a respective wearable tracking device for tracking a wearer in a 3D environment, the method comprising: defining a set of y discrete available positions for positioning a tracking object within the predefined 3D space; defining a minimum number m of tracking objects, wherein the minimum number is less than or equal to the predefined number n of tracking objects; and for each unique tracking constellation, assigning each tracking object of the tracking constellation a unique one of the set of y discrete available positions to obtain the unique tracking constellation; wherein the assigned positions of any minimum number m of tracking objects of each unique tracking constellation is unique in the set of x unique tracking constellations.
2. The method of claim 1, wherein the method further comprises defining a central point, wherein the set of y discrete available positions are located uniformly about the central point.
3. The method of claim 2, wherein the method further comprises defining one or more layers, wherein each layer of the one or more layers comprises an equal number of available positions.
4. The method of claim 3, wherein each available position in one of the one or more layers has a corresponding available position in each of the other one or more layers, wherein the corresponding available positions in each layer are located at a same angular separation from an axis about the central point.
5. The method of claim 2 or any claim dependent thereon, wherein y=48.
6. The method of claim 3 or any claim dependent thereon, wherein two layers are defined.
7. The method of claim 6, wherein the available positions in a first of the two layers are located at a radial distance closer to the central point than the available positions in a second of the two layers.
8. The method of claim 6 or claim 7, wherein the available positions in a first of the two layers are located at a vertical distance above the central point which is smaller than a vertical distance above the central point at which the available position in a second of the two layers are located.
9. The method of any preceding claim, wherein x = 5.
10. The method of any preceding claim, wherein m = 3 .
11. The method of any preceding claim, wherein the method further comprises defining, for each discrete available position, a plane.
12. The method of claim 11, wherein the method further comprises: mapping each tracking object of each unique tracking constellation to a corresponding plane; and determining a next unique tracking constellation based, at least in part, on planes to which tracking objects of the set of unique tracking constellations have not been mapped.
13. A method of manufacturing a wearable tracking device for tracking a wearer in a three-dimensional, 3D, environment, the method comprising: obtaining the set of x unique tracking constellations of any preceding claim; selecting one unique tracking constellation of the set of x unique tracking constellations; providing a support structure for fixing the tracking objects of the selected unique tracking constellation at the assigned discrete available positions; affixing the tracking objects to the support structure; and affixing the support structure to a wearable item.
14. The method of claim 13, wherein the wearable item is headwear.
15. The method of claim 14, wherein the support structure is located on top of the headwear when the wearable tracking device is worn.
16. The method of any of claims 13 to 15, wherein the support structure is provided such that the support structure does not obscure at least a portion of each of the tracking objects.
17. The method of claim 16, wherein the at least a portion of each of the tracking objects is not obscured from one or more predefined observation points defined in the 3D environment.
18. The method of claim 16 or claim 17, wherein the portion is 50% or more of a crosssection of the tracking object.
219. The method of claim 18, wherein the portion is - of the cross-section of the tracking object.
20. The method of any of claims 13 to 19, wherein the unique tracking constellation is orientation specific, wherein the support structure is provided to orientate the unique tracking constellation in the specific orientation relative to the wearable item.
21. The method of any of claims 13 to 20, wherein the support structure is affixed to the wearable item using a releasable connection.
22. The method of any of claims 13 to 21, wherein the tracking objects are affixed to the support structure using a releasable connection.
23. The method of claim 21 or claim 22, wherein the releasable connection is one of a threaded connection, a snap fit connection, and a friction fit connection.
24. Computing equipment comprising:memory comprising one or more memory units; and processing apparatus comprising one or more processing units, wherein the memory stores code arranged to run on the processing apparatus, the code being configured so as when on the processing apparatus to perform the method of any of claims 1 to 11.
Citation Information
Patent Citations
Tracking system, virtual reality system and attachable device
US20190094989A1
Tracking system
US20220244540A1