KR101576643B1 - Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen - Google Patents
Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen Download PDFInfo
- Publication number
- KR101576643B1 KR101576643B1 KR1020140163604A KR20140163604A KR101576643B1 KR 101576643 B1 KR101576643 B1 KR 101576643B1 KR 1020140163604 A KR1020140163604 A KR 1020140163604A KR 20140163604 A KR20140163604 A KR 20140163604A KR 101576643 B1 KR101576643 B1 KR 101576643B1
- Authority
- KR
- South Korea
- Prior art keywords
- rotation angle
- value
- virtual space
- rotation
- motion
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
Abstract
Description
본 발명은 일인칭 시점으로 표시되는 화면상의 3차원 가상 공간을 모션 인식방식으로 제어하기 위한 방법 및 그 모션 인식 제어장치에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for controlling a three-dimensional virtual space on a screen displayed as a first person view by a motion recognition method and a motion recognition control apparatus thereof.
최근에는 개인용 컴퓨터 뿐만 아니라, 텔레비전 등에도 각종 프로그램 등이 설치되어 화면상에 커서(Cursor)와 같은 포인터(Pointer)를 표시하고 사용자 제어명령을 입력받는 제어장치(또는 입력장치)들이 개발되고 있다. 제어명령 입력을 위한 제어장치로 널리 사용되는 것이 마우스(Mouse), 리모컨(Remote Controller) 또는 조이스틱(Joy Stick) 이다. 최근에는 더 발전된 형태로 등장한 것이 모션인식 제어장치이다. 모션인식 제어장치는 각종 자세 인식을 위한 센서를 구비하고 모션 인식 알고리즘에 따라 사용자의 의도를 인식하게 된다. In recent years, a control device (or input device) has been developed not only for a personal computer but also for a television set, in which various programs are installed, a pointer such as a cursor is displayed on the screen, and a user control command is input. A mouse, a remote controller, or a joystick is widely used as a control device for inputting control commands. In recent years, motion recognition control devices have appeared in a more advanced form. The motion recognition control device has sensors for various posture recognition and recognizes the intention of the user according to the motion recognition algorithm.
모션 인식 제어장치는 그 사용의 편리성에 의하여 점점 그 사용이 늘어나는 추세이다. 다만, 상황에 따라서는 현실 세계에서의 모션을 그대로 반영하는 것이 적절하지 않고, 그 현실의 모션과 화면상에서의 제어 사이에 일정한 조정이 필요할 수 있다. 대표적으로, 소위 FPS(First-Person Shooter)라 불리는 일인칭 슈팅 시뮬레이션 게임이 그러하다. The motion recognition control device is increasingly in use due to its ease of use. However, depending on the situation, it is not appropriate to reflect the motion in the real world as it is, and it may be necessary to make a certain adjustment between the actual motion and the control on the screen. Typically, this is a first-person shooting simulation game called First-Person Shooter (FPS).
일인칭 슈팅 시뮬레이션 게임은 화면에 일인칭 시점의 2.5차원 내지 3차원 가상 공간을 화면에 표시한다. 나아가, 제어의 기준이 되는 포인터는 항상 화면의 중심에 표시된다. 마우스 등으로 화면을 움직이면 가상의 3차원 공간이 움직일 뿐, 일인칭 시점의 기준이 되는 포인터는 항상 화면의 중심에 고정되어 있다. The first-person shooting simulation game displays 2.5-dimensional or 3-dimensional virtual space of first-person view on the screen on the screen. Furthermore, a pointer serving as a reference of control is always displayed at the center of the screen. When you move the screen with a mouse, the virtual three-dimensional space moves, and the pointer that is the reference of the first person view is always fixed to the center of the screen.
모션 인식 제어의 여러가지 한계 때문에 여전히 마우스가 일인칭 게임의 제어를 위한 제어장치로 널리 사용된다. 이때, 마우스는 단순히 제어명령을 입력하는 기능 이외에 다른 역할을 하지 못하는데 반해, 모션인식 제어장치는 화면 상의 가상 공간을 현실 공간으로 연장시키는 효과가 있기 때문에 게임자의 몰입도도 높아지고 게임이 더 재미 있어진다. Due to the various limitations of motion recognition control, the mouse is still widely used as a control device for the control of first-person games. At this time, while the mouse does not play a role other than simply inputting the control command, since the motion recognition control device has the effect of extending the virtual space on the screen to the real space, the game player becomes more immersed and the game becomes more interesting .
모션인식 제어장치의 제약은 현실의 실제 3차원 공간과 평면 상에 구현된 가상 공간이 불일치할 수 있다는 점이다. 도 1을 예로 들어 이러한 상황을 설명한다. The limitation of the motion recognition control device is that the actual three-dimensional space of reality and the virtual space implemented on the plane may be inconsistent. This situation will be explained by taking Fig. 1 as an example.
도 1은 모션인식 제어장치를 이용하여 일인칭 가상 공간의 제어하는 상황을 개략적으로 도시한 도면이다. 화면(10) 상에 일인칭 3차원 가상 공간(10a)이 표시되어 있다. 게임자가 화면(10)의 가상 공간(10a)을 모션 제어로 180°이상 회전시키기 위해서는 게임자 또는 제어장치(20)의 자세가 가상공간의 회전각도에 근접하게 회전해야 한다. 문제는 게임자가 180°가까이 회전하여 가상 공간(10a)을 180°이상 회전시킬 수는 있어도, 실제의 화면(10)이 게임자의 후방으로 옮겨오지는 않고 여전히 전방에 위치한다는 점이다. 게임자는 후방을 향하고 있고, 화면(10)은 여전히 전방에 위치해 있는 상황이 벌어지는 것이다. 가상 공간(10a)의 회전 후에 즉각적인 2차 제어를 하고자 하는 경우에 이러한 상황은 불편할 수 밖에 없다. 나아가, 제어장치(20)가 화면(10)을 향하도록 움직이면, 새로운 모션 제어가 형성되어 화면(10) 속의 가상공간(10a)은 반대 방향으로 움직이게 된다. 1 is a view schematically showing a situation of controlling a first-person virtual space using a motion recognition control apparatus. A first-person three-dimensional
모션인식에서, 통상 가상공간의 회전 속도는 제어장치 모션의 각속도에 의해 비례하게 결정되므로, 제어장치를 빠르게 움직이면 가상 공간이 빠르게 회전하게 된다. 그렇더라도, 회전에 따라 게임자나 제어장치가 화면으로부터 이격되는 상황은 여전히 발생한다. In motion recognition, the rotation speed of the virtual space is usually determined proportionally to the angular speed of the control device motion, so that if the control device is moved quickly, the virtual space rotates rapidly. Even so, the situation in which the player or the control device is spaced from the screen according to the rotation still occurs.
본 발명이 주목하는 이러한 문제점이 해결되어야 모션인식 방식에 의한 일인칭 슈팅 게임를 포함하는 일인칭 가상 공간의 모션 제어가 원할해 질 수 있다.
The motion control of the first-person virtual space including the first-person shooter game by the motion recognition method may be desired.
[관련선행기술][Related Prior Art]
대한민국 국내공개특허 제10-2007-0001292호(2007.01.04 공개)
Korean Patent Laid-Open No. 10-2007-0001292 (published on January 4, 2007)
본 발명의 목적은, 일인칭 시점으로 표시되는 화면상의 3차원 가상 공간을 모션 인식방식으로 제어하기 위한 방법 및 그 모션 인식 제어장치를 제공함에 있다.
SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and a device for controlling a three-dimensional virtual space on a screen displayed as a first person view by a motion recognition method.
상기 목적을 달성하기 위하여 제시되는 본 발명의 제어장치는, 화면상에 일인칭 3차원 가상 공간을 표시하는 컴퓨터와 연결되며 상기 가상 공간을 회전시키는 회전값을 생성하는 컴퓨터에게 제공할 수 있다. 제어장치는 센서부, 모션인식부 및 회전값생성부블 포함한다. In order to achieve the above object, the present invention provides a control device connected to a computer displaying a first-person three-dimensional virtual space on a screen and providing a computer for generating a rotation value for rotating the virtual space. The control device includes a sensor unit, a motion recognition unit, and a rotation value generation bubble.
이러한 제어장치의 제어방법은, 상기 제어장치의 모션인식부가 센서부를 이용하여 모션(Motion)을 인식하여 상기 모션에 따른 각속도와 상대 회전각도를 계산하되, 상기 상대 회전각도는 기 설정된 기준 자세로부터 상기 모션에 따른 자세 사이의 3차원 회전각도인 단계; 상기 제어장치의 회전값생성부가 상기 모션에 따른 상기 회전값을 상기 모션인식부가 제공하는 각속도에 비례하여 생성하는 단계; 및 상기 회전값생성부가 상기 회전값을 상기 컴퓨터로 제공하여 상기 가상 공간이 상기 회전값에 따라 회전하도록 하는 단계를 포함한다. In the control method of the control device, the motion recognition unit of the control device recognizes motion using the sensor unit, and calculates an angular velocity and a relative rotation angle according to the motion, A three-dimensional rotation angle between the postures according to the motion; Wherein the rotation value generator of the control device generates the rotation value according to the motion in proportion to the angular velocity provided by the motion recognition unit; And causing the rotation value generator to provide the rotation value to the computer so that the virtual space rotates according to the rotation value.
여기서, 상기 상대 회전각도가 연속적으로 증가되는 경우에 상기 회전값을 생성하는 단계는, 상기 각속도에 상기 상대 회전각도와 각속도의 곱에 해당하는 제1 가중치를 더하여 상기 회전값을 계산함으로써 상기 모션보다 상기 가상공간의 회전 속도가 빠르도록 할 수 있다. Here, the step of generating the rotation value when the relative rotation angle is continuously increased may include calculating a rotation value by adding a first weight corresponding to the product of the relative rotation angle and the angular velocity to the angular velocity, The rotation speed of the virtual space can be made fast.
한편, 상기 회전값을 생성하는 단계는 상기 회전값의 최대치를 설정하고, 상기 제1 가중치에 따른 상기 회전값의 상한을 상기 최대치로 설정할 수 있다.The step of generating the rotation value may set a maximum value of the rotation value and set the upper limit of the rotation value according to the first weight to the maximum value.
다른 실시 예에 따라, 상기 상대 회전각도가 상기 기준자세를 향해 연속적으로 감소되는 경우에 상기 회전값을 생성하는 단계는, 상기 각속도에서 상기 상대 회전각도에 비례하는 제2 가중치를 뺀 다음 상기 회전값을 계산함으로써 상기 모션의 변화보다 상기 가상공간의 회전 속도가 느리게 할 수 있다. 다만, 상기 상대 회전각도가 기 설정된 '제한 각도' 이내에 있을 경우에는 상기 제2 가중치를 적용하지 않을 수 있다. According to another embodiment, the step of generating the rotation value when the relative rotation angle is continuously reduced toward the reference posture may include subtracting a second weighting proportional to the relative rotation angle from the angular velocity, The rotation speed of the virtual space can be made slower than the change of the motion. However, when the relative rotation angle is within the preset 'restricted angle', the second weight may not be applied.
실시 예에 따라, 본 발명의 제어방법은, 상기 제어장치의 기준자세설정부가 사용자의 기준자세 설정명령에 따라 상기 모션인식부로부터 현재 자세 정보를 제공받아 상기 기준 자세를 설정하는 단계를 더 포함하여 기준 자세를 변경할 수 있다. According to the embodiment, the control method of the present invention may further include the step of setting the reference posture by receiving the current posture information from the motion recognition unit according to the reference posture setting instruction of the user, The reference posture can be changed.
또 다른 실시 예에 따른 상기 제어방법은, 상기 회전값생성부가 상기 상대 회전각도가 계속 커지다가 멈추는 모션이 연속된 횟수를 카운팅하되, 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에는 상기 카운팅을 초기화하는 단계; 및 상기 회전값생성부가 상기 카운팅 횟수가 기준 횟수 이상이 되는지 여부를 판단하는 단계를 더 포함할 수 있다. 이에 따라, 상기 기준 횟수 이상 카운팅 된 이후에 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에, 상기 회전값을 생성하는 단계에서 상기 제2 가중치에 기 설정된 값을 더함으로써 더 큰 가중치를 적용할 수 있다. In the control method according to another embodiment of the present invention, the rotation value generating unit counts the number of consecutive motions in which the relative rotation angle continues to increase and then stops, and when there is a motion in which the relative rotation angle continuously decreases, ; And the rotation value generator may further include determining whether the number of counts is equal to or greater than a reference number. Accordingly, when there is a motion in which the relative rotation angle continuously decreases after counting the reference number of times, a larger weight is applied by adding the predetermined value to the second weight in the step of generating the rotation value can do.
또한, 본 발명의 제어방법은, 상기 제어장치의 기준자세설정부가 기 설정된 시간 동안 상기 모션인식부가 제공하는 상대-회전각도가 상기 기준 자세로부터 특정 방향으로 이격되어 분포된 경우에, 상기 기준 자세를 상기 특정 방향의 반대 방향으로 이동시키는 단계를 더 포함할 수 있다. Further, in the control method of the present invention, when the relative-rotation angle provided by the motion recognition unit is distributed in a specific direction away from the reference posture for a predetermined time, The method may further include the step of moving in a direction opposite to the specific direction.
본 발명의 제어장치는 화면에 표시되는 일인칭 가상공간을 회전하고자 하는 경우에 스스로의 모션을 인식하고 그 모션에 대응하는 회전값을 생성하여컴퓨터 등에게 제공함으로써 회전값에 따라 가상 공간을 회전시킬 수 있다. The controller of the present invention recognizes its own motion in the case of rotating the first-person virtual space displayed on the screen, generates a rotation value corresponding to the motion, and provides the rotation value to a computer or the like to rotate the virtual space according to the rotation value have.
본 발명에서는 회전값을 기본적으로 각속도에 비례하도록 설정하면서도, 회전각도에 비례하는 가중치를 더함으로써 제어장치의 모션에 비하여 가상 공간이 빠르게 회전하도록 하거나, 가중치를 빼는 방법으로 모션에 비하여 가상 공간이 적게 회전하도록 할 수 있다. 이를 통해, 모션인식을 통해 일인칭 가상 공간을 회전시키는 과정에서, 현실의 실제 3차원 공간과 평면 상에 구현된 가상 공간의 불일치로부터 발생하는 문제를 해결할 수 있다. In the present invention, by setting the rotation value to be basically proportional to the angular velocity, by adding a weight proportional to the rotation angle, the virtual space is rotated faster than the motion of the control device, or the virtual space is less It can be rotated. Thus, in the process of rotating the first-person virtual space through motion recognition, it is possible to solve the problems arising from the discrepancy between the actual three-dimensional space and the virtual space implemented on the plane.
나아가, 본 발명의 제어장치는 반복적인 모션 제어의 과정에서 기 설정된 기준 자세와 제어장치의 자세 사이에 오차가 발생하는 경우에 그 오차를 수정하여, 제어장치가 화면의 중심에서 가상 공간을 제어할 수 있도록 한다.
In addition, the control apparatus of the present invention corrects the error when an error occurs between the reference posture and the posture of the control apparatus in the process of repetitive motion control, and the control apparatus controls the virtual space at the center of the screen .
도 1은 종래의 모션인식 제어장치를 이용한 일인칭 가상 공간의 제어 상황을 개략적으로 도시한 도면,
도 2는 본 발명의 모션 인식 제어장치의 블록도,
도 3은 본 발명의 모션 제어 방법의 설명에 제공되는 도면, 그리고
도 4는 본 발명의 모션 제어방법의 설명에 제공되는 흐름도이다. 1 is a view schematically showing a control situation of a first-person virtual space using a conventional motion recognition control apparatus,
2 is a block diagram of a motion recognition control apparatus of the present invention;
FIG. 3 is a diagram provided in the description of the motion control method of the present invention, and
4 is a flowchart provided in the description of the motion control method of the present invention.
이하 도면을 참조하여 본 발명을 더욱 상세히 설명한다.BEST MODE FOR CARRYING OUT THE INVENTION The present invention will be described in more detail with reference to the drawings.
도 2를 참조하면, 본 발명의 모션 인식 제어장치(200)는 센서부(210), 모션인식부(230), 기준자세설정부(250) 및 회전값생성부(270)를 포함하며, 유선 또는 무선 네트워크를 통해 컴퓨터 등(30)에 연결된다.2, the motion
컴퓨터 등(30)은 가상공간 표시부(31)가 설치된 장치로서, 컴퓨터, 노트북, 텔레비젼, 휴대 전화기 등이 컴퓨터 등(30)에 해당할 수 있다. The
가상공간 표시부(31)는 컴퓨터 등(30)에 연결된 모니터(40)의 화면(10) 상에 일인칭 3차원 가상 공간을 표시하고 제어장치(200)가 제공하는 '회전값'에 따라 그 가상 공간을 회전시킬 수 있다. 가상공간 표시부(31)는 컴퓨터 등(30)이 기본적으로 보유하는 하드웨어인 프로세서 칩(Processor Chip)과, 그 칩에 기반하여 동작하는 운영체제 프로그램(OS: Operating System) 및 가상공간 표시를 위한 어플리케이션(Application, 소프트웨어)으로 구현되는 구성을 기능적으로 지시한 것일 수 있다. 일인칭 슈팅 시뮬레이션 게임은 그러한 어플리케이션의 일 예이다. The virtual
제어장치(200)와 컴퓨터 등(30) 사이의 연결은 블루투스(Bluetooth), 무선랜(Wireless LAN) 등과 같은 무선 네트워크 뿐만 아니라 각종 유선 인터페이스도 가능하다. 예컨대, 일인칭 슈팅 시뮬레이션 게임은 기본적으로 마우스(Mouse) 입력에 의해 제어되므로, 가상공간 표시부(31)가 일인칭 슈팅 시뮬레이션 게임을 표시하는 경우, 제어장치(200)는 무선/유선 유에스비(USB) 인터페이스를 가지는 것이 바람직하며, 컴퓨터 등(30)은 제어장치(200)를 마우스로 인식할 수 있다. The connection between the
모션인식부(230)는 센서부(210)를 이용하여 제어장치(200)의 자세를 인식하고, 현재 모션의 각속도와 '상대 회전 각도'를 계산한다. The
여기서, 상대 회전 각도는 기 설정된 기준 자세로부터 모션에 따라 변경된 현재 자세의 회전 각도이다. 회전 각도는 3차원 공간에서의 자세 변화를 표시하기 위한 것으로서, 대표적으로 오일러 각(Euler angle) 등이 사용된다. 경우에 따라, 피칭(Pitching) 각, 롤링(Rolling) 각, 요잉(Yawing) 각으로 표시되기도 한다. 따라서 회전 각도는 하나의 가상 평면 상에서의 회전 각도일 수도 있으나, 통상은 3차원 공간 내에서의 회전 각도를 의미한다. 이하에서는 회전각도를 '오일러 각'으로 설명한다. 따라서 상대 회전 각도는 기준 자세에서의 회전 각도와 현재 회전 각도의 차이가 된다. Here, the relative rotation angle is a rotation angle of the current posture changed according to the motion from the predetermined reference posture. The rotation angle is used to represent the change in the posture in the three-dimensional space, and typically an Euler angle or the like is used. In some cases, a pitching angle, a rolling angle, and a yawing angle may be displayed. Therefore, the rotation angle may be a rotation angle on one virtual plane, but usually means a rotation angle in a three-dimensional space. Hereinafter, the rotation angle is described as an 'Euler angle'. Therefore, the relative rotation angle is the difference between the rotation angle in the standard position and the current rotation angle.
기준 자세는 기 설정된 고정된 값을 사용할 수도 있고, 아래에서 설명하는 기준자세설정부(250)를 통해 설정할 수도 있다. The reference posture may be a predetermined fixed value or may be set through the reference
제어장치(200)의 자세에는 전진/후진과 같은 이동과, 피칭/롤링/요잉과 같은 회전, 그리고 이들이 결합된 동작 등을 포함하는 모든 동작이 해당한다. 당연히 본 발명의 제어장치(200) 또는 모션인식부(230)는 이러한 대부분의 자세 또는 모션을 인식할 수 있다. 다만, 본 발명은 그 중에서도 특별히 회전 동작에 관한 것으로서, 다른 모션의 인식에 대하여는 설명을 생략하고, 회전 동작을 중심으로 설명된다. 따라서 모션인식부(230)는 제어장치(200)의 회전 동작을 인식하고, 회전에 따른 각속도와 기준자세로부터의 3차원 공간상에서의 상대 회전각도를 인식한다. The posture of the
우선, 센서부(210)는 모션인식에 필요한 센서를 구비하여 제어장치(200)의 자세(Position) 정보를 획득한다. 모션인식에 널리 사용되는 센서에는 자이로 센서(Gyroscope), 지자기 센서(Geo-Magnetic Sensor) 및 가속도 센서 등이 사용되며, 센서부(210)도 자이로 센서(211), 지자기 센서(213) 및 가속도 센서(215)를 구비한다. 자이로 센서(211)는 한 축 또는 여러 축의 회전 움직임의 각 변화량을 측정하고, 지자기 센서(213)는 지자계를 이용하여 자성체의 절대적인 방향을 측정하기 위해 사용된다. 가속도 센서(215)는 선형 가속도와 기울임 각도를 측정한다. First, the
모션인식부(230)는 (1) 우선, 센서부(210)의 자이로 센서(211), 지자기 센서(213) 및 가속도 센서(215)가 제공하는 센싱 값을 기초로 제어장치(200)의 각속도와 현재 자세를 계산한 다음, (2) 기준 자세와 현재 자세 사이의 상대 회전 각도를 계산한다. The
기준자세설정부(250)는, 사용자로부터 기준자세 설정에 관한 제어명령(즉, '기준자세 설정명령')이 있는 경우에, 모션인식부(230)가 제공하는 제어장치(200)의 현재 자세 정보를 기준 위치로 설정한다. 기준자세는 아래에서 설명되는 회전값 계산의 기준이 되는 현재 제어장치(200)의 자세 정보로서, 예컨대 오일러 각과 각속도의 형태로 저장된다. '기준자세 설정명령'은 별도의 버튼(미도시), 또는 기타 다른 입력수단 등을 통해 사용자로부터 직접 입력받을 수 있다. The reference
한편, 본 발명의 제어장치(200)는, 아래에서 다시 설명되는 것처럼, 두 개의 모드(Mode) 상에서 동작할 수 있다. 하나의 일반 모드이고, 다른 하나는 스크롤 모드이다. 사용자는 일반 모드와 스크롤 모드 사이를 전환하는 '모드 전환 제어명령'을 버튼 조작 등으로 입력할 수 있다. 이하에서의 설명은 특별한 언급이 없는 한 '스크롤 모드'에서의 설명이다.On the other hand, the
이러한 경우, 기준자세설정부(250)는 일반 모드에서 스크롤 모드로 전환을 요청하는 '모드 전환 제어명령'이 있으면 '기준자세 설정명령'이 있는 것으로 판단하고, 모션인식부(230)가 제공하는 제어장치(200)의 현재 자세 정보를 기준 위치를 설정할 수 있다. In this case, the reference
앞서 설명한 바와 같이, 기준자세는 고정된 값을 사용할 수 있으므로, 기준자세설정부(250)가 본 발명의 필수 구성요소는 아니다. 기준자세로 고정된 값을 사용하는 경우는 제어장치(200)의 한 포인트를 특정한 위치에 피칭/롤링/요잉 가능하게 고정시킨 경우에 적용할 수 있을 것이다. As described above, since the reference posture can use a fixed value, the reference
회전값생성부(270)는 모션인식부(230)가 제공하는 각속도와 상대 회전 각도를 기초로 컴퓨터 등(30)에 표시된 가상 공간을 회전시키기 위한 회전값을 생성하고, 생성한 회전값을 컴퓨터 등(30)에게 제공한다. 회전값은 가상 공간의 회전을 위해 컴퓨터 등(30)과 제어장치(200) 사이에 약속된 포맷에 따른 값이다. 컴퓨터 등(30)과 유에스비 인터페이스로 연결될 경우, 회전값은 통상의 컴퓨터 입력장치인 마우스(Mouse)의 출력 포맷과 동일하게 설정될 수 있다.The rotation
회전값이 마우스 출력 포맷인 경우, 회전값은 방향정보와 이동 크기 정보를 포함하게 되고, 회전값생성부(270)는 기 설정된 시간(예컨대 10㎳) 간격으로 회전값을 컴퓨터 등(30)에게 제공하게 된다. 따라서 컴퓨터 등(30)은 회전값에 따라 가상 공간을 회전시키게 된다. If the rotation value is a mouse output format, the rotation value includes the direction information and the movement size information, and the
회전값은 기본적으로 각속도에 비례한 값으로 결정된다. 이하에서는 구분을 위하여, 각속도에만 비례하는 회전값을 '기본 회전값'이라 한다. 위에서 설명한 일반모드나 종래기술에서 회전값은 단순히 각속도에만 비례하는 기본 회전값이다. 이에 따라 제어장치(200)의 모션이 빠르면 가상화면의 회전도 빨라지고 모션이 느리면 그만큼 가상화면의 회전도 느려진다. 다만, 이러한 상황에서는 회전동작과 가상화면의 회전이 비례적인 관계에 있으므로, 예컨대, 제어장치(200)가 빠른 동작으로 회전하여 가상 공간이 180°회전한 경우에, 제어장치(200)도 적어도 90°이상 회전하게 되어 화면을 벗어난 상태에 있을 수 밖에 없어서 사용자의 시야에서 화면이 멀어지는 일이 발생한다. The rotation value is determined basically as a value proportional to the angular velocity. In the following description, the rotation value proportional to the angular velocity is referred to as a 'basic rotation value'. In the above-described general mode or prior art, the rotation value is simply a basic rotation value proportional to the angular velocity. Accordingly, if the motion of the
본 발명에서는 제어장치(200)의 모션에 따라 가중치를 더하거나 빼는 방법으로 회전값을 결정한다. 이러한 가중치 제어를 통해, 본 발명의 제어장치(200)는 종래기술에서 설명한 현실 공간과 화면 상의 공간이 불일치 상황을 해결할 수 있다. In the present invention, the rotation value is determined by adding or subtracting weights according to the motion of the
이하에서는 도 4를 참조하여, 제어장치(200)의 모션제어 동작을 설명한다. Hereinafter, the motion control operation of the
<기준자세 설정: S401>≪ Standard posture setting: S401 >
앞의 예에서처럼, 기준자세설정부(250)는 사용자로부터 '기준자세 설정명령'이 있으면, 그때 모션인식부(230)가 제공하는 제어장치(200)의 자세를 기준자세로 설정한다. 따라서, 모션인식부(230)가 오일러 각을 제공하는 경우, 그 오일러 각을 기준자세로 설정한다. As described above, the reference
<모션 인식에 따른 상대 회전각도 계산: S403, S405><Relative Rotation Angle Calculation According to Motion Recognition: S403, S405>
기준자세 설정 이후에, 모션인식부(230)는 센싱부(210)의 센싱 값이 변경되면 제어장치(200)의 모션이 있는 것으로 인식하고(S403), 그 모션에 따른 상대 회전각도를 계산한다(S405). After the reference position is set, the
앞서 설명한 것처럼, 상대 회전각도는 현재 자세와 기준 자세의 차이가 되며, 상대 회전 각도의 계산 방법은 기하학적 기법에 따라 구할 수 있다. As described above, the relative rotation angle is the difference between the current posture and the reference posture, and the calculation method of the relative rotation angle can be obtained by a geometric technique.
<회전값의 계산: S407><Calculation of rotation value: S407>
회전값은 기본적으로 각속도에 비례하는 값으로 구한다. 이에 대하여 다음의 상황에 따라 가중치를 적용함으로써, 제어장치(200)의 회전에 대하여 가상공간(10a)을 더 많이 회전시키거나 더 적게 회전시킨다. The rotation value is basically obtained by a value proportional to the angular velocity. On the contrary, by applying the weight according to the following situation, the
- 1. 모션에 따라 상대 회전각도가 계속 커지는 경우- 1. If the relative rotation angle continues to increase depending on the motion
회전값생성부(270)는, 모션인식부(230)가 제공하는 상대 회전각도가 계속 커지는 경우에, 각속도(기본 회전값 결정)에 제1 가중치를 더한 값을 사용하여 회전값을 계산한다. 이때, 상대 회전각도의 계산은 당연히 그 방향에 따라 계산되어야 하지만, 상대 회전각도가 커지기만 한다면 그 방향에 관계없이 제1 가중치를 적용한다. The
다시 말해, 모션인식부(230)가 제공하는 상대 회전각도가 계속 커지는 경우에, 회전값은 다음의 수학식 1과 같이 각속도와 제1 가중치의 합에 비례한다. In other words, when the relative rotation angle provided by the
이렇게 보정된 회전값에 의하면, 제어장치(200)의 상대 회전 각도가 커지는 속도보다 가상 공간(10a)의 회전이 더 빨라지게 되어 조금만 움직여도 가상 공간(10a)은 많이 회전한다. According to the corrected rotation value, the rotation of the
제1 가중치는 상대 회전각도에 비례한다. 실시 예에 따라, 회전값생성부(270)는 다음의 수학식 2와 같이 제1 가중치를 구할 수 있다. The first weight is proportional to the relative rotation angle. According to the embodiment, the
여기서, 감도는 3, 5, 7과 같은 임의 설정된 상수이다. 수학식 2에 의하면, 제1 가중치는 상대 회전각도와 각속도의 곱에 비례함과 동시에 감도에 반비례한다. 따라서, 모션인식부(230)가 제공하는 상대 회전각도가 계속 커지는 경우, 가상 공간(10a)의 회전 속도는 상대 회전각도가 커질수록, 모션의 움직임이 빠를수록 가상 공간(10a)의 회전이 더 빨라진다.
Here, the sensitivity is a predetermined constant such as 3, 5, or 7. According to Equation (2), the first weight is proportional to the product of the relative rotation angle and the angular velocity, and is inversely proportional to the sensitivity. Therefore, when the relative rotation angle provided by the
- 2. 모션에 따라 상대 회전각도가 계속 작아지는 경우- 2. When the relative rotation angle keeps decreasing with motion
상대 회전각도가 계속 작아지는 모션은 제어장치(200)가 기본자세로 되돌아오는 상황이다. 예컨대, 사용자가 가상 공간(10a)을 회전시키기 위해 제어장치(200)를 기본 자세로부터 회전시켜 상대 회전각도가 계속 커지는 모션을 한 경우에, 제어장치(200)는 화면(10)의 중심으로부터 어느 정도 이격된 상태에 있다. 화면(10)은 화면(10)의 중심에 중심점이 있는 일인칭 가상공간(10a)을 표시하고 있다. 2차 제어를 위해서, 제어장치(200)는 화면(10)의 중심을 향하도록 다시 옮겨져야 한다. 또한, 사용자는 본능적으로 제어장치(200)를 화면(10)의 중심을 향하도록 재배치한다. 이때, 상대 회전각도는 기준 자세를 향하여 계속 작아진다. The motion in which the relative rotation angle continues to be reduced is a state in which the
회전값생성부(270)는, 모션에 따라 상대 회전각도가 계속 작아지는 경우에, 각속도(기본 회전값 결정)에 제2 가중치를 뺀 값을 사용하여 다음의 수학식 3과 같이 회전값을 계산한다. 이때, 상대 회전각도의 계산은 당연히 그 방향에 따라 계산되어야 하지만, 상대 회전각도가 작아지기만 한다면 그 방향에 관계없이 제2 가중치를 적용한다.The rotation
수학식 3에 의하면, 모션인식부(230)가 제공하는 상대 회전각도가 계속 작아지는 경우에, 회전값은 각속도와 제2 가중치의 차에 비례한다. 여기서, 제2 가중치는 상대 회전각도에 해당하는 비례하는 값으로 결정할 수 있으며, 예를 들어 수학식 2와 동일한 방법으로 구할 수 있다. According to Equation (3), when the relative rotation angle provided by the
실시 예에 따라, 모션에 따라 상대 회전각도가 계속 작아지는 경우에 회전값의 조정에는 한계를 두는 것이 바람직하다. According to the embodiment, it is preferable to limit the adjustment of the rotation value when the relative rotation angle is continuously decreased according to the motion.
첫 번째는, 상대 회전각도가 기 설정된 '제한 각도' 이내에 있을 경우에는 제2 가중치를 적용하지 않는 것이다. 여기서, 제한 각도는 기본 회전값을 적용하여 통상의 제어를 수행해야 하는 영역이다. 예를 들면, 도 3과 같이, 화면(10)의 중심을 지나는 수직선(a) 상에 제어장치(200)의 기본 자세가 설정되었다고 가정할 경우, 제어장치(200)의 회전 중심(c)과 화면의 일 측면을 연장한 선(b)과 수직선(a)과 사이의 각도 정도(d)를 제한 각도로 설정할 수 있다. 이를 통해, 제한 각도 내에서는 제2 가중치 적용없이 기본 회전값으로 가상 공간(10a)이 회전하게 할 수 있다. The first is that the second weight is not applied when the relative rotation angle is within the predetermined 'limit angle'. Here, the limiting angle is an area in which normal control should be performed by applying the basic rotation value. For example, assuming that the basic posture of the
이 경우, 수학식 2의 제2 가중치는 예컨대 다음의 수학식 4와 같이 조정될 수 있다. In this case, the second weight of Equation (2) can be adjusted, for example, by the following Equation (4).
두 번째는, 제2 가중치를 적용하더라도 최소 회전값을 설정하는 것이다. 가중치가 '0'인 회전값, 즉 기본 회전값을 100% 라고 할 때, 상대-회전각도가 크면 제2 가중치도 커져서, 회전값은 기본 회전값의 70% 또는 60%가 될 수 있다. 다만, 회전값이 너무 작으면 가상 공간(10a)의 회전을 느낄 수 없으므로, 일정한 제한을 두는 것이 바람직하다. 따라서, 모션에 따라 상대 회전각도가 계속 작아지는 경우라도, 회전값은 기준 회전값(100%)을 기준으로 기 설정된 최소 회전값(예컨대, 60%) 이하로 떨어지지 않도록 한계를 둔다. The second is to set the minimum rotation value even if the second weight is applied. If the rotation value having a weight of '0', that is, the basic rotation value is assumed to be 100%, if the relative rotation angle is large, the second weighting degree also becomes large, and the rotation value can be 70% or 60% of the basic rotation value. However, if the rotation value is too small, rotation of the
도 3을 참조하여, 수학식 4의 예에서 감도를 1로 하고, 위 두 번째 조건까지 적용하면서 제한각도를 20°, 최소 회전값을 60%로 가정하고, 상대 회전각도가 90°에서 점점 줄어들는 경우를 가정해보자. 상대 회전각도가 90°인 경우, 회전값은 70%로 계산되지 않고 최소 회전값이 적용되어 60%가 되며 상대 회전각도가 60°가 될 때까지 회전값은 60%가 된다. 그리고, 상대 회전각도가 30°가 되면, 회전값은 90%로 회복된다. 상대 회전각도가 20°가 되면, 회전값은 100%로 회복되어 기준 회전값이 된다. Referring to FIG. 3, in the example of the formula (4), assuming that the sensitivity is 1, the limiting angle is 20 ° and the minimum rotation value is 60% while applying the above second condition, and the relative rotation angle is gradually decreasing at 90 ° Let's assume the case. When the relative rotation angle is 90 °, the rotation value is not calculated as 70%, the minimum rotation value is applied to 60%, and the rotation value is 60% until the relative rotation angle is 60 °. And, when the relative rotation angle becomes 30 degrees, the rotation value is restored to 90%. When the relative rotation angle is 20 °, the rotation value is restored to 100% and becomes the reference rotation value.
이렇게 보정된 회전값에 의하면, 제어장치(200)의 상대 회전 각도가 작아지는 속도보다 가상 공간(10a)의 회전이 더 작아서, 많이 움직여도 가상 공간(10a)은 조금만 회전한다. 제어장치(200)가 가상 공간(10a)의 회전을 줄이면서 빠르게 화면(10)의 중앙으로 복귀할 수 있다. According to the thus corrected rotation value, the rotation of the
- 3. 모션에 따라 상대 회전각도가 계속 작아지는 다른 실시 예- 3. Another embodiment in which the relative rotation angle is continuously decreased according to the motion
다른 실시 예에 따라, 제어장치(200)가 상대 회전각도가 계속 커지다가 멈추는 모션을 연속적으로 반복한 후에, 상대 회전각도를 줄이는 모션을 하는 경우에 위 2.의 예에서 적용한 제2 가중치보다 더 큰 가중치를 적용할 수 있다. 당연히, 제2 가중치는 그대로 적용되면서 추가적인 가중치가 적용되는 것이다. According to another embodiment, in the case where the
예를 들어, 사용자가 제어장치(200)를 기준 자세에서 오른쪽으로 회전(상대 회전각도 커지는 모션)시킨다고 가정하자. 사용자가 1회 오른쪽으로 회전한 다음, 다시 기본 자세로 복귀(상대 회전각도가 계속 작아지는 모션)할 경우에는 위 2.에서 설명한 제2 가중치를 빼주는 알고리즘이 적용된다. 여기서, 사용자가 수회에 걸쳐서 연속적이고 반복적으로 오른쪽으로 회전한다고 가정할 경우에는, 제어장치(200)가 화면(10)으로부터 더 많이 이격될 수 밖에 없다. 이때에는 기존의 제2 가중치보다 큰 가중치를 빼주어야 가상 공간(10a)의 회전을 줄이면서 제어장치(200)가 빠르게 기본 자세 근처로 복귀할 수 있다. 예컨대, 수학식 3으로 구한 회전값에서 다시 기 설정된 값을 빼는 방법을 적용할 수 있다. For example, suppose that the user rotates the
이를 위해, 회전값생성부(270)는 모션인식부(230)가 제공하는 상대 회전각도가 계속 커지다가 멈추는 모션의 횟수를 카운팅하되, 상대 회전각도가 작아지는 모션)이 있는 경우에는 카운팅 중인 횟수를 초기화한다. 이러한 과정을 반복하면서, 회전값생성부(270)는 카운팅 횟수가 기준 횟수 이상이 되는지 판단하며, 기준 횟수 이상이 되면 위 수학식 3 및 4로 적용된 제2 가중치에 일정한 크기의 가중치를 더 적용한다.
To this end, the
<회전값에 따른 가상공간의 회전: S409><Rotation of virtual space according to rotation value: S409>
회전값생성부(270)는 계산된 회전값을 컴퓨터 등(30)의 가상공간 표시부(31)에 제공하여, 가상공간 표시부(31)로 하여금 가상공간(10a)을 회전시키도록 한다. The rotation
이상의 방법으로 본 발명의 제어장치(200)의 모션 제어가 수행된다.
In this way, the motion control of the
<실시 예: 기준자세의 이동><Example: Movement of Reference Posture>
이상의 방법을 수행하는 목적은, 사용자가 가상 공간(10a)의 원하는 방향에 도착하여 가상 공간(10a)의 회전을 멈출 때는 제어장치(200)도 기준 자세로 돌아오도록 하기 위한 것이다. 그러나, 상대 회전각도가 커질 때의 제1 가중치 적용과 상대 회전각도가 작아질 때의 제2 가중치 적용이 다르므로, 상대 회전각도가 멀어졌다가 제자리로 복귀하더라도 가상 공간(10a)이 원래의 위치로 되돌아 오지 않을 수 있다. 이러한 과정이 반복된 결과로, 제어장치(200)의 자세가 기준 자세가 아닌데 가상 공간(10a)은 원하는 위치에 있게 되고, 제어장치(200)가 기준 자세가 아닌 자세로 오래동안 머무르게 될 수 있다. The purpose of performing the above method is to allow the
이러한 문제를 해결하기 위하여, 기준자세설정부(250)는 제어장치(200)의 비를린 자세를 인식하고, 현재의 기준 자세를 기준으로 그 반대 방향으로 기준 자세를 옮긴다. In order to solve such a problem, the reference
제어장치(200)의 비틀린 자세는, 기 설정된 시간 동안 모션인식부(230)가 제공하는 상대-회전각도의 분포를 기초로 분포량이 많은 자세로 정할 수 있다. 기준 자세를 오일러 각으로 설정하는 경우, 현재의 기준 자세(기준 오일러 각)을 기준으로 분포량이 많은 각의 반대 방향으로 이동시킨다. 또는, 기 설정된 시간 동안 모션인식부(230)가 제공하는 상대-회전각도가 기준 자세로부터 특정 방향으로 이격되어 반복적으로 분포된 경우에 그 방향을 비틀린 자세로 정할 수 있다. The twisted posture of the
이에 따라, 가상 공간(10a)이 제어장치(200)의 비틀린 자세를 향해 이동하는 효과가 생긴다.
Thereby, the effect that the
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the invention as defined by the appended claims. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention.
Claims (14)
상기 제어장치의 모션인식부가 센서부를 이용하여 모션(Motion)을 인식하여 상기 모션에 따른 각속도와 상대 회전각도를 계산하되, 상기 상대 회전각도는 기 설정된 기준 자세로부터 상기 모션에 따른 자세 사이의 3차원 회전각도인 단계;
상기 제어장치의 회전값생성부가 상기 모션에 따른 상기 회전값을 상기 모션인식부가 제공하는 각속도에 비례하여 생성하는 단계; 및
상기 회전값생성부가 상기 회전값을 상기 컴퓨터로 제공하여 상기 가상 공간이 상기 회전값에 따라 회전하도록 하는 단계를 포함하되,
상기 상대 회전각도가 연속적으로 증가되는 경우에 상기 회전값을 생성하는 단계는, 상기 상대 회전각도에 비례하는 제1 가중치를 상기 각속도에 더하여 상기 회전값을 계산함으로써 상기 모션보다 상기 가상공간의 회전 속도가 빠르도록 하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
A control method of a control device connected to a computer displaying a first-person three-dimensional virtual space on a screen and generating a rotation value for rotating the virtual space,
Wherein the motion recognition unit of the control device recognizes motion using the sensor unit and calculates an angular velocity and a relative rotation angle according to the motion, wherein the relative rotation angle is calculated from a predetermined reference posture to a three- A rotation angle;
Wherein the rotation value generator of the control device generates the rotation value according to the motion in proportion to the angular velocity provided by the motion recognition unit; And
And causing the rotation value generator to provide the rotation value to the computer so that the virtual space rotates according to the rotation value,
Wherein the step of generating the rotation value when the relative rotation angle is continuously increased comprises calculating a rotation value by adding a first weighting value proportional to the relative rotation angle to the angular velocity, Dimensional virtual space on the screen.
상기 회전값을 생성하는 단계는 상기 회전값의 최대치를 설정하고, 상기 제1 가중치에 따른 상기 회전값의 상한을 상기 최대치로 설정하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
The method according to claim 1,
Wherein the step of generating the rotation value sets the maximum value of the rotation value and sets the upper limit of the rotation value according to the first weight to the maximum value.
상기 제어장치의 기준자세설정부가 사용자의 기준자세 설정명령에 따라 상기 모션인식부로부터 현재 자세 정보를 제공받아 상기 기준 자세를 설정하는 단계를 더 포함하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
The method according to claim 1,
Further comprising the step of setting the reference posture by receiving the current posture information from the motion recognition unit according to a user's reference posture setting command by the reference posture setting unit of the control device How to.
상기 상대 회전각도가 상기 기준자세를 향해 연속적으로 감소되는 경우에 상기 회전값을 생성하는 단계는, 상기 각속도에서 상기 상대 회전각도에 비례하는 제2 가중치를 뺀 다음 상기 회전값을 계산함으로써 상기 모션의 변화보다 상기 가상공간의 회전 속도가 느리도록 하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
The method according to claim 1,
Wherein the step of generating the rotation value when the relative rotation angle is continuously decreased toward the reference posture includes the steps of subtracting a second weighting proportional to the relative rotation angle from the angular velocity, Wherein the rotation speed of the virtual space is made slower than the rotation speed of the virtual space.
상기 상대 회전각도가 상기 기준자세를 향해 연속적으로 감소되는 경우에 상기 회전값을 생성하는 단계에서 상기 상대 회전각도가 기 설정된 '제한 각도' 이내에 있을 경우에는 상기 제2 가중치를 적용하지 않는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
5. The method of claim 4,
The second weight is not applied when the relative rotation angle is within a predetermined 'limit angle' in the step of generating the rotation value when the relative rotation angle is continuously decreased toward the reference posture. A method for controlling a three-dimensional virtual space on a screen.
상기 회전값생성부가 상기 상대 회전각도가 계속 커지다가 멈추는 모션이 연속된 횟수를 카운팅하되, 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에는 상기 카운팅을 초기화하는 단계; 및
상기 회전값생성부가 상기 카운팅 횟수가 기준 횟수 이상이 되는지 여부를 판단하는 단계를 더 포함하고,
상기 기준 횟수 이상 카운팅 된 이후에 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에, 상기 회전값을 생성하는 단계에서 상기 제2 가중치에 기 설정된 값을 더하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
5. The method of claim 4,
The rotation value generator counts the number of consecutive motions in which the relative rotation angle continues to increase and stops, and if there is a motion in which the relative rotation angle continuously decreases, initializing the counting; And
Wherein the rotation value generator further comprises a step of determining whether the number of counts is equal to or greater than a reference number,
Wherein the step of adding the predetermined value to the second weight in the step of generating the rotation value when there is motion in which the relative rotation angle continuously decreases after counting the reference number of times or more, How to control space.
상기 제어장치의 기준자세설정부가 기 설정된 시간 동안 상기 모션인식부가 제공하는 상대-회전각도가 상기 기준 자세로부터 특정 방향으로 이격되어 반복적으로 분포된 경우에, 상기 기준 자세를 상기 특정 방향의 반대 방향으로 이동시키는 단계를 더 포함하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
5. The method of claim 4,
When the reference posture setting section of the control device repeatedly distributes the relative-rotation angle provided by the motion recognition section for a predetermined period of time apart from the reference posture in a specific direction, the reference posture is changed in a direction opposite to the specific direction Dimensional virtual space on the screen. 2. The method of claim 1, further comprising:
상기 제어장치의 각속도 및 3차원 공간상의 자세 정보를 획득하는 센서부;
상기 센서부를 이용하여 모션(Motion)을 인식하여 상기 모션에 따른 각속도와 상대 회전각도를 계산하되, 상기 상대 회전각도는 기 설정된 기준 자세로부터 상기 모션에 따른 자세 사이의 3차원 회전각도인 모션인식부; 및
상기 모션인식부가 제공하는 각속도에 비례하여 상기 회전값을 생성하고, 상기 회전값을 상기 컴퓨터로 제공하여 상기 가상 공간이 상기 회전값에 따라 회전하도록 하는 회전값생성부를 포함하되,
상기 회전값생성부는, 상기 상대 회전각도가 연속적으로 증가되는 경우에, 상기 각속도에 상기 상대 회전각도와 각속도의 곱에 해당하는 제1 가중치를 더하여 상기 회전값을 계산함으로써 상기 모션보다 상기 가상공간의 회전 속도가 빠르도록 하는 것을 특징으로 하는 제어장치.
A control device connected to a computer displaying a first-person three-dimensional virtual space on a screen to generate a rotation value for rotating the virtual space,
A sensor unit for obtaining angular velocity of the control device and attitude information on a three-dimensional space;
Wherein the motion recognition unit recognizes motion using the sensor unit and calculates an angular velocity and a relative rotation angle according to the motion, wherein the relative rotation angle is a three-dimensional rotation angle between a predetermined reference posture and a posture corresponding to the motion, ; And
And a rotation value generator for generating the rotation value in proportion to the angular velocity provided by the motion recognition unit and for providing the rotation value to the computer to rotate the virtual space according to the rotation value,
The rotation value generator may calculate the rotation value by adding a first weight corresponding to the product of the relative rotation angle and the angular velocity to the angular velocity in the case where the relative rotation angle is continuously increased, So that the rotation speed is made faster.
상기 회전값생성부는, 상기 회전값의 최대치를 설정하고, 상기 제1 가중치에 따른 상기 회전값의 상한을 상기 최대치로 설정하는 것을 특징으로 하는 제어장치.
9. The method of claim 8,
Wherein the rotation value generator sets the maximum value of the rotation value and sets the upper limit of the rotation value according to the first weight to the maximum value.
사용자의 기준자세 설정명령에 따라 상기 모션인식부로부터 현재 자세 정보를 제공받아 상기 기준 자세를 설정하는 기준자세설정부를 더 포함하는 것을 특징으로 하는 제어장치.
9. The method of claim 8,
Further comprising a reference posture setting unit configured to receive the current posture information from the motion recognition unit according to a user's reference posture setting command and set the reference posture.
상기 회전값생성부는, 상기 상대 회전각도가 상기 기준자세를 향해 연속적으로 감소되는 경우에, 상기 각속도에서 상기 상대 회전각도에 비례하는 제2 가중치를 뺀 다음 상기 회전값을 계산함으로써 상기 모션의 변화보다 상기 가상공간의 회전 속도가 느리도록 하는 것을 특징으로 하는 제어장치.
9. The method of claim 8,
Wherein the rotation value generator subtracts a second weight value proportional to the relative rotation angle from the angular velocity at a time when the relative rotation angle is continuously decreased toward the reference posture, So that the rotation speed of the virtual space is slow.
상기 회전값생성부는,
상기 상대 회전각도가 상기 기준자세를 향해 연속적으로 감소되는 경우라도, 상기 상대 회전각도가 기 설정된 '제한 각도' 이내에 있을 경우에는 상기 제2 가중치를 적용하지 않는 것을 특징으로 하는 제어장치.
12. The method of claim 11,
Wherein the rotation value generator comprises:
Wherein the control unit does not apply the second weight when the relative rotation angle is within a predetermined 'restricted angle' even when the relative rotation angle is continuously decreased toward the reference posture.
상기 회전값생성부는, 상기 상대 회전각도가 계속 커지다가 멈추는 모션이 연속된 횟수를 카운팅하면서 상기 카운팅 횟수가 기준 횟수 이상이 되는지 여부를 판단하되, 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에는 상기 카운팅을 초기화하며,
상기 기준 횟수 이상 카운팅 된 이후에 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에 상기 제2 가중치에 기 설정된 값을 더하는 것을 특징으로 하는 제어장치.
12. The method of claim 11,
Wherein the rotation value generator determines whether the number of counts is equal to or greater than a reference number while counting the number of consecutive motions in which the relative rotation angle continues to increase and stops, Lt; / RTI > initializes the counting,
And adds a predetermined value to the second weight when there is motion in which the relative rotation angle continuously decreases after the reference number of times is counted.
기 설정된 시간 동안 상기 모션인식부가 제공하는 상대-회전각도가 상기 기준 자세로부터 특정 방향으로 이격되어 반복적으로 분포된 경우에, 상기 기준 자세를 상기 특정 방향의 반대 방향으로 이동시키는 기준자세설정부를 더 포함하는 것을 특징으로 하는 제어장치.12. The method of claim 11,
Further comprising a reference posture setting unit for moving the reference posture in a direction opposite to the specific direction when the relative-rotation angle provided by the motion recognition unit is repeatedly distributed in a specific direction away from the reference posture for a preset time And a control unit for controlling the control unit.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140163604A KR101576643B1 (en) | 2014-11-21 | 2014-11-21 | Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen |
CN201580011753.5A CN106062675A (en) | 2014-11-21 | 2015-01-28 | Method for controlling three-dimensional virtual space on screen by motion recognition, and control device therefor |
PCT/KR2015/000905 WO2016080593A1 (en) | 2014-11-21 | 2015-01-28 | Method for controlling three-dimensional virtual space on screen by motion recognition, and control device therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140163604A KR101576643B1 (en) | 2014-11-21 | 2014-11-21 | Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101576643B1 true KR101576643B1 (en) | 2015-12-11 |
Family
ID=55020738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140163604A KR101576643B1 (en) | 2014-11-21 | 2014-11-21 | Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR101576643B1 (en) |
CN (1) | CN106062675A (en) |
WO (1) | WO2016080593A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101870542B1 (en) | 2016-12-28 | 2018-06-25 | 주식회사 스탠딩에그 | Method and apparatus of recognizing a motion |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101185589B1 (en) * | 2008-11-14 | 2012-09-24 | (주)마이크로인피니티 | Method and Device for inputing user's commands based on motion sensing |
US9498718B2 (en) * | 2009-05-01 | 2016-11-22 | Microsoft Technology Licensing, Llc | Altering a view perspective within a display environment |
KR20110044391A (en) * | 2009-10-23 | 2011-04-29 | 삼성전자주식회사 | Apparatus and method for input |
KR102049475B1 (en) * | 2013-01-08 | 2020-01-08 | 삼성전자주식회사 | Input device, display device and methods of controlling thereof |
-
2014
- 2014-11-21 KR KR1020140163604A patent/KR101576643B1/en not_active IP Right Cessation
-
2015
- 2015-01-28 CN CN201580011753.5A patent/CN106062675A/en active Pending
- 2015-01-28 WO PCT/KR2015/000905 patent/WO2016080593A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101870542B1 (en) | 2016-12-28 | 2018-06-25 | 주식회사 스탠딩에그 | Method and apparatus of recognizing a motion |
Also Published As
Publication number | Publication date |
---|---|
WO2016080593A1 (en) | 2016-05-26 |
CN106062675A (en) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9477312B2 (en) | Distance based modelling and manipulation methods for augmented reality systems using ultrasonic gloves | |
US9152248B1 (en) | Method and system for making a selection in 3D virtual environment | |
JP7166708B2 (en) | VIRTUAL OBJECT CONTROL METHOD, APPARATUS, ELECTRONIC DEVICE, AND STORAGE MEDIUM | |
EP2353063B1 (en) | Method and device for inputting a user's instructions based on movement sensing | |
US9250799B2 (en) | Control method for information input device, information input device, program therefor, and information storage medium therefor | |
KR101582296B1 (en) | Automatic aiming system and method for mobile game | |
WO2008073801A2 (en) | Inertial sensor input device | |
WO2017012361A1 (en) | Method and apparatus for adjusting position of virtual object in virtual space | |
CN110215685B (en) | Method, device, equipment and storage medium for controlling virtual object in game | |
KR101961221B1 (en) | Method and system for controlling virtual model formed in virtual space | |
US20200387227A1 (en) | Length Calibration for Computer Models of Users to Generate Inputs for Computer Systems | |
US9229614B2 (en) | Storage medium storing information processing program, information processing device, information processing system, and method for calculating specified position | |
US10901496B2 (en) | Image processing apparatus, image processing method, and program | |
JP6064111B2 (en) | User interface system, operation signal analysis method and program for batting operation | |
JP2021009673A (en) | Virtual reality system, program, and computer-readable storage medium | |
KR101576643B1 (en) | Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen | |
CN114428548A (en) | Method and system for user interactive cursor | |
US9126110B2 (en) | Control device, control method, and program for moving position of target in response to input operation | |
WO2020157955A1 (en) | Virtual object display device and virtual object display method | |
US10429949B2 (en) | User interaction apparatus and method | |
US11285394B1 (en) | Computer-readable non-transitory storage medium having instructions stored therein, game apparatus, game system, and game processing method | |
JP6548956B2 (en) | SYSTEM, METHOD, AND PROGRAM | |
KR20170001539A (en) | Automatic aiming system and method for mobile game | |
US11604517B2 (en) | Information processing device, information processing method for a gesture control user interface | |
US20230367403A1 (en) | Terminal device, virtual object manipulation method, and virtual object manipulation program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |