WO2021133079A1 - Spherical coordinate system-based method and program for forming virtual space in which virtual object is arranged - Google Patents

Spherical coordinate system-based method and program for forming virtual space in which virtual object is arranged Download PDF

Info

Publication number
WO2021133079A1
WO2021133079A1 PCT/KR2020/019057 KR2020019057W WO2021133079A1 WO 2021133079 A1 WO2021133079 A1 WO 2021133079A1 KR 2020019057 W KR2020019057 W KR 2020019057W WO 2021133079 A1 WO2021133079 A1 WO 2021133079A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
space
client device
coordinate system
selection object
Prior art date
Application number
PCT/KR2020/019057
Other languages
French (fr)
Korean (ko)
Inventor
손범준
권영호
Original Assignee
손범준
권영호
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 손범준, 권영호 filed Critical 손범준
Publication of WO2021133079A1 publication Critical patent/WO2021133079A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Definitions

  • the present invention relates to a method of forming a virtual space, and more particularly, to a method of forming a virtual space in which a virtual object is disposed based on a spherical coordinate system.
  • the conventional method of arranging an object in a virtual space is different from a method in which a user arranges an object in reality, such as inputting spatial coordinates with respect to an arrangement location, and the user manipulation method, device, and user interface for forming a virtual space are complicated. There was a problem that was difficult for the general public to access.
  • An object of the present invention is to provide a method and a program for forming a virtual space in which a user can conveniently arrange a virtual object in a virtual space based on a spherical coordinate system, similar to a method in which a user arranges a real object in a real space.
  • Another object of the present invention is to provide a method and program for forming a virtual space that other users can view or modify by participating in a user space created by a specific user.
  • a method of forming a virtual space according to an aspect of the present invention for solving the above-described problems includes the steps of: creating or executing a first user space, which is a virtual space in which one or more virtual objects are disposed by a first user; A position change of the first selection object selected by the first user is performed in response to the movement of the first user client device or the manipulation of the first user, wherein the position change is the arrangement of the first selection object in a three-dimensional space a first selection object position changing step of changing a position, which is moved on a spherical surface at a specific distance from the first position in a first spherical coordinate system having a first position on the reference coordinate system as an origin; and arranging the first selection object in the first user space in response to the first user's request for placement of the first selection object, wherein the reference coordinate system is at the time of creation of the first user space.
  • a coordinate system including a spherical coordinate system or a spatial coordinate system having a reference position that is a first user position calculated from the arrangement position of the first user client device or the arrangement position of the first user client device as an origin, and the first position is , the first user position calculated from the arrangement position of the first user client device when the first selection object is selected or the arrangement position of the first user client device.
  • the selection of the first selection object is maintained but the same type, shape, size or direction as the first selection object is selected. It further includes; disposing one or more duplicated objects in the first user space.
  • first spherical coordinate information for the first spherical coordinate system of the first selected object is arranged as the first spherical coordinate information for the reference coordinate system. 1 Converting to reference coordinate information; further includes.
  • the method further includes: receiving and applying change information on a distance between the first location and the first selection object from the first user.
  • the method further includes: receiving and applying first selection object change information, wherein the first selection object change information includes: a shape and a size of the first selection object by the first user Or to include change information about rotation.
  • the first user space includes a virtual space generated to receive image data of a real space and correspond thereto.
  • the method further includes transmitting first generation data including object information or arrangement location information of one or more objects arranged in the first user space to a server.
  • the first generated data includes a thumbnail image in which the first user captured the first user space, and an arrangement position of the first user client device at the time of photographing the thumbnail image, The arrangement position of the first user client device at the time of capturing the thumbnail image is in the first user space when the first user or the second user receives the first generated data and accesses the first user space. Connection location, including direction information.
  • the server receiving the first generated data for the first user space from the first user client device; and transmitting, by the server, the first generated data to a second user client device, wherein the first user space is a virtual space including one or more virtual objects arranged by the first user,
  • the first generated data includes object information or arrangement location information of one or more objects disposed in the first user space, and the object disposed by the first user is selected by the first user client device.
  • the position of the first selection object selected by the first user is changed in response to the movement of the one-user client device or the operation of the first user, and according to the first user's request for placement of the first selection object, the It is characterized in that it is disposed in a first user space, and the position change is to change the arrangement position of the first selection object in a three-dimensional space, and the first spherical coordinate system with the first position on the reference coordinate system as the origin. It is moved on a spherical surface at a specific distance from a first position, and the reference coordinate system is a first position calculated from the arrangement position of the first user client device or the arrangement position of the first user client device at the time of generating the first user space.
  • a coordinate system including a spherical coordinate system or a spatial coordinate system having a reference position, which is a user position, as an origin, wherein the first position is the arrangement position of the first user client device in a state where the first selection object is selected or the first user It is the first user location calculated from the placement location of the client device.
  • the method further includes: receiving, by the server, second generated data from the second user client device, wherein the second generated data includes the second generated data, wherein the arrangement of one or more objects is changed by a second user.
  • the object which is generated data of one user space and whose arrangement has been changed by the second user, corresponds to the movement of the second user client device by the second user client device or the manipulation of the second user by the second user.
  • the position of the second selection object selected by is changed, and the second selection object is arranged in the first user space according to the second user's placement request for the second selection object, wherein the position change is performed in a three-dimensional space.
  • the arrangement position of the second selection object on the image By changing the arrangement position of the second selection object on the image, it is moved on a spherical surface at a specific distance from the second position in a second spherical coordinate system having the second position on the reference coordinate system as the origin, and the second position is, It is the arrangement position of the second user client device when the second selection object is selected or the second user position calculated from the arrangement position of the second user client device.
  • second spherical coordinate information for the second spherical coordinate system of the second selection target is arranged as the second spherical coordinate information for the reference coordinate system. 2 Converting to reference coordinate information; further includes.
  • the server transmits the second generated data to the first user client device; further comprising.
  • a virtual space forming program according to another embodiment of the present invention is combined with hardware to execute the above-mentioned virtual space forming method, and is stored in a medium.
  • the user selects a virtual object in the virtual space, moves the selected object to a location to be placed based on the spherical coordinate system, and arranges the object conveniently without complicated manipulation.
  • a virtual space can be created.
  • position information about the reference position and the reference position of the object arranged based on the origin is obtained by setting the reference position when creating the user space. can be calculated.
  • FIG. 1 is a flowchart of a method for forming a virtual space according to an embodiment of the present invention.
  • FIG. 2 is a view for explaining a change in the position of a selection target according to movement of a client device according to an embodiment of the present invention.
  • 3 and 4 are diagrams for explaining a change in the position of the first selection object according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of a method of forming a virtual space, which further includes converting first spherical coordinate information of a first selection object into first reference coordinates according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of a method of forming a virtual space further including the step of transmitting the first generated data according to an embodiment of the present invention.
  • FIG. 7 and 10 are flowcharts of a method of forming a virtual space including the step of receiving or transmitting, by a server, generated data from a client device according to an embodiment of the present invention.
  • FIGS. 8 and 9 are diagrams for explaining a change in the position of a third selection target according to an embodiment of the present invention.
  • spatially relative terms “below”, “beneath”, “lower”, “above”, “upper”, etc. It can be used to easily describe the correlation between a component and other components.
  • a spatially relative term should be understood as a term that includes different directions of components during use or operation in addition to the directions shown in the drawings. For example, when a component shown in the drawing is turned over, a component described as “beneath” or “beneath” of another component may be placed “above” of the other component. can Accordingly, the exemplary term “below” may include both directions below and above. Components may also be oriented in other orientations, and thus spatially relative terms may be interpreted according to orientation.
  • the term 'object' refers to a virtual object disposed in a virtual space including virtual reality (VR) or augmented reality (AR).
  • the object includes a computer graphic (CG) image of a specific object or an image of a real object or person, but is not limited thereto, and includes all objects that can be placed in a virtual space.
  • CG computer graphic
  • 'user space' refers to a virtual space including one or more virtual objects arranged by a user.
  • the virtual space includes a VR virtual space in which an object or a background of the real world is provided only as a CG image, or an AR virtual space that is an image of a virtual object provided on an image of the real space.
  • a 'reference location' is a reference location of the user space, and the user calculated from the location of the client device or the location of the client device when the user space is initially created or the previously created user space is re-executed. include location.
  • the 'reference coordinate system' refers to a coordinate system having the reference position as an origin, and includes, but is not limited to, a spatial coordinate system or a spherical coordinate system.
  • a 'selection object' refers to an object selected by a user's selection request from among one or more objects existing in the user space.
  • the selection object may be moved in the user space according to the user's movement of the client device or the user's manipulation until it is placed at a location on the virtual space desired by the user after selection.
  • the 'first selection object' means an object in the first user space selected by the first user.
  • the 'second selection object' means an object in the first user space selected by the second user.
  • a 'client device' refers to any device including a communication function that users can use by installing a program (or application). That is, the client device may include one or more of a telecommunication device such as a smartphone, tablet, PDA, laptop, smart watch, smart camera, etc., a VR/AR device such as a remote controller, VR/AR glasses, VR/AR headset, etc.
  • a telecommunication device such as a smartphone, tablet, PDA, laptop, smart watch, smart camera, etc.
  • a VR/AR device such as a remote controller, VR/AR glasses, VR/AR headset, etc.
  • the present invention is not limited thereto.
  • computers include desktop PCs, notebooks (Note Books) as well as smart phones, tablet PCs, cellular phones, PCS phones (Personal Communication Service phones), synchronous/asynchronous A mobile terminal of International Mobile Telecommunication-2000 (IMT-2000), a Palm Personal Computer (PC), a Personal Digital Assistant (PDA), and the like may also be applicable.
  • computers include desktop PCs, notebooks (Note Books) as well as smart phones, tablet PCs, cellular phones, PCS phones (Personal Communication Service phones), synchronous/asynchronous A mobile terminal of International Mobile Telecommunication-2000 (IMT-2000), a Palm Personal Computer (PC), a Personal Digital Assistant (PDA), and the like may also be applicable.
  • IMT-2000 International Mobile Telecommunication-2000
  • PC Palm Personal Computer
  • PDA Personal Digital Assistant
  • FIGS. 2 to 4 are diagrams for explaining a method of arranging an object in the method of forming a virtual space according to an embodiment of the present invention to be.
  • a method for forming a virtual space includes: a first user client device 310 creating or executing a first user space 10 ( S200 ); performing a position change of the first selection target 410 selected by the first user in response to the movement of the first user client device or the manipulation of the first user 210 (S300); and disposing the first selection object in the first user space in response to a first user's request for placement of the first selection object (S400).
  • a first user client device 310 creating or executing a first user space 10 ( S200 ); performing a position change of the first selection target 410 selected by the first user in response to the movement of the first user client device or the manipulation of the first user 210 (S300); and disposing the first selection object in the first user space in response to a first user's request for placement of the first selection object (S400).
  • the first user client device 310 creates or executes the first user space 10 (S200). That is, in one embodiment, upon the request of the first user, the first user client device creates a first user space, which is a virtual space in which the first user will place a virtual object, or reconnects to the previously created first user space. run
  • the first user space 10 is a virtual space including one or more virtual objects arranged by the first user, and is generated to receive and correspond to image data in the real space as well as the VR virtual space. AR virtual space.
  • the first user client device changes the location of the first selection target 410 selected by the first user in response to the movement of the first user client device or the manipulation of the first user ( S300 ).
  • the first selection object 410 is a specific object in a first user space selected by the first selection request of the first user, and the first selection request is the first user that can be input to the first user client device. Includes all inputs for a specific object of
  • the first selection request may be performed by a first user touching a specific object on the screen of the client device or a second icon in a state where the first icon fixed in an area of the screen is located on the specific object. includes touch.
  • the movement of the client device may include not only a movement of changing the position (coordinate) of the client device, but also a change of direction, ie, a rotational movement of the client device.
  • the change of the first selection object may include a change in the position of the first selection object in the first user space corresponding to the movement of the client device or the manipulation of the first user, the change of the position of the first selection object from the first position. This includes changing the distance or changing the shape, size, or direction of the first selection object while the position in the first user space is fixed.
  • changing the position of the first selection object in the first user space is changing the arrangement position of the first selection object in the first user space, which is a three-dimensional virtual space, wherein the first selection object is In the selected state, the location is changed according to the movement of the first user's client device or the manipulation of the first user.
  • the arrangement position includes position (coordinate) information as well as arrangement information regarding the direction of the first selection target.
  • the first selection object 410 maintains a specific distance with respect to a specific direction of the first user client device 310 in the first user space while maintaining the first user client device. may be moved in response to the movement of
  • the first selection object when the first selection object is located at a distance of 1 m perpendicular to the center of the rear surface (opposite to the user) of the first user client device, the first selection object is the first user client device by the first user.
  • the position in the first user space may be changed to correspond to the movement (including rotation and position change).
  • the position and direction of the first selection object 410 may be changed (411, 412, 413) to correspond thereto. That is, in this case, there is an effect that the user can easily change the position of the first selection object only by movement (including rotation) of the client device without a separate manipulation of the arrangement of the first selection object.
  • the change of the position of the first selection object is not limited thereto, and may be performed by a user's manipulation including a touch or drag, of course. Also, as will be described later, the distance between the first selection target and the first location (eg, the first user client device) may be changed according to a user's manipulation.
  • the direction of the first selection target may be fixed with respect to the client device.
  • the direction of the selection object may be fixed in the user space and only the location change may be performed according to the movement of the client device.
  • the first selection object is rotatable according to a user's manipulation.
  • the first selection object 410 is moved by the first user on a spherical surface at a specific distance from the first location 110 according to the movement of the first user client device or the operation of the first user in the selected state.
  • the position in space may change.
  • the first position 110 is calculated from the arrangement position of the first user client device 310 or the arrangement position of the first user client device when the first selection object 410 is selected. and the location of the first user 210 .
  • FIG. 3 is a diagram for explaining a case in which the first location 110 is the location of the first user 210 calculated from the arrangement location of the first user client device when the first selection object is selected.
  • the first position which is the first user position in the state in which the first selection object is selected, is an arm length of the first user or the first user client from the position of the first user client device. It may be calculated in consideration of the direction and the like.
  • the first position is a first user position in a state in which the first selection object is selected
  • the position of the first user after movement The location may be the first location
  • the first location may include information about the direction as well as the coordinates of the first user or the first user client device. That is, in FIG. 3 , the first location 110 may include the coordinates of the first user 210 , the direction of the first user client device 310 , or the direction of the first user 210 . have.
  • the first selection object may be moved in the first user space while maintaining a specific direction or a specific distance with respect to the first user client device.
  • the client device eg, a smartphone
  • the first selected object is located at a distance of 1 m orthogonal to the center of the rear surface of the client device
  • the second When the first user moves (314, 315) the client device 310 with an outstretched arm to place the first selection object at a desired position, the first selection object 410 is moved from the first position, which is the first user position.
  • the first selection object may move (414, 415) on a sphere of a distance of '1m + first user's arm length'. That is, in this case, in the first spherical coordinate system 510 having the first position 110 as the origin, the first selection object may move on a specific spherical surface in which the r value is '1m + first user's arm length'. Also, it goes without saying that the r value may be changed by the user's arm movement or user manipulation while the first selection object is selected.
  • FIG. 4 is a diagram for explaining a case where the first location 110 is the arrangement location of the first user client device 310 when the first selection object is selected.
  • the first location which is the location of the first user client device in the state in which the first selection object is selected, may include information about the direction as well as the coordinates of the first user client device.
  • the position (including orientation) of the first user client device after movement may be the first position.
  • the first selection object 410 is moved on a spherical surface at a specific distance from the first location according to the movement of the first user client device or the operation of the first user in the selected state. location may change. That is, as shown in FIG. 4 , not only when the position of the client device is changed ( 314 , 315 ), but also when the position is fixed and only the direction is changed ( 314 , 316 ) of the client device, the first selection object is the direction of the client device In response, the location in the first user space may be changed ( 414 , 415 , 416 ).
  • the first selection object is '1m from the first position, which is the placement position of the first user's client device. It can be moved on the sphere of distance of '. That is, in this case, in the first spherical coordinate system having the first position as the origin, the object may move on a specific spherical surface having an r value of '1m'.
  • the first position which is the arrangement position of the moved client device, is the origin.
  • the first selection object may be located at a distance of 1 m orthogonal to the center of the rear surface of the client device on a first spherical coordinate system of .
  • the r value may be changed by a user manipulation while the first selection object is selected.
  • the first location is the client device location
  • it can be judged by (including direction).
  • receiving and applying change information on the distance between the first location 110 and the first selection object 410 from the first user 210 may include more.
  • the first selection object moved on the spherical surface of a specific distance from the first position the first selection object is moved on the spherical surface of the changed distance by changing the distance.
  • the first selection object when the first selection object is located at a distance of 1 m orthogonal to the center of the rear surface (opposite to the user) of the first user client device, the first selection object is displayed at the request of the first user.
  • the distance from the client device may be changed to 2m, and the first selection object may be maintained in the first user space to correspond to the movement including rotation and movement of the client device of the first user by the first user while maintaining it. location may change.
  • the distance change request includes all inputs for changing the distance of the user's selection target that can be input to the user's client device.
  • the request for changing the distance includes dragging a specific icon on the screen of the client device in the vertical direction while the first user has selected the first selection object.
  • the method may further include receiving and applying change information on the first selection object 410 from the first user 210 .
  • the change information of the first selection object includes change information regarding the shape, size or direction of the first selection object in a state where the position of the first selection object in the first user space is fixed. includes That is, in a state in which a specific object is selected, the user may freely change the shape, size, direction, etc. of the selected object selected by the user's manipulation, and may also upload a new object to change it. In an embodiment, the newly uploaded object information may be received from the server.
  • the size change request includes a pinch in/out gesture of the user on the client device in a state in which the first user selects the first selection object.
  • the rotation of the selection object includes a roll, yaw, or pitch rotation
  • the roll rotation request is a two-finger rotation gesture with respect to the user's client device.
  • the yaw rotation request includes a pan or swipe gesture in a left and right direction
  • the pitch rotation request includes a pan or swipe gesture in a vertical direction.
  • the user space forming platform company it is possible for the user space forming platform company to receive a predetermined price from the user to expand the type of the virtual object in the user space. That is, when a user desires to arrange more various types or a larger number of objects in the user space, the type or number of objects may be expanded by paying a certain price to the user space forming platform company.
  • the first selection object is placed in the first user space 10 according to the placement request of the first user 210 for the first selection object 410 (S400).
  • the first selection object arrives at a desired location in the first user space by the first user (including moving the client device or the first user's manipulation) while the first selection object is selected , the selection of the first selection object is released according to the placement request of the first user, and the first selection object is arranged in the first user space according to the position and direction of the first selection object when the placement request is made.
  • the placed object is no longer moved in the first user space by movement of the client device or by a user manipulation, but may be moved when selected again by the user.
  • the placement request includes all inputs to the user's selection target that can be input to the user's client device.
  • the placement request includes a first user's touch on the client device screen while the first selection object is selected.
  • the selection of the first selection object is maintained but the same type, shape, and shape as the first selection object; It further includes; disposing one or more duplicated objects having a size or a direction in the first user space. That is, when the user wants to arrange a plurality of specific selection objects, a plurality of replicated objects can be conveniently arranged by making a copy request for each desired location of the specific selection object without having to go through a process of newly uploading the object.
  • selection request, arrangement request, distance change request, size change request, rotation request or duplication request are not limited to the above-described embodiment, and include all gestures that can be input to the user's client device.
  • the user selects a specific object in the first user space, which is a three-dimensional virtual space, and freely moves the selected object according to the movement of the client device or the user operation, and by simple manipulation
  • a specific object in the first user space which is a three-dimensional virtual space
  • FIG. 5 is a flowchart of a method of forming a virtual space, which further includes converting first spherical coordinate information of a first selection object into first reference coordinates according to an embodiment of the present invention.
  • the method for forming a virtual space further includes converting first spherical coordinate information of a first selection object 410 into first reference coordinates (S500); do. That is, in one embodiment, the first spherical coordinate information of the first spherical coordinate system having the first position of the arranged first selection object as the origin can be converted into the first reference coordinates with respect to the reference coordinate system of the first user space. have.
  • the first spherical coordinate information may include a first spherical coordinate system having a first location (a location of a client device or a location of a user) at the point in time when the first selection object is disposed according to a user's placement request as an origin. It means coordinate information (r, ⁇ , ⁇ ) of the first selection object. For example, when the first position is the arrangement position of the first user client device in the state in which the first selection object is selected as shown in FIG. 4 , the distance (1m) of the first selection object from the first position is the r value. , and values ⁇ and ⁇ may be calculated from the direction information of the first user client device.
  • the reference position 100 is a reference position of the first user space, and the arrangement position of the first user client device or the first user client device at the time of generating the first user space. It is the first user position calculated from the arrangement position of , and the reference coordinate system refers to a coordinate system including a spatial coordinate system or a spherical coordinate system having the reference position as an origin.
  • the reference position and the reference coordinate system are determined and not changed when the first user space is created. As will be described later, the reference position and the reference coordinate system are based on the first user space creation time regardless of the second selection of the second user. It means the reference position and the reference coordinate system determined by In an embodiment, the reference position includes the position of the first user's client device at the time when the first user drives the virtual space forming program for the initial creation of the first user space.
  • a vector value of the first position at the time of placement of the first selection object is calculated from the reference position, and a first position is obtained based on the vector value and the first position of the disposed first selection object.
  • first reference coordinate information with respect to the reference coordinate system of the disposed first selection target may be calculated. That is, the arrangement information of the object arranged on various spherical coordinate systems having different origins may be converted into coordinate information about the reference coordinate system.
  • the first user space when the first user initially creates the first user space and then reconnects to the first user space by driving the virtual space forming program again, the first user space is the virtual space upon reconnection.
  • the first user's location in ? may be the reference location regardless of the location in real space. For example, when the first user creates the first user space, which is the VR space, for the first time at position A in the real space, the position X in the first user space corresponding to the position A in the real space becomes the reference position.
  • the first user reconnects to the first user space from the B position in the real space afterward the first user remains at the X position in the first user space, which is the reference position in the virtual space, regardless of the B position in the real space. It is possible to reconnect to the first user space.
  • the first user when the first user initially creates the first user space and then reconnects to the first user space by driving the virtual space forming program again, the first user who is the virtual space at the time of reconnection
  • the first user's position in space may be a position in real space and a position calculated based on the reference position. For example, when the first user creates the first user space, which is the AR space, for the first time at the location A in the real space, the location X in the first user space corresponding to the location A in the real space becomes the reference location.
  • the first user reconnects to the first user space from the B position in the real space later the first user may reconnect at the Y position in the first user space corresponding to the B position in the real space. That is, it is possible to determine the position in the first user space when the first user reconnects by calculating a vector value between the A position and the B position, and calculating the Y position of the first user space based on the vector value and the X position. have.
  • the reference position 100 may be changed when storing the pre-generated first user space. That is, in one embodiment, the reference position of the first user space is the first user calculated from the arrangement position of the first user client device or the arrangement position of the first user client device at the time of storage whenever the first user space is stored. position, and the reference coordinate system may be changed accordingly.
  • the first user's location in the first user space which is a virtual space
  • the first user's location in the first user space may be the changed reference location upon reconnection.
  • the first user creates the first user space, which is the VR space, for the first time at position A in the real space (corresponding to position X in the first user space), then moves to the first user space at position Z of the first user space.
  • the Z position becomes the changed reference position of the first user space.
  • the first user reconnects to the first user space afterward the first user may reconnect to the first user space at the Z position, which is the changed reference position in the virtual space, regardless of the location in the real space.
  • the first reference coordinates for the reference coordinate system before the change of the first selection object arranged according to the change of the reference position and the reference coordinate system are converted into the reference coordinates for the reference coordinate system after the change; may further include.
  • the reference position after the change of the first selection object is calculated. By calculating the vector value, it is possible to calculate the reference coordinates for the reference coordinate system after the change of the first selection object.
  • the reference position and the reference coordinate system are not changed according to the storage of the first user space, but the first user client position at the time of storing the first user space is the position when the first user reconnects to the first user space can be
  • FIG. 6 is a flowchart of a method of forming a virtual space further including the step of transmitting the first generated data according to an embodiment of the present invention.
  • the method for forming a virtual space according to an embodiment of the present invention further includes transmitting the first generated data to the server (S800).
  • the first generation data includes object information or arrangement location information of one or more objects arranged in the first user space. That is, the first generation data is the first user including arrangement location information (position, direction, etc.) of one or more objects arranged by the first user or object information (type, shape, size, direction, etc. of the placed object). space information. Also, it goes without saying that the first generated data may further include information on the background of the first user space, which is a virtual space, as well as information on the object.
  • the first generated data includes a thumbnail image captured by the first user in the first user space, and an arrangement position of the first user client device at the time of capturing the thumbnail image.
  • the arrangement position of the first user client device at the time of capturing the thumbnail image is determined when the first user or the second user receives the first generated data and accesses the first user space. is an access location in the first user space of , and includes direction information of the first user client device.
  • the user accesses the thumbnail image from the location where the thumbnail image was captured, that is, the location when the first user space was saved.
  • the first user space displayed in the thumbnail image can be implemented on the front (front of the user client device).
  • the direction information of the first user client device at the storage time included in the first generation data may include only direction information of a component parallel to the ground.
  • the first user client device transmits the first generated data that is information about the first user space to the server, so that storage in the first user space is possible, and the second user client device through the server The second user's participation in the first user space by transmitting to the device also has a possible effect.
  • the server receives the first generated data for the first user space 10 from the first user client device 310 ( S1000); and a step (S1100) of the server transmitting the first generated data to the second user client device 320 (S1100).
  • the first generated data transmitted by the first user client device to the server may be transmitted to the second user client device according to the request of the first user or the second user.
  • the second user can participate in the first user space created by the first user by receiving the first generated data.
  • the transmission of the first generated data to the second user's client device may be performed by the second user paying a predetermined price to the first user. That is, in one embodiment, the first user can share an image of the first user space, which is a virtual space created by the first user, through a platform including SNS, and the second user can If participation is desired, the first user or a virtual space forming platform company may receive the first generated data and participate in the first user space by paying a certain price.
  • the second user's participation in the first user space may include not only viewing the first user space by the second user, but also modifying the first user space.
  • this will be described in detail.
  • FIG. 7 is a flowchart of a method for forming a virtual space including the step of receiving or transmitting, by a server, generated data from a client device according to an embodiment of the present invention
  • FIGS. 8 and 9 are a first example according to an embodiment of the present invention.
  • 3A diagram for explaining a change in the position of a selection object. 7 to 9 the method for forming a virtual space according to an embodiment of the present invention further includes a step (S1200) of the server receiving second generation data from the second user client device 320 (S1200). .
  • the second generated data includes generated data of the first user space 10 in which the arrangement of one or more objects is changed by the second user 220 . That is, when the second user changes the arrangement of one or more objects or object information in the first user space created by the first user and the object is arranged, the second generated data is the first changed data by the second user. Contains user space information.
  • the object whose placement is changed by the second user 220 is a second selection object 420 selected by the second user, and the second selection object is the second user client device 320 .
  • the position is changed in response to the movement of the second user client device or the manipulation of the second user 220, and in response to the second user's arrangement request for the second selection object, the first user space ( 10) may be arranged.
  • the second selection object 420 is a specific object in the first user space selected by the second selection request of the second user, and the second selection request receives the first generated data to the first user space It means a selection request for a specific object in the first user space of the second user participating in the .
  • the second selection request includes all inputs for the specific object of the second user that may be input to the second user client device.
  • the second selection request may be made not only for the first selection object arranged by the first user, but also for all objects existing in the first user space, and may be applied to an object newly uploaded by the second user. Do.
  • FIG. 8 is a diagram for explaining a case in which the second user makes a second selection request for the first selection object arranged by the first user.
  • the rabbit which is the first selection object 415 arranged by the first user, becomes the second selection object 421 in response to the second selection request, so that the second user rearranges 422 . , can be changed.
  • FIG. 9 is a view for explaining a case in which the second user makes a second selection request for an object not arranged by the first user.
  • a lion which is an object in the first user space that is not arranged by the first user, becomes the second selection object 423 by the second selection request, so that the relocation 424 and change by the second user are not performed. It is possible.
  • the second selection object may be moved according to the movement of the second user's client device or the manipulation of the first user in the selected state, similarly to the above-described first selection object.
  • the second selection object 420 may be moved on a second spherical coordinate system 520 having a second location 120 as an origin, and the second location is the second location when the second selection object is selected. and the location of the second user client device or the second user location calculated from the location of the second user client device.
  • the method for forming a virtual space further comprises: converting second spherical coordinate information of a second selection object into second reference coordinates; may include That is, the second spherical coordinate information of the second spherical coordinate system having the second position of the disposed second selection target as the origin may be converted into second reference coordinates for the reference coordinate system in the first user space.
  • a vector value of the second position is calculated from the reference position, and a reference coordinate system of the second selection target is arranged based on the vector value and the second spherical coordinate information (r, ⁇ , ⁇ ).
  • the location of the second user when accessing the first user space may be the same as the location of the first user when reconnecting to the first user space.
  • FIG. 10 is a flowchart of a method for forming a virtual space including the step of receiving or transmitting, by a server, generated data from a client device according to an embodiment of the present invention.
  • the method for forming a virtual space according to an embodiment of the present invention further includes the step (S1300) of the server transmitting the second generated data to the first user client device. That is, the second user may modify the first user space created by the first user, and the modified first user space may be provided to the first user again.
  • information such as change information of the arrangement position of the object in the first user space is not transmitted to the server in real time, but is stored at the time of storage.
  • One generation data can be transmitted, but when a plurality of users, such as a second user, access the first user space at the same time, in order to synchronize the first user space among a plurality of users, the first user space, such as object arrangement location change information, etc.
  • Information about the modification of the server can be transmitted to the server in real time and transmitted to each user client.
  • the method for forming a virtual space according to an embodiment of the present invention described above may be implemented as a program (or application) and stored in a medium in order to be executed in combination with a computer, which is hardware.
  • a software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable programmable ROM
  • EEPROM electrically erasable programmable ROM
  • flash memory hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.

Abstract

Provided is a method and program for forming, by a client device, a virtual space in which a virtual object is arranged, on the basis of a spherical coordinate system. The virtual space forming method comprises: a step (S200) for generating or executing a first user space that is a virtual space in which one or more virtual objects are arranged by a first user; a first selected object location changing step (S300) for performing a location change on a first selected object selected by the first user in response to movement of a first user client device or an operation of the first user, wherein the location change is performed by changing an arrangement location of the first selected object in a 3-dimensional space and the first selected object is moved on a sphere at a specific distance from a first location on a reference coordinate system, in a first spherical coordinate system using the first location as an origin; and a step (S400) for arranging the first selected object in the first user space according to an arrangement request of the first user for the first selected object.

Description

구면좌표계 기반 가상의 대상체가 배치된 가상공간 형성 방법 및 프로그램A method and program for forming a virtual space in which a virtual object based on a spherical coordinate system is arranged
본 발명은 가상공간 형성 방법에 관한 것으로, 보다 자세하게는 구면좌표계 기반으로 가상의 대상체가 배치되는 가상공간의 형성 방법에 관한 것이다.The present invention relates to a method of forming a virtual space, and more particularly, to a method of forming a virtual space in which a virtual object is disposed based on a spherical coordinate system.
최근 가상현실(VR, Virtual Reality) 및 증강현실(AR, Augmented Reality)을 포함하는 확장현실(XR, Extended Reality)을 적용한 다양한 서비스의 증가로 인해 가상의 대상체를 배치하여 가상공간을 생성하기 위한 노력들이 계속되고 있다.Efforts to create a virtual space by arranging virtual objects due to the recent increase in various services to which extended reality (XR) is applied, including virtual reality (VR) and augmented reality (AR, Augmented Reality) are continuing
종래의 가상공간 내의 대상체 배치 방법은 배치 위치에 대하여 공간좌표를 입력하는 등 현실에서 사용자가 대상체를 배치하는 방식과 괴리가 있고, 가상공간 형성을 위한 사용자 조작 방법, 장치 및 사용자 인터페이스가 복잡하여 전문가가 아닌 일반인이 접근하기 어려운 문제가 있었다.The conventional method of arranging an object in a virtual space is different from a method in which a user arranges an object in reality, such as inputting spatial coordinates with respect to an arrangement location, and the user manipulation method, device, and user interface for forming a virtual space are complicated. There was a problem that was difficult for the general public to access.
본 발명은 현실공간에서 사용자가 현실의 대상체를 배치하는 방식과 유사하게, 가상공간에서 사용자가 가상의 대상체를 구면좌표계를 기반으로 간편하게 배치할 수 있는 가상공간 형성 방법 및 프로그램을 제공하는 것이다.An object of the present invention is to provide a method and a program for forming a virtual space in which a user can conveniently arrange a virtual object in a virtual space based on a spherical coordinate system, similar to a method in which a user arranges a real object in a real space.
또한, 본 발명은 특정 사용자가 생성한 사용자공간에 다른 사용자가 참여하여, 관람 또는 수정할 수 있는 가상공간 형성 방법 및 프로그램을 제공하는 것이다.Another object of the present invention is to provide a method and program for forming a virtual space that other users can view or modify by participating in a user space created by a specific user.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 가상공간 형성 방법은, 제1사용자에 의해 하나 이상의 가상의 대상체가 배치되는 가상공간인 제1사용자공간을 생성 또는 실행하는 단계; 제1사용자 클라이언트 장치의 이동 또는 상기 제1사용자의 조작에 대응하여 상기 제1사용자에 의해 선택된 제1선택대상체의 위치 변경을 수행하되, 상기 위치 변경은 3차원 공간상의 상기 제1선택대상체의 배치 위치를 변경하는 것으로서, 기준좌표계 상의 제1위치를 원점으로 하는 제1구면좌표계에서 상기 제1위치로부터 특정한 거리의 구면상에서 이동되는 것인, 제1선택대상체 위치변경단계; 및 상기 제1선택대상체에 대한 상기 제1사용자의 배치요청에 따라, 상기 제1선택대상체를 상기 제1사용자공간에 배치하는 단계;를 포함하고, 상기 기준좌표계는, 상기 제1사용자공간 생성 시점의 상기 제1사용자 클라이언트 장치의 배치 위치 또는 상기 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 제1사용자 위치인 기준위치를 원점으로 하는 구면좌표계 또는 공간좌표계를 포함하는 좌표계이고, 상기 제1위치는, 상기 제1선택대상체가 선택된 상태에서의 상기 제1사용자 클라이언트 장치의 배치 위치 또는 상기 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 제1사용자 위치인 것이다.A method of forming a virtual space according to an aspect of the present invention for solving the above-described problems includes the steps of: creating or executing a first user space, which is a virtual space in which one or more virtual objects are disposed by a first user; A position change of the first selection object selected by the first user is performed in response to the movement of the first user client device or the manipulation of the first user, wherein the position change is the arrangement of the first selection object in a three-dimensional space a first selection object position changing step of changing a position, which is moved on a spherical surface at a specific distance from the first position in a first spherical coordinate system having a first position on the reference coordinate system as an origin; and arranging the first selection object in the first user space in response to the first user's request for placement of the first selection object, wherein the reference coordinate system is at the time of creation of the first user space. is a coordinate system including a spherical coordinate system or a spatial coordinate system having a reference position that is a first user position calculated from the arrangement position of the first user client device or the arrangement position of the first user client device as an origin, and the first position is , the first user position calculated from the arrangement position of the first user client device when the first selection object is selected or the arrangement position of the first user client device.
또한, 다른 일 실시예에서, 상기 제1선택대상체에 대한 상기 제1사용자의 복제요청에 따라, 상기 제1선택대상체의 선택은 유지하되 상기 제1선택대상체와 동일한 종류, 모양, 크기 또는 방향을 갖는 하나 이상의 복제대상체를 상기 제1사용자공간에 배치하는 단계;를 더 포함한다.Also, in another embodiment, according to the copy request of the first user for the first selection object, the selection of the first selection object is maintained but the same type, shape, size or direction as the first selection object is selected. It further includes; disposing one or more duplicated objects in the first user space.
또한, 다른 일 실시예에서, 상기 기준위치에 대한 상기 제1위치의 벡터값을 기초로, 배치된 상기 제1선택대상체의 제1구면좌표계에 대한 제1구면좌표정보를 상기 기준좌표계에 대한 제1기준좌표정보로 변환하는 단계;를 더 포함한다.In addition, in another embodiment, based on the vector value of the first position with respect to the reference position, first spherical coordinate information for the first spherical coordinate system of the first selected object is arranged as the first spherical coordinate information for the reference coordinate system. 1 Converting to reference coordinate information; further includes.
또한, 다른 일 실시예에서, 상기 제1사용자로부터 상기 제1위치와 상기 제1선택대상체 간의 거리에 대한 변경정보를 수신하고 적용하는 단계;를 더 포함한다.In another embodiment, the method further includes: receiving and applying change information on a distance between the first location and the first selection object from the first user.
또한, 다른 일 실시예에서, 제1선택대상체 변경정보를 수신하고 적용하는 단계;를 더 포함하고, 상기 제1선택대상체 변경정보는, 상기 제1사용자에 의한 상기 제1선택대상체의 모양, 크기 또는 회전에 관한 변경정보를 포함하는 것이다.In another embodiment, the method further includes: receiving and applying first selection object change information, wherein the first selection object change information includes: a shape and a size of the first selection object by the first user Or to include change information about rotation.
또한, 다른 일 실시예에서, 상기 제1사용자공간은, 현실공간의 영상데이터를 수신하고 이에 대응하도록 생성된 가상공간을 포함하는 것이다.Also, in another embodiment, the first user space includes a virtual space generated to receive image data of a real space and correspond thereto.
또한, 다른 일 실시예에서, 상기 제1사용자공간에 배치된 하나 이상의 대상체의 대상체 정보 또는 배치 위치 정보를 포함하는 제1생성데이터를 서버로 전송하는 단계;를 더 포함한다.In another embodiment, the method further includes transmitting first generation data including object information or arrangement location information of one or more objects arranged in the first user space to a server.
또한, 다른 일 실시예에서, 상기 제1생성데이터는, 상기 제1사용자가 상기 제1사용자공간을 촬영한 썸네일 이미지 및 상기 썸네일 이미지 촬영 시점의 상기 제1사용자 클라이언트 장치의 배치 위치를 포함하고, 상기 썸네일 이미지 촬영 시점의 상기 제1사용자 클라이언트 장치의 배치 위치는, 상기 제1사용자 또는 제2사용자가 상기 제1생성데이터를 수신하여 상기 제1사용자공간에 접속하는 경우의 제1사용자공간에서의 접속 위치로, 방향정보를 포함한다.Further, in another embodiment, the first generated data includes a thumbnail image in which the first user captured the first user space, and an arrangement position of the first user client device at the time of photographing the thumbnail image, The arrangement position of the first user client device at the time of capturing the thumbnail image is in the first user space when the first user or the second user receives the first generated data and accesses the first user space. Connection location, including direction information.
또한, 다른 일 실시예에서, 서버가 제1사용자 클라이언트 장치로부터 제1사용자공간에 대한 제1생성데이터를 수신하는 단계; 및 서버가 상기 제1생성데이터를 제2사용자 클라이언트 장치에 전송하는 단계;를 포함하고, 상기 제1사용자공간은, 상기 제1사용자에 의해 배치된 하나 이상의 가상의 대상체를 포함하는 가상공간이고, 상기 제1생성데이터는, 상기 제1사용자공간에 배치된 하나 이상의 대상체의 대상체 정보 또는 배치 위치 정보를 포함하고, 상기 제1사용자에 의해 배치된 대상체는, 상기 제1사용자 클라이언트 장치에 의해 상기 제1사용자 클라이언트 장치의 이동 또는 상기 제1사용자의 조작에 대응하여 상기 제1사용자에 의해 선택된 제1선택대상체의 위치가 변경되고, 상기 제1선택대상체에 대한 상기 제1사용자의 배치요청에 따라 상기 제1사용자공간에 배치되는 것을 특징으로 하고, 상기 위치 변경은, 3차원 공간상의 상기 제1선택대상체의 배치 위치를 변경하는 것으로서, 기준좌표계 상의 제1위치를 원점으로 하는 제1구면좌표계에서 상기 제1위치로부터 특정한 거리의 구면상에서 이동되는 것이고, 상기 기준좌표계는, 상기 제1사용자공간 생성 시점의 상기 제1사용자 클라이언트 장치의 배치 위치 또는 상기 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 제1사용자 위치인 기준위치를 원점으로 하는 구면좌표계 또는 공간좌표계를 포함하는 좌표계이고, 상기 제1위치는, 상기 제1선택대상체가 선택된 상태에서의 상기 제1사용자 클라이언트 장치의 배치 위치 또는 상기 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 제1사용자 위치인 것이다.Further, in another embodiment, the server receiving the first generated data for the first user space from the first user client device; and transmitting, by the server, the first generated data to a second user client device, wherein the first user space is a virtual space including one or more virtual objects arranged by the first user, The first generated data includes object information or arrangement location information of one or more objects disposed in the first user space, and the object disposed by the first user is selected by the first user client device. The position of the first selection object selected by the first user is changed in response to the movement of the one-user client device or the operation of the first user, and according to the first user's request for placement of the first selection object, the It is characterized in that it is disposed in a first user space, and the position change is to change the arrangement position of the first selection object in a three-dimensional space, and the first spherical coordinate system with the first position on the reference coordinate system as the origin. It is moved on a spherical surface at a specific distance from a first position, and the reference coordinate system is a first position calculated from the arrangement position of the first user client device or the arrangement position of the first user client device at the time of generating the first user space. A coordinate system including a spherical coordinate system or a spatial coordinate system having a reference position, which is a user position, as an origin, wherein the first position is the arrangement position of the first user client device in a state where the first selection object is selected or the first user It is the first user location calculated from the placement location of the client device.
또한, 다른 일 실시예에서, 서버가 제2사용자 클라이언트 장치로부터 제2생성데이터를 수신하는 단계;를 더 포함하고, 상기 제2생성데이터는, 제2사용자에 의해 하나 이상의 대상체 배치가 변경된 상기 제1사용자공간의 생성데이터이고, 상기 제2사용자에 의해 배치가 변경된 대상체는, 상기 제2사용자 클라이언트 장치에 의해 상기 제2사용자 클라이언트 장치의 이동 또는 상기 제2사용자의 조작에 대응하여 상기 제2사용자에 의해 선택된 제2선택대상체의 위치가 변경되고, 상기 제2선택대상체에 대한 상기 제2사용자의 배치요청에 따라 상기 제1사용자공간에 배치되는 것을 특징으로 하고, 상기 위치 변경은, 3차원 공간상의 상기 제2선택대상체의 배치 위치를 변경하는 것으로서, 상기 기준좌표계 상의 제2위치를 원점으로 하는 제2구면좌표계에서 상기 제2위치로부터 특정한 거리의 구면상에서 이동되는 것이고, 상기 제2위치는, 상기 제2선택대상체가 선택된 상태에서의 상기 제2사용자 클라이언트 장치의 배치 위치 또는 상기 제2사용자 클라이언트 장치의 배치 위치로부터 산출된 제2사용자 위치인 것이다.Also, in another embodiment, the method further includes: receiving, by the server, second generated data from the second user client device, wherein the second generated data includes the second generated data, wherein the arrangement of one or more objects is changed by a second user. The object, which is generated data of one user space and whose arrangement has been changed by the second user, corresponds to the movement of the second user client device by the second user client device or the manipulation of the second user by the second user. The position of the second selection object selected by is changed, and the second selection object is arranged in the first user space according to the second user's placement request for the second selection object, wherein the position change is performed in a three-dimensional space. By changing the arrangement position of the second selection object on the image, it is moved on a spherical surface at a specific distance from the second position in a second spherical coordinate system having the second position on the reference coordinate system as the origin, and the second position is, It is the arrangement position of the second user client device when the second selection object is selected or the second user position calculated from the arrangement position of the second user client device.
또한, 다른 일 실시예에서, 상기 기준위치에 대한 상기 제2위치의 벡터값을 기초로, 배치된 상기 제2선택대상체의 제2구면좌표계에 대한 제2구면좌표정보를 상기 기준좌표계에 대한 제2기준좌표정보로 변환하는 단계;를 더 포함한다.In addition, in another embodiment, on the basis of the vector value of the second position with respect to the reference position, second spherical coordinate information for the second spherical coordinate system of the second selection target is arranged as the second spherical coordinate information for the reference coordinate system. 2 Converting to reference coordinate information; further includes.
또한, 다른 일 실시예에서, 서버가 상기 제2생성데이터를 제1사용자 클라이언트 장치에 전송하는 단계;를 더 포함한다.Also, in another embodiment, the server transmits the second generated data to the first user client device; further comprising.
본 발명의 다른 일 실시예에 따른 가상공간 형성 프로그램은, 하드웨어와 결합되어 상기 언급된 가상공간 형성 방법을 실행하며, 매체에 저장된다.A virtual space forming program according to another embodiment of the present invention is combined with hardware to execute the above-mentioned virtual space forming method, and is stored in a medium.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.According to the present invention as described above, it has various effects as follows.
첫째, 사용자는 현실공간에서의 대상체 배치와 유사하게, 가상공간에서 가상의 대상체를 선택하고, 선택한 대상체를 구면좌표계를 기반으로 배치하고자 하는 위치로 이동시킨 후 배치함으로써, 복잡한 조작 없이 간편하게 대상체를 배치하여 가상공간을 형성할 수 있다.First, similar to object placement in real space, the user selects a virtual object in the virtual space, moves the selected object to a location to be placed based on the spherical coordinate system, and arranges the object conveniently without complicated manipulation. Thus, a virtual space can be created.
둘째, 사용자가 가상공간 형성 시 지속적으로 이동하여 구면좌표계의 원점이 이동되는 경우에도, 사용자공간 생성시 기준위치를 설정함으로써 기준위치와 상기 원점을 기초로 배치된 대상체의 기준위치에 대한 위치정보를 산출할 수 있다.Second, even when the user continuously moves when the virtual space is formed and the origin of the spherical coordinate system is moved, position information about the reference position and the reference position of the object arranged based on the origin is obtained by setting the reference position when creating the user space. can be calculated.
셋째, 특정 사용자가 생성한 사용자공간을 다른 사용자에게 공유함으로써, 다른 사용자가 상기 사용자공간에 참여하여 관람 또는 수정할 수 있다.Third, by sharing the user space created by a specific user with other users, other users can participate in the user space and view or modify the user space.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.
도 1은 본 발명의 일 실시예에 따른 가상공간 형성 방법의 순서도이다.1 is a flowchart of a method for forming a virtual space according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 클라이언트 장치의 이동에 따른 선택대상체의 위치 변경을 설명하기 위한 도면이다.FIG. 2 is a view for explaining a change in the position of a selection target according to movement of a client device according to an embodiment of the present invention.
도 3 및 도 4는 본 발명의 일 실시예에 따른 제1선택대상체의 위치 변경을 설명하기 위한 도면이다.3 and 4 are diagrams for explaining a change in the position of the first selection object according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 제1선택대상체의 제1구면좌표정보를 제1기준좌표로 변환하는 단계를 더 포함하는 가상공간 형성 방법의 순서도이다.5 is a flowchart of a method of forming a virtual space, which further includes converting first spherical coordinate information of a first selection object into first reference coordinates according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 제1생성데이터 전송 단계를 더 포함하는 가상공간 형성 방법의 순서도이다.6 is a flowchart of a method of forming a virtual space further including the step of transmitting the first generated data according to an embodiment of the present invention.
도 7 및 도 10은 본 발명의 일 실시예에 따른 서버가 클라이언트 장치로부터 생성데이터를 수신 또는 전송하는 단계를 포함하는 가상공간 형성 방법의 순서도이다.7 and 10 are flowcharts of a method of forming a virtual space including the step of receiving or transmitting, by a server, generated data from a client device according to an embodiment of the present invention.
도 8 및 도 9는 본 발명의 일 실시예에 따른 제3선택대상체의 위치 변경을 설명하기 위한 도면이다.8 and 9 are diagrams for explaining a change in the position of a third selection target according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and those of ordinary skill in the art to which the present invention pertains. It is provided to fully understand the scope of the present invention to those skilled in the art, and the present invention is only defined by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. As used herein, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components. Like reference numerals refer to like elements throughout, and "and/or" includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein will have the meaning commonly understood by those of ordinary skill in the art to which this invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless specifically defined explicitly.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.Spatially relative terms "below", "beneath", "lower", "above", "upper", etc. It can be used to easily describe the correlation between a component and other components. A spatially relative term should be understood as a term that includes different directions of components during use or operation in addition to the directions shown in the drawings. For example, when a component shown in the drawing is turned over, a component described as “beneath” or “beneath” of another component may be placed “above” of the other component. can Accordingly, the exemplary term “below” may include both directions below and above. Components may also be oriented in other orientations, and thus spatially relative terms may be interpreted according to orientation.
본 명세서에서 '대상체'는 가상현실(Virtual Reality; VR) 또는 증강현실(Augmented Reality; AR)을 포함하는 가상공간에서 배치되는 가상의 대상체를 의미한다. 상기 대상체는 특정 객체의 CG(Computer Graphic) 영상 또는 실제 사물이나 인물의 영상을 포함하나, 이에 제한되지 않고 가상공간에서 배치할 수 있는 모든 대상체를 포함한다.In the present specification, the term 'object' refers to a virtual object disposed in a virtual space including virtual reality (VR) or augmented reality (AR). The object includes a computer graphic (CG) image of a specific object or an image of a real object or person, but is not limited thereto, and includes all objects that can be placed in a virtual space.
본 명세서에서 '사용자공간'은 사용자에 의해 배치되는 하나 이상의 가상의 대상체를 포함하는 가상공간을 의미한다. 상기 가상공간은 현실 세계의 객체나 배경 등을 CG 영상으로만 제공하는 VR 가상공간 또는 현실 공간의 영상 위에 제공되는 가상의 대상체 영상인 AR 가상공간을 포함한다.In this specification, 'user space' refers to a virtual space including one or more virtual objects arranged by a user. The virtual space includes a VR virtual space in which an object or a background of the real world is provided only as a CG image, or an AR virtual space that is an image of a virtual object provided on an image of the real space.
본 명세서에서 '기준위치'는 사용자공간의 기준이 되는 위치로, 상기 사용자공간를 초기 생성하거나 기존에 생성된 사용자공간을 다시 실행하는 시점의 클라이언트 장치의 배치 위치 또는 클라이언트 장치의 배치 위치로부터 산출된 사용자 위치를 포함한다.In the present specification, a 'reference location' is a reference location of the user space, and the user calculated from the location of the client device or the location of the client device when the user space is initially created or the previously created user space is re-executed. include location.
본 명세서에서 '기준좌표계'는 상기 기준위치를 원점으로 하는 좌표계로, 공간좌표계 또는 구면좌표계를 포함하나, 이에 제한되지 않는다.In the present specification, the 'reference coordinate system' refers to a coordinate system having the reference position as an origin, and includes, but is not limited to, a spatial coordinate system or a spherical coordinate system.
본 명세서에서 '선택대상체'는 사용자공간에 존재하는 하나 이상의 대상체 중 사용자의 선택요청에 의해 선택된 대상체를 의미한다. 예를 들어, 상기 선택대상체는 선택 후 사용자가 원하는 가상공간 상의 위치에 배치될 때까지 상기 사용자의 클라이언트 장치의 이동 또는 상기 사용자의 조작에 따라 사용자공간 내에서 이동되는 것일 수 있다.In the present specification, a 'selection object' refers to an object selected by a user's selection request from among one or more objects existing in the user space. For example, the selection object may be moved in the user space according to the user's movement of the client device or the user's manipulation until it is placed at a location on the virtual space desired by the user after selection.
본 명세서에서 '제1선택대상체'는 제1사용자에 의해 선택된 제1사용자공간 내의 대상체를 의미한다.In this specification, the 'first selection object' means an object in the first user space selected by the first user.
본 명세서에서 '제2선택대상체'는 제2사용자에 의해 선택된 제1사용자공간 내의 대상체를 의미한다.In this specification, the 'second selection object' means an object in the first user space selected by the second user.
본 명세서에서 '클라이언트 장치'는 사용자들이 프로그램(또는 어플리케이션)을 설치하여 사용할 수 있는 통신 기능을 포함한 모든 장치를 말한다. 즉, 클라이언트 장치는 스마트폰, 태블릿, PDA, 랩톱, 스마트워치, 스마트카메라 등과 같은 전기 통신 장치, 리모트 콘트롤러, VR/AR글라스, VR/AR헤드셋 등과 같은 VR/AR기기 중 하나 이상을 포함할 수 있으나, 이에 제한되는 것은 아니다.In this specification, a 'client device' refers to any device including a communication function that users can use by installing a program (or application). That is, the client device may include one or more of a telecommunication device such as a smartphone, tablet, PDA, laptop, smart watch, smart camera, etc., a VR/AR device such as a remote controller, VR/AR glasses, VR/AR headset, etc. However, the present invention is not limited thereto.
본 명세서에서 '컴퓨터'는 연산처리를 수행할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 컴퓨터는 데스크 탑 PC, 노트북(Note Book) 뿐만 아니라 스마트폰(Smart phone), 태블릿 PC, 셀룰러폰(Cellular phone), 피씨에스폰(PCS phone; Personal Communication Service phone), 동기식/비동기식 IMT-2000(International Mobile Telecommunication-2000)의 이동 단말기, 팜 PC(Palm Personal Computer), 개인용 디지털 보조기(PDA; Personal Digital Assistant) 등도 해당될 수 있다.As used herein, the term 'computer' includes various devices capable of performing arithmetic processing. For example, computers include desktop PCs, notebooks (Note Books) as well as smart phones, tablet PCs, cellular phones, PCS phones (Personal Communication Service phones), synchronous/asynchronous A mobile terminal of International Mobile Telecommunication-2000 (IMT-2000), a Palm Personal Computer (PC), a Personal Digital Assistant (PDA), and the like may also be applicable.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 가상공간 형성 방법의 순서도이고, 도 2 내지 도 4는 본 발명의 일 실시예에 따른 가상공간 형성 방법에 있어서, 대상체를 배치하는 방법을 설명하기 위한 도면이다.1 is a flowchart of a method of forming a virtual space according to an embodiment of the present invention, and FIGS. 2 to 4 are diagrams for explaining a method of arranging an object in the method of forming a virtual space according to an embodiment of the present invention to be.
도 1 내지 도 4를 참조하면, 본 발명의 일 실시예에 따른 가상공간 형성 방법은, 제1사용자 클라이언트 장치(310)가 제1사용자공간(10)을 생성 또는 실행하는 단계(S200); 상기 제1사용자 클라이언트 장치의 이동 또는 상기 제1사용자(210)의 조작에 대응하여 상기 제1사용자에 의해 선택된 제1선택대상체(410)의 위치 변경을 수행하는 단계(S300); 및 상기 제1선택대상체에 대한 제1사용자의 배치요청에 따라 상기 제1선택대상체를 상기 제1사용자공간에 배치하는 단계(S400);를 포함한다. 이하, 각 단계에 대한 상세한 설명을 기술한다.1 to 4 , a method for forming a virtual space according to an embodiment of the present invention includes: a first user client device 310 creating or executing a first user space 10 ( S200 ); performing a position change of the first selection target 410 selected by the first user in response to the movement of the first user client device or the manipulation of the first user 210 (S300); and disposing the first selection object in the first user space in response to a first user's request for placement of the first selection object (S400). Hereinafter, a detailed description of each step will be described.
제1사용자 클라이언트 장치(310)가 제1사용자공간(10)을 생성 또는 실행한다(S200). 즉, 일 실시예에서, 제1사용자의 요청에 의해 제1사용자 클라이언트 장치는 제1사용자가 가상의 대상체를 배치할 가상공간인 제1사용자공간을 생성 또는 기 생성된 제1사용자공간에 재접속하도록 실행한다. The first user client device 310 creates or executes the first user space 10 (S200). That is, in one embodiment, upon the request of the first user, the first user client device creates a first user space, which is a virtual space in which the first user will place a virtual object, or reconnects to the previously created first user space. run
일 실시예에서, 제1사용자공간(10)은 상기 제1사용자에 의해 배치되는 하나 이상의 가상의 대상체를 포함하는 가상공간으로, VR 가상공간뿐만 아니라 현실공간의 영상데이터를 수신하고 이에 대응하도록 생성된 AR 가상공간을 포함한다.In one embodiment, the first user space 10 is a virtual space including one or more virtual objects arranged by the first user, and is generated to receive and correspond to image data in the real space as well as the VR virtual space. AR virtual space.
제1사용자 클라이언트 장치가 상기 제1사용자 클라이언트 장치의 이동 또는 상기 제1사용자의 조작에 대응하여 상기 제1사용자에 의해 선택된 제1선택대상체(410)의 위치 변경을 수행한다(S300). 상기 제1선택대상체(410)는 상기 제1사용자의 제1선택요청에 의해 선택된 제1사용자공간 내의 특정 대상체이고, 상기 제1선택요청은 제1사용자 클라이언트장치에 입력될 수 있는 상기 제1사용자의 특정 대상체에 대한 모든 입력을 포함한다.The first user client device changes the location of the first selection target 410 selected by the first user in response to the movement of the first user client device or the manipulation of the first user ( S300 ). The first selection object 410 is a specific object in a first user space selected by the first selection request of the first user, and the first selection request is the first user that can be input to the first user client device. Includes all inputs for a specific object of
일 실시예에서, 상기 제1선택요청은 제1사용자의 클라이언트 장치 화면상의 특정 대상체에 대한 터치 또는 상기 화면의 일 영역에 고정되어 위치하는 제1아이콘이 특정 대상체 상에 위치한 상태에서 제2아이콘의 터치를 포함한다.In an embodiment, the first selection request may be performed by a first user touching a specific object on the screen of the client device or a second icon in a state where the first icon fixed in an area of the screen is located on the specific object. includes touch.
일 실시예에서, 클라이언트 장치의 이동은 클라이언트 장치의 위치(좌표) 변경의 움직임뿐만 아니라, 클라이언트 장치의 방향 전환, 즉 회전 움직임도 포함할 수 있다.In one embodiment, the movement of the client device may include not only a movement of changing the position (coordinate) of the client device, but also a change of direction, ie, a rotational movement of the client device.
일 실시예에서, 상기 제1선택대상체의 변경은 클라이언트 장치의 이동 또는 제1사용자의 조작에 대응하는 제1사용자공간에서의 제1선택대상체 위치 변경, 제1위치로부터의 상기 제1선택대상체의 거리 변경 또는 제1사용자공간에서의 위치가 고정된 상태에서 제1선택대상체의 모양, 크기 또는 방향의 변경을 포함한다. 이하, 상세히 후술한다.In an embodiment, the change of the first selection object may include a change in the position of the first selection object in the first user space corresponding to the movement of the client device or the manipulation of the first user, the change of the position of the first selection object from the first position. This includes changing the distance or changing the shape, size, or direction of the first selection object while the position in the first user space is fixed. Hereinafter, it will be described in detail.
일 실시예에서, 제1선택대상체의 제1사용자공간에서의 위치 변경은, 3차원 가상공간인 제1사용자공간에서의 상기 제1선택대상체의 배치 위치를 변경하는 것으로서, 상기 제1선택대상체는 선택된 상태에서 상기 제1사용자 클라이언트 장치의 이동 또는 상기 제1사용자의 조작에 따라 위치가 변경된다. 또한, 상기 배치 위치는 위치(좌표) 정보뿐만 아니라, 제1선택대상체의 방향에 관한 배치 정보를 포함한다.In an embodiment, changing the position of the first selection object in the first user space is changing the arrangement position of the first selection object in the first user space, which is a three-dimensional virtual space, wherein the first selection object is In the selected state, the location is changed according to the movement of the first user's client device or the manipulation of the first user. In addition, the arrangement position includes position (coordinate) information as well as arrangement information regarding the direction of the first selection target.
일 실시예에서, 도 2를 참조하면, 상기 제1선택대상체(410)는 제1사용자공간 내에서 제1사용자 클라이언트 장치(310)의 특정 방향에 대해 특정 거리를 유지하면서 상기 제1사용자 클라이언트 장치의 이동에 대응하여 이동될 수 있다. In one embodiment, referring to FIG. 2 , the first selection object 410 maintains a specific distance with respect to a specific direction of the first user client device 310 in the first user space while maintaining the first user client device. may be moved in response to the movement of
예를 들어, 제1선택대상체가 제1사용자 클라이언트 장치의 후면(사용자 반대편)의 중심에 대해 직교하여 1m 거리에 위치하는 경우, 상기 제1선택대상체는 제1사용자에 의한 제1사용자 클라이언트 장치의 이동(회전, 위치 변경 포함)에 따라 이에 대응하도록 제1사용자공간 내에서의 위치가 변경될 수 있다. For example, when the first selection object is located at a distance of 1 m perpendicular to the center of the rear surface (opposite to the user) of the first user client device, the first selection object is the first user client device by the first user. The position in the first user space may be changed to correspond to the movement (including rotation and position change).
구체적으로, 도 2를 참조하면, 클라이언트 장치(310)의 위치는 고정되고 방향만 회전(311, 312) 하거나 위치가 변경(312, 313)되는 경우, 제1선택대상체(410)의 위치 및 방향은 이에 대응되도록 변경(411, 412, 413)될 수 있다. 즉, 이 경우 사용자는 제1선택대상체 배치에 대한 별도의 조작 없이 클라이언트 장치의 이동(회전 포함)만으로 제1선택대상체의 위치를 손쉽게 변경할 수 있는 효과가 있다. Specifically, referring to FIG. 2 , when the position of the client device 310 is fixed and only the direction is rotated ( 311 , 312 ) or the position is changed ( 312 , 313 ), the position and direction of the first selection object 410 . may be changed (411, 412, 413) to correspond thereto. That is, in this case, there is an effect that the user can easily change the position of the first selection object only by movement (including rotation) of the client device without a separate manipulation of the arrangement of the first selection object.
한편, 제1선택대상체의 위치 변경은 이에 제한되지 않고, 터치 또는 드래그를 포함하는 사용자의 조작에 의해서도 수행될 수 있음은 물론이다. 또한, 후술하는 바와 같이 상기 제1선택대상체와 상기 제1위치(예를 들어, 제1사용자 클라이언트 장치) 간의 거리는 사용자의 조작에 따라 변경 가능하다.Meanwhile, the change of the position of the first selection object is not limited thereto, and may be performed by a user's manipulation including a touch or drag, of course. Also, as will be described later, the distance between the first selection target and the first location (eg, the first user client device) may be changed according to a user's manipulation.
또한, 일 실시예에서 상기 제1선택대상체의 방향은 클라이언트 장치에 대해 고정될 수 있다. 예를 들어, 이동 전 제1선택대상체의 정면이 클라이언트 장치를 향하고, 상기 클라이언트 장치의 이동(311, 312)에 따라 상기 제1선택대상체의 위치가 이동(411, 412)되는 경우에 있어서, 이동 후의 상기 제1선택대상체의 정면이 이동 후의 상기 클라이언트 장치를 향하도록 자동으로 회전될 수 있다. 또한, 다른 실시예에서, 선택대상체의 방향은 사용자공간에서 고정되고 클라이언트 장치의 이동에 따라 위치 변경만 수행될 수도 있다. 또한, 후술하는 바와 같이 상기 제1선택대상체는 사용자의 조작에 따라 회전 가능하다.Also, in an embodiment, the direction of the first selection target may be fixed with respect to the client device. For example, when the front of the first selection object faces the client device before movement, and the position of the first selection object is moved (411, 412) according to the movement (311, 312) of the client device, the movement The front face of the first selection object after the movement may be automatically rotated to face the client device after movement. Also, in another embodiment, the direction of the selection object may be fixed in the user space and only the location change may be performed according to the movement of the client device. Also, as will be described later, the first selection object is rotatable according to a user's manipulation.
일 실시예에서, 제1선택대상체(410)는 선택된 상태에서 상기 제1사용자 클라이언트 장치의 이동 또는 상기 제1사용자의 조작에 따라 제1위치(110)로부터 특정한 거리의 구면상에서 이동되도록 제1사용자공간 내에서 위치가 변경될 수 있다.In an embodiment, the first selection object 410 is moved by the first user on a spherical surface at a specific distance from the first location 110 according to the movement of the first user client device or the operation of the first user in the selected state. The position in space may change.
일 실시예에서, 상기 제1위치(110)는 상기 제1선택대상체(410)가 선택된 상태에서의 상기 제1사용자 클라이언트 장치(310)의 배치 위치 또는 상기 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 제1사용자(210) 위치를 포함한다.In an embodiment, the first position 110 is calculated from the arrangement position of the first user client device 310 or the arrangement position of the first user client device when the first selection object 410 is selected. and the location of the first user 210 .
도 3은 상기 제1위치(110)가 상기 제1선택대상체가 선택된 상태에서의 상기 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 상기 제1사용자(210) 위치인 경우를 설명하기 위한 도면이다. FIG. 3 is a diagram for explaining a case in which the first location 110 is the location of the first user 210 calculated from the arrangement location of the first user client device when the first selection object is selected.
도 3을 참조하면, 일 실시예에서, 제1선택대상체가 선택된 상태에서의 제1사용자 위치인 제1위치는, 상기 제1사용자 클라이언트 장치의 위치로부터 제1사용자의 팔길이 또는 제1사용자 클라이언트 방향 등을 고려하여 산출되는 것일 수 있다. Referring to FIG. 3 , in an embodiment, the first position, which is the first user position in the state in which the first selection object is selected, is an arm length of the first user or the first user client from the position of the first user client device. It may be calculated in consideration of the direction and the like.
또한, 일 실시예에서, 상기 제1위치는 상기 제1선택대상체가 선택된 상태에서의 제1사용자 위치이므로, 제1사용자가 제1선택대상체를 선택한 상태에서 이동하는 경우, 이동 후의 제1사용자의 위치가 제1위치가 될 수 있다. Also, in an embodiment, since the first position is a first user position in a state in which the first selection object is selected, when the first user moves in a state in which the first selection object is selected, the position of the first user after movement The location may be the first location.
또한, 일 실시예에서, 상기 제1위치는 제1사용자 또는 제1사용자 클라이언트 장치의 좌표뿐만 아니라, 방향에 대한 정보를 포함할 수 있다. 즉, 도 3에서, 상기 제1위치(110)는 상기 제1사용자(210)의 좌표, 상기 제1사용자 클라이언트 장치(310)의 방향, 또는 상기 제1사용자(210)의 방향을 포함할 수 있다.Also, in one embodiment, the first location may include information about the direction as well as the coordinates of the first user or the first user client device. That is, in FIG. 3 , the first location 110 may include the coordinates of the first user 210 , the direction of the first user client device 310 , or the direction of the first user 210 . have.
또한, 일 실시예에서, 도 3을 참조하면, 상기 제1선택대상체는 상기 제1사용자 클라이언트 장치에 대하여 특정 방향 또는 특정 거리를 유지한 상태로 제1사용자공간에서 이동될 수 있다. 예를 들어, 제1사용자가 팔을 뻗어 클라이언트 장치(예를 들어, 스마트폰)를 손에 들고, 제1선택대상체가 상기 클라이언트 장치의 후면의 중심에 대해 직교하여 1m 거리에 위치하는 경우, 제1사용자가 상기 제1선택대상체를 원하는 위치에 배치하기 위해 팔을 뻗은 채 클라이언트 장치(310)를 이동(314, 315)시키면 상기 제1선택대상체(410)는 제1사용자 위치인 제1위치로부터 '1m+제1사용자 팔길이'의 거리의 구면 상에서 이동(414, 415)될 수 있다. 즉, 이 경우 제1위치(110)를 원점으로 하는 제1구면좌표계(510)에서, r값이 '1m+제1사용자 팔길이'인 특정 구면 상에서 제1선택대상체가 움직일 수 있다. 또한, 상기 제1선택대상체가 선택된 상태에서의 사용자의 팔 움직임 또는 사용자 조작에 의해 상기 r값이 변경될 수 있음은 물론이다.Also, in one embodiment, referring to FIG. 3 , the first selection object may be moved in the first user space while maintaining a specific direction or a specific distance with respect to the first user client device. For example, when the first user stretches his arm and holds the client device (eg, a smartphone) in his hand, and the first selected object is located at a distance of 1 m orthogonal to the center of the rear surface of the client device, the second When the first user moves (314, 315) the client device 310 with an outstretched arm to place the first selection object at a desired position, the first selection object 410 is moved from the first position, which is the first user position. It may be moved (414, 415) on a sphere of a distance of '1m + first user's arm length'. That is, in this case, in the first spherical coordinate system 510 having the first position 110 as the origin, the first selection object may move on a specific spherical surface in which the r value is '1m + first user's arm length'. Also, it goes without saying that the r value may be changed by the user's arm movement or user manipulation while the first selection object is selected.
도 4는 상기 제1위치(110)가 상기 제1선택대상체가 선택된 상태에서의 상기 제1사용자 클라이언트 장치(310)의 배치 위치인 경우를 설명하기 위한 도면이다. 도 4를 참조하면, 일 실시예에서, 제1선택대상체가 선택된 상태에서의 제1사용자 클라이언트 장치의 위치인 제1위치는, 제1사용자 클라이언트 장치의 좌표뿐만 아니라, 방향에 대한 정보를 포함할 수 있다.FIG. 4 is a diagram for explaining a case where the first location 110 is the arrangement location of the first user client device 310 when the first selection object is selected. Referring to FIG. 4 , according to an embodiment, the first location, which is the location of the first user client device in the state in which the first selection object is selected, may include information about the direction as well as the coordinates of the first user client device. can
또한, 상기 제1위치는 상기 제1선택대상체가 선택된 상태에서의 상기 제1사용자 클라이언트 장치의 배치 위치이므로, 제1사용자가 제1선택대상체를 선택한 상태에서 제1사용자 클라이언트 장치를 이동시키는 경우, 이동후의 제1사용자 클라이언트 장치의 위치(방향 포함)가 제1위치가 될 수 있다. Also, since the first position is the arrangement position of the first user client device when the first selection object is selected, when the first user moves the first user client device while the first selection object is selected, The position (including orientation) of the first user client device after movement may be the first position.
또한, 일 실시예에서, 제1선택대상체(410)는 선택된 상태에서 상기 제1사용자 클라이언트 장치의 이동 또는 상기 제1사용자의 조작에 따라 제1위치로부터 특정한 거리의 구면상에서 이동되도록 제1사용자공간 내에서 위치가 변경될 수 있다. 즉, 도 4에서와 같이, 클라이언트 장치의 위치가 변경(314, 315)되는 경우뿐만 아니라, 위치가 고정되고 방향만 변경(314, 316)되는 경우에도, 제1선택대상체는 상기 클라이언트 장치의 방향에 대응하여 제1사용자공간 내에서 위치가 변경(414, 415, 416)될 수 있다. In addition, in an embodiment, the first selection object 410 is moved on a spherical surface at a specific distance from the first location according to the movement of the first user client device or the operation of the first user in the selected state. location may change. That is, as shown in FIG. 4 , not only when the position of the client device is changed ( 314 , 315 ), but also when the position is fixed and only the direction is changed ( 314 , 316 ) of the client device, the first selection object is the direction of the client device In response, the location in the first user space may be changed ( 414 , 415 , 416 ).
예를 들어, 제1사용자가 팔을 뻗어 클라이언트 장치(예를 들어, 스마트폰)를 손에 들고, 제1선택대상체가 상기 클라이언트 장치의 후면의 중심에 대해 직교하여 1m 거리에 위치하는 경우에 있어서, 제1사용자가 상기 제1선택대상체를 원하는 위치에 배치하기 위해 팔을 뻗은 채 클라이언트 장치의 방향만 회전한다면, 상기 제1선택대상체는 제1사용자 클라이언트 장치의 배치 위치인 제1위치로부터 '1m'의 거리의 구면 상에서 이동될 수 있다. 즉, 이 경우 제1위치를 원점으로 하는 제1구면좌표계에서, r값이 '1m'인 특정 구면 상에서 대상체가 움직일 수 있다. For example, when the first user extends his arm and holds a client device (eg, a smartphone) in his hand, and the first selected object is positioned at a distance of 1 m orthogonal to the center of the rear surface of the client device , if the first user rotates only the direction of the client device while extending his arm to place the first selection object at a desired position, the first selection object is '1m from the first position, which is the placement position of the first user's client device. It can be moved on the sphere of distance of '. That is, in this case, in the first spherical coordinate system having the first position as the origin, the object may move on a specific spherical surface having an r value of '1m'.
이와 달리, 제1사용자가 제1선택대상체를 원하는 위치에 배치하기 위해 팔을 뻗은 채 클라이언트 장치를 이동(위치 변경 또는 회전 포함)시키는 경우에는, 이동된 클라이언트 장치의 배치 위치인 제1위치를 원점으로 하는 제1구면좌표계 상에서 상기 클라이언트 장치의 후면의 중심에 대해 직교하여 1m 거리에 상기 제1선택대상체가 위치할 수 있다. 또한, 상기 제1선택대상체가 선택된 상태에서의 사용자 조작에 의해 상기 r값이 변경될 수 있음은 물론이다.Contrary to this, when the first user moves (including changing or rotating the position) the client device with an outstretched arm to place the first selection object at a desired position, the first position, which is the arrangement position of the moved client device, is the origin. The first selection object may be located at a distance of 1 m orthogonal to the center of the rear surface of the client device on a first spherical coordinate system of . Also, it goes without saying that the r value may be changed by a user manipulation while the first selection object is selected.
또한, 일 실시예에서, 사용자가 클라이언트 장치를 손에 들지 않고 머리에 착용하는 경우와 같이 클라이언트 장치와 사용자 위치 및 방향이 동일한 경우(예를 들어, VR헤드셋)에는, 제1위치는 클라이언트 장치 위치(방향 포함)로 판단할 수 있음은 물론이다.Also, in one embodiment, when the location and orientation of the client device and the user are the same (eg VR headset), such as when the user wears the client device on the head without holding the hand, the first location is the client device location Of course, it can be judged by (including direction).
일 실시예에서, 도면에 도시되지는 않았으나, 상기 제1사용자(210)로부터 상기 제1위치(110)와 상기 제1선택대상체(410) 간의 거리에 대한 변경정보를 수신하고 적용하는 단계;를 더 포함할 수 있다. 이는, 전술한 바와 같이 제1위치로부터 특정한 거리의 구면상에서 이동되는 제1선택대상체에 있어서, 상기 거리를 변경함으로써 변경된 거리의 구면상에서 제1선택대상체가 이동되도록 하는 것이다.In one embodiment, although not shown in the drawings, receiving and applying change information on the distance between the first location 110 and the first selection object 410 from the first user 210; may include more. As described above, in the first selection object moved on the spherical surface of a specific distance from the first position, the first selection object is moved on the spherical surface of the changed distance by changing the distance.
예를 들어, 도 4에서 제1선택대상체가 제1사용자 클라이언트 장치의 후면(사용자 반대편)의 중심에 대해 직교하여 1m 거리에 위치하는 경우, 상기 제1사용자의 요청에 따라 상기 제1선택대상체의 상기 클라이언트 장치로부터의 거리를 2m로 변경할 수 있으며, 상기 제1선택대상체는 이를 유지한 채 제1사용자에 의한 제1사용자 클라이언트 장치의 회전, 이동을 포함하는 움직임에 따라 이에 대응하도록 제1사용자공간 내에서 위치가 변경될 수 있다. For example, in FIG. 4 , when the first selection object is located at a distance of 1 m orthogonal to the center of the rear surface (opposite to the user) of the first user client device, the first selection object is displayed at the request of the first user. The distance from the client device may be changed to 2m, and the first selection object may be maintained in the first user space to correspond to the movement including rotation and movement of the client device of the first user by the first user while maintaining it. location may change.
즉, 사용자가 제1위치를 원점으로 하는 제1구면좌표계 상에서, 원점(예를 들어, 클라이언트 장치)으로부터의 제1선택대상체 거리인 r값을 변경할 수 있도록 함으로써, 제1사용자공간 내의 모든 위치에 대해 자유롭고 간편하게 배치 가능한 효과가 있다. 또한, 상기 거리변경요청은 사용자 클라이언트장치에 입력될 수 있는 상기 사용자의 선택대상체의 거리 변경에 대한 모든 입력을 포함한다.That is, by allowing the user to change the r value, which is the first selection object distance from the origin (eg, the client device), on the first spherical coordinate system having the first position as the origin, it is displayed at all positions in the first user space. It has the effect that it can be freely and easily deployed. In addition, the distance change request includes all inputs for changing the distance of the user's selection target that can be input to the user's client device.
일 실시예에서, 상기 거리변경요청은 제1사용자가 제1선택대상체를 선택한 상태에서 클라이언트 장치 화면상의 특정 아이콘을 상하 방향으로 드래그하는 것을 포함한다.In an embodiment, the request for changing the distance includes dragging a specific icon on the screen of the client device in the vertical direction while the first user has selected the first selection object.
일 실시예에서, 도면에 도시되지는 않았으나, 상기 제1사용자(210)로부터 상기 제1선택대상체(410)에 대한 변경정보를 수신하고 적용하는 단계;를 더 포함할 수 있다. 또한 일 실시예에서, 상기 제1선택대상체의 변경정보는, 상기 제1선택대상체의 상기 제1사용자공간에서의 위치가 고정된 상태에서 상기 제1선택대상체의 모양, 크기 또는 방향에 관한 변경정보를 포함한다. 즉, 사용자는 특정 대상체를 선택한 상태에서, 사용자의 조작에 의해 선택된 선택대상체의 모양, 크기, 방향 등을 자유롭게 변경할 수 있고, 새로운 대상체를 업로드하여 변경하는 것도 가능하다. 일 실시예에서, 새롭게 업로드하는 대상체 정보는 서버로부터 수신할 수 있다.In an embodiment, although not shown in the drawings, the method may further include receiving and applying change information on the first selection object 410 from the first user 210 . Also, in an embodiment, the change information of the first selection object includes change information regarding the shape, size or direction of the first selection object in a state where the position of the first selection object in the first user space is fixed. includes That is, in a state in which a specific object is selected, the user may freely change the shape, size, direction, etc. of the selected object selected by the user's manipulation, and may also upload a new object to change it. In an embodiment, the newly uploaded object information may be received from the server.
일 실시예에서, 상기 크기변경요청은 제1사용자가 제1선택대상체를 선택한 상태에서 사용자의 클라이언트 장치에 대한 핀치 인/아웃(Pinch in/out) 제스처(gesture)를 포함한다.In an embodiment, the size change request includes a pinch in/out gesture of the user on the client device in a state in which the first user selects the first selection object.
일 실시예에서, 상기 선택대상체의 회전은 롤(Roll), 요(Yaw), 또는 피치(Pitch) 회전을 포함하고, 상기 롤 회전요청은 사용자의 클라이언트 장치에 대한 두손가락 회전(rotation) 제스처를, 상기 요 회전요청은 좌우 방향의 팬(Pan) 또는 스와이프(Swipe) 제스처를, 상기 피치 회전요청은 상하 방향의 팬 또는 스와이프 제스처를 포함한다. In an embodiment, the rotation of the selection object includes a roll, yaw, or pitch rotation, and the roll rotation request is a two-finger rotation gesture with respect to the user's client device. , The yaw rotation request includes a pan or swipe gesture in a left and right direction, and the pitch rotation request includes a pan or swipe gesture in a vertical direction.
또한, 일 실시예예서, 상기 사용자공간 내의 가상의 대상체의 종류에 대하여, 상기 사용자공간 형성 플랫폼업체가 사용자로부터 일정 대가를 받아 확장시키는 것도 가능하다. 즉, 사용자가 더 다양한 종류 또는 많은 개수의 대상체를 사용자공간에 배치하고 싶은 경우, 상기 사용자공간 형성 플랫폼업체에 일정 대가를 지불함으로써 상기 대상체의 종류 또는 개수를 확장할 수 있다.Also, according to an embodiment, it is possible for the user space forming platform company to receive a predetermined price from the user to expand the type of the virtual object in the user space. That is, when a user desires to arrange more various types or a larger number of objects in the user space, the type or number of objects may be expanded by paying a certain price to the user space forming platform company.
상기 제1선택대상체(410)에 대한 상기 제1사용자(210)의 배치요청에 따라 상기 제1선택대상체를 상기 제1사용자공간(10)에 배치한다(S400). 일 실시예에서, 상기 제1선택대상체가 선택된 상태에서, 제1사용자에 의해(클라이언트 장치 이동 또는 제1사용자의 조작 포함) 제1선택대상체가 제1사용자공간에서 배치하고자 하는 위치에 도달한 경우, 제1사용자의 배치요청에 따라 상기 제1선택대상체에 대한 선택이 해제되며, 배치요청시의 상기 제1선택대상체의 위치 및 방향에 따라 상기 제1선택대상체가 제1사용자공간에 배치된다. The first selection object is placed in the first user space 10 according to the placement request of the first user 210 for the first selection object 410 (S400). In an embodiment, when the first selection object arrives at a desired location in the first user space by the first user (including moving the client device or the first user's manipulation) while the first selection object is selected , the selection of the first selection object is released according to the placement request of the first user, and the first selection object is arranged in the first user space according to the position and direction of the first selection object when the placement request is made.
일 실시예에서, 배치된 대상체는 더 이상 클라이언트 장치의 이동 또는 사용자 조작에 의해 제1사용자공간에서 이동되지 않고, 사용자에 의해 다시 선택되는 경우에 이동될 수 있다. 또한, 상기 배치요청은 사용자 클라이언트장치에 입력될 수 있는 상기 사용자의 선택대상체에 대한 모든 입력을 포함한다.In an embodiment, the placed object is no longer moved in the first user space by movement of the client device or by a user manipulation, but may be moved when selected again by the user. In addition, the placement request includes all inputs to the user's selection target that can be input to the user's client device.
일 실시예에서, 상기 배치요청은 제1선택대상체가 선택된 상태에서 제1사용자의 클라이언트 장치 화면에 대한 터치를 포함한다.In an embodiment, the placement request includes a first user's touch on the client device screen while the first selection object is selected.
일 실시예에서, 도면에 도시되지는 않았으나, 상기 제1선택대상체에 대한 상기 제1사용자의 복제요청에 따라, 상기 제1선택대상체의 선택은 유지하되 상기 제1선택대상체와 동일한 종류, 모양, 크기 또는 방향을 갖는 하나 이상의 복제대상체를 상기 제1사용자공간에 배치하는 단계;를 더 포함한다. 즉, 사용자가 특정 선택대상체를 복수 개 배치하고 싶은 경우, 새롭게 대상체를 업로드하는 과정을 거칠 필요 없이 특정 선택대상체에 대하여 원하는 위치마다 복제요청을 함으로써 간편하게 복제된 복수의 대상체를 배치시킬 수 있다. In one embodiment, although not shown in the drawings, according to the copy request of the first user for the first selection object, the selection of the first selection object is maintained but the same type, shape, and shape as the first selection object; It further includes; disposing one or more duplicated objects having a size or a direction in the first user space. That is, when the user wants to arrange a plurality of specific selection objects, a plurality of replicated objects can be conveniently arranged by making a copy request for each desired location of the specific selection object without having to go through a process of newly uploading the object.
그러나, 본 발명에 따른 선택요청, 배치요청, 거리변경요청, 크기변경요청, 회전요청 또는 복제요청은 전술한 실시예에 제한되지 않으며, 사용자 클라이언트 장치에 입력될 수 있는 모든 제스처를 포함한다.However, the selection request, arrangement request, distance change request, size change request, rotation request or duplication request according to the present invention are not limited to the above-described embodiment, and include all gestures that can be input to the user's client device.
본 발명의 일 실시예에 따르면, 사용자는 3차원의 가상공간인 제1사용자공간 내에서, 특정 대상체를 선택하고 클라이언트 장치의 이동 또는 사용자 조작에 따라 선택된 선택대상체를 자유롭게 이동시키며, 간편한 조작에 의해 선택 대상체의 모양, 크기, 방향등을 자유롭게 조절하여 원하는 위치에 원하는 모양, 크기, 방향으로 손쉽게 배치할 수 있는 효과가 있다.According to an embodiment of the present invention, the user selects a specific object in the first user space, which is a three-dimensional virtual space, and freely moves the selected object according to the movement of the client device or the user operation, and by simple manipulation By freely adjusting the shape, size, and direction of the selected object, there is an effect that it can be easily arranged in a desired shape, size and direction at a desired location.
도 5는 본 발명의 일 실시예에 따른 제1선택대상체의 제1구면좌표정보를 제1기준좌표로 변환하는 단계를 더 포함하는 가상공간 형성 방법의 순서도이다. 5 is a flowchart of a method of forming a virtual space, which further includes converting first spherical coordinate information of a first selection object into first reference coordinates according to an embodiment of the present invention.
도 5를 참조하면, 본 발명의 다른 일 실시예에 따른 가상공간 형성 방법은, 제1선택대상체(410)의 제1구면좌표정보를 제1기준좌표로 변환하는 단계(S500);를 더 포함한다. 즉, 일 실시예에서, 배치된 제1선택대상체의 제1위치를 원점으로 하는 제1구면좌표계의 제1구면좌표정보를, 제1사용자공간의 기준좌표계에 대한 제1기준좌표로 변환할 수 있다.Referring to FIG. 5 , the method for forming a virtual space according to another embodiment of the present invention further includes converting first spherical coordinate information of a first selection object 410 into first reference coordinates (S500); do. That is, in one embodiment, the first spherical coordinate information of the first spherical coordinate system having the first position of the arranged first selection object as the origin can be converted into the first reference coordinates with respect to the reference coordinate system of the first user space. have.
일 실시예에서, 제1구면좌표정보는, 제1선택대상체가 사용자의 배치요청에 따라 배치되는 시점에서의 제1위치(클라이언트 장치의 배치 위치 또는 사용자 위치)를 원점으로 하는 제1구면좌표계에서 상기 제1선택대상체의 좌표정보(r,θ,ф)를 의미한다. 예를 들어, 제1위치가 도 4에서와 같이 제1선택대상체가 선택된 상태에서의 제1사용자 클라이언트 장치의 배치 위치인 경우, 제1선택대상체의 제1위치로부터의 거리(1m)가 r값이 되고, 제1사용자 클라이언트 장치의 방향 정보로부터 θ 및 ф 값이 산출될 수 있다.In an embodiment, the first spherical coordinate information may include a first spherical coordinate system having a first location (a location of a client device or a location of a user) at the point in time when the first selection object is disposed according to a user's placement request as an origin. It means coordinate information (r, θ, ф) of the first selection object. For example, when the first position is the arrangement position of the first user client device in the state in which the first selection object is selected as shown in FIG. 4 , the distance (1m) of the first selection object from the first position is the r value. , and values θ and ф may be calculated from the direction information of the first user client device.
또한, 일 실시예에서, 전술한 바와 같이 기준위치(100)는 제1사용자공간의 기준이 되는 위치로, 상기 제1사용자공간 생성 시점의 제1사용자 클라이언트 장치의 배치 위치 또는 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 제1사용자 위치이고, 기준좌표계는 상기 기준위치를 원점으로 하는 공간좌표계 또는 구면좌표계를 포함하는 좌표계를 의미한다. In addition, in one embodiment, as described above, the reference position 100 is a reference position of the first user space, and the arrangement position of the first user client device or the first user client device at the time of generating the first user space. It is the first user position calculated from the arrangement position of , and the reference coordinate system refers to a coordinate system including a spatial coordinate system or a spherical coordinate system having the reference position as an origin.
즉, 일 실시예에서, 상기 기준위치 및 상기 기준좌표계는, 제1사용자 공간 생성시 결정되어 변하지 않는 것으로, 후술하는 바와 같이 제2사용자의 제2선택과 무관하게 제1사용자공간 생성시를 기준으로 결정되는 기준위치 및 기준좌표계를 의미한다. 일 실시예에서, 상기 기준위치는 제1사용자가 제1사용자공간 초기 생성을 위해 가상공간 형성 프로그램을 구동하는 시점의 제1사용자 클라이언트 장치 위치를 포함한다. That is, in an embodiment, the reference position and the reference coordinate system are determined and not changed when the first user space is created. As will be described later, the reference position and the reference coordinate system are based on the first user space creation time regardless of the second selection of the second user. It means the reference position and the reference coordinate system determined by In an embodiment, the reference position includes the position of the first user's client device at the time when the first user drives the virtual space forming program for the initial creation of the first user space.
일 실시예에서, 상기 기준위치로부터의 상기 제1선택대상체 배치 시점의 상기 제1위치의 벡터값을 산출하고, 상기 벡터값 및 배치된 상기 제1선택대상체의 상기 제1위치를 원점으로 하는 제1구면좌표계 상의 제1구면좌표정보(r,θ,ф)를 기초로, 배치된 상기 제1선택대상체의 기준좌표계에 대한 제1기준좌표정보를 산출할 수 있다. 즉, 원점을 달리하는 다양한 구면좌표계 상에서 배치되는 대상체의 배치정보를 기준좌표계에 대한 좌표정보로 변환할 수 있다.In an embodiment, a vector value of the first position at the time of placement of the first selection object is calculated from the reference position, and a first position is obtained based on the vector value and the first position of the disposed first selection object. Based on the first spherical coordinate information (r, θ, ф) on the first spherical coordinate system, first reference coordinate information with respect to the reference coordinate system of the disposed first selection target may be calculated. That is, the arrangement information of the object arranged on various spherical coordinate systems having different origins may be converted into coordinate information about the reference coordinate system.
또한, 일 실시예에서, 상기 제1사용자가 제1사용자공간을 초기 생성한 이후에, 다시 가상공간 형성 프로그램을 구동하여 상기 제1사용자공간에 재접속하는 경우, 재접속시 가상공간인 제1사용자공간에서의 제1사용자 위치는 현실공간에서의 위치와 무관하게 상기 기준위치일 수 있다. 예를 들어, 제1사용자가 현실공간의 A위치에서 최초로 VR공간인 제1사용자공간을 생성한 경우, 현실공간의 A위치와 대응되는 제1사용자공간의 X위치가 기준위치가 된다. 또한, 이후에 제1사용자가 현실공간의 B위치에서 상기 제1사용자공간에 재접속하더라도, 제1사용자는 현실공간의 B위치와 무관하게 가상공간의 기준위치인 제1사용자공간의 X위치에서 상기 제1사용자공간에 재접속할 수 있다.Also, in an embodiment, when the first user initially creates the first user space and then reconnects to the first user space by driving the virtual space forming program again, the first user space is the virtual space upon reconnection. The first user's location in ? may be the reference location regardless of the location in real space. For example, when the first user creates the first user space, which is the VR space, for the first time at position A in the real space, the position X in the first user space corresponding to the position A in the real space becomes the reference position. In addition, even if the first user reconnects to the first user space from the B position in the real space afterward, the first user remains at the X position in the first user space, which is the reference position in the virtual space, regardless of the B position in the real space. It is possible to reconnect to the first user space.
이와 달리, 일 실시예에서, 상기 제1사용자가 제1사용자공간을 초기 생성한 이후에, 다시 가상공간 형성 프로그램을 구동하여 상기 제1사용자공간에 재접속하는 경우, 재접속시 가상공간인 제1사용자공간에서의 제1사용자 위치는 현실공간에서의 위치와 상기 기준위치를 기초로 산출된 위치일 수 있다. 예를 들어, 제1사용자가 현실공간의 A위치에서 최초로 AR공간인 제1사용자공간을 생성한 경우, 현실공간의 A위치와 대응되는 제1사용자공간의 X위치가 기준위치가 된다. 또한, 이후에 제1사용자가 현실공간의 B위치에서 상기 제1사용자공간에 재접속하면, 제1사용자는 현실공간의 B위치에 대응되는 제1사용자공간의 Y위치에서 재접속할 수 있다. 즉, A위치와 B위치 간의 벡터값을 산출하고, 상기 벡터값과 X위치를 기초로 제1사용자공간의 Y위치를 산출하여 상기 제1사용자의 재접속시 제1사용자공간에서의 위치를 결정할 수 있다.Contrary to this, in one embodiment, when the first user initially creates the first user space and then reconnects to the first user space by driving the virtual space forming program again, the first user who is the virtual space at the time of reconnection The first user's position in space may be a position in real space and a position calculated based on the reference position. For example, when the first user creates the first user space, which is the AR space, for the first time at the location A in the real space, the location X in the first user space corresponding to the location A in the real space becomes the reference location. In addition, when the first user reconnects to the first user space from the B position in the real space later, the first user may reconnect at the Y position in the first user space corresponding to the B position in the real space. That is, it is possible to determine the position in the first user space when the first user reconnects by calculating a vector value between the A position and the B position, and calculating the Y position of the first user space based on the vector value and the X position. have.
다른 실시예에서, 상기 기준위치(100)는 기 생성된 제1사용자공간을 저장하는 경우 변경될 수 있다. 즉, 일 실시예에서, 제1사용자공간의 기준위치는, 제1사용자공간을 저장할 때마다 저장 시점의 제1사용자 클라이언트 장치의 배치 위치 또는 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 제1사용자 위치로 변경되고, 이에 따라 기준좌표계가 변경될 수 있다.In another embodiment, the reference position 100 may be changed when storing the pre-generated first user space. That is, in one embodiment, the reference position of the first user space is the first user calculated from the arrangement position of the first user client device or the arrangement position of the first user client device at the time of storage whenever the first user space is stored. position, and the reference coordinate system may be changed accordingly.
이 경우, 제1사용자가 저장된 제1사용자공간에 재접속하는 경우, 재접속시 가상공간인 제1사용자공간에서의 제1사용자 위치는 변경된 기준위치일 수 있다. 예를 들어, 제1사용자가 현실공간의 A위치(제1사용자공간의 X위치에 대응)에서 최초로 VR공간인 제1사용자공간을 생성한 후, 이동하여 제1사용자공간의 Z위치에서 제1사용자공간을 저장한 경우, Z위치가 제1사용자공간의 변경된 기준위치가 된다. 또한, 이후에 제1사용자가 제1사용자공간에 재접속시 현실공간의 위치와 무관하게 가상공간의 변경된 기준위치인 Z위치에서 상기 제1사용자공간에 재접속할 수 있다.In this case, when the first user reconnects to the stored first user space, the first user's location in the first user space, which is a virtual space, may be the changed reference location upon reconnection. For example, the first user creates the first user space, which is the VR space, for the first time at position A in the real space (corresponding to position X in the first user space), then moves to the first user space at position Z of the first user space. When the user space is stored, the Z position becomes the changed reference position of the first user space. In addition, when the first user reconnects to the first user space afterward, the first user may reconnect to the first user space at the Z position, which is the changed reference position in the virtual space, regardless of the location in the real space.
또한, 이 경우 일 실시예예서, 기준위치 및 기준좌표계의 변경에 따라 배치된 제1선택대상체의 변경 전 기준좌표계에 대한 제1기준좌표를, 변경 후 기준좌표계에 대한 기준좌표로 변환하는 단계;를 더 포함할 수 있다. 예를 들어, '제1선택대상체의 변경 전 기준위치에 대한 벡터값'과 '변경 후 기준위치의 변경 전 기준위치에 대한 벡터값'의 연산을 통하여 제1선택대상체의 변경 후 기준위치에 대한 벡터값을 산출함으로써, 제1선택대상체의 변경 후 기준좌표계에 대한 기준좌표를 산출할 수 있다.In addition, in this case, according to an embodiment, the first reference coordinates for the reference coordinate system before the change of the first selection object arranged according to the change of the reference position and the reference coordinate system are converted into the reference coordinates for the reference coordinate system after the change; may further include. For example, through the calculation of 'the vector value of the reference position before the change of the first selection object' and the 'vector value of the reference position before the change of the reference position after the change', the reference position after the change of the first selection object is calculated. By calculating the vector value, it is possible to calculate the reference coordinates for the reference coordinate system after the change of the first selection object.
이와 달리, 일 실시예에서, 제1사용자공간의 저장에 따라 기준위치 및 기준좌표계는 변하지 않되, 제1사용자공간 저장 시점의 제1사용자 클라이언트 위치가 제1사용자의 상기 제1사용자공간 재접속시 위치일 수 있다.Contrary to this, in one embodiment, the reference position and the reference coordinate system are not changed according to the storage of the first user space, but the first user client position at the time of storing the first user space is the position when the first user reconnects to the first user space can be
도 6은 본 발명의 일 실시예에 따른 제1생성데이터 전송 단계를 더 포함하는 가상공간 형성 방법의 순서도이다. 도 6을 참조하면, 본 발명의 일 실시예에 따른 가상공간 형성 방법은, 제1생성데이터를 서버로 전송하는 단계(S800);를 더 포함한다.6 is a flowchart of a method of forming a virtual space further including the step of transmitting the first generated data according to an embodiment of the present invention. Referring to FIG. 6 , the method for forming a virtual space according to an embodiment of the present invention further includes transmitting the first generated data to the server (S800).
일 실시예에서, 상기 제1생성데이터는 상기 제1사용자공간에 배치된 하나 이상의 대상체의 대상체 정보 또는 배치 위치 정보를 포함한다. 즉, 제1생성데이터는 제1사용자에 의해 배치된 하나 이상의 대상체의 배치 위치 정보(위치, 방향 등) 또는 대상체 정보(배치된 대상체의 종류, 모양, 크기, 방향 등)를 포함하는 제1사용자공간의 정보를 의미한다. 또한, 상기 제1생성데이터는, 대상체에 관한 정보는 물론 가상공간인 상기 제1사용자공간의 배경에 대한 정보를 더 포함할 수 있음은 물론이다.In an embodiment, the first generation data includes object information or arrangement location information of one or more objects arranged in the first user space. That is, the first generation data is the first user including arrangement location information (position, direction, etc.) of one or more objects arranged by the first user or object information (type, shape, size, direction, etc. of the placed object). space information. Also, it goes without saying that the first generated data may further include information on the background of the first user space, which is a virtual space, as well as information on the object.
일 실시예에서, 상기 제1생성데이터는, 상기 제1사용자가 상기 제1사용자공간을 촬영한 썸네일 이미지 및 상기 썸네일 이미지 촬영 시점의 상기 제1사용자 클라이언트 장치의 배치 위치를 포함한다. In an embodiment, the first generated data includes a thumbnail image captured by the first user in the first user space, and an arrangement position of the first user client device at the time of capturing the thumbnail image.
또한, 일 실시예에서, 상기 썸네일 이미지 촬영 시점의 상기 제1사용자 클라이언트 장치의 배치 위치는, 상기 제1사용자 또는 제2사용자가 상기 제1생성데이터를 수신하여 상기 제1사용자공간에 접속하는 경우의 제1사용자공간에서의 접속 위치로, 상기 제1사용자 클라이언트 장치의 방향정보를 포함한다.Also, in an embodiment, the arrangement position of the first user client device at the time of capturing the thumbnail image is determined when the first user or the second user receives the first generated data and accesses the first user space. is an access location in the first user space of , and includes direction information of the first user client device.
즉, 제1사용자가 저장된 제1사용자공간에 재접속 또는 제2사용자가 접속시, 상기 썸네일 이미지를 촬영한 위치, 즉 제1사용자공간 저장 시 위치에서 접속하도록 하여, 썸네일 이미지를 보고 접속한 사용자의 정면(사용자 클라이언트 장치의 정면)에 상기 썸네일 이미지에 표시된 제1사용자공간이 구현될 수 있도록 하는 것이다That is, when the first user reconnects to the stored first user space or when the second user accesses the stored first user space, the user accesses the thumbnail image from the location where the thumbnail image was captured, that is, the location when the first user space was saved. The first user space displayed in the thumbnail image can be implemented on the front (front of the user client device).
일 실시예에서, 상기 제1생성데이터에 포함된 저장 시점의 제1사용자 클라이언트 장치의 방향정보는, 지면과 평행한 성분의 방향정보만을 포함할 수 있다.In an embodiment, the direction information of the first user client device at the storage time included in the first generation data may include only direction information of a component parallel to the ground.
일 실시예에서, 상기 제1사용자 클라이언트 장치가 상기 제1사용자공간에 관한 정보인 상기 제1생성데이터를 서버에 전송함으로써, 제1사용자공간에 대한 저장이 가능하고, 서버를 통해 제2사용자 클라이언트 장치에 전송함으로써 제2사용자의 제1사용자공간에 대한 참여 또한 가능한 효과가 있다.In one embodiment, the first user client device transmits the first generated data that is information about the first user space to the server, so that storage in the first user space is possible, and the second user client device through the server The second user's participation in the first user space by transmitting to the device also has a possible effect.
도 7은 본 발명의 일 실시예에 따른 서버가 클라이언트 장치로부터 생성데이터를 수신 또는 전송하는 단계를 포함하는 가상공간 형성 방법의 순서도이다. 도 7을 참조하면, 본 발명의 일 실시예에 따른 가상공간 형성 방법은, 서버가 제1사용자 클라이언트 장치(310)로부터 제1사용자공간(10)에 대한 상기 제1생성데이터를 수신하는 단계(S1000); 및 서버가 상기 제1생성데이터를 제2사용자 클라이언트 장치(320)에 전송하는 단계(S1100);를 포함한다. 7 is a flowchart of a method for forming a virtual space including the step of receiving or transmitting, by a server, generated data from a client device according to an embodiment of the present invention. Referring to FIG. 7 , in the method for forming a virtual space according to an embodiment of the present invention, the server receives the first generated data for the first user space 10 from the first user client device 310 ( S1000); and a step (S1100) of the server transmitting the first generated data to the second user client device 320 (S1100).
즉, 일 실시예에서, 전술한바와 같이 상기 제1사용자 클라이언트 장치가 서버로 전송한 상기 제1생성데이터를, 제1사용자 또는 제2사용자의 요청에 따라 제2사용자 클라이언트 장치로 전송할 수 있다. 상기 제2사용자는 상기 제1생성데이터를 수신함으로써 상기 제1사용자가 생성한 제1사용자공간에 참여할 수 있는 효과가 있다.That is, in one embodiment, as described above, the first generated data transmitted by the first user client device to the server may be transmitted to the second user client device according to the request of the first user or the second user. The second user can participate in the first user space created by the first user by receiving the first generated data.
또한, 일 실시예에서, 상기 제2사용자 클라이언트 장치에 대한 상기 제1생성데이터의 전송은, 상기 제2사용자가 상기 제1사용자에게 일정 대가를 지불함으로써 이루어질 수 있다. 즉, 일 실시예에서, 상기 제1사용자는 자신이 생성한 가상공간인 제1사용자공간에 대한 영상 등을 SNS를 포함하는 플랫폼을 통해 공유할 수 있고, 제2사용자가 상기 제1사용자공간에 참여를 원하는 경우, 제1사용자 또는 가상공간 형성 플랫폼업체에 일정 대가를 지불함으로써 상기 제1생성데이터를 수신하여 상기 제1사용자공간에 참여할 수 있다. Also, in an embodiment, the transmission of the first generated data to the second user's client device may be performed by the second user paying a predetermined price to the first user. That is, in one embodiment, the first user can share an image of the first user space, which is a virtual space created by the first user, through a platform including SNS, and the second user can If participation is desired, the first user or a virtual space forming platform company may receive the first generated data and participate in the first user space by paying a certain price.
일 실시예에서, 제2사용자의 제1사용자공간에 대한 참여는, 제2사용자의 제1사용자공간 관람뿐만 아니라, 제1사용자공간의 수정을 포함할 수 있다. 이하, 이에 대해 상세히 기술한다.In one embodiment, the second user's participation in the first user space may include not only viewing the first user space by the second user, but also modifying the first user space. Hereinafter, this will be described in detail.
도 7은 본 발명의 일 실시예에 따른 서버가 클라이언트 장치로부터 생성데이터를 수신 또는 전송하는 단계를 포함하는 가상공간 형성 방법의 순서도이고, 도 8 및 도 9는 본 발명의 일 실시예에 따른 제3선택대상체의 위치 변경을 설명하기 위한 도면이다. 도 7 내지 도 9를 참조하면, 본 발명의 일 실시예에 따른 가상공간 형성 방법은, 서버가 제2사용자 클라이언트 장치(320)로부터 제2생성데이터를 수신하는 단계(S1200);를 더 포함한다.7 is a flowchart of a method for forming a virtual space including the step of receiving or transmitting, by a server, generated data from a client device according to an embodiment of the present invention, and FIGS. 8 and 9 are a first example according to an embodiment of the present invention. 3A diagram for explaining a change in the position of a selection object. 7 to 9 , the method for forming a virtual space according to an embodiment of the present invention further includes a step (S1200) of the server receiving second generation data from the second user client device 320 (S1200). .
일 실시예에서, 상기 제2생성데이터는 제2사용자(220)에 의해 하나 이상의 대상체 배치가 변경된 상기 제1사용자공간(10)의 생성데이터를 포함한다. 즉, 제2생성데이터는 제1사용자에 의해 생성 및 대상체가 배치된 제1사용자공간에 대하여, 제2사용자가 하나 이상의 대상체의 배치 또는 대상체 정보를 변경하는 경우, 제2사용자에 의해 변경된 제1사용자공간의 정보를 포함한다.In an embodiment, the second generated data includes generated data of the first user space 10 in which the arrangement of one or more objects is changed by the second user 220 . That is, when the second user changes the arrangement of one or more objects or object information in the first user space created by the first user and the object is arranged, the second generated data is the first changed data by the second user. Contains user space information.
일 실시예에서, 상기 제2사용자(220)에 의해 배치가 변경된 대상체는 상기 제2사용자에 의해 선택된 제2선택대상체(420)이고, 상기 제2선택대상체는 상기 제2사용자 클라이언트 장치(320)에 의해 상기 제2사용자 클라이언트 장치의 이동 또는 상기 제2사용자(220)의 조작에 대응하여 위치가 변경되고, 상기 제2선택대상체에 대한 상기 제2사용자의 배치요청에 따라 상기 제1사용자공간(10)에 배치되는 것일 수 있다.In an embodiment, the object whose placement is changed by the second user 220 is a second selection object 420 selected by the second user, and the second selection object is the second user client device 320 . The position is changed in response to the movement of the second user client device or the manipulation of the second user 220, and in response to the second user's arrangement request for the second selection object, the first user space ( 10) may be arranged.
상기 제2선택대상체(420)는 상기 제2사용자의 제2선택요청에 의해 선택된 상기 제1사용자공간 내의 특정 대상체로, 상기 제2선택요청은 상기 제1생성데이터를 수신하여 상기 제1사용자공간에 참여한 상기 제2사용자의 제1사용자공간 내의 특정 대상체에 대한 선택요청을 의미한다. 또한, 상기 제2선택요청은 상기 제2사용자 클라이언트장치에 입력될 수 있는 상기 제2사용자의 특정 대상체에 대한 모든 입력을 포함한다.The second selection object 420 is a specific object in the first user space selected by the second selection request of the second user, and the second selection request receives the first generated data to the first user space It means a selection request for a specific object in the first user space of the second user participating in the . In addition, the second selection request includes all inputs for the specific object of the second user that may be input to the second user client device.
일 실시예에서, 상기 제2선택요청은 제1사용자에 의해 배치된 제1선택대상체뿐만 아니라, 제1사용자공간 내에 존재하는 모든 대상체에 대해 가능하고, 제2사용자가 새롭게 업로드한 대상체에 대해서도 가능하다.In an embodiment, the second selection request may be made not only for the first selection object arranged by the first user, but also for all objects existing in the first user space, and may be applied to an object newly uploaded by the second user. Do.
도 8은 제1사용자에 의해 배치된 상기 제1선택대상체에 대해 상기 제2사용자가 제2선택요청을 한 경우를 설명하기 위한 도면이다. 예를 들어, 도 4에서 제1사용자에 의해 배치된 제1선택대상체(415)인 토끼는 상기 제2선택요청에 의해 제2선택대상체(421)가 됨으로써 상기 제2사용자에 의한 재배치(422), 변경이 가능하다. 8 is a diagram for explaining a case in which the second user makes a second selection request for the first selection object arranged by the first user. For example, in FIG. 4 , the rabbit, which is the first selection object 415 arranged by the first user, becomes the second selection object 421 in response to the second selection request, so that the second user rearranges 422 . , can be changed.
도 9는 제1사용자에 의해 배치되지 않은 대상체에 대해 상기 제2사용자가 제2선택요청을 한 경우를 설명하기 위한 도면이다. 예를 들어, 제1사용자에 의해 배치되지 않은 제1사용자공간 내의 대상체인 사자는 상기 제2선택요청에 의해 제2선택대상체(423)가 됨으로써 상기 제2사용자에 의한 재배치(424), 변경이 가능하다.9 is a view for explaining a case in which the second user makes a second selection request for an object not arranged by the first user. For example, a lion, which is an object in the first user space that is not arranged by the first user, becomes the second selection object 423 by the second selection request, so that the relocation 424 and change by the second user are not performed. It is possible.
일 실시예에서, 상기 제2선택대상체는 전술한 제1선택대상체와 마찬가지로, 선택된 상태에서 상기 제2사용자 클라이언트 장치의 이동 또는 상기 제1사용자의 조작에 따라 이동될 수 있다. 또한, 상기 제2선택대상체(420)는 제2위치(120)를 원점으로 하는 제2구면좌표계(520) 상에서 이동될 수 있고, 상기 제2위치는 상기 제2선택대상체가 선택된 상태에서의 상기 제2사용자 클라이언트 장치의 배치 위치 또는 상기 제2사용자 클라이언트 장치의 배치 위치로부터 산출된 상기 제2사용자 위치를 포함한다. 또한, 상기 제2선택대상체에 대한 상기 제2사용자의 거리, 모양, 크기 또는 방향에 관한 변경요청을 통해 상기 제2선택대상체에 대한 변경이 가능하다.In an embodiment, the second selection object may be moved according to the movement of the second user's client device or the manipulation of the first user in the selected state, similarly to the above-described first selection object. In addition, the second selection object 420 may be moved on a second spherical coordinate system 520 having a second location 120 as an origin, and the second location is the second location when the second selection object is selected. and the location of the second user client device or the second user location calculated from the location of the second user client device. Also, it is possible to change the second selection object through a change request regarding the distance, shape, size, or direction of the second user with respect to the second selection object.
또한, 일 실시예에서, 도면에 도시되지는 않았으나, 본 발명의 일 실시예에 따른 가상공간 형성 방법은, 제2선택대상체의 제2구면좌표정보를 제2기준좌표로 변환하는 단계;를 더 포함할 수 있다. 즉, 배치된 제2선택대상체의 제2위치를 원점으로 하는 제2구면좌표계의 제2구면좌표정보를 제1사용자공간의 상기 기준좌표계에 대한 제2기준좌표로 변환할 수 있다. Further, in one embodiment, although not shown in the drawings, the method for forming a virtual space according to an embodiment of the present invention further comprises: converting second spherical coordinate information of a second selection object into second reference coordinates; may include That is, the second spherical coordinate information of the second spherical coordinate system having the second position of the disposed second selection target as the origin may be converted into second reference coordinates for the reference coordinate system in the first user space.
일 실시예에서, 상기 기준위치로부터 상기 제2위치의 벡터값을 산출하고, 상기 벡터값 및 상기 제2구면좌표정보(r,θ,ф)를 기초로 배치된 상기 제2선택대상체의 기준좌표계에 대한 제2기준좌표정보를 산출함으로써, 제1사용자에 의해 기 배치된 상기 제1선택대상체와 동일한 좌표계에서의 위치를 비교 가능한 효과가 있다.In an embodiment, a vector value of the second position is calculated from the reference position, and a reference coordinate system of the second selection target is arranged based on the vector value and the second spherical coordinate information (r, θ, ф). By calculating the second reference coordinate information for , it is possible to compare the position in the same coordinate system with the first selected object previously arranged by the first user.
일 실시예에서, 제2사용자의 제1사용자공간에 대한 접속시 위치는, 전술한 제1사용자의 제1사용자 공간 재접속시 위치와 동일하게 적용될 수 있다.In an embodiment, the location of the second user when accessing the first user space may be the same as the location of the first user when reconnecting to the first user space.
도 10은 본 발명의 일 실시예에 따른 서버가 클라이언트 장치로부터 생성데이터를 수신 또는 전송하는 단계를 포함하는 가상공간 형성 방법의 순서도이다. 도 10을 참조하면, 본 발명의 일 실시예에 따른 가상공간 형성 방법은, 서버가 상기 제2생성데이터를 제1사용자 클라이언트 장치에 전송하는 단계(S1300);를 더 포함한다. 즉, 제1사용자에 의해 생성된 제1사용자공간을 제2사용자가 수정하고, 수정한 제1사용자공간을 다시 제1사용자에게 제공할 수 있다.10 is a flowchart of a method for forming a virtual space including the step of receiving or transmitting, by a server, generated data from a client device according to an embodiment of the present invention. Referring to FIG. 10 , the method for forming a virtual space according to an embodiment of the present invention further includes the step (S1300) of the server transmitting the second generated data to the first user client device. That is, the second user may modify the first user space created by the first user, and the modified first user space may be provided to the first user again.
또한, 일 실시예에서, 제1사용자만이 제1사용자공간에 접속하여 수정하는 경우에는, 제1사용자공간 내의 대상체 배치 위치의 변경정보 등의 정보를 실시간으로 서버에 전송하지 않고, 저장 시 제1생성데이터를 전송할 수 있으나, 제2사용자 등 복수의 사용자가 상기 제1사용자공간에 동시 접속하는 경우에는, 복수의 사용자 간 상기 제1사용자공간 동기화를 위하여 대상체 배치 위치 변경정보 등 제1사용자공간의 수정에 대한 정보를 실시간으로 서버에 전송하여 각 사용자 클라이언트에 전송할 수 있다.In addition, in one embodiment, when only the first user accesses and modifies the first user space, information such as change information of the arrangement position of the object in the first user space is not transmitted to the server in real time, but is stored at the time of storage. One generation data can be transmitted, but when a plurality of users, such as a second user, access the first user space at the same time, in order to synchronize the first user space among a plurality of users, the first user space, such as object arrangement location change information, etc. Information about the modification of the server can be transmitted to the server in real time and transmitted to each user client.
이상에서 전술한 본 발명의 일 실시예에 따른 가상공간 형성 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.The method for forming a virtual space according to an embodiment of the present invention described above may be implemented as a program (or application) and stored in a medium in order to be executed in combination with a computer, which is hardware.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in relation to an embodiment of the present invention may be implemented directly in hardware, as a software module executed by hardware, or by a combination thereof. A software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.As mentioned above, although embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing its technical spirit or essential features. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

Claims (13)

  1. 클라이언트 장치가, 구면좌표계 기반으로 가상의 대상체가 배치된 가상공간을 형성하는 방법에 있어서,A method for a client device to form a virtual space in which a virtual object is arranged based on a spherical coordinate system, the method comprising:
    제1사용자에 의해 하나 이상의 가상의 대상체가 배치되는 가상공간인 제1사용자공간을 생성 또는 실행하는 단계;generating or executing, by a first user, a first user space that is a virtual space in which one or more virtual objects are disposed;
    제1사용자 클라이언트 장치의 이동 또는 상기 제1사용자의 조작에 대응하여 상기 제1사용자에 의해 선택된 제1선택대상체의 위치 변경을 수행하되, 상기 위치 변경은 3차원 공간상의 상기 제1선택대상체의 배치 위치를 변경하는 것으로서, 기준좌표계 상의 제1위치를 원점으로 하는 제1구면좌표계에서 상기 제1위치로부터 특정한 거리의 구면상에서 이동되는 것인, 제1선택대상체 위치변경단계; 및A position change of the first selection object selected by the first user is performed in response to the movement of the first user client device or the manipulation of the first user, wherein the position change is the arrangement of the first selection object in a three-dimensional space a first selection object position changing step of changing a position, which is moved on a spherical surface at a specific distance from the first position in a first spherical coordinate system having a first position on the reference coordinate system as an origin; and
    상기 제1선택대상체에 대한 상기 제1사용자의 배치요청에 따라, 상기 제1선택대상체를 상기 제1사용자공간에 배치하는 단계;를 포함하고,arranging the first selection object in the first user space in response to the first user's request for placement of the first selection object;
    상기 기준좌표계는, 상기 제1사용자공간 생성 시점의 상기 제1사용자 클라이언트 장치의 배치 위치 또는 상기 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 제1사용자 위치인 기준위치를 원점으로 하는 구면좌표계 또는 공간좌표계를 포함하는 좌표계이고,The reference coordinate system is a spherical coordinate system or space having an origin of a first user position calculated from the arrangement position of the first user client device at the time of generating the first user space or a first user position calculated from the arrangement position of the first user client device. A coordinate system including a coordinate system,
    상기 제1위치는, 상기 제1선택대상체가 선택된 상태에서의 상기 제1사용자 클라이언트 장치의 배치 위치 또는 상기 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 제1사용자 위치인, 가상공간 형성 방법.The method of claim 1, wherein the first position is a first user position calculated from the arrangement position of the first user client device when the first selection object is selected or the arrangement position of the first user client device.
  2. 제1항에 있어서,According to claim 1,
    상기 제1선택대상체에 대한 상기 제1사용자의 복제요청에 따라, 상기 제1선택대상체의 선택은 유지하되 상기 제1선택대상체와 동일한 종류, 모양, 크기 또는 방향을 갖는 하나 이상의 복제대상체를 상기 제1사용자공간에 배치하는 단계;를 더 포함하는, 가상공간 형성 방법.In response to the first user's request for duplication of the first selection object, one or more replication objects having the same type, shape, size or direction as the first selection object are maintained while the selection of the first selection object is maintained. 1 The step of arranging in the user space; further comprising, a virtual space forming method.
  3. 제1항에 있어서,According to claim 1,
    상기 기준위치에 대한 상기 제1위치의 벡터값을 기초로, 배치된 상기 제1선택대상체의 제1구면좌표계에 대한 제1구면좌표정보를 상기 기준좌표계에 대한 제1기준좌표정보로 변환하는 단계;를 더 포함하는, 가상공간 형성 방법.converting first spherical coordinate information for a first spherical coordinate system of the disposed first selection object into first reference coordinate information for the reference coordinate system based on the vector value of the first position with respect to the reference position ; Virtual space forming method further comprising.
  4. 제1항에 있어서,According to claim 1,
    상기 제1사용자로부터 상기 제1위치와 상기 제1선택대상체 간의 거리에 대한 변경정보를 수신하고 적용하는 단계;를 더 포함하는, 가상공간 형성 방법.Receiving and applying change information on the distance between the first location and the first selection object from the first user; further comprising a method of forming a virtual space.
  5. 제1항에 있어서,According to claim 1,
    제1선택대상체 변경정보를 수신하고 적용하는 단계;를 더 포함하고,Receiving and applying the first selection object change information; further comprising,
    상기 제1선택대상체 변경정보는, 상기 제1사용자에 의한 상기 제1선택대상체의 모양, 크기 또는 회전에 관한 변경정보를 포함하는, 가상공간 형성 방법.The method for forming a virtual space, wherein the first selection object change information includes change information regarding the shape, size, or rotation of the first selection object by the first user.
  6. 제1항에 있어서,According to claim 1,
    상기 제1사용자공간은, 현실공간의 영상데이터를 수신하고 이에 대응하도록 생성된 가상공간을 포함하는, 가상공간 형성 방법.The first user space includes a virtual space generated to receive image data of a real space and correspond thereto.
  7. 제1항에 있어서,According to claim 1,
    상기 제1사용자공간에 배치된 하나 이상의 대상체의 대상체 정보 또는 배치 위치 정보를 포함하는 제1생성데이터를 서버로 전송하는 단계;를 더 포함하는, 가상공간 형성 방법.The method further comprising: transmitting first generation data including object information or arrangement location information of one or more objects arranged in the first user space to a server;
  8. 제7항에 있어서,8. The method of claim 7,
    상기 제1생성데이터는, 상기 제1사용자가 상기 제1사용자공간을 촬영한 썸네일 이미지 및 상기 썸네일 이미지 촬영 시점의 상기 제1사용자 클라이언트 장치의 배치 위치를 포함하고,The first generation data includes a thumbnail image in which the first user captured the first user space, and an arrangement position of the first user client device at the time of photographing the thumbnail image,
    상기 썸네일 이미지 촬영 시점의 상기 제1사용자 클라이언트 장치의 배치 위치는, 상기 제1사용자 또는 제2사용자가 상기 제1생성데이터를 수신하여 상기 제1사용자공간에 접속하는 경우의 제1사용자공간에서의 접속 위치로, 방향정보를 포함하는, 가상공간 형성 방법.The arrangement position of the first user client device at the time of capturing the thumbnail image is in the first user space when the first user or the second user receives the first generated data and accesses the first user space. A method of forming a virtual space, including direction information as a connection location.
  9. 서버가 제1사용자 클라이언트 장치로부터 제1사용자공간에 대한 제1생성데이터를 수신하는 단계; 및receiving, by the server, first generated data for the first user space from the first user client device; and
    서버가 상기 제1생성데이터를 제2사용자 클라이언트 장치에 전송하는 단계;를 포함하고,including; by the server, transmitting the first generated data to a second user client device;
    상기 제1사용자공간은, 상기 제1사용자에 의해 배치된 하나 이상의 가상의 대상체를 포함하는 가상공간이고,The first user space is a virtual space including one or more virtual objects arranged by the first user,
    상기 제1생성데이터는, 상기 제1사용자공간에 배치된 하나 이상의 대상체의 대상체 정보 또는 배치 위치 정보를 포함하고,The first generation data includes object information or arrangement location information of one or more objects arranged in the first user space,
    상기 제1사용자에 의해 배치된 대상체는, 상기 제1사용자 클라이언트 장치에 의해 상기 제1사용자 클라이언트 장치의 이동 또는 상기 제1사용자의 조작에 대응하여 상기 제1사용자에 의해 선택된 제1선택대상체의 위치가 변경되고, 상기 제1선택대상체에 대한 상기 제1사용자의 배치요청에 따라 상기 제1사용자공간에 배치되는 것을 특징으로 하고,The object placed by the first user may include a position of the first selection object selected by the first user in response to movement of the first user client device by the first user client device or manipulation of the first user is changed, characterized in that it is arranged in the first user space according to the arrangement request of the first user for the first selection object,
    상기 위치 변경은, 3차원 공간상의 상기 제1선택대상체의 배치 위치를 변경하는 것으로서, 기준좌표계 상의 제1위치를 원점으로 하는 제1구면좌표계에서 상기 제1위치로부터 특정한 거리의 구면상에서 이동되는 것이고,The position change is to change the arrangement position of the first selection object in a three-dimensional space, and is moved on a spherical surface at a specific distance from the first position in a first spherical coordinate system having the first position on the reference coordinate system as the origin. ,
    상기 기준좌표계는, 상기 제1사용자공간 생성 시점의 상기 제1사용자 클라이언트 장치의 배치 위치 또는 상기 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 제1사용자 위치인 기준위치를 원점으로 하는 구면좌표계 또는 공간좌표계를 포함하는 좌표계이고,The reference coordinate system is a spherical coordinate system or space having an origin of a first user position calculated from the arrangement position of the first user client device at the time of generating the first user space or a first user position calculated from the arrangement position of the first user client device. A coordinate system including a coordinate system,
    상기 제1위치는, 상기 제1선택대상체가 선택된 상태에서의 상기 제1사용자 클라이언트 장치의 배치 위치 또는 상기 제1사용자 클라이언트 장치의 배치 위치로부터 산출된 제1사용자 위치인, 가상공간 형성 방법.The method of claim 1, wherein the first position is a first user position calculated from the arrangement position of the first user client device when the first selection object is selected or the arrangement position of the first user client device.
  10. 제9항에 있어서,10. The method of claim 9,
    서버가 제2사용자 클라이언트 장치로부터 제2생성데이터를 수신하는 단계;를 더 포함하고,Further comprising; receiving, by the server, second generation data from the second user client device;
    상기 제2생성데이터는, 제2사용자에 의해 하나 이상의 대상체 배치가 변경된 상기 제1사용자공간의 생성데이터이고,The second generated data is generated data of the first user space in which the arrangement of one or more objects is changed by a second user,
    상기 제2사용자에 의해 배치가 변경된 대상체는, 상기 제2사용자 클라이언트 장치에 의해 상기 제2사용자 클라이언트 장치의 이동 또는 상기 제2사용자의 조작에 대응하여 상기 제2사용자에 의해 선택된 제2선택대상체의 위치가 변경되고, 상기 제2선택대상체에 대한 상기 제2사용자의 배치요청에 따라 상기 제1사용자공간에 배치되는 것을 특징으로 하고,The object whose arrangement has been changed by the second user is a second selection object selected by the second user in response to the movement of the second user client device by the second user client device or the manipulation of the second user by the second user client device. It is characterized in that the position is changed and arranged in the first user space according to the arrangement request of the second user for the second selection object,
    상기 위치 변경은, 3차원 공간상의 상기 제2선택대상체의 배치 위치를 변경하는 것으로서, 상기 기준좌표계 상의 제2위치를 원점으로 하는 제2구면좌표계에서 상기 제2위치로부터 특정한 거리의 구면상에서 이동되는 것이고,The position change is to change the arrangement position of the second selection object in three-dimensional space, and is moved on a spherical surface at a specific distance from the second position in a second spherical coordinate system having the second position on the reference coordinate system as the origin. will,
    상기 제2위치는, 상기 제2선택대상체가 선택된 상태에서의 상기 제2사용자 클라이언트 장치의 배치 위치 또는 상기 제2사용자 클라이언트 장치의 배치 위치로부터 산출된 제2사용자 위치인, 가상공간 형성 방법.The method of claim 1, wherein the second location is a location of the second user client device when the second selection object is selected or a second user location calculated from a location location of the second user client device.
  11. 제10항에 있어서,11. The method of claim 10,
    상기 기준위치에 대한 상기 제2위치의 벡터값을 기초로, 배치된 상기 제2선택대상체의 제2구면좌표계에 대한 제2구면좌표정보를 상기 기준좌표계에 대한 제2기준좌표정보로 변환하는 단계;를 더 포함하는, 가상공간 형성 방법.Converting second spherical coordinate information for a second spherical coordinate system of the second selected object disposed on the basis of the vector value of the second position with respect to the reference position into second reference coordinate information for the reference coordinate system ; Virtual space forming method further comprising.
  12. 제10항에 있어서,11. The method of claim 10,
    서버가 상기 제2생성데이터를 제1사용자 클라이언트 장치에 전송하는 단계;를 더 포함하는, 가상공간 형성 방법.The server transmitting the second generated data to the first user client device; further comprising, a virtual space forming method.
  13. 하드웨어인 컴퓨터와 결합되어, 제1항의 방법을 실행시키기 위하여 매체에 저장된, 가상공간 형성 프로그램.In combination with a computer that is hardware, the virtual space forming program stored in the medium to execute the method of claim 1.
PCT/KR2020/019057 2019-12-27 2020-12-24 Spherical coordinate system-based method and program for forming virtual space in which virtual object is arranged WO2021133079A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0176975 2019-12-27
KR1020190176975A KR102318698B1 (en) 2019-12-27 2019-12-27 Method and program for creating virtual space where virtual objects are arranged based on spherical coordinate system

Publications (1)

Publication Number Publication Date
WO2021133079A1 true WO2021133079A1 (en) 2021-07-01

Family

ID=76575657

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/019057 WO2021133079A1 (en) 2019-12-27 2020-12-24 Spherical coordinate system-based method and program for forming virtual space in which virtual object is arranged

Country Status (2)

Country Link
KR (2) KR102318698B1 (en)
WO (1) WO2021133079A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120017783A (en) * 2010-08-20 2012-02-29 한국과학기술원 Method and apparatus for presenting location information on augmented reality
KR20120087024A (en) * 2011-01-27 2012-08-06 주식회사 팬택 Apparatus for editing of augmented reality data
KR101659780B1 (en) * 2016-02-23 2016-09-27 (주)이지스 Method for Representing Global Spherical Space of 2 Dimentional Drawing data in GIS
KR20180051288A (en) * 2016-11-08 2018-05-16 삼성전자주식회사 Display apparatus and control method thereof
KR20190078474A (en) * 2017-12-26 2019-07-04 (주)스코넥엔터테인먼트 Head mounted display and virtual reality control system using the same
KR20190132666A (en) * 2017-03-28 2019-11-28 매직 립, 인코포레이티드 Augmented Reality System with Spatial Audio Bound to User-Managed Virtual Objects

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180210628A1 (en) * 2017-01-23 2018-07-26 Snap Inc. Three-dimensional interaction system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120017783A (en) * 2010-08-20 2012-02-29 한국과학기술원 Method and apparatus for presenting location information on augmented reality
KR20120087024A (en) * 2011-01-27 2012-08-06 주식회사 팬택 Apparatus for editing of augmented reality data
KR101659780B1 (en) * 2016-02-23 2016-09-27 (주)이지스 Method for Representing Global Spherical Space of 2 Dimentional Drawing data in GIS
KR20180051288A (en) * 2016-11-08 2018-05-16 삼성전자주식회사 Display apparatus and control method thereof
KR20190132666A (en) * 2017-03-28 2019-11-28 매직 립, 인코포레이티드 Augmented Reality System with Spatial Audio Bound to User-Managed Virtual Objects
KR20190078474A (en) * 2017-12-26 2019-07-04 (주)스코넥엔터테인먼트 Head mounted display and virtual reality control system using the same

Also Published As

Publication number Publication date
KR102318698B1 (en) 2021-10-28
KR20210084055A (en) 2021-07-07
KR20210131284A (en) 2021-11-02

Similar Documents

Publication Publication Date Title
WO2019124726A1 (en) Method and system for providing mixed reality service
WO2009102138A2 (en) Tabletop, mobile augmented reality system for personalization and cooperation, and interaction method using augmented reality
WO2013103275A1 (en) Method and apparatus for implementing multi-vision system by using multiple portable terminals
WO2011081371A1 (en) Password processing method and apparatus
WO2011031026A2 (en) 3d avatar service providing system and method using background image
WO2014098416A1 (en) Augmented reality system and control method thereof
WO2015064925A1 (en) Apparatus and method for inputting pattern, and recording medium using same
WO2019135634A1 (en) Method and apparatus to navigate a virtual content displayed by a virtual reality (vr) device
EP2291723A2 (en) System for controlling devices and information on network by using hand gestures
EP2864858A1 (en) Apparatus including a touch screen and screen change method thereof
WO2017159961A1 (en) Electronic device and control method therefor
WO2016186325A1 (en) Social network service system and method using image
WO2018074821A1 (en) User terminal apparatus and computer-implemented method for synchronizing movement path and movement time of camera by using touch user interface
WO2023128308A1 (en) Method for controlling user image data in metaverse-based office environment, storage medium having program executing same recorded thereon, and user image data control system comprising same
WO2015008932A1 (en) Digilog space creator for remote co-work in augmented reality and digilog space creation method using same
WO2018076454A1 (en) Data processing method and related device thereof
WO2021133079A1 (en) Spherical coordinate system-based method and program for forming virtual space in which virtual object is arranged
WO2021133081A1 (en) Method, apparatus, and program for providing user interface for arrangement of virtual object
WO2019216528A1 (en) Method for providing virtual exhibition space by using 2.5-dimensionalization
WO2024051633A1 (en) Scene angle-of-view adjustment method and device, terminal and storage medium
WO2016088922A1 (en) Method for providing interface using mobile device and wearable device
WO2012034469A1 (en) Gesture-based human-computer interaction method and system, and computer storage media
WO2023116801A1 (en) Particle effect rendering method and apparatus, device, and medium
WO2020050550A1 (en) Methods and systems for performing editing operations on media
WO2011081378A2 (en) Display device and control method thereof

Legal Events

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

Ref document number: 20907808

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20907808

Country of ref document: EP

Kind code of ref document: A1