KR20200097420A - Method and Apparatus for Regeneration Motion in Virtual Object Contact - Google Patents

Method and Apparatus for Regeneration Motion in Virtual Object Contact Download PDF

Info

Publication number
KR20200097420A
KR20200097420A KR1020190014753A KR20190014753A KR20200097420A KR 20200097420 A KR20200097420 A KR 20200097420A KR 1020190014753 A KR1020190014753 A KR 1020190014753A KR 20190014753 A KR20190014753 A KR 20190014753A KR 20200097420 A KR20200097420 A KR 20200097420A
Authority
KR
South Korea
Prior art keywords
motion
virtual object
virtual
penetration
contact
Prior art date
Application number
KR1020190014753A
Other languages
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 재단법인 실감교류인체감응솔루션연구단
Priority to KR1020190014753A priority Critical patent/KR20200097420A/en
Publication of KR20200097420A publication Critical patent/KR20200097420A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The present invention relates to a method and a device for regenerating when contacting a virtual object so that an interaction between a hand of a user and a virtual object is performed more naturally by using physical particles applied to a virtual hand model as a guide contact point through a physical engine to predict the occurrence of hand interpenetration when contacting the virtual object and according to a prediction result, regenerating so that a motion of the hand does not penetrate a motion at the moment that the virtual object is penetrated.

Description

가상 객체 접촉시 동작 재생성 방법 및 장치{Method and Apparatus for Regeneration Motion in Virtual Object Contact}Method and Apparatus for Regeneration Motion in Virtual Object Contact}

본 실시예는 가상 객체 접촉시 동작 재생성 방법 및 장치에 관한 것이다. 보다 자세하게는, 가상 객체 접촉시 손 상호침투를 방지하는 동작 재생성 방법 및 이를 위한 장치에 관한 것이다.The present embodiment relates to a method and apparatus for regenerating motion upon contact with a virtual object. In more detail, the present invention relates to a method for regenerating motions for preventing mutual penetration of hands when a virtual object is in contact, and an apparatus therefor.

이 부분에 기술된 내용은 단순히 본 발명에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information on the present invention and does not constitute prior art.

기술이 발전함에 따라 가상현실 또는 증강현실에 대한 관심이 높아지고 있다. 가상현실(Virtual Reality)은 이미지, 주변 배경, 객체 모두를 가상의 이미지로 만들어 보여주는 반면, 증강현실(Augmented Reality)은 현실 세계의 실제 모습이 주가 되고 추가되는 정보만 가상으로 만들어 보여준다. 가상현실과 증강현실 모두 그것을 이용하는 사용자가 마치 가상의 객체와 상호작용을 하고 있는 것처럼 만들어 주어야 한다. As technology advances, interest in virtual reality or augmented reality is increasing. Virtual Reality creates virtual images of images, surrounding backgrounds, and objects, whereas Augmented Reality shows the actual state of the real world and only added information as virtual. Both virtual reality and augmented reality must make it as if users who use them are interacting with virtual objects.

이처럼 사용자가 가상의 객체와 상호작용을 하고 있는 것처럼 느끼게 하기 위해서는 사용자가 촉감(觸感)을 느낄 수 있도록 하는 '컴퓨터 촉각기술', 즉 햅틱(Haptic) 기술이 중요하다. 최근 햅틱 기술의 발달과 연구에 따라 사용자에게 촉감을 전달할 수 있는 햅틱 글러브 기술이 많은 발전이 이루어지고 있기는 하나, 가상현실 및 혼합 현실 공간에서의 가상 객체 조작은 사용자가 정확한 깊이를 가늠할 수 없고 실세계와 달리 물리적 접촉으로 인한 감각이 존재하지 않기 때문에 실감 재현에 대한 어려움이 있는 실정이다.In order to make the user feel as if he is interacting with a virtual object, a'computer tactile technology', that is, a haptic technology, is important to allow the user to feel the touch. Although haptic glove technology that can deliver tactile sensation to users has been progressing a lot according to the recent development and research of haptic technology, manipulation of virtual objects in virtual reality and mixed reality spaces does not allow users to accurately determine the depth and real world. Unlike the situation, it is difficult to reproduce the sense of reality because there is no sense due to physical contact.

이로 인해, 사용자의 손이 가상 객체와 접촉할 때 부자연스러운 움직임이 발생할 수 있다. 예컨대, 사용자는 촉감을 느낄 수 없기 때문에 가상 객체 안으로 손이 들어가는 동작(=손 상호침투)이 발생할 수 밖에 없다. 이는 곧, 시각적으로 부자연스러워 보일 뿐만 아니라, 손이 물체를 깊게 관통했을 때 예측 불가능한 물리 시뮬레이션 결과를 초래한다.For this reason, unnatural movements may occur when the user's hand contacts the virtual object. For example, since the user cannot feel the touch, a motion (=hands interpenetration) that enters the virtual object inevitably occurs. This is not only visually unnatural, but also leads to unpredictable physics simulation results when the hand penetrates the object deeply.

본 실시예는, 물리 엔진을 통해 가상 손 모델에 적용된 물리 파티클을 가이드 접점으로 활용하여 가상 객체 접촉시의 손 상호침투에 대한 발생 여부를 예측하고, 예측 결과에 따라 손의 움직임이 가상 객체를 파고 들어가는 순간의 동작을 파고들지 않도록 재생성하여 제공함으로써 사용자의 손과 가상 객체 간의 상호 작용이 보다 자연스럽게 이루어질 수 있도록 하는 데 그 목적이 있다.In the present embodiment, by using the physical particles applied to the virtual hand model through the physics engine as a guide contact point, the occurrence of hand mutual penetration when the virtual object is in contact is predicted, and according to the prediction result, the hand movement penetrates the virtual object. The purpose is to provide a more natural interaction between the user's hand and the virtual object by recreating and providing the motion at the moment of entry so as not to penetrate.

본 실시예의 일 측면에 의하면, 가상 객체 접촉시 동작 재생성 방법에 있어서, 가상 손 모델에 복수의 물리 파티클이 분산 배치되도록 형성하는 과정; 상기 가상 손 모델의 상기 물리 파티클이 가상 객체와 접촉하였는지 여부를 감지하는 과정; 상기 가상 객체와 접촉된 상기 물리 파티클의 침투 깊이(Penetration Depth)를 계산하여 상기 가상 객체 내로의 손 상호침투에 대한 발생 여부를 예측하는 과정; 및 상기 예측하는 과정의 예측결과에 따라 상기 가상 손 모델의 동작을 재생성하는 과정을 포함하는 것을 특징으로 하는 가상 객체 접촉시 동작 재생성 방법을 제공한다.According to an aspect of the present embodiment, a method for regenerating a motion upon contact with a virtual object includes: forming a plurality of physical particles to be distributed and arranged in a virtual hand model; Detecting whether the physical particles of the virtual hand model are in contact with a virtual object; Calculating a penetration depth of the physical particles in contact with the virtual object to predict whether or not mutual penetration of hands into the virtual object occurs; And regenerating the motion of the virtual hand model according to a prediction result of the predicting process.

본 실시예의 다른 측면에 의하면, 가상 객체 접촉시 동작 재생성을 위한 장치에 있어서, 가상 손 모델에 복수의 물리 파티클이 분산 배치되도록 형성하는 모델 생성부; 상기 가상 손 모델 상의 상기 물리 파티클이 가상 객체와 접촉하였는지 여부를 감지하는 접촉 감지부; 상기 가상 객체와 접촉된 상기 물리 파티클의 침투 깊이를 계산하여 상기 가상 객체 내로의 손 상호침투에 대한 발생 여부를 예측하는 상호침투 예측부; 및 상기 상호침투 예측부의 예측결과에 따라 상기 가상 손 모델의 동작을 재생성하는 동작 제어부를 포함하는 것을 특징으로 하는 동작 재생성 장치를 제공한다.According to another aspect of the present embodiment, there is provided an apparatus for regenerating motion upon contact with a virtual object, comprising: a model generator configured to form a plurality of physical particles to be distributed and arranged in a virtual hand model; A touch sensing unit that detects whether the physical particles on the virtual hand model are in contact with a virtual object; An interpenetration prediction unit that calculates a penetration depth of the physical particles in contact with the virtual object and predicts whether or not hand mutual penetration into the virtual object occurs; And a motion control unit for regenerating the motion of the virtual hand model according to a prediction result of the interpenetration predictor.

이상에서 설명한 바와 같이 본 실시예에 의하면, 물리 엔진을 통해 가상 손 모델에 적용된 물리 파티클을 가이드 접점으로 활용하여 가상 객체 접촉시의 손 상호침투에 대한 발생 여부를 예측하고, 예측 결과에 따라 손의 움직임이 가상 객체를 파고 들어가는 순간의 동작을 파고들지 않도록 재생성하여 제공함으로써 사용자의 손과 가상 객체 간의 상호 작용이 보다 자연스럽게 이루어질 수 있도록 하는 효과가 있다.As described above, according to the present embodiment, by using the physical particles applied to the virtual hand model through the physics engine as a guide contact point, it predicts whether the occurrence of hand mutual penetration when contacting the virtual object is predicted, and according to the prediction result, There is an effect that interaction between the user's hand and the virtual object can be made more natural by providing the regeneration so that the motion at the moment when the movement penetrates the virtual object does not penetrate.

도 1은 본 실시예에 따른 동작 재생성 장치를 개략적으로 나타낸 블럭 구성도이다.
도 2는 본 실시예에 따른 가상 손 모델의 메시 데이터를 나타낸 도면이다.
도 3은 본 실시예에 따른 가상 손 모델 상에 형성된 물리 파티클을 예시한 도면이다.
도 4는 본 실시예에 따른 동작 재구성 방법을 설명하기 위한 손의 골격 구조를 예시한 도면이다.
도 5는 본 실시예에 따른 동작 재구성 방법을 설명하기 위한 예시도이다.
도 6은 본 실시예에 따른 동작 재구성 방법에 따른 효과를 예시한 예시도이다.
도 7은 본 실시예에 따른 가상 객체 접촉시 동작 재생성 방법을 설명하기 위한 순서도이다.
1 is a block diagram schematically showing an operation regeneration apparatus according to the present embodiment.
2 is a diagram showing mesh data of a virtual hand model according to the present embodiment.
3 is a diagram illustrating physical particles formed on a virtual hand model according to the present embodiment.
4 is a diagram illustrating a skeleton structure of a hand for explaining a motion reconstruction method according to the present embodiment.
5 is an exemplary diagram for describing a method of reconfiguring an operation according to the present embodiment.
6 is an exemplary diagram illustrating the effect of the motion reconfiguration method according to the present embodiment.
7 is a flowchart illustrating a method of regenerating an operation upon contact with a virtual object according to the present embodiment.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to elements of each drawing, it should be noted that the same elements are assigned the same numerals as possible even if they are indicated on different drawings. In addition, in describing the present invention, when it is determined that a detailed description of a related known configuration or function may obscure the subject matter of the present invention, a detailed description thereof will be omitted.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, in describing the constituent elements of the present invention, terms such as first, second, A, B, (a) and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, order, or order of the component is not limited by the term. Throughout the specification, when a part'includes' or'includes' a certain element, it means that other elements may be further included rather than excluding other elements unless otherwise stated. . In addition, the'... Terms such as'sub' and'module' mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software.

도 1은 본 실시예에 따른 동작 재생성 장치를 개략적으로 나타낸 블럭 구성도이다.1 is a block diagram schematically showing an operation regeneration apparatus according to the present embodiment.

본 실시예에 따른 동작 재생성 장치(100)는 가상 객체 접촉시의 손 상호침투(Hand Inter-Penetration)를 방지하기 위해 가상 손 모델에 적용된 물리 파티클을 가이드 접점으로 활용하여 손의 움직임이 가상 객체를 파고 들어가는 순간의 동작을 재생성하는 동작 재생성 알고리즘을 제공한다.The motion regeneration apparatus 100 according to the present embodiment utilizes physical particles applied to the virtual hand model as guide contacts to prevent hand inter-penetration when the virtual object is in contact, so that the movement of the hand can reduce the virtual object. Provides a motion regeneration algorithm that recreates the moment of digging.

도 1에 도시된 바와 같이, 본 실시예에 따른 동작 재생성 장치(100)는 입력부(110), 모델 생성부(120), 접촉 감지부(130), 상호침투 예측부(140) 및 동작 제어부(150)를 포함한다. 동작 재생성 장치(100)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.1, the motion regeneration apparatus 100 according to the present embodiment includes an input unit 110, a model generation unit 120, a touch detection unit 130, a mutual penetration prediction unit 140, and an operation control unit ( 150). Components included in the motion regeneration apparatus 100 are not necessarily limited thereto.

입력부(110)는 가상 손 모델의 형성, 이동 또는 변형을 위한 입력 정보를 수집한다. 입력부(110)는 가상 손 모델에 대한 입력 정보로써 위치, 형상, 크기, 질량, 속도, 가해지는 힘의 크기와 방향, 마찰계수, 탄성계수 등의 물리량을 제공할 수 있다. 또한, 입력부(110)는 가상 손 모델을 이동시키거나 변형시키기 위하여 위치의 변화, 형상의 변화, 속도의 변화 등과 같은 물리량의 변화량을 제공할 수도 있다.The input unit 110 collects input information for formation, movement, or transformation of a virtual hand model. The input unit 110 may provide physical quantities such as position, shape, size, mass, speed, magnitude and direction of an applied force, friction coefficient, and elasticity coefficient as input information on the virtual hand model. In addition, the input unit 110 may provide a change in a physical quantity such as a change in a position, a change in shape, a change in speed, etc. to move or deform the virtual hand model.

본 실시예의 입력부(110)는 실제 손의 형상 또는 위치 등을 인식할 수 있는 손 인식 장치일 수 있다. 일 예로써, 이러한 입력부(110)로는 립 모션(Leap Motion) 센서, 카메라와 같은 영상 센서, RGBD 센서를 포함하는 공지의 다양한 센서가 부착된 장갑, 외골격의 동작을 측정하기 위해 제작한 별도의 장치(예를 들어, 핸드 모션 캡쳐 장치), 또는 센서를 손에 직접 부착하는 방식 등이 사용될 수 있다.The input unit 110 according to the present embodiment may be a hand recognition device capable of recognizing the shape or position of an actual hand. As an example, the input unit 110 includes a lip motion sensor, an image sensor such as a camera, a glove attached with various known sensors including an RGBD sensor, and a separate device manufactured to measure the motion of an exoskeleton. (For example, a hand motion capture device), or a method of directly attaching a sensor to a hand, etc. may be used.

본 실시예의 입력부(110)는 가상 손 모델을 형성하는 데 필요한 입력 정보를 제공한다. 즉, 입력부(110)는 실제 손의 형상을 인식하고 이를 기초로 하여 실제 손에서의 골격 배치를 유추할 수 있다. 이로써, 입력부(110)는 가상 손 모델의 골격을 형성하기 위한 입력 정보를 제공할 수 있다. 그 밖에 가상 손 모델의 구현에 필요한 마찰 계수, 질량 등은 미리 설정된 값으로 제공될 수도 있다.The input unit 110 of this embodiment provides input information required to form a virtual hand model. That is, the input unit 110 may recognize the shape of the actual hand and infer the arrangement of the skeleton in the actual hand based on this. Accordingly, the input unit 110 may provide input information for forming the skeleton of the virtual hand model. In addition, the friction coefficient, mass, and the like required to implement the virtual hand model may be provided as preset values.

또한, 본 실시예의 입력부(110)는 실제 손의 형상과 위치의 변화를 감지하고 이를 기초로 하여 가상 손 모델을 이동시키거나 변형시키는 데 필요한 입력 정보를 제공할 수 있다. 이때, 가상 손 모델을 이루는 뼈와 관절의 연결 및 관절에서의 자유도가 미리 설정되는 경우, 입력부(110)는 실제 손에서 각각의 뼈가 배치되는 각도 및 관절의 위치 혹은 손가락 끝의 위치만을 인식함으로써 더욱 간략한 형태로 입력 정보를 제공할 수 있다.In addition, the input unit 110 of the present exemplary embodiment may detect a change in the shape and position of an actual hand, and provide input information necessary for moving or deforming the virtual hand model based on the change. In this case, when the connection between the bones and the joints constituting the virtual hand model and the degree of freedom in the joints are set in advance, the input unit 110 recognizes only the angle at which each bone is arranged and the position of the joint or the position of the fingertip in the actual hand. Input information can be provided in a more compact form.

한편, 본 실시예의 입력부(110)는 상술한 바와 같이 별도의 센서를 통해 실제 공간상의 움직임을 인식함으로써 상기의 입력 정보를 제공할 수 있으며, 단순하게 형상, 위치 등의 물리량을 직접 설정함으로써 상기의 입력 정보를 제공할 수도 있다.On the other hand, the input unit 110 of the present embodiment can provide the above input information by recognizing actual motion in space through a separate sensor as described above, and simply directly setting physical quantities such as shape and position. You can also provide input information.

모델 생성부(120)는 입력부(110)에서 입력된 정보에 기초하여 가상 손 모델을 형성 및 제어한다.The model generation unit 120 forms and controls a virtual hand model based on the information input from the input unit 110.

본 실시예에 있어서, 모델 생성부(120)는 물리 상호 작용을 위한 물리 파티클들을 가상 손 모델에 적용한다. 모델 생성부(120)는 물리 엔진을 이용하여 가상 손 모델을 생성하고, 생성한 가상 손 모델 상에 복수의 물리 파티클이 분산 배치되도록 형성한다.In the present embodiment, the model generator 120 applies physical particles for physical interaction to the virtual hand model. The model generation unit 120 generates a virtual hand model using a physical engine, and forms a plurality of physical particles to be distributed and arranged on the generated virtual hand model.

이때, 도 2와 같이 실시간으로 변형되는 가상 손 모델의 전체 메시(Mesh) 데이터를 하나의 물리 파티클(물리 객체)로 만들게 되면 계산 시간이 많이 소요된다는 문제점이 있다. 즉, 한 손 당 메시 인덱스(Mesh Index)가 약 9000개가 되는데, 실시간으로 변화하는 모든 메시 인덱스의 위치를 반영하여 전체 가상 손 모델을 갱신하면 물리 엔진의 계산 량이 과부하되어 실시간성을 보장하지 못한다는 문제점이 존재한다. In this case, as shown in FIG. 2, if the entire mesh data of the virtual hand model that is deformed in real time is made into one physical particle (physical object), there is a problem that it takes a lot of computation time. In other words, there are about 9000 mesh indexes per hand.If the entire virtual hand model is updated by reflecting the positions of all mesh indices that change in real time, the calculation of the physics engine is overloaded and real-time performance is not guaranteed. There is a problem.

따라서 본 실시예에서는 도 3과 같이 사용자가 손동작을 수행할 때 주로 접촉(ex: 접촉 빈도가 일정 임계치를 초과)하게 되는 메시 인덱스에만 물리 파티클(300)을 생성하고, 생성된 복수의 물리 파티클(300)들을 이용하여 물리 상호 작용 과정을 수행한다. 본 실시예에서는 물리 파티클(300)의 물리 속성을 키네마틱 오브젝트(Kinematic Object)로 정의하여 실세계에서 일어나는 다양한 손동작을 제대로 구현할 수 있게 한다. Therefore, in this embodiment, as shown in FIG. 3, when the user performs a hand gesture, the physical particle 300 is generated only in the mesh index that is mainly contacted (ex: the contact frequency exceeds a certain threshold), and a plurality of generated physical particles ( 300) to perform the physical interaction process. In this embodiment, the physical property of the physical particle 300 is defined as a kinematic object, so that various hand movements occurring in the real world can be properly implemented.

본 실시예의 복수의 물리 파티클(300)은 임의의 형상을 가지는 작은 크기의 입자이다. 본 실시예에서는 손동작을 수행할 때 주로 접촉하게 되는 메시 인덱스인 손가락 끝 마디에 물리 파티클(300)을 촘촘하게 분포시키고 손바닥에는 전체 면적에 균등하게 분포시킴으로써, 전체 메시 데이터가 아닌 그보다 적은 개수의 객체들을 이용하여도 전체 메시 데이터를 이용하는 방법과 비슷한 수준의 물리 상호 작용 결과를 얻을 수 있게 한다. 본 실시예에서는 각 물리 파티클(300)과 가상 객체 간의 접촉(충돌) 정보들을 이용하여, 여러 가지 수행 동작에 대한 알고리즘을 계산하게 되는데, 이러한 동작 알고리즘의 계산이 원활할 만큼 충분하면서, 파티클 수가 너무 많아서 물리 엔진 계산 속도를 떨어뜨리지 않는 적절한 분포로 물리 파티클(300)을 분포시킬 수 있다. 이는 실험을 통하여 수치를 도출할 수 있으며, 일 예로써 양 손에 약 총 130개의 물리 파티클(300)이 분산되어 배치될 수 있다.The plurality of physical particles 300 of the present embodiment are small particles having an arbitrary shape. In the present embodiment, the physical particles 300 are densely distributed on the fingertip joints, which are mesh indexes that are mainly contacted when performing hand movements, and evenly distributed over the entire area on the palm of the hand. Even if it is used, it is possible to obtain a result of physics interaction similar to that of using the entire mesh data. In this embodiment, algorithms for various operations are calculated by using contact (collision) information between each physical particle 300 and a virtual object. Since there are many, it is possible to distribute the physical particles 300 in an appropriate distribution that does not decrease the calculation speed of the physics engine. This may derive a numerical value through an experiment, and as an example, a total of 130 physical particles 300 may be dispersed and disposed in both hands.

또한, 복수의 물리 파티클(300)은 다양한 형상의 입자일 수 있으나, 계산의 간소화를 위해 단위 크기의 구형 입자인 것이 바람직하다. 이러한 복수의 물리 파티클(300)은 다양한 물리량을 가질 수 있다. 복수의 물리 파티클(300)에는 작용하는 힘의 크기 및 방향이 존재하며, 마찰계수, 탄성계수 등의 물리량을 더 가질 수 있다. 또한, 복수의 물리 파티클(300)이 가상 손 모델(310)의 어떤 손가락뼈에 대응하여 배치되는 위치도 포함된다.In addition, the plurality of physical particles 300 may be particles of various shapes, but for simplification of calculation, it is preferable that they are spherical particles having a unit size. The plurality of physical particles 300 may have various physical quantities. The magnitude and direction of the force acting on the plurality of physical particles 300 may exist, and may further have physical quantities such as friction coefficient and elasticity coefficient. In addition, a position in which the plurality of physical particles 300 are disposed corresponding to a finger bone of the virtual hand model 310 is also included.

한편, 본 실시예에 있어서, 복수의 물리 파티클(300)은 일정한 반지름 r을 한계점(Threshold)으로 갖는 사전 접촉점(Pre-Contact Point)으로서 작동하며, 이는 직접적으로 손의 표면이 가상 객체와 접촉했을 때 동작을 멈춘 후 갱신하는 기존의 방법보다 간접적으로 충돌감지를 하고 동작을 수정할 수 있기 때문에 부드러운 손 움직임을 표현할 수 있다는 효과를 야기한다.On the other hand, in the present embodiment, the plurality of physical particles 300 operate as a pre-contact point having a constant radius r as a threshold, which means that the surface of the hand directly contacts the virtual object. When the motion is stopped and then updated, it can indirectly detect the collision and correct the motion, resulting in the effect of expressing smooth hand movement.

접촉 감지부(130)는 가상 손 모델의 물리 파티클(300)이 가상 객체와 접촉하였는지 여부를 판단한다. 예컨대, 접촉 감지부(130)는 물리 파티클(300)과 가상 객체의 접촉 여부의 판단 방법으로 AABB(Axis-Aligned Bounding Box) 충돌 감지법을 이용할 수 있다.The touch sensing unit 130 determines whether the physical particle 300 of the virtual hand model has contacted the virtual object. For example, the contact detection unit 130 may use an Axis-Aligned Bounding Box (AABB) collision detection method as a method of determining whether the physical particle 300 and the virtual object are in contact.

AABB 충돌 감지법이란 모든 물리 객체에 같은 축 방향으로 정렬된 바운딩 박스를 씌워놓고, 객체들 간의 해당 바운딩 박스들이 겹치는지를 실시간으로 체크하여 접촉(충돌) 여부를 판단한다. 따라서 본 실시예의 접촉 감지부(130)에서는 가상 손 모델(310)에 배치된 물리 파티클(300)의 바운딩 박스와, 상호 작용을 할 가상 객체의 바운딩 박스를 실시간으로 체크하여 이들이 겹치는지 여부로 접촉(충돌) 감지를 한다.In the AABB collision detection method, a bounding box arranged in the same axis direction is covered on all physical objects, and a contact (collision) is determined by checking in real time whether the corresponding bounding boxes between objects overlap. Therefore, in the touch sensing unit 130 of the present embodiment, the bounding box of the physical particle 300 disposed on the virtual hand model 310 and the bounding box of the virtual object to be interacted with are checked in real time, and contact with whether or not they overlap. (Collision) detect.

앞서, 접촉 감지부(130)가 물리 파티클(300)과 가상 객체의 접촉 여부의 판단 방법으로 AABB 충돌 감지법을 활용하는 것으로 설명하였으나 반드시 이에 한정되는 것은 아니다. 예컨대, 전술한 AABB 충돌 감지법과 달리 바운딩 박스가 같은 축 방향으로 고정되어 있지 않고 물체의 상태에 따라 방향이 바뀌는 OBB(Object Oriented Bounding Box) 충돌 감지법, 바운딩 박스 대신 구(Sphere)를 물리 객체에 씌워놓고 접촉(충돌) 여부를 판단하는 Sphere 충돌 감지법, 그리고 바운딩 박스 대신 볼록 껍질(Convex Hull)을 물리 객체에 씌워놓고 접촉(충돌) 여부를 판단하는 Convex Hull 충돌 감지법 등 공지의 다양한 충돌 감지법이 이용될 수 있다. 즉, 접촉 감지부(130)는 물리 파티클(300)과 가상 객체의 접촉 여부를 판단할 수 있다면 공지의 어떠한 충돌 감지법이라도 본 실시예에서 이용될 수 있다.Previously, it has been described that the contact detection unit 130 uses the AABB collision detection method as a method of determining whether the physical particle 300 and the virtual object are in contact with each other, but is not limited thereto. For example, unlike the AABB collision detection method described above, the bounding box is not fixed in the same axial direction, but the OBB (Object Oriented Bounding Box) collision detection method changes the direction according to the state of the object, and a sphere instead of the bounding box is applied to the physical object. Sphere collision detection method, which determines whether there is contact (collision), and the Convex Hull collision detection method, which determines contact (collision) by placing a convex hull on a physical object instead of a bounding box. Law can be used. That is, any known collision detection method may be used in this embodiment as long as the contact detection unit 130 can determine whether the physical particle 300 and the virtual object are in contact with each other.

상호침투 예측부(140)는 가상 손 모델의 물리 파티클(300)을 가이드 접점으로 활용하여 가상 객체 접촉시의 손 상호침투에 대한 발생 여부를 예측하는 기능을 수행한다.The mutual penetration prediction unit 140 uses the physical particle 300 of the virtual hand model as a guide contact point to predict whether hand mutual penetration occurs when the virtual object is in contact.

본 실시예에 있어서, 상호침투 예측부(140)는 접촉 감지부(130)에서 가상 손 모델의 물리 파티클(300)이 가상 객체와 접촉하였다고 판단되면, 접촉된 물리 파티클(300)의 침투 깊이(Penetration Depth)를 계산하여 가상 객체 내로의 손 상호침투에 대한 발생 여부를 예측한다. 한편, 상호침투 예측부(140)는 센서 등을 통해 수집되는 영상 및 물리 파티클(300)의 물리량 등을 활용하여 상기의 침투 깊이를 계산할 수 있다.In this embodiment, when it is determined that the physical particle 300 of the virtual hand model has contacted the virtual object by the touch sensing unit 130, the penetration depth of the contacted physical particle 300 ( Penetration Depth) is calculated to predict the occurrence of hand mutual penetration into the virtual object. Meanwhile, the mutual penetration prediction unit 140 may calculate the penetration depth by using an image collected through a sensor or the like and a physical quantity of the physical particle 300.

