IP Library Granted Patent US 12663871
Granted Patent B2
US 12663871 · App. 18/821,544 · Granted Jun 23, 2026

Device and method for providing haptics based on character motion, and storage medium storing instructions to perform method for providing haptics based on character motion

Inventors: Sang Ho Yoon (Daejeon, KR); Kyungeun Jung (Daejeon, KR)
Assignee: Korea Advanced Institute of Science and Technology
G06F3/016G06T7/246G06T7/66
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12663871
App. No.
18/821,544
Granted
Jun 23, 2026
Kind
B2
Abstract

Proposed is a method for providing haptics based on character motion. The method may include obtaining skeleton data for motion of a character included in contents, and determining a dynamic point, a reference point, and a center point for the motion of the character based on the skeleton data. The method may also include calculating a rendering point for generating haptic vibration based on the dynamic point, the reference point, and the center point. The method may further include generating the haptic vibration at a position corresponding to the motion within at least one of haptic devices worn on a user, an animal, or an object based on the rendering point.

Claims (145)

1 . A method for providing haptics based on character motion, the method comprising:

obtaining skeleton data for motion of a character included in contents;

determining a dynamic point, a reference point, and a center point for the motion of the character based on the skeleton data;

calculating a rendering point for generating haptic vibration based on the dynamic point, the reference point, and the center point; and

generating the haptic vibration at a position corresponding to the motion within at least one of haptic devices worn on a user, an animal, or an object based on the rendering point,

wherein determining the dynamic point, the reference point, and the center point includes:

from the skeleton data, determining joint information about the character that constitutes the motion and center of gravity information about the character during the motion,

determining a first joint as the dynamic point and a second joint as the reference point among a plurality of joints of the character, based on the joint information that comprises a position and a speed of each of the plurality of joints of the character, and

determining the center point based on the center of gravity information,

wherein the first joint is set as a joint in which an amount of change in the position and the speed among the plurality of joints during the motion is greater than or equal to a preset first reference, and

wherein the second joint is set as a joint in which an amount of change in the position and the speed among the plurality of joints during the motion is smaller than or equal to a preset second reference.

2 . The method of claim 1 , wherein the joint information further includes a movement direction of each of the plurality of joints of the character that constitutes the motion, and

wherein the center of gravity information includes at least one of a position, a speed, and a movement direction of the center of gravity for a body part of the character that constitutes the motion.

3 . The method of claim 1 , wherein the dynamic point is set as a left hand joint or a right hand joint of the character, and the reference point is set as a right shoulder joint or a left shoulder joint of the character.

4 . The method of claim 1 , wherein the dynamic point is set as a left foot joint or a right foot joint of the character, and

wherein the reference point is set as a left pelvic joint or a right pelvic joint of the character.

5 . The method of claim 1 , wherein calculating the rendering point includes determining a feature point of a polygon including the dynamic point, the reference point, and the center point, based on a position, a speed, and a movement direction of each of the dynamic point, the reference point, and the center point, and calculating the feature point as the rendering point.

6 . The method of the claim 1 , wherein calculating the rendering point includes calculating the rendering point according to the following Equation:

MSP

DP

=

J

c

+

(

J

A

-

J

C

)

·

w

Active

+

(

J

R

-

J

c

)

·

w

Root

+

(

J

T

-

J

c

)

·

w

Torso

w

Active

+

w

Root

+

w

Torso

(where MSP DP is a rendering point, J A is a dynamic point, J C is a center of gravity before performing motion of the character, J R is a reference point, J T is a center point, W Active is a weighted value of the dynamic point, W Root is a weighted value of the reference point, and W Torso is a weighted value of the center point.

7 . The method of claim 1 , wherein generating the haptic vibration includes generating a haptic effect at the rendering point to control vibration intensity and time of at least one of the haptic devices respectively disposed at different positions.

8 . A device for providing haptics based on character motion, the device comprising:

a memory configured to store one or more instructions; and

one or more processors configured to execute the one or more instructions to:

obtain skeleton data for motion of a character included in contents;

determine a dynamic point, a reference point, and a center point for the motion of the character based on the skeleton data;

calculate a rendering point for generating haptic vibration based on the dynamic point, the reference point, and the center point; and

generate the haptic vibration at a position corresponding to the motion within at least one of haptic devices worn on a user, an animal, or an object based on the rendering point,

wherein at least one of the one or more processors is configured to:

determine joint information about the character that constitutes the motion and center of gravity information about the character during the motion from the skeleton data,

determine a first joint as the dynamic point and a second joint as the reference point among a plurality of joints of the character, based on the joint information that comprises a position and a speed of each of the plurality of joints of the character, and

determine the center point based on the center of gravity information,

wherein the first joint is configured to be set as a joint in which an amount of change in the position and the speed among the plurality of joints during the motion is greater than or equal to a preset first reference, and

wherein the second joint is configured to be set as a joint in which an amount of change in the position and the speed among the plurality of joints during the motion is smaller than or equal to a preset second reference.

9 . The device of claim 8 , wherein the joint information further includes a movement direction of each of the plurality of joints of the character that constitutes the motion, and

wherein the center of gravity information includes at least one of a position, a speed, and a movement direction of the center of gravity for a body part of the character that constitutes the motion.

10 . The device of claim 8 , wherein the dynamic point is configured to be set as a left hand joint or a right hand joint of the character, and the reference point is configured to be set as a right shoulder joint or a left shoulder joint of the character.

11 . The device of claim 8 , wherein the dynamic point is configured to be set as a left foot joint or a right foot joint of the character, and

wherein the reference point is configured to be set as a left pelvic joint or a right pelvic joint of the character.

12 . The device of claim 8 , wherein at least one of the one or more processors is configured to determine a feature point of a polygon including the dynamic point, the reference point, and the center point, based on a position, a speed, and a movement direction of each of the dynamic point, the reference point, and the center point, and calculate the feature point as the rendering point.

13 . The device of the claim 8 , wherein at least one of the one or more processors is configured to calculate the rendering point according to the following Equation:

MSP

DP

=

J

c

+

(

J

A

-

J

C

)

·

w

Active

+

(

J

R

-

J

c

)

·

w

Root

+

(

J

T

-

J

c

)

·

w

Torso

w

Active

+

w

Root

+

w

Torso

(where MSP DP is a rendering point, J A is a dynamic point, J C is a center of gravity before performing motion of the character, J R is a reference point, J T is a center point, W Active is a weighted value of the dynamic point, W Root is a weighted value of the reference point, and W Torso is a weighted value of the center point.

14 . The device of claim 8 , wherein at least one of the one or more processors is configured to generate a haptic effect at the rendering point to control vibration intensity and time of at least one of the haptic devices respectively disposed at different positions.

15 . A non-transitory computer readable storage medium storing computer executable instructions, when executed by one or more processors, causing the one or more processors to perform a method comprising:

obtaining skeleton data for motion of a character included in contents;

determining a dynamic point, a reference point, and a center point for the motion of the character based on the skeleton data;

calculating a rendering point for generating haptic vibration based on the dynamic point, the reference point, and the center point; and

generating the haptic vibration at a position corresponding to the motion within at least one of haptic devices worn on a user, an animal, or an object based on the rendering point,

wherein determining the dynamic point, the reference point, and the center point includes:

from the skeleton data, determining joint information about the character that constitutes the motion and center of gravity information about the character during the motion,

determining a first joint as the dynamic point and a second joint as the reference point among a plurality of joints of the character, based on the joint information that comprises a position and a speed of each of the plurality of joints of the character, and

determining the center point based on the center of gravity information,

wherein the first joint is set as a joint in which an amount of change in the position and the speed among the plurality of joints during the motion is greater than or equal to a preset first reference, and

wherein the second joint is set as a joint in which an amount of change in the position and the speed among the plurality of joints during the motion is smaller than or equal to a preset second reference.