KR20180033822A - 물리적 시뮬레이션으로부터 진동 효과를 발생시키는 방법 및 장치 - Google Patents

물리적 시뮬레이션으로부터 진동 효과를 발생시키는 방법 및 장치 Download PDF

Info

Publication number
KR20180033822A
KR20180033822A KR1020160123254A KR20160123254A KR20180033822A KR 20180033822 A KR20180033822 A KR 20180033822A KR 1020160123254 A KR1020160123254 A KR 1020160123254A KR 20160123254 A KR20160123254 A KR 20160123254A KR 20180033822 A KR20180033822 A KR 20180033822A
Authority
KR
South Korea
Prior art keywords
vibration
generating
waveform
collision event
information
Prior art date
Application number
KR1020160123254A
Other languages
English (en)
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 KR1020160123254A priority Critical patent/KR20180033822A/ko
Publication of KR20180033822A publication Critical patent/KR20180033822A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M19/00Current supply arrangements for telephone systems
    • H04M19/02Current supply arrangements for telephone systems providing ringing current or supervisory tones, e.g. dialling tone or busy tone
    • H04M19/04Current supply arrangements for telephone systems providing ringing current or supervisory tones, e.g. dialling tone or busy tone the ringing-current being generated at the substations
    • H04M19/047Vibrating means for incoming calls

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

물리적 시뮬레이션 정보로부터 진동 효과를 발생시키는 방법 및 장치가 개시된다. 개시된 진동 효과 발생 방법은, 물리적 시뮬레이션 정보로부터 충돌 이벤트를 검출하는 단계와, 상기 충돌 이벤트를 발생시키는 물체의 물성 정보 및 운동 정보로부터 상기 충돌 이벤트에서 발생하는 진동에 관한 진동 파라미터를 계산하는 단계 및 상기 진동 파라미터에 기초하여, 진동 효과를 발생시키는 단계를 포함한다.

Description

물리적 시뮬레이션으로부터 진동 효과를 발생시키는 방법 및 장치{METHOD AND DEVICE FOR GENERATING A VIBRATION EFFECT FROM PHYSICAL SIMULATION}
본 발명은 진동 효과 발생 방법 및 장치에 관한 것으로, 더욱 상세하게는 물리적 시뮬레이션으로부터 진동 효과를 발생시키는 방법 및 장치에 관한 것이다.
최근 스마트 폰, 데스크탑에서 실행되는 게임, 영상 등 다양한 콘텐츠 제작 시에 보다 더 실감나는 시각적인 효과를 제공하기 위하여 물리 엔진이 널리 적용되고 있다. 물리 엔진은 강체동역학, 연체동역학, 유동역학 등 물리 법칙에 기초하여 물체의 움직임 및 자연스러움을 계산한다.
그리고, 물리 엔진에서 계산된 결과에 기초해서 물체들의 움직임이 시각화되어 디스플레이 장치에 표시될 수 있다. 최근, 보다 실감나는 콘텐츠를 사용자에게 제공하기 위해, 시각적 효과뿐만 아니라 소리, 촉감 등 오감 체험형 컨텐츠의 제공이 요구되고 있다.
이러한 요구에 대응하여 모션 햅틱 효과 등을 제공하는 시스템이 있지만, 대부분의 모션 햅틱 효과는 물리적 시뮬레이션에서 발생하는 물체들 간의 충돌을 반영하고 있지 않아 사실감이 떨어진다.
또한, 햅틱 효과를 제공하기 위해서 콘텐츠에 맞는 효과를 전문가가 직접 제작해야 하는 문제점이 있다. 즉, 콘텐츠에 적합한 햅틱 효과를 제공하기 위해서는 많은 시간과 비용이 소요되며, 이는 양질의 모션 햅틱 효과가 적용된 다양한 콘텐츠를 제공하는데 어려움이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 물리적 시뮬레이션으로부터 진동 효과를 발생시키는 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 물리적 시뮬레이션으로부터 진동 효과를 발생시키는 장치를 제공하는 데 있다.
본 발명의 일 실시예에 따르면, 진동 효과 발생 장치에서 수행되는 진동 효과 발생 방법으로서, 물리적 시뮬레이션 정보로부터 충돌 이벤트를 검출하는 단계;
상기 충돌 이벤트를 발생시키는 물체의 물성 정보 및 운동 정보로부터 상기 충돌 이벤트에서 발생하는 진동에 관한 진동 파라미터를 계산하는 단계; 및
상기 진동 파라미터에 기초하여, 진동 효과를 발생시키는 단계;를 포함하는 진동 효과 발생 방법이 제공된다.
여기서, 상기 진동 파라미터는 상기 물체의 진폭을 포함할 수 있다.
여기서, 상기 물체의 물성 정보는 상기 물체의 질량 및 상기 물체의 관성 모멘트에 대한 정보를 포함하고, 상기 물체의 운동 정보는 상기 물체의 선속도(linear velocity) 및 상기 물체의 각속도(angular velocity)에 대한 정보를 포함하며,
상기 진동 파라미터를 계산하는 단계는, 상기 물체의 질량 및 관성 모멘트와, 상기 충돌 이벤트에 의해 발생하는 상기 물체의 선속도(linear velocity) 변화량 및 각속도(angular velocity) 변화량에 기초하여, 상기 물체의 진폭을 계산할 수 있다.
여기서, 상기 진동 파라미터는 상기 물체의 진동 주파수 및 진동 감쇠율을 더 포함할 수 있다.
여기서, 진동 효과 발생 방법은, 상기 물체의 진동 감쇠율에 기초하여, 상기 진동 효과의 유지 시간을 계산하는 단계;를 더 포함하며,
상기 진동 효과를 발생시키는 단계는, 상기 유지 시간 동안 상기 진동 효과를 발생시킬 수 있다.
여기서, 상기 물체의 물성 정보는 상기 물체의 질량, 각속도, 관성 모멘트, 밀도, 마찰계수, 탄성계수, 고유주파수에 대한 정보를 포함하며,
상기 물체의 진동 주파수 및 상기 물체의 진동 감쇠율은 상기 물체의 물성 정보에 따라 결정될 수 있다.
여기서, 상기 진동 파라미터로부터 시간에 따른 진동의 파형을 계산하는 단계를 더 포함하며,
상기 진동 효과를 발생시키는 단계는, 상기 진동의 파형에 기초하여 상기 진동 효과를 발생시킬 수 있다.
여기서, 상기 진동의 파형을 계산하는 단계는, 수학식 1에 따라 상기 진동의 파형을 계산할 수 있다.
Figure pat00001
....수학식 1
(xi(t)= 시각 t에서 i번째 물체에서 발생한 진동 변위, Ai = i번째 물체의 진폭, f= 진동 주파수, τ= 진동 감쇠율 계수)
여기서, 진동 효과 발생 방법은, 상기 진동의 파형이 상기 진동 효과를 발생시키는 진동 발생부에서 구현되지 않는 경우, 상기 진동의 파형을 상기 진동 발생부에서 구현 가능한 파형으로 변환하는 단계;를 더 포함하며,
상기 진동 효과를 발생시키는 단계는, 변환된 파형에 따라 상기 진동 효과를 발생시킬 수 있다.
여기서, 상기 충돌 이벤트를 검출하는 단계는, 상기 충돌 이벤트를 발생시키는 물체가 복수개인 경우, 복수의 물체들 가운데, 관심 물체로 설정된 물체의 충돌 이벤트를 유효한 충돌 이벤트로 검출할 수 있다.
본 발명의 다른 실시예에 따른 진동 효과 발생 장치는, 프로세서(processor); 상기 프로세서의 제어에 따라 진동 효과를 발생시키는 진동 발생부; 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 상기 적어도 하나의 명령은, 물리적 시뮬레이션 정보로부터 충돌 이벤트를 검출하고; 및 상기 충돌 이벤트를 발생시키는 물체의 물성 정보 및 운동 정보로부터 상기 충돌 이벤트에서 발생하는 진동에 관한 진동 파라미터를 계산하도록 실행되며, 상기 진동 발생부는 상기 진동 파라미터에 기초하여 진동 효과를 발생시킬 수 있다.
여기서, 상기 진동 파라미터는 상기 물체의 진폭을 포함할 수 있다.
여기서, 상기 물체의 물성 정보는 상기 물체의 질량 및 상기 물체의 관성 모멘트에 대한 정보를 포함하고, 상기 물체의 운동 정보는 상기 물체의 선속도(linear velocity) 및 상기 물체의 각속도(angular velocity)에 대한 정보를 포함하며,
상기 프로세서는, 상기 물체의 질량 및 관성 모멘트와, 상기 충돌 이벤트에 의해 발생하는 상기 물체의 선속도(linear velocity) 변화량 및 각속도(angular velocity) 변화량에 기초하여, 상기 물체의 진폭을 계산할 수 있다.
여기서, 상기 진동 파라미터는 상기 물체의 진동 주파수 및 상기 물체의 진동 감쇠율을 더 포함할 수 있다.
여기서, 상기 프로세서는, 상기 물체의 진동 감쇠율에 따라 상기 진동 효과의 유지 시간을 계산하고,
상기 진동 발생부는, 상기 유지 시간 동안 진동 효과를 발생시킬 수 있다.
여기서, 상기 물체의 물성 정보는 상기 물체의 질량, 각속도, 관성 모멘트, 밀도, 마찰계수, 탄성계수, 고유주파수에 대한 정보를 포함하며,
상기 물체의 진동 주파수 및 상기 물체의 진동 감쇠율은 상기 물체의 물성 정보에 따라 결정될 수 있다.
여기서, 상기 프로세서는, 진동 파라미터로부터 시간에 따른 진동의 파형을 계산하며,
상기 진동 발생부는, 상기 진동의 파형에 기초하여 상기 진동 효과를 발생시킬 수 있다.
여기서, 상기 프로세서는, 수학식 1에 따라 상기 진동의 파형을 계산할 수 있다.
Figure pat00002
... 수학식 1
(xi(t)= 시각 t에서 i번째 물체에서 발생한 진동 변위, Ai = i번째 물체의 진폭, f= 진동 주파수, τ= 진동 감쇠율 계수)
여기서, 상기 진동의 파형이 상기 진동 발생부에서 구현이 불가능한 경우, 상기 프로세서는 상기 진동의 파형을 상기 진동 발생부에서 구현 가능한 파형으로 변환하며,
상기 진동 발생부는 상기 프로세서에서 변환된 파형에 따라 상기 진동 효과를 발생시킬 수 있다.
여기서, 상기 프로세서는, 상기 충돌 이벤트를 발생시키는 물체가 복수개인 경우, 복수의 물체 가운데, 관심 물체로 설정된 물체의 충돌 이벤트를 유효한 충돌 이벤트로 검출할 수 있다.
개시된 실시예들에 따르면, 물리적 시뮬레이션 정보로부터 진동 효과를 발생시킴으로써, 물리적 시뮬레이션으로부터 시각적 효과뿐만 아니라 진동 효과까지 함께 즐기는 환경을 사용자에게 제공할 수 있다. 또한, 실시예들에 따르면, 물체의 충돌 이벤트의 물리적 특성에 따라 진동 파라미터들을 적절히 계산하고 이에 기초하여 진동 효과를 발생시킴으로써 사용자가 보다 실감나고 사실적인 진동 효과를 체험할 수 있다.
도 1은 예시적인 실시예에 따른 진동 효과 발생 장치를 나타낸 블록도이다.
도 2는 예시적인 실시예에 따른 진동 효과 발생 방법을 나타낸 흐름도이다.
도 3은 물리적 시뮬레이션 정보의 구조를 예시적으로 나타낸 개념도이다.
도 4는 물리적 시뮬레이션에서 충돌 이벤트가 발생하는 것을 나타낸 도면이다.
도 5는 도 5에서 발생하는 충돌 이벤트들을 트리로 표현한 도면이다.
도 6은 물체가 충돌에 의해 받는 힘
Figure pat00003
을 설명하기 위한 도면이다.
도 7은 다른 예시적인 실시예에 따른 진동 효과 발생 방법을 나타낸 흐름도이다.
도 8은 다른 예시적인 실시예에 따른 진동 효과 발생 방법을 나타낸 흐름도이다.
도 9는 진동 정보 계산부에서 계산한 진동 파형과 진동 파형 변환부에서 변환한 파형을 비교하여 나타낸 도면이다.
도 10은 다른 예시적인 실시예에 따른 진동 효과 발생 방법을 나타낸 흐름도이다.
도 11은 서로 다른 세 물체가 서로 다른 높이에서 자유 낙하하는 상황을 시각적으로 표시한 것을 나타낸 도면이다.
도 12는 도 11의 (a)에서 나타낸 자유 낙하에서 물체와 바닥의 충돌에 의해 발생하는 진동 효과의 파형과 소리의 파형을 비교한 도면이다.
도 13은 도 11의 (b)에서 나타낸 자유 낙하에서 물체와 바닥의 충돌에 의해 발생하는 진동 효과의 파형과 소리의 파형을 비교한 도면이다.
도 14는 도 11의 (c)에서 나타낸 자유 낙하에서 물체와 바닥의 충돌에 의해 발생하는 진동 효과의 파형과 소리의 파형을 비교한 도면이다.
도 15는 소리의 파형에 기초해 발생시킨 진동 효과와, 진동 파형에 기초해 발생시킨 진동 효과를 피실험자들이 각각 체험한 후, 피실험자들이 선호도 조사에 답한 통계 결과를 나타낸 그래프이다.
도 16은 진동 파라미터들 각각이 사용자에게 어떤 영향을 주는 지를 나타낸 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 명세서에서 물리 엔진이란 물리적 법칙을 응용하여 가상의 물체들의 움직임, 위치, 그 밖의 물리적 속성 등을 계산하는 소프트웨어 및 소프트웨어를 구동하는 하드웨어를 포함하는 개념이다. 그리고, 물리적 시뮬레이션 정보는 물리 엔진에 의해 계산되는 물체들의 움직임, 위치, 그 밖에 물리적 속성 정보 등을 포함하는 개념이다. 또한, 물리적 시뮬레이션에서 등장하는 물체는 가상의 객체로서 각각의 물체에는 소정의 물성 정보가 등록되어 있을 수 있다.
도 1은 본 발명에 따른 방법들을 수행하는 스테이션의 일 실시예를 도시한 블록도이다.
도 1을 참조하면, 예시적인 실시예에 따른 진동 효과 발생 장치(100)는 적어도 하나의 프로세서(110), 메모리(120) 및 저장 장치(125) 등을 포함할 수 있다. 또한, 진동 효과 발생 장치(100)는 진동 효과를 발생시키는 진동 발생부(130)를 포함할 수 있다.
프로세서(110)는 메모리(120) 및/또는 저장 장치(125)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(110)는 중앙 처리 장치(central processing unit; CPU), 그래픽 처리 장치(graphics processing unit; GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120)와 저장 장치(160)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory; ROM) 및/또는 랜덤 액세스 메모리(random access memory; RAM)로 구성될 수 있다.
메모리는 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있다. 적어도 하나의 명령은 물리적 시뮬레이션 정보로부터 충돌 이벤트를 검출하는 명령과, 충돌 이벤트를 발생시키는 물체의 물성 정보 및 운동 정보로부터 상기 충돌 이벤트에서 발생하는 진동에 관한 진동 파라미터를 계산하도록 실행되는 명령을 포함할 수 있다.
프로세서(110)는 메모리(120)에 저장된 명령에 따라 물리 엔진(10)으로부터 물리적 시뮬레이션 정보를 수신할 수 있다. 프로세서(110)가 수신하는 물리적 시뮬레이션 정보에는 시뮬레이션에 포함된 물체들의 속성 정보와, 물체들의 시간에 따른 위치, 속도, 가속도, 물체들 간의 충돌 여부 등에 관한 연산 정보가 포함되어 있을 수 있다. 프로세서(110)는 물리 엔진(10)으로부터 수신한 물리적 시뮬레이션 정보에서 충돌 이벤트가 발생 했는지 여부를 검출할 수 있다. 충돌 이벤트가 감지되면, 프로세서(110)는 물리적 시뮬레이션 가운데 충돌 이벤트와 관련된 정보들을 추출할 수 있다. 충돌 이벤트와 관련된 정보들은 충돌하는 물체들의 식별 정보, 물성 정보 및 운동 정보 등을 포함할 수 있다.
프로세서(110)는 충돌 이벤트와 관련된 정보들을 이용하여 진동 파라미터를 계산할 수 있다. 진동 파라미터는 충돌 이벤트에서 발생하는 진동을 특정하기 위한 물리적 파라미터이며, 진폭을 포함할 수 있다. 여기서, 진폭이란 진동이 시작되는 시점의 초기 진폭을 의미한다. 또한, 프로세서(110)는 진동 파라미터로부터 시간에 따른 진동의 파형을 계산할 수도 있다.
진동 발생부(130)는 프로세서(110)의 제어에 의해 작동할 수 있다. 예를 들어, 진동 발생부(130)는 프로세서(110)로부터 진동 파라미터에 관한 정보를 수신하고, 진동 파라미터에 대응하는 파형의 진동을 발생시킬 수 있다. 다른 예로, 진동 발생부(130)는 프로세서(110)로부터 시간에 따른 진동의 파형 정보를 수신하고, 진동을 발생시킬 수도 있다.
진동 발생부(130)가 발생시키는 진동 효과는 물리적 시뮬레이션에 의해 표현되는 시각 효과에 대응될 수 있다. 따라서, 사용자는 물리적 시뮬레이션을 시각적으로 체험할 뿐 아니라 충돌 이벤트에서 발생하는 진동도 함께 느낄 수 있다.
진동 발생부(130)는 진동 효과를 발생하기 위한 모터를 포함할 수 있다. 진동 발생부(130)에 포함된 모터의 스펙에 따라 진동 발생부(130)가 발생시킬 수 있는 진동의 범위가 달라질 수 있다. 예를 들어, 진동 발생부(130)가 편심 모터 진동자를 포함하는 경우, 진동 발생부(130)는 DC 신호나 펄스폭 변조 신호(Pulse Width Modulation, PWM 신호)를 진동 인자로 수신할 수 있다. 즉, 진동 발생부(130)가 진폭이 시간에 따라 감쇠하는 것을 구현하기 어려울 수 있다. 다른 예로, 진동 발생부(130)가 선형 공진 진동자를 포함하는 경우, 진동 발생부(130) 하나의 공진주파수만을 가지는 진동자이므로 정현파를 이용하여 구동하게 된다. 따라서, 진동 발생부(130)가 진동 주파수가 달라지는 것을 구현하기 어려울 수 있다.
진동 발생부(130)가 구현할 수 있는 진동의 종류가 제한된 경우, 이를 반영하여 진동 커맨드를 진동 발생부(130)에 전송할 필요가 있다.
상술한 문제를 해결하기 위해, 프로세서(110)는 진동 파형을 변환할 수 있다. 프로세서(110)는 진동 파라미터로부터 계산한 진동 파형을 진동 발생부(130)가 구현할 수 있는 진동의 파형으로 변환할 수 있다. 예를 들어, 프로세서(110)는 진동 발생부(130)가 구현할 수 있는 진동 중 변환 전 진동의 파형과 가장 유사한 파형으로 진동의 파형을 변환할 수 있다.
이하에서는 도 1을 참조하여 설명한 진동 효과 발생 장치(100)가 진동 효과를 발생시키는 방법에 관하여 설명한다.
도 2는 예시적인 실시예에 따른 진동 효과 발생 방법을 나타낸 흐름도이다.
도 2를 참조하면, 예시적인 실시예에 따른 진동 효과 발생 방법은, 물리적 시뮬레이션 정보로부터 충돌 이벤트를 검출하는 단계(S110), 충돌 이벤트를 발생시키는 물체의 물성 정보 및 운동 정보로부터 충돌 이벤트에서 발생하는 진동에 관한 진동 파라미터를 계산하는 단계(S120) 및 진동 파라미터에 기초하여, 진동 효과를 발생시키는 단계(S140)를 포함할 수 있다.
S110 단계에서, 프로세서(110)는 물리 엔진(10)으로부터 물리적 시뮬레이션 정보를 수신할 수 있다. 프로세서(110)는 물리적 시뮬레이션 정보에서 충돌 이벤트를 검출할 수 있다. 충돌 이벤트란, 물리적 시뮬레이션에서 물체들 사이의 충돌에 의한 이벤트를 의미한다.
프로세서(110)가 수신하는 물리적 시뮬레이션 정보는 시뮬레이션에 포함된 물체들 각각의 물성 정보, 운동 정보를 포함할 수 있다. 도 3은 물리적 시뮬레이션 정보의 구조를 예시적으로 나타낸 개념도이다.
도 3을 참조하면, 물리적 시뮬레이션에 포함된 각 물체의 운동 정보, 물성 정보 및 충돌 세팅 정보가 물리적 시뮬레이션 정보에 포함될 수 있다. 운동 정보는 물체의 위치, 선속도, 가속도 및 이동 방향에 대한 정보를 포함할 수 있다. 운동 정보는 시간에 따라 변할 수 있다. 물성 정보는 물체의 질량, 관성 모멘트, 모양, 밀도, 마찰계수, 탄성계수 및 고유주파수에 관한 정보를 포함할 수 있다. 물성 정보는 시간에 따라 변하지 않을 수 있다. 하지만 이에 제한되는 것은 아니다. 예를 들어, 충돌 이벤트 등에 의해 물체의 형상이나 물성이 변함에 따라 물체의 물성 정보가 변할 수도 있다.
충돌 세팅 정보는 물체의 충돌 이벤트에 의한 진동 효과와 관련된 정보들을 포함할 수 있다. 예를 들어, 충돌 세팅 정보는 물체의 진동 주파수 및 진동 감쇠율에 대한 정보를 포함할 수 있다. 물체의 진동 주파수 및 진동 감쇠율은 물체의 진동 파형을 결정하는 파라미터 이다. 물체의 진동 주파수 및 진동 감쇠율은 물체의 질량, 관성 모멘트, 밀도, 모양, 마찰계수, 탄성계수 및 고유주파수 등과 같은 물성 정보에 따라 다르게 결정될 수 있다. 예를 들어, 물체의 탄성 계수, 마찰 계수 등에 따라 물체의 진동 주파수를 다르게 함으로써 물체 별로 서로 다른 진동이 느껴지게 할 수 있다. 또한, 물체의 질량과 밀도에 따라 진동의 감쇠율을 다르게 함으로써, 진동이 발생되는 시간을 조절하여 진동이 보다 사실적으로 느껴지게 할 수 있다.
물체의 진동 주파수 및 진동 감쇠율은 물체의 물성 정보를 고려하여 사용자 또는 개발자에 의해 미리 설정되어 있을 수 있다. 다른 예로 물체의 진동 주파수 및 진동 감쇠율이 기설정되어 있지 않은 경우, 후술하는 진동 파라미터를 계산하는 단계(S120)에서 프로세서(110)가 물체의 물성 정보로부터 진동 주파수 및 진동 감쇠율을 계산할 수 있다.
충돌 세팅 정보는 물체가 관심 물체인지 여부에 대한 정보를 더 포함할 수 있다. 물리적 시뮬레이션에 포함된 물체의 개수가 많은 경우, 모든 물체의 충돌 이벤트에 대해 진동 효과를 발생시키기 어려우며 진동 효과가 복잡해질 수 있다. 따라서, 진동 효과 발생 장치(100)는 사용자 또는 개발자에 의해 관심 물체로 지정된 물체의 충돌 이벤트에서 발생하는 진동에 대해서만 진동 효과를 발생시킬 수 있다.
도 4는 물리적 시뮬레이션에서 충돌 이벤트가 발생하는 것을 나타낸 개념도이다. 또한, 도 5는 도 4에서 발생하는 충돌 이벤트들을 트리로 표현한 개념도이다.
도 4 및 도 5를 참조하면, 물체 v1과 물체 v2가 서로 충돌할 수 있다. 물체 v1과 물체 v2가 서로 충돌한 후, 물체 v1은 물체 v8 및 물체 v9과 충돌할 수 있다. 또한, 물체 v2는 물체 v3 및 물체 v4와 충돌할 수 있다. 물체 v3는 물체 v2와 충돌한 후, 물체 v5와 충돌할 수 있다. 물체 v4는 물체 v2와 충돌한 후, 물체 v6 및 물체 v7과 충돌할 수 있다. 물체 v1 내지 v9 가운데 물체 v9, 물체 v6, 물체 v4가 관심 물체로 설정된 경우, 프로세서(110)는 물체 v9, 물체 v6, 물체 v4에 의해 발생하는 충돌 이벤트를 유효한 충돌 이벤트로 검출할 수 있다. 예를 들어, 프로세서(110)는 도 5에서 나타낸 물체 v9과 물체 v1의 충돌 이벤트, 물체 v4와 물체 v2 사이의 충돌 이벤트 및 물체 v4와 물체 v6 사이의 충돌 이벤트를 유효한 충돌 이벤트로 검출할 수 있다. 그리고, 프로세서(110)는 유효한 충돌 이벤트에 대해서만 진동 파라미터를 계산할 수 있다. 또한, 진동 발생부(130)는 유효한 충돌 이벤트에 대해서만 진동 효과를 발생시킬 수 있다.
다시 도 2를 참조하면, S120 단계에서, 프로세서(110)는 진동에 관한 진동 파라미터를 계산할 수 있다. 진동 파라미터는 진폭을 포함할 수 있다. 진폭은 진동 발생 초기의 진폭을 의미한다. 또한, 진동 주파수 및 진동 감쇠율이 미리 설정되지 않은 경우, 프로세서(110)는 충돌 이벤트를 발생시키는 물체의 물성 정보로부터 진동 주파수 및 진동 감쇠율을 계산할 수 있다. 물체의 물성 정보는 물체의 질량, 관성 모멘트, 밀도, 마찰계수, 탄성계수, 고유주파수 등을 포함할 수 있다.
물체의 진동은 수학식 1과 같이 모델링 될 수 있다.
Figure pat00004
수학식 1에서 xi(t)= 시각 t에서 i번째 물체에서 발생한 진동 변위, Ai = i번째 물체의 진폭, f= 진동 주파수, τ= 진동 감쇠율 계수를 의미한다.
수학식 1을 참조하면, 진동의 세기는 진동의 초기 진폭 Ai에 의존할 수 있다. 진동의 시간에 따른 파형 모양은 진동 주파수 f에 의존할 수 있다. 시간이 지남에 따라 진동이 감쇠되는 정도는 감쇠율 계수 τ에 의존할 수 있다.
진동 주파수 f 및 진동 감쇠율 계수 τ는 물체의 물성 정보에 의해 결정될 수 있다. 물체의 물성 정보가 시간에 따라 변하지 않는 경우, 진동 주파수 f 및 진동 감쇠율 계수 τ는 사용자 또는 개발자에 의해 미리 설정되어 있을 수 있다. 하지만 이에 제한되는 것은 아니다. 진동 주파수 f 및 진동 감쇠율 계수 τ가 설정되어 있지 않거나 물체의 물성 정보가 변하는 경우, 프로세서(110)는 물체의 물성 정보로부터 진동 주파수 f 및 진동 감쇠율 계수 τ를 계산할 수 있다.
진폭 Ai는 물체의 질량 및 관성 모멘트와, 충돌 이벤트에 의해 발생하는 물체의 선 속도(linear velocity) 변화량, 각속도(angular velocity) 변화량에 의해 결정될 수 있다. 예를 들어, 프로세서(110)는 수학식 2에 따라 진폭 Ai를 계산할 수 있다.
Figure pat00005
수학식 2에서 Ai는 i번째 물체의 진폭, A*는 정규화 상수, m-은 물체의 질량, mh는 사용자의 손의 유효 질량을 의미한다. 또한,
Figure pat00006
는 i번째 물체가 충돌 이벤트에 의해 받는 힘의 합력을 의미한다.
수학식 2를 참조하면, 충돌 이벤트에 의한 진동 효과의 진폭은 물체의 질량이 작을수록 커질 수 있다. 또한, 진폭은 물체가 충돌에 의해 받는 힘이 클수록 더 커질 수 있다. 물체가 충돌에 의해 받는 힘
Figure pat00007
는 수학식 3에 따라 결정될 수 있다.
도 6은 물체가 충돌에 의해 받는 힘
Figure pat00008
을 설명하기 위한 도면이다.
도 6을 참조하면, 물체 OB1과 물체 OB2 사이의 충돌에 의해 물체 OB1은 힘
Figure pat00009
을 받을 수 있다. 물체 OB1이 충돌에 의해 물체 OB2로부터 힘
Figure pat00010
을 받게 되면, 물체 OB1의 선 운동량과 각 운동량이 변할 수 있다. 물체 OB1이 받는 힘
Figure pat00011
은 물체 OB1의 선 운동량을 변화시키는 힘
Figure pat00012
과, 물체 OB1의 각 운동량을 변화시키는 힘
Figure pat00013
으로 나뉘어 질 수 있다. 즉, 수학식 3에서 나타낸 바와 같이 힘
Figure pat00014
은 힘
Figure pat00015
과 힘
Figure pat00016
의 합과 같을 수 있다
Figure pat00017
수학식 3에서
Figure pat00018
는 i번째 물체가 충돌에 의해 받는 힘 가운데 선 운동량의 변화에 대응되는 힘을 나타내고,
Figure pat00019
는 i번째 물체가 충돌에 의해 받는 힘 가운데 각운동량의 변화에 대응되는 힘을 나타낸다.
물체 OB1의 선 운동량을 변화시키는 힘
Figure pat00020
은 물체 OB1의 질량과, 물체 OB1의 충돌 전후 선 운동량 변화에 의존할 수 있다. 또한, 물체 OB1의 각 운동량을 변화시키는 힘
Figure pat00021
은 물체 OB1의 관성 모멘트와, 물체 OB1의 충돌 전후 각 운동량 변화 및, 벡터
Figure pat00022
에 의존할 수 있다. 여기서, 벡터
Figure pat00023
은 물체 OB1과 물체 OB2의 접촉 지점과 물체 OB1의 질량 중심에 의해 결정되는 벡터이다.
Figure pat00024
Figure pat00025
은 수학식 4 및 수학식 5와 같이 나타낼 수 있다.
Figure pat00026
Figure pat00027
수학식 4에서 m은 물체의 질량을 나타내고
Figure pat00028
은 물체의 충돌 전후 선속도 변화를 나타내는 벡터이다. 또한, 수학식 5에서 I는 물체의 관성 모멘트를 나타내고,
Figure pat00029
는 물체의 충돌 전후 각속도 변화를 나타내는 벡터이며, 벡터
Figure pat00030
은 물체의 접촉 지점과 물체의 질량 중심에 의해 결정되는 벡터이다. 인덱스 i는 시뮬레이션 환경 내에서 i번째 물체를 의미한다.
물리적 시뮬레이션 정보에서 충돌 전후 물체의 선속도 변화 및 각속도 변화를 알아내는 방법은 두 가지가 있을 수 있다. 하나는 충돌 직전 물체들의 운동 정보 및 물성 정보로부터 충돌에 의한 물체들의 선속도 변화 및 각속도 변화를 예측하는 것이다. 이 경우, 계산의 정확도는 상대적으로 떨어지지만, 진동효과를 발생시키는 시점과 충돌 이벤트가 일어나는 시점 사이의 시간 차이를 거의 0에 가깝게 만들 수 있다. 다른 하나는 충돌 직전 물체들의 운동 정보와 충돌 직후 물체들의 운동 정보를 비교함으로써, 물체들의 선속도 변화 및 가속도 변화를 계산하는 것이다. 이 경우, 계산의 정확도가 높아지며 계산량이 줄어들 수 있지만, 진동효과를 발생시키는 시점과 충돌 이벤트가 일어나는 시점 사이에 시간차가 발생할 수 있다.
통상의 물리적 시뮬레이션 정보의 업데이트 주기를 고려했을 때, 충돌 직후의 물체들의 운동 정보를 이용할 경우, 그렇지 않은 경우보다 진동 효과 발생 시점이 대략 18ms 내지 72ms 정도 늦어질 수 있다. 그런데 이러한 시간 지연은 사용자가 거의 느끼기 어려운 정도이므로, 계산의 정확도와 계산량의 감소를 위해 프로세서(110)는 충돌 직전 물체들의 운동 정보 및 충돌 직후 물체들의 운동 정보를 이용하여 물체의 선운동량 변화 및 각운동량 변화를 계산할 수 있다. 물론, 실시예가 이에 제한되는 것은 아니다. 프로세서(110)는 충돌 직전 물체들의 운동 정보 만으로도 물체의 선운동량 변화 및 각운동량 변화를 계산할 수 있다.
진동 발생부(130)가 발생시킬 수 있는 진동 효과의 범위가 정해져 있으므로, 수학식 2에서 나타낸 진폭 Ai의 값은 정규화 될 필요가 있다. 예를 들어, 진폭 Ai는 0 내지 1의 값을 가질 수 있다. 진폭 Ai 값을 정규화 하도록, 수학식 2에서 나타낸 정규화 상수 A*의 값이 정해질 수 있다. 물체가 충돌에 의해 받는 힘
Figure pat00031
이 물체의 운동량 변화량에 의존하며, 물체의 속도 변화의 크기는 시뮬레이션에 존재하는 물체들의 최대 속도보다는 클 수 없다. 이를 고려하여 수학식 6에서 나타낸 바와 같이, 정규화 상수 A*는 시뮬레이션에 존재하는 물체들의 최대 속도 vmax에 반비례하도록 설정될 수 있다.
Figure pat00032
다시 도 2를 참조하면, S140 단계에서, 진동 발생부(130)는 프로세서(110)로부터 수신한 진동 파라미터에 기초하여 진동 효과를 발생시킬 수 있다. 예를 들어, 진폭 값이 클수록 진동 발생부(130)는 강한 진동을 발생시킬 수 있다. 또한, 진동 주파수에 따라 진동 발생부(130)가 발생시키는 진동의 파형이 달라질 수 있다. 또한, 진동 감쇠 계수에 따라 진동 발생부(130)가 발생시키는 진동이 감쇠되는 정도가 달라질 수 있다. 진동 파라미터가 충돌 이벤트의 물리적 특성에 따라 결정되고, 진동 발생부(130)가 진동 파라미터에 기초해 진동 효과를 발생시킴으로써, 사용자가 더욱 사실적이고 실감나는 진동을 느낄 수 있다.
도 7은 다른 예시적인 실시예에 따른 진동 효과 발생 방법을 나타낸 흐름도이다. 도 7에서 나타낸 진동 효과 발생 방법은, 도 1을 참조하여 설명한 진동 효과 발생 장치에 의해 수행될 수 있다. 또한, 도 7에서 나타낸 실시예를 설명함에 있어서 도 2와 중복되는 내용은 생략한다.
도 7을 참조하면, 진동 효과 발생 방법은 진동 파라미터로부터 진동 파형을 계산하는 단계(S130)를 더 포함할 수 있다.
S130 단계에서, 프로세서(110)는 진동 파라미터로부터 물체의 진동 파형을 계산할 수 있다. 예를 들어, 프로세서(110)는 진동 파라미터인 진폭 Ai, 진동 주파수 f, 진동 감쇠율 계수 τ로부터 수학식 1을 이용하여 시간에 따른 진동 파형을 계산할 수 있다.
프로세서(110)는 소정의 업데이트 레이트(Update rate)와 샘플링 레이트(Sampling rate)로 진동 파형 정보를 갱신할 수 있다. 예를 들어, 업데이트 레이트가 50/sec이고, 샘플링 레이트가 5000/sec인 경우, 프로세서(110)는 1/50초마다 100개의 샘플링 구간에 대한 진동 파형 정보를 갱신할 수 있다. 샘플링 구간 각각에서의 진동 파형은 샘플링 구간 각각에서의 진동 파라미터 값에 따라 결정될 수 있다.
S140 단계에서, 진동 발생부(130)는 프로세서(110)가 계산한 진동 파형에 대한 정보를 수신할 수 있다. 그리고, 진동 발생부(130)는 진동 파형 정보에 대한 정보에 기초하여 진동 효과를 발생시킬 수 있다.
진동 발생부(130)의 모터 스펙이 뛰어난 경우, 진동 발생부(130)는 프로세서(110)가 계산한 진동 파형을 거의 그대로 재현하여 진동 효과를 발생시킬 수 있다. 하지만, 일반적인 스마트 폰이나 휴대용 기기에 장착되어 있는 진동 모터를 진동 발생부(130)로 이용하는 경우, 진동 발생부(130)가 구현할 수 있는 진동의 범위가 제한적일 수 있다. 예를 들어, 진동 발생부(130)가 편심 모터 진동자를 포함하는 경우, 진동 발생부(130)는 DC 신호나 펄스폭 변조 신호(Pulse Width Modulation, PWM 신호)를 진동 인자로 수신할 수 있다. 즉, 진동 발생부(130)가 진폭이 시간에 따라 감쇠하는 것을 구현하기 어려울 수 있다. 다른 예로, 진동 발생부(130)가 선형 공진 진동자를 포함하는 경우, 진동 발생부(130) 하나의 공진주파수만을 가지는 진동자이기 때문에 정현파를 이용하여 구동하게 된다. 이로 인해, 진동 발생부(130)가 진동 주파수의 범위가 한정적일 수 있다.
상술한 바와 같이 진동 발생부(130)가 구현할 수 있는 진동의 범위가 제한적인 경우, 진동 파형을 진동 발생부(130)가 구현할 수 있는 파형으로 변환시킬 필요가 있다.
도 8은 다른 예시적인 실시예에 따른 진동 효과 발생 방법을 나타낸 흐름도이다. 도 8에서 나타낸 진동 효과 발생 방법은, 도 1을 참조하여 설명한 진동 효과 발생 장치(100)에 의해 수행될 수 있다. 또한, 도 8에서 나타낸 실시예를 설명함에 있어서 도 7과 중복되는 내용은 생략한다.
도 8을 참조하면, 진동 효과 발생 방법은, 진동의 파형을 상기 진동 발생부에서 구현 가능한 파형으로 변환하는 단계(S135)를 더 포함할 수 있다.
S135 단계에서, 도 1에서 나타낸 프로세서(110)는 진동 파라미터로부터 계산한 진동 파형이 진동 발생부(130)에서 구현 가능한 지 여부를 판단할 수 있다. 예를 들어, 프로세서(110)가 계산한 진동 주파수가 진동 발생부(130)가 발생시킬 수 있는 진동 주파수 범위를 벗어난 경우, 프로세서(110)는 진동 파형을 변환하면서 진동 파형의 주파수를 변경할 수 있다. 다른 예로, 진동 발생부(130)가 발생시킬 수 있는 진동 세기가 고정되어 있을 수 있다. 이 경우, 진동 발생부(130)는 진폭의 변화나 진동 감쇠를 구현하지 못할 수 있다. 따라서, 프로세서(110)는 진동 파라미터로부터 계산한 진동 파형을 이진 신호로 표현된 파형으로 변환할 수 있다.
도 9는 진동 파라미터로부터 계산된 진동 파형(W1)과, 진동 발생부(130)에서 구현 가능하도록 변환된 파형(W2)을 비교하여 나타낸 도면이다.
도 9를 참조하면, 진동 발생부(130)가 발생시킬 수 있는 진동 세기가 고정된 경우, 프로세서(110)는 진동 파형(W1)을 이진 신호로 표현된 파형(W2)으로 변환할 수 있다. 예를 들어, 프로세서(110)는 진동 파형(W1)에서 진동 세기가 임계 값 이상인 시간 영역에 대해서는 진동 세기를 모두 최대 값인 1로 변환하고, 진동 파형(W1)에서 진동 세기가 임계 값 미만인 시간 영역에 대해서는 진동 세기를 모두 0으로 변환함으로써, 이진 신호로 표현된 파형(W2)을 생성할 수 있다. 즉, 프로세서(110)는 진동 파형(W1)을 이진 신호로 표현된 파형(W2)로 변환할 수 있다. 프로세서(110)는 변환한 파형(W2)의 정보를 진동 발생부(130)에 전송할 수 있다. 진동 발생부(130)는 변환된 파형(W2) 정보에 기초하여 진동 효과를 발생시킬 수 있다.
수학식 1을 참조하면, 시간이 지남에 따라 물체의 진동 변위(xi(t))가 점점 감소할 수 있다. 수학식 1을 그대로 따르면, 시간이 아무리 지나도 물체의 진동 변위(xi(t))가 완전히 0이 되지 않을 수 있다. 하지만, 진동 변위(xi(t))의 크기가 일정 수준 이하로 작아진 다음부터는 진동 효과를 유지하는 것이 비효율적일 수 있다.
도 10은 다른 예시적인 실시예에 따른 진동 효과 발생 방법을 나타낸 흐름도이다. 도 10에서 나타낸 진동 효과 발생 방법은, 도 1을 참조하여 설명한 진동 효과 발생 장치(100)에 의해 수행될 수 있다. 또한, 도 10에서 나타낸 실시예를 설명함에 있어서 도 2와 중복되는 내용은 생략한다.
도 10을 참조하면, 진동 효과 발생 방법은 물체의 진동 감쇠율에 기초하여, 진동 효과의 유지 시간을 계산하는 단계(S125)를 더 포함할 수 있다.
S125 단계에서, 프로세서(110)는 물체의 진동 감쇠율에 기초하여 진동 효과의 유지 시간을 계산할 수 있다. 프로세서(110)는 수학식 1에서 나타낸 진동 감쇠율 계수 τ로부터 진동 효과의 유지 시간을 계산할 수 있다. 프로세서(110)는 진동 감쇠율과 관련된 팩터
Figure pat00033
가 소정의 임계 값보다 작아지는데 필요한 시간을 계산함으로써, 진동 효과의 유지 시간을 계산할 수 있다. 예를 들어, 프로세서(110)는 수학식 7을 이용하여 진동 효과의 유지 시간(Tr)을 계산할 수 있다.
Figure pat00034
수학식 7에서 τ=물체의 진동 감쇠율 계수,
Figure pat00035
=임계값, Tr=진동 효과의 유지 시간을 의미한다. 프로세서(110)는 진동 감쇠율과 관련된 팩터
Figure pat00036
가 임계값
Figure pat00037
에 도달하는 시간을 계산함으로써, 진동 효과의 유지 시간 Tr을 계산할 수 있다.
진동 효과의 유지시간 Tr이 경과하면, 진동의 세기가 임계값
Figure pat00038
로 정한 비율보다 더 감쇠하기 때문에, 진동 발생부(130)는 충돌 이벤트가 발생한 후, 유지 시간 Tr동안 혹은 그 보다 작은 시간 동안만 진동 효과를 발생시킬 수 있다. 또한, 유지 시간 Tr이 경과하면, 프로세서(110)는 충돌 이벤트에 의한 진동과 관련된 진동 정보를 더 이상 계산하지 않음으로써, 계산량을 줄일 수 있다.
도 11은 서로 다른 세 물체가 서로 다른 높이에서 자유 낙하하는 상황을 시각적으로 표시한 것을 나타낸 도면이다.
도 11의 (a)는 고무공이 콘크리트 바닥을 향해 1m 높이에서 자유 낙하하는 상황을 나타낸 도면이다. 도 11의 (b)는 나무공이 나무 바닥을 향해 2m 높이에서 자유 낙하하는 상황을 나타낸 도면이다. 도 11의 (c)는 철 재질의 캔이 철 재질의 바닥을 향해 3m 높이에서 자유 낙하하는 상황을 나타낸 도면이다.
도 12는 도 11의 (a)에서 나타낸 자유 낙하에서 물체와 바닥의 충돌에 의해 발생하는 진동 효과의 파형과 소리의 파형을 비교한 도면이다. 또한, 도 13은 도 11의 (b)에서 나타낸 자유 낙하에서 물체와 바닥의 충돌에 의해 발생하는 진동 효과의 파형과 소리의 파형을 비교한 도면이다. 또한, 도 14는 도 11의 (c)에서 나타낸 자유 낙하에서 물체와 바닥의 충돌에 의해 발생하는 진동 효과의 파형과 소리의 파형을 비교한 도면이다.
도 12에서 SV로 표시한 위쪽 그래프들은 도 11의 (a) 상황을 실제로 재현하였을 때, 물체와 바닥 사이의 충돌에 의해 발생하는 소리의 파형을 각각 시간 도메인과 주파수 도메인에서 나타낸 그래프 들이다. 또한, 도 12에서 RM으로 표시한 아래쪽 그래프들은 도 11의 (a) 상황을 물리적 시뮬레이션으로 재생하고, 물리적 시뮬레이션 정보로부터 발생시킨 진동 효과의 파형을 나타낸 그래프들이다.
마찬가지로, 도 13에서 SV로 표시한 위쪽 그래프들은 도 11의 (b) 상황을 실제로 재현하였을 때, 물체와 바닥 사이의 충돌에 의해 발생하는 소리의 파형을 각각 시간 도메인과 주파수 도메인에서 나타낸 그래프 들이다. 또한, 도 13에서 RM으로 표시한 아래쪽 그래프들은 도 11의 (b) 상황을 물리적 시뮬레이션으로 재생하고, 물리적 시뮬레이션 정보로부터 발생시킨 진동 효과의 파형을 나타낸 도면이다. 또한, 도 14에서 SV로 표시한 위쪽 그래프들은 도 11의 (c) 상황을 실제로 재현하였을 때, 물체와 바닥 사이의 충돌에 의해 발생하는 소리의 파형을 각각 시간 도메인과 주파수 도메인에서 나타낸 그래프 들이다. 또한, 도 14에서 RM으로 표시한 아래쪽 그래프들은 도 12의 (c) 상황을 물리적 시뮬레이션으로 재생하고, 물리적 시뮬레이션 정보로부터 발생시킨 진동 효과의 파형을 나타낸 도면이다.
도 12 내지 도 14를 참조하면, 도 11의 (a), (b), (c) 세 가지 케이스들 모두에서 수학식 1에 따라 모델링 한 진동 효과의 파형과 실제 충돌에서 발생하는 소리의 파형이 상당히 유사함을 알 수 있다. 수학식 1에서 진동 주파수가 단일 주파수로 표시되기 때문에 오른 쪽에 도시된 주파수 도메인에 대한 그래프들 사이에는 다소 차이가 있지만, 진동 주파수 값은 소리 주파수 스펙트럼의 피크 값을 잘 반영하고 있다. 또한, 왼쪽에 시간 도메인에 대한 그래프들에서는 소리의 파형과 진동 효과의 파형이 서로 유사한 특징을 보이고 있다. 예를 들어, 물체의 재질, 물체의 낙하 높이에 따라 파동의 세기 및 감쇠율 등이 소리의 파형 및 진동 효과의 파형에서 거의 유사하게 변할 수 있다.
도 15는 소리의 파형에 기초해 발생시킨 진동 효과와, 진동 파형에 기초해 발생시킨 진동 효과를 피실험자들이 각각 체험한 후, 피실험자들이 선호도 조사에 답한 통계 결과를 나타낸 그래프이다.
도 15에서 RM은 본 실시예의 수학식 1에 따른 진동 파형에 기초해 발생시킨 진동 효과를 더 선호하는 피실험자들의 비율을 나타내고, SV는 소리의 파형에 기초해 발생시킨 진동 효과를 더 선호하는 피실험자들의 비율을 나타낸다. 또한, 도 15에서 (a), (b), (c) 각각은 충돌 조건이 도 11에서 나타낸 (a), (b), (c)인 상태에서 얻어진 투표 결과를 나타낸다.
도 15를 참조하면, 모든 경우, 피실험자들이 실제 소리의 파형에 기초해서 만든 진동 보다 본원 실시예의 수학식 1에 따른 진동 파형에 기초해 발생시킨 진동 효과를 더 선호함을 알 수 있다. 소리의 경우, 서로 다른 주파수 성분들이 간섭 효과를 일으키면서, 실제 진동 파형과 달라질 수 있다. 따라서, 진동 주파수를 단일 주파수로 설정하고, 이에 기초하여 발생시킨 진동 효과가 사용자에게 더 사실적으로 느껴질 수 있다.
도 16은 진동 파라미터들 각각이 사용자에게 어떤 영향을 주는 지를 나타낸 그래프이다.
도 16에서 좌측 도표들은 충돌 이벤트에 따라 수학식 1의 진폭 Ai를 변화시킨 경우와 그렇지 않은 경우 각각에서 피실험자들이 채점한 진동 효과의 점수를 나타낸다. 또한, 도 15에서 중앙 도표들은 충돌 이벤트에 따라 수학식 1의 진동 주파수 f를 변화시킨 경우와 그렇지 않은 경우 각각에서 피실험자들이 채점한 진동 효과의 점수를 나타낸다. 또한, 도 16에서 우측 도표들은 충돌 이벤트에 따라 수학식 1의 진동 감쇄율 계수 τ를 변화시킨 경우와 그렇지 않은 경우 각각에서 피실험자들이 채점한 진동 효과의 점수를 나타낸다.
도 16에서 사실도는 피실험자가 진동 효과를 사실적으로 느끼는 정도를 나타내는 점수이며, 조화도는 피실험자가 진동 효과와 시각적으로 표시되는 물리적 시뮬레이션 정보가 서로 조화롭다고 느끼는 정도를 나타내는 점수이며, 선호도는 피실험자가 진동 효과로부터 얻는 즐거움 정도를 나타내는 점수이다. 도 16을 참조하면, 피실험자들은 세가지 진동 파라미터 모두에 대해, 진동 파라미터들 각각이 충돌 이벤트에 따라 적절히 변하는 경우를 더 선호하였다.
이상에서 도 1 내지 도 16을 참조하여 예시적인 실시예들에 따른 진동 효과 발생 장치(100) 및 진동 효과 발생 방법에 관하여 설명하였다. 실시예들에 따르면, 물리적 시뮬레이션 정보로부터 진동 효과를 발생시킴으로써, 물리적 시뮬레이션으로부터 시각적 효과뿐만 아니라 진동 효과까지 함께 즐기는 환경을 사용자에게 제공할 수 있다. 또한, 실시예들에 따르면, 물체의 충돌 이벤트의 물리적 특성에 따라 진동 파라미터들을 적절히 계산하고 이에 기초하여 진동 효과를 발생시킴으로써 사용자가 보다 실감나고 사실적인 진동 효과를 체험할 수 있다. 상술한 실시예들에 따른 진동 효과 발생 장치 및 방법은 물리적 시뮬레이션을 이용하는 다른 장치나 플랫폼에 결합될 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10 : 물리 엔진
100 : 진동 발생 장치
110 : 프로세서
120 : 메모리
125 : 저장 장치
130 : 진동 발생부

Claims (20)

  1. 진동 효과 발생 장치에서 수행되는 진동 효과 발생 방법으로서,
    물리적 시뮬레이션 정보로부터 충돌 이벤트를 검출하는 단계;
    상기 충돌 이벤트를 발생시키는 물체의 물성 정보 및 운동 정보로부터 상기 충돌 이벤트에서 발생하는 진동에 관한 진동 파라미터를 계산하는 단계; 및
    상기 진동 파라미터에 기초하여, 진동 효과를 발생시키는 단계;를 포함하는 진동 효과 발생 방법.
  2. 청구항 1에 있어서,
    상기 진동 파라미터는 상기 물체의 진폭을 포함하는 진동 효과 발생 방법.
  3. 청구항 2에 있어서,
    상기 물체의 물성 정보는 상기 물체의 질량 및 상기 물체의 관성 모멘트에 대한 정보를 포함하고, 상기 물체의 운동 정보는 상기 물체의 선속도(linear velocity) 및 상기 물체의 각속도(angular velocity)에 대한 정보를 포함하며,
    상기 진동 파라미터를 계산하는 단계는, 상기 물체의 질량 및 관성 모멘트와, 상기 충돌 이벤트에 의해 발생하는 상기 물체의 선속도(linear velocity) 변화량 및 각속도(angular velocity) 변화량에 기초하여, 상기 물체의 진폭을 계산하는 진동 효과 발생 방법.
  4. 청구항 2에 있어서,
    상기 진동 파라미터는 상기 물체의 진동 주파수 및 진동 감쇠율을 더 포함하는 진동 효과 발생 방법.
  5. 청구항 4에 있어서,
    상기 물체의 진동 감쇠율에 기초하여, 상기 진동 효과의 유지 시간을 계산하는 단계;를 더 포함하며,
    상기 진동 효과를 발생시키는 단계는, 상기 유지 시간 동안 상기 진동 효과를 발생시키는 진동 효과 발생 방법.
  6. 청구항 4에 있어서,
    상기 물체의 물성 정보는 상기 물체의 질량, 각속도, 관성 모멘트, 밀도, 마찰계수, 탄성계수, 고유주파수에 대한 정보를 포함하며,
    상기 물체의 진동 주파수 및 상기 물체의 진동 감쇠율은 상기 물체의 물성 정보에 따라 결정되는 진동 효과 발생 방법.
  7. 청구항 1에 있어서,
    상기 진동 파라미터로부터 시간에 따른 진동의 파형을 계산하는 단계를 더 포함하며,
    상기 진동 효과를 발생시키는 단계는, 상기 진동의 파형에 기초하여 상기 진동 효과를 발생시키는 진동 효과 발생 방법.
  8. 청구항 7에 있어서,
    상기 진동의 파형을 계산하는 단계는, 수학식 1에 따라 상기 진동의 파형을 계산하는 진동 효과 발생 방법.
    Figure pat00039
    ....수학식 1
    (xi(t)= 시각 t에서 i번째 물체에 발생하는 진동 변위, Ai = i번째 물체의 진폭, f= 진동 주파수, τ= 진동 감쇠율 계수)
  9. 청구항 7에 있어서,
    상기 진동의 파형이 상기 진동 효과를 발생시키는 진동 발생부에서 구현되지 않는 경우, 상기 진동의 파형을 상기 진동 발생부에서 구현 가능한 파형으로 변환하는 단계;를 더 포함하며,
    상기 진동 효과를 발생시키는 단계는, 변환된 파형에 따라 상기 진동 효과를 발생시키는 진동 효과 발생 방법.
  10. 청구항 1에 있어서,
    상기 충돌 이벤트를 검출하는 단계는,
    상기 충돌 이벤트를 발생시키는 물체가 복수개인 경우, 복수의 물체들 가운데, 관심 물체로 설정된 물체의 충돌 이벤트를 유효한 충돌 이벤트로 검출하는 진동 효과 발생 방법.
  11. 진동 효과 발생 장치로서,
    프로세서(processor);
    상기 프로세서의 제어에 따라 진동 효과를 발생시키는 진동 발생부; 및
    상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고,
    상기 적어도 하나의 명령은,
    물리적 시뮬레이션 정보로부터 충돌 이벤트를 검출하고; 및 상기 충돌 이벤트를 발생시키는 물체의 물성 정보 및 운동 정보로부터 상기 충돌 이벤트에서 발생하는 진동에 관한 진동 파라미터를 계산하도록 실행되며,
    상기 진동 발생부는 상기 진동 파라미터에 기초하여 진동 효과를 발생시키는, 진동 효과 발생 장치.
  12. 청구항 11에 있어서,
    상기 진동 파라미터는 상기 물체의 진폭을 포함하는 진동 효과 발생 장치.
  13. 청구항 12에 있어서,
    상기 물체의 물성 정보는 상기 물체의 질량 및 상기 물체의 관성 모멘트에 대한 정보를 포함하고, 상기 물체의 운동 정보는 상기 물체의 선속도(linear velocity) 및 상기 물체의 각속도(angular velocity)에 대한 정보를 포함하며,
    상기 프로세서는, 상기 물체의 질량 및 관성 모멘트와, 상기 충돌 이벤트에 의해 발생하는 상기 물체의 선속도(linear velocity) 변화량 및 각속도(angular velocity) 변화량에 기초하여, 상기 물체의 진폭을 계산하는 진동 효과 발생 장치.
  14. 청구항 12에 있어서,
    상기 진동 파라미터는 상기 물체의 진동 주파수 및 상기 물체의 진동 감쇠율을 더 포함하는 진동 효과 발생 장치.
  15. 청구항 14에 있어서,
    상기 프로세서는, 상기 물체의 진동 감쇠율에 따라 상기 진동 효과의 유지 시간을 계산하고,
    상기 진동 발생부는, 상기 유지 시간 동안 진동 효과를 발생시키는 진동 효과 발생 장치.
  16. 청구항 15에 있어서,
    상기 물체의 물성 정보는 상기 물체의 질량, 각속도, 관성 모멘트, 밀도, 마찰계수, 탄성계수, 고유주파수에 대한 정보를 포함하며,
    상기 물체의 진동 주파수 및 상기 물체의 진동 감쇠율은 상기 물체의 물성 정보에 따라 결정되는 진동 효과 발생 장치.
  17. 청구항 11에 있어서,
    상기 프로세서는, 진동 파라미터로부터 시간에 따른 진동의 파형을 계산하며,
    상기 진동 발생부는, 상기 진동의 파형에 기초하여 상기 진동 효과를 발생시키는 진동 효과 발생 장치.
  18. 청구항 17에 있어서,
    상기 프로세서는, 수학식 1에 따라 상기 진동의 파형을 계산하는 진동 효과 발생 장치.
    Figure pat00040
    .... 수학식 1
    (xi(t)= 시각 t에서 i번째 물체에 발생하는 진동 변위, Ai = i번째 물체의 진폭, f= 진동 주파수, τ= 진동 감쇠율 계수)
  19. 청구항 17에 있어서,
    상기 진동의 파형이 상기 진동 발생부에서 구현이 불가능한 경우, 상기 프로세서는 상기 진동의 파형을 상기 진동 발생부에서 구현 가능한 파형으로 변환하며,
    상기 진동 발생부는 상기 프로세서에서 변환된 파형에 따라 상기 진동 효과를 발생시키는 진동 효과 발생 장치.
  20. 청구항 11에 있어서,
    상기 프로세서는,
    상기 충돌 이벤트를 발생시키는 물체가 복수개인 경우, 복수의 물체 가운데, 관심 물체로 설정된 물체의 충돌 이벤트를 유효한 충돌 이벤트로 검출하는 진동 효과 발생 장치.
KR1020160123254A 2016-09-26 2016-09-26 물리적 시뮬레이션으로부터 진동 효과를 발생시키는 방법 및 장치 KR20180033822A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160123254A KR20180033822A (ko) 2016-09-26 2016-09-26 물리적 시뮬레이션으로부터 진동 효과를 발생시키는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160123254A KR20180033822A (ko) 2016-09-26 2016-09-26 물리적 시뮬레이션으로부터 진동 효과를 발생시키는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20180033822A true KR20180033822A (ko) 2018-04-04

Family

ID=61975588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160123254A KR20180033822A (ko) 2016-09-26 2016-09-26 물리적 시뮬레이션으로부터 진동 효과를 발생시키는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20180033822A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100069264A (ko) * 2008-12-16 2010-06-24 삼성전자주식회사 영상처리장치 및 영상처리장치의 제어 방법
KR20100088094A (ko) * 2009-01-29 2010-08-06 삼성전자주식회사 다중 입력 소스를 이용한 오브젝트 조작 장치
KR20120035895A (ko) * 2010-10-05 2012-04-16 임머숀 코퍼레이션 물리적 모델에 기초한 동작 인식

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100069264A (ko) * 2008-12-16 2010-06-24 삼성전자주식회사 영상처리장치 및 영상처리장치의 제어 방법
KR20100088094A (ko) * 2009-01-29 2010-08-06 삼성전자주식회사 다중 입력 소스를 이용한 오브젝트 조작 장치
KR20120035895A (ko) * 2010-10-05 2012-04-16 임머숀 코퍼레이션 물리적 모델에 기초한 동작 인식

Similar Documents

Publication Publication Date Title
KR100703701B1 (ko) 촉각 정보를 효율적으로 제공하기 위한 방법 및 장치
Van Den Doel et al. FoleyAutomatic: physically-based sound effects for interactive simulation and animation
US9050538B2 (en) Collision detection and motion simulation in game virtual space
JP4736771B2 (ja) 効果音生成装置及び効果音生成方法、並びにコンピュータ・プログラム
KR102054370B1 (ko) 햅틱 피드백 방법 및 장치, 기계로 읽을 수 있는 저장 매체 및 휴대용 통신 단말
EP3531248A1 (en) Virtual sensor in a virtual environment
KR100948738B1 (ko) 동적 난이도 게임 방법 및 그 시스템
Ren et al. Synthesizing contact sounds between textured models
Park et al. Realistic haptic rendering of collision effects using multimodal vibrotactile and impact feedback
KR101998482B1 (ko) 가상현실 기반의 의사소통 훈련 및 모바일 장치를 이용한 지속적인 피드백 시스템 및 방법
Avanzini et al. Haptic-auditory rendering and perception of contact stiffness
US11644892B2 (en) Synthesizing haptic and sonic feedback for textured materials in interactive virtual environments
Cheng et al. Haptic force guided sound synthesis in multisensory virtual reality (VR) simulation for rigid-fluid interaction
Cirio et al. Vibrotactile rendering of splashing fluids
JP3542795B1 (ja) 模擬実験装置、模擬実験方法、ならびに、プログラム
KR20180033822A (ko) 물리적 시뮬레이션으로부터 진동 효과를 발생시키는 방법 및 장치
EP2225753A1 (en) Interactive sound synthesis
CN110152292B (zh) 游戏中跳字的显示控制方法及装置、存储介质及电子设备
JP5002818B2 (ja) 接触音のリアルタイム生成装置、方法、プログラムおよびプログラムを格納した記録媒体
JP2018202018A (ja) 衝突感覚提示システム及びプログラム
Susa et al. Haptic rendering based on finite element simulation of vibration
Dolhansky et al. Designing an expressive virtual percussion instrument
García et al. Perceptually validated global/local deformations
Rath et al. Physically based real-time modeling of contact sounds
JP3250517B2 (ja) 実時間運動シミュレーション表示装置及びプログラムを記録した機械読み取り可能な記録媒体

Legal Events

Date Code Title Description
E601 Decision to refuse application