상호침투 예측부(140)는 물리 파티클(300)과 가상 객체가 충돌했을 시의 침투 깊이에 대하여, 침투 깊이가 물리 파티클(300)의 반지름을 넘지 않는 경우(=Small Penetration)에는 가상 객체 내로의 손 상호침투가 발생하지 않는 것으로 예측한다. 상호침투 예측부(140)는 예측 결과에 따라 가상 객체가 힘이 주어진 방향으로 약간 밀리게 되는 예측 가능한 물리 시뮬레이션의 수행이 발생할 것으로 판단하고, 이에 대한 진행이 이루어질 수 있도록 동작한다.The interpenetration prediction unit 140, when the penetration depth does not exceed the radius of the physical particle 300 (=Small Penetration), the penetration depth when the physical particle 300 collides with the virtual object. It is predicted that hand mutual penetration does not occur. The interpenetration prediction unit 140 determines that a predictable physical simulation will occur in which the virtual object is slightly pushed in a direction in which the force is given according to the prediction result, and operates to proceed with this.

상호침투 예측부(140)는 상기의 침투 깊이가 물리 파티클(300)의 반지름을 초과하는 경우(=Big Penetration) 가상 객체 내로의 손 상호침투가 발생할 것으로 예측한다. 상호침투 예측부(140)는 예측 결과에 따라 예측 불가능한 물리 시뮬레이션 결과 및 시각적인 상호 침투가 발생할 것으로 판단하고, 이를 방지하기 위한 처리가 이루어질 수 있도록 동작한다. 즉, 상호침투 예측부(140)는 손 상호침투에 발생에 대한 예측 결과를 동작 제어부(150)로 전달하여, 이를 통해 손 상호침투 방지를 위한 동작 재생성 과정이 이루어질 수 있도록 동작한다.When the penetration depth exceeds the radius of the physical particle 300 (=Big Penetration), the mutual penetration prediction unit 140 predicts that hand mutual penetration into the virtual object will occur. The interpenetration predictor 140 determines that an unpredictable physical simulation result and visual interpenetration will occur according to the prediction result, and operates so that processing to prevent this may be performed. In other words, the mutual penetration prediction unit 140 transmits the prediction result of the occurrence of the mutual penetration of the hands to the operation control unit 150, and operates so that the motion regeneration process for preventing the mutual penetration of the hands can be performed.

동작 제어부(150)는 상호침투 예측부(140) 및 모델 생성부(120)와 연동하며, 상호침투 예측부(140)로부터 전달되는 손 상호침투에 대한 예측 결과에 따라 가상 손 모델의 동작을 재생성하는 기능을 수행한다. 본 실시예에 있어서, 동작 제어부(150)는 손의 움직임이 가상 객체를 파고 들어가는 순간의 동작을 재생성한다.The motion control unit 150 interlocks with the interpenetration prediction unit 140 and the model generation unit 120, and regenerates the motion of the virtual hand model according to the prediction result of hand interpenetration transmitted from the interpenetration prediction unit 140 Performs the function of In this embodiment, the motion control unit 150 reproduces the motion at the moment when the hand motion penetrates the virtual object.

본 실시예에 있어서, 동작 제어부(150)는 가상 객체에 접촉한 물리 파티클(300)의 개수, 위치 및 물리 파티클(300)과 가상 객체와 접촉시의 관통 깊이를 기반으로 손 상호침투에 따른 초과 침투비율을 산출하고, 산출한 초과 침투비율을 활용하여 가상 손 모델의 동작을 재생성한다. 한편, 동작 제어부(150)가 초과 침투비율을 산출하는 수학식은 아래와 같다.In this embodiment, the motion control unit 150 exceeds the number of physical particles 300 in contact with the virtual object, the position, and the depth of penetration when the physical particles 300 and the virtual object are in contact with each other. The penetration ratio is calculated, and the operation of the virtual hand model is regenerated using the calculated excess penetration ratio. Meanwhile, the equation for calculating the excess penetration rate by the operation control unit 150 is as follows.

Figure pat00001
Figure pat00001

여기서, pn(i)는 n 프레임에서 충돌 상태(Collision or inside)인 인덱스 i의 물리 파티클을, N은 현재 충돌 상태에 있는 모든 물리 파티클의 개수를, P(pn(i))은 pn(i)의 위치(Position)을 D(pn(i))은 pn(i)의 관통 깊이(Penetration Depth)를, Rn은 초과 침투(Over Penetration)된 비율을 의미한다.Here, p n (i) is the physical particle of index i, which is the collision state (collision or inside) in n frames, N is the number of all physical particles currently in the collision state, and P(p n (i)) is p The position of n (i) is D (p n (i)) is the Penetration Depth of p n (i), and R n is the rate of over penetration.

보다 자세하게는, 동작 제어부(150)는 가상 손 모델의 재생성 대상이 되는 현재 프레임(n번째 프레임)과 이전 프레임(n-1번째 프레임) 사이에 손 관절 각도에 대한 변화각을 계산하고, 계산된 변화각을 앞서 산출한 초과 침투비율만큼 보간하여 가상 손 모델의 동작을 재생성한다. In more detail, the motion control unit 150 calculates the angle of change for the hand joint angle between the current frame (n-th frame) and the previous frame (n-th frame) to be regenerated for the virtual hand model, and the calculated The motion of the virtual hand model is regenerated by interpolating the angle of change by the excess penetration rate calculated previously.

한편, 도 4를 참조하면, 손은 개략적으로 엄지, 검지, 중지, 약지, 및 새끼 손가락과 손바닥(또는 손등)으로 구성된다. 손은 관절에 의해 움직일 수 있으며 관절과 관절 사이는 뼈로 구성되어 있다. 엄지 손가락을 제외한 네 개의 손가락은 기절골, 중절골(400), 및 말절골(410)로 구성되며, 엄지 손가락은 기절골과 말절골(410)로 구성된다. 손바닥은 손목뼈와 각 손가락을 연결하는 5개의 손허리뼈로 구성된다. 이러한, 손의 계층 구조에 따르면, 손이 가상 객체를 뚫고 들어가는 침투 동작은 말절골(410)과 중절골(400)에서만 발생하게 된다. 이는, 기절골과 손바닥은 주어진 손목 움직임에 대하여 매우 제한된 자유도를 가지고 움직이기 때문이다.Meanwhile, referring to FIG. 4, a hand is schematically composed of a thumb, index finger, middle finger, ring finger, and a little finger and palm (or back of the hand). The hand can be moved by joints, and the joints and joints are made up of bones. Four fingers excluding the thumb are composed of a stun bone, a middle bone 400, and a terminal bone 410, and the thumb is composed of a stunned bone and a terminal bone 410. The palm is composed of the wrist bones and the five hip bones that connect each finger. According to the hierarchical structure of the hand, the penetrating motion in which the hand penetrates the virtual object occurs only in the end bone 410 and the middle bone 400. This is because the stun bone and the palm move with very limited degrees of freedom for a given wrist movement.

이 점에 기인하여, 본 실시예에 따른 동작 제어부(150)는 가상 손 모델의 동작을 재생성하는 과정에서 말절골과 중절골의 움직임을 재생성하며, 손의 계층구조에 따라 중절골(400) 동작을 먼저 재생성 한 후에, 말절골(400)의 동작을 재생성한다. 즉, 동작 제어부(150)는 산출한 초과 침투비율을 기반으로 가상 손 모델 내 중절골에 해당하는 손 관절 각도에 대한 변화각 및 말절골에 해당하는 손 관절 각도에 대한 변화각을 순차적으로 보간하여 가상 손 모델의 동작을 재생성한다. 한편, 동작 제어부(150)가 가상 손 모델의 동작을 재생성하는 알고리즘은 도 5를 통해 확인할 수 있다.Due to this, the motion control unit 150 according to the present embodiment regenerates the movements of the ending bone and the metatarsal bone in the process of regenerating the motion of the virtual hand model, and the metastosis 400 operates according to the hierarchy of the hand. After regenerating first, the motion of the end bone 400 is regenerated. That is, based on the calculated excess penetration rate, the motion control unit 150 sequentially interpolates the angle of change for the angle of the hand joint corresponding to the middle osteotomy in the virtual hand model and the angle of change for the angle of the hand joint corresponding to the end bone. Recreate the motion of the virtual hand model. Meanwhile, an algorithm by which the motion control unit 150 regenerates the motion of the virtual hand model can be confirmed through FIG. 5.

도 6은 본 실시예에 따른 동작 재구성 방법에 따른 효과를 예시한 예시도이다.6 is an exemplary diagram illustrating the effect of the motion reconfiguration method according to the present embodiment.

본 실시예에 따른 동작 재구성 방법에 의하는 경우 물리 파티클을 가이드 접점으로 지속적으로 활용하여 손 상호침투 동작을 재생성할 수 있기 때문에, 사용자는 시각적으로나 물리적으로나 안정적인 인터랙션 결과를 얻을 수 있다.In the case of the motion reconfiguration method according to the present embodiment, since the hand interpenetration motion can be regenerated by continuously utilizing physical particles as a guide contact point, a user can obtain a stable interaction result visually and physically.

또한, 본 실시예에 따른 동작 재구성 방법과 같이 간접적인 충돌을 활용하는 방법의 경우, 촉감이 존재하지 않는 가상 환경에서 사람의 동작은 실제로 한 프레임 내에서 급변하여 일어날 수 있다는 점에서, 물체 표면에서의 충돌을 이용하는 직접적인 방법보다 예측 가능한 범위 내에서 실제 손 움직임을 더 부드럽게 만들어 줄 수 있는 효과가 있다.In addition, in the case of a method that utilizes indirect collision, such as the motion reconstruction method according to the present embodiment, in a virtual environment where tactile sensation does not exist, human motion may actually change rapidly within one frame. There is an effect that can make the actual hand movement smoother within a predictable range than the direct method using the collision of

도 6을 참조하면, 손 상호침투를 방지하는 본 실시예에 따른 동작 재생성 알고리즘의 결과를 확인할 수 있다. 즉, Wire-Frame Hand는 센싱 디바이스를 통해 입력된 키네마틱 모션(Kinematic Motion)으로 가상 객체에 상호침투가 발생한 상황이지만, 본 실시예에 따른 동작 재성성 알고리즘의 결과로 재생성된 Mesh Hand는 상호침투 없이 물체 표면에 손이 닿아있음을 확인할 수 있다.Referring to FIG. 6, the result of the motion regeneration algorithm according to the present embodiment that prevents hand mutual penetration can be confirmed. That is, the Wire-Frame Hand is a situation in which the virtual object is mutually infiltrated by the kinematic motion input through the sensing device, but the mesh hand regenerated as a result of the motion regeneration algorithm according to this embodiment is mutually penetrating. Without it, you can see that your hand is in contact with the object surface.

도 7은 본 실시예에 따른 가상 객체 접촉시 동작 재생성 방법을 설명하기 위한 순서도이다.7 is a flowchart illustrating a method of regenerating an operation upon contact with a virtual object according to the present embodiment.

동작 재생성 장치(100)는 가상 손 모델 상에 복수의 물리 파티클이 분산 배치되도록 형성한다(S702). 단계 S702에서 동작 재생성 장치(100)는 사용자가 손동작을 수행할 때 주로 접촉하게 되는 메시 인덱스에만 물리 파티클(300)을 생성할 수 있다.The motion regeneration apparatus 100 is formed so that a plurality of physical particles are distributed and disposed on the virtual hand model (S702). In step S702, the motion regeneration apparatus 100 may generate the physical particle 300 only in the mesh index that the user mainly contacts when performing the hand motion.

또한, 동작 재생성 장치(100)는 손동작을 수행할 때 주로 접촉하게 되는 메시 인덱스인 손가락 끝 마디에 물리 파티클(300)을 촘촘하게 분포시키고 손바닥에는 전체 면적에 균등하게 분포시킬 수 있다.In addition, the motion regeneration apparatus 100 may densely distribute the physical particles 300 to the fingertips, which are mesh indexes that are mainly contacted when performing a hand motion, and evenly distribute the physical particles 300 to the palm of the hand.

동작 재생성 장치(100)는 단계 S702에서 생성된 가상 손 모델의 물리 파티클(300)이 가상 객체와 접촉하였는지 여부를 감지한다(S704). The motion regeneration apparatus 100 detects whether the physical particle 300 of the virtual hand model generated in step S702 has contacted the virtual object (S704).

동작 재생성 장치(100)는 단계 S704의 감지결과에 따라 가상 손 모델의 물리 파티클(300)이 가상 객체와 접촉하였다고 판단되면, 가상 객체와 접촉된 가상 손 모델의 물리 파티클의 침투 깊이를 계산한다(S706).When it is determined that the physical particle 300 of the virtual hand model has contacted the virtual object according to the detection result in step S704, the motion regeneration device 100 calculates the penetration depth of the physical particle of the virtual hand model that has contacted the virtual object ( S706).

동작 재생성 장치(100)는 단계 S706에서 계산된 침투 깊이를 기반으로 가상 객체 내로의 손 상호침투의 발생 여부를 판별한다(S708). 단계 S708에서 동작 재생성 장치(100)는 단계 S706에서 계산된 침투 깊이와 물리 파티클(300)의 반지름을 비교하고, 비교결과에 따라 손 상호침투의 발생 여부를 판별할 수 있다.The motion regeneration apparatus 100 determines whether or not hand mutual penetration into the virtual object occurs based on the penetration depth calculated in step S706 (S708). In step S708, the motion regeneration apparatus 100 may compare the penetration depth calculated in step S706 with the radius of the physical particle 300, and determine whether hand mutual penetration occurs according to the comparison result.

동작 재생성 장치(100)는 단계 S706의 침투 깊이가 물리 파티클(300)의 반지름을 초과하는 경우 가상 객체 내로의 손 상호침투가 발생할 것으로 예측하고, 예측결과에 따라 상호침투 방지를 위한 동작 재생성 과정을 수행한다(S710). 단계 S710에서 동작 재생성 장치(100)는 가상 객체에 접촉한 물리 파티클(300)의 개수, 위치 및 물리 파티클(300)과 가상 객체와 접촉시의 관통 깊이를 기반으로 손 상호침투에 따른 초과 침투비율을 산출하고, 산출한 초과 침투비율을 활용하여 가상 손 모델의 동작을 재생성한다.When the penetration depth of step S706 exceeds the radius of the physical particle 300, the motion regeneration device 100 predicts that hand mutual penetration into the virtual object will occur, and performs a motion regeneration process to prevent mutual penetration according to the prediction result. It performs (S710). In step S710, the motion regeneration device 100 is based on the number and position of the physical particles 300 in contact with the virtual object and the depth of penetration when the physical particles 300 and the virtual object are in contact with the excess penetration rate according to hand mutual penetration. And regenerate the motion of the virtual hand model using the calculated excess penetration ratio.

동작 재생성 장치(100)는 단계 S706의 침투 깊이가 물리 파티클(300)의 반지름을 넘지 않는 경우 또는 단계 S710의 동작 재생성 과정의 수행이 완료되면 예측 가능한 물리 시뮬레이션의 수행 결과가 생성될 수 있도록 동작한다(S712).The motion regeneration apparatus 100 operates to generate a predictable physical simulation result when the penetration depth of step S706 does not exceed the radius of the physical particle 300 or when the motion regeneration process of step S710 is completed. (S712).

여기서, 단계 S702 내지 S712은 앞서 설명된 동작 재생성 장치(100)의 각 구성요소의 동작에 대응되므로 더 이상의 상세한 설명은 생략한다.Here, steps S702 to S712 correspond to the operations of each component of the operation regeneration apparatus 100 described above, and thus further detailed descriptions are omitted.

도 7에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 7에 기재된 과정을 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 7은 시계열적인 순서로 한정되는 것은 아니다.In FIG. 7, each process is described as sequentially executing, but is not limited thereto. In other words, since it is possible to change and execute the processes illustrated in FIG. 7 or to execute one or more processes in parallel, FIG. 7 is not limited to a time series order.

전술한 바와 같이 도 7에 기재된 동작 재생성 방법은 프로그램으로 구현되고 컴퓨터의 소프트웨어를 이용하여 읽을 수 있는 기록매체(CD-ROM, RAM, ROM, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등)에 기록될 수 있다.As described above, the operation regeneration method described in FIG. 7 is a recording medium (CD-ROM, RAM, ROM, memory card, hard disk, magneto-optical disk, storage device, etc.) that is implemented as a program and can be read using software of a computer. Can be written on.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present embodiment, and those of ordinary skill in the technical field to which the present embodiment belongs will be able to make various modifications and variations without departing from the essential characteristics of the present embodiment. Accordingly, the present exemplary embodiments are not intended to limit the technical idea of the present exemplary embodiment, but are illustrative, and the scope of the technical idea of the present exemplary embodiment is not limited by these exemplary embodiments. The scope of protection of this embodiment should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present embodiment.

100: 동작 재생성 장치 110: 입력부
120: 모델 생성부 130: 접촉 감지부
140: 상호침투 예측부 150: 동작 제어부
300: 물리 파티클 310: 가상 손 모델
100: motion regeneration device 110: input unit
120: model generation unit 130: contact detection unit
140: mutual penetration prediction unit 150: motion control unit
300: physics particle 310: virtual hand model

Claims (10)

가상 객체 접촉시 동작 재생성 방법에 있어서,
가상 손 모델에 복수의 물리 파티클이 분산 배치되도록 형성하는 과정;
상기 가상 손 모델의 상기 물리 파티클이 가상 객체와 접촉하였는지 여부를 감지하는 과정;
상기 가상 객체와 접촉된 상기 물리 파티클의 침투 깊이(Penetration Depth)를 계산하여 상기 가상 객체 내로의 손 상호침투에 대한 발생 여부를 예측하는 과정; 및
상기 예측하는 과정의 예측결과에 따라 상기 가상 손 모델의 동작을 재생성하는 과정
을 포함하는 것을 특징으로 하는 가상 객체 접촉시 동작 재생성 방법.
In the method of regenerating motion upon contact with a virtual object,
Forming a plurality of physical particles to be distributed and arranged in a virtual hand model;
Detecting whether the physical particles of the virtual hand model are in contact with a virtual object;
Calculating a penetration depth of the physical particles in contact with the virtual object to predict whether or not mutual penetration of hands into the virtual object occurs; And
The process of regenerating the motion of the virtual hand model according to the prediction result of the predicting process
A method for regenerating motion upon contact with a virtual object, comprising: a.
제 1항에 있어서,
상기 형성하는 과정은,
상기 가상 손 모델을 구성하는 메시 인덱스 중 사용자가 손동작을 수행할 시 접촉 빈도가 일정 임계치를 초과하는 메시 인덱스를 선별하고, 선별된 메시 인덱스 상에 상기 물리 파티클을 형성하는 것을 특징으로 하는 가상 객체 접촉시 동작 재생성 방법.
The method of claim 1,
The forming process,
A virtual object contact, characterized in that among the mesh indexes constituting the virtual hand model, a mesh index whose contact frequency exceeds a certain threshold when a user performs a hand motion is selected, and the physical particles are formed on the selected mesh index. How to regenerate behavior on time.
제 1항에 있어서,
상기 형성하는 과정은,
상기 가상 손 모델의 손바닥 영역에는 상기 물리 파티클을 균등하게 배치하고 손가락 영역에는 상기 손바닥 영역 대비 촘촘하게 배치하는 것을 특징으로 하는 가상 객체 접촉시 동작 재생성 방법.
The method of claim 1,
The forming process,
Wherein the physical particles are evenly arranged in a palm area of the virtual hand model and denser than the palm area in a finger area.
제 1항에 있어서,
상기 예측하는 과정은,
상기 물리 파티클의 침투 깊이와 기 설정된 상기 물리 파티클의 반지름의 크기를 비교하고, 상기 침투 깊이가 상기 반지름의 크기를 초과하는 경우 상기 가상 객체 내로의 손 상호침투가 발생하는 것으로 예측하는 것을 특징으로 하는 가상 객체 접촉시 동작 재생성 방법.
The method of claim 1,
The predicting process,
Comparing the depth of penetration of the physical particles with the size of the radius of the physical particles, and predicting that mutual penetration of hands into the virtual object occurs when the penetration depth exceeds the size of the radius. How to recreate motion when touching virtual objects.
제 1항에 있어서,
상기 재생성하는 과정은,
상기 가상 객체에 접촉한 상기 물리 파티클의 개수, 위치 및 상기 물리 파티클과 상기 가상 객체와 접촉시의 관통 깊이를 기반으로 상기 손 상호침투에 따른 초과 침투비율을 산출하고, 상기 초과 침투비율을 활용하여 상기 가상 손 모델의 동작을 재생성하는 것을 특징으로 하는 가상 객체 접촉시 동작 재생성 방법.
The method of claim 1,
The regenerating process,
Based on the number and location of the physical particles in contact with the virtual object, and the depth of penetration when the physical particles and the virtual object are in contact, the excess penetration rate according to the hand mutual penetration is calculated, and the excess penetration rate is used. A method for regenerating a motion upon contact with a virtual object, characterized in that regenerating the motion of the virtual hand model.
제 5항에 있어서,
상기 재생성하는 과정은,
상기 가상 손 모델의 재생성 대상이되는 현재 프레임과 이전 프레임 사이에 손 관절 각도에 대한 변화각을 계산하고, 상기 변화각을 상기 초과 침투비율만큼 보간하여 상기 가상 손 모델의 동작을 재생성하는 것을 특징으로 하는 가상 객체 접촉시 동작 재생성 방법.
The method of claim 5,
The regenerating process,
Computing the angle of change for the angle of the hand joint between the current frame and the previous frame to be regenerated of the virtual hand model, and regenerating the motion of the virtual hand model by interpolating the angle of change by the excess penetration rate. A method of regenerating motion upon contact with a virtual object.
제 6항에 있어서,
상기 재생하는 과정은,
상기 초과 침투비율을 기반으로 상기 가상 손 모델 내 중절골에 해당하는 손 관절 각도에 대한 변화각 및 말절골에 해당하는 손 관절 각도에 대한 변화각을 순차적으로 보간하는 것을 특징으로 하는 가상 객체 접촉시 동작 재생성 방법.
The method of claim 6,
The regenerating process,
When contacting a virtual object, characterized in that the angle of change to the angle of the hand joint corresponding to the middle osteotomy in the virtual hand model and the angle of change to the angle of the hand joint corresponding to the end bone are sequentially interpolated based on the excess penetration rate. How to recreate motion.
가상 객체 접촉시 동작 재생성을 위한 장치에 있어서,
가상 손 모델에 복수의 물리 파티클이 분산 배치되도록 형성하는 모델 생성부;
상기 가상 손 모델 상의 상기 물리 파티클이 가상 객체와 접촉하였는지 여부를 감지하는 접촉 감지부;
상기 가상 객체와 접촉된 상기 물리 파티클의 침투 깊이를 계산하여 상기 가상 객체 내로의 손 상호침투에 대한 발생 여부를 예측하는 상호침투 예측부; 및
상기 상호침투 예측부의 예측결과에 따라 상기 가상 손 모델의 동작을 재생성하는 동작 제어부
를 포함하는 것을 특징으로 하는 동작 재생성 장치.
In the apparatus for regenerating motion upon contact with a virtual object,
A model generator configured to form a plurality of physical particles to be distributed and arranged in the virtual hand model;
A touch sensing unit that detects whether the physical particles on the virtual hand model are in contact with a virtual object;
An interpenetration prediction unit that calculates a penetration depth of the physical particles in contact with the virtual object and predicts whether or not hand mutual penetration into the virtual object occurs; And
An operation control unit for regenerating the operation of the virtual hand model according to the prediction result of the interpenetration prediction unit
Motion regeneration device comprising a.
제 8항에 있어서,
상기 상호침투 예측부는,
상기 물리 파티클의 침투 깊이와 기 설정된 상기 물리 파티클의 반지름의 크기를 비교하고, 상기 침투 깊이가 상기 반지름의 크기를 초과하는 경우 상기 가상 객체 내로의 손 상호침투가 발생하는 것으로 예측하는 것을 특징으로 하는 동작 재생성 장치.
The method of claim 8,
The interpenetration prediction unit,
Comparing the depth of penetration of the physical particles with the size of the radius of the physical particles, and predicting that mutual penetration of hands into the virtual object occurs when the penetration depth exceeds the size of the radius. Motion regeneration device.
제 8항에 있어서,
상기 동작 제어부는,
상기 가상 객체에 접촉한 상기 물리 파티클의 개수, 위치 및 상기 물리 파티클과 상기 가상 객체와 접촉시의 관통 깊이를 기반으로 상기 손 상호침투에 따른 초과 침투비율을 산출하고, 상기 초과 침투비율을 활용하여 상기 가상 손 모델의 동작을 재생성하는 것을 특징으로 하는 동작 재생성 장치.
The method of claim 8,
The operation control unit,
Based on the number and location of the physical particles in contact with the virtual object, and the depth of penetration when the physical particles and the virtual object are in contact, the excess penetration rate according to the hand mutual penetration is calculated, and the excess penetration rate is used. Motion regeneration device, characterized in that regenerating the motion of the virtual hand model.
KR1020190014753A 2019-02-08 2019-02-08 Method and Apparatus for Regeneration Motion in Virtual Object Contact KR20200097420A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190014753A KR20200097420A (en) 2019-02-08 2019-02-08 Method and Apparatus for Regeneration Motion in Virtual Object Contact

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190014753A KR20200097420A (en) 2019-02-08 2019-02-08 Method and Apparatus for Regeneration Motion in Virtual Object Contact

Publications (1)

Publication Number Publication Date
KR20200097420A true KR20200097420A (en) 2020-08-19

Family

ID=72265554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190014753A KR20200097420A (en) 2019-02-08 2019-02-08 Method and Apparatus for Regeneration Motion in Virtual Object Contact

Country Status (1)

Country Link
KR (1) KR20200097420A (en)

Similar Documents

Publication Publication Date Title
Frati et al. Using Kinect for hand tracking and rendering in wearable haptics
US8963963B2 (en) Video-based image control system
KR20150067250A (en) Touchless input for a user interface
KR102269414B1 (en) Method and device for object manipulation in virtual/augmented reality based on hand motion capture device
KR101318244B1 (en) System and Method for Implemeting 3-Dimensional User Interface
US10162737B2 (en) Emulating a user performing spatial gestures
CN108776544A (en) Exchange method and device, storage medium, electronic equipment in augmented reality
Riduwan et al. Finger-based gestural interaction for exploration of 3D heart visualization
Salvato et al. Predicting hand-object interaction for improved haptic feedback in mixed reality
Bouzbib et al. " Let’s Meet and Work it Out": Understanding and Mitigating Encountered-Type of Haptic Devices Failure Modes in VR
Mousas et al. Performance-driven hybrid full-body character control for navigation and interaction in virtual environments
KR20200097420A (en) Method and Apparatus for Regeneration Motion in Virtual Object Contact
Ahmed et al. Interaction techniques in mobile Augmented Reality: State-of-the-art
Liu et al. COMTIS: Customizable touchless interaction system for large screen visualization
Shi et al. A real-time bimanual 3D interaction method based on bare-hand tracking
Teixeira et al. Open/closed hand classification using Kinect data
US20200103971A1 (en) Method And Apparatus For Providing Realistic Feedback During Contact With Virtual Object
Averbukh et al. The tasks of designing and developing virtual test stands
CN111103973A (en) Model processing method, model processing device, computer equipment and storage medium
Figueiredo et al. Bare hand natural interaction with augmented objects
Humberston et al. Hands on: interactive animation of precision manipulation and contact
Gope et al. Interaction with Large Screen Display using Fingertip & Virtual Touch Screen
CN104679230B (en) A kind of method and terminal of contactless input information
Li et al. Real-time Physics-based Interaction in Augmented Reality
Lu et al. A combined strategy of hand tracking for desktop VR

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application