KR100319758B1 - Animation method for walking motion variation - Google Patents

Animation method for walking motion variation Download PDF

Info

Publication number
KR100319758B1
KR100319758B1 KR1019990061295A KR19990061295A KR100319758B1 KR 100319758 B1 KR100319758 B1 KR 100319758B1 KR 1019990061295 A KR1019990061295 A KR 1019990061295A KR 19990061295 A KR19990061295 A KR 19990061295A KR 100319758 B1 KR100319758 B1 KR 100319758B1
Authority
KR
South Korea
Prior art keywords
leg
joint
length
constant
stride
Prior art date
Application number
KR1019990061295A
Other languages
Korean (ko)
Other versions
KR20010057880A (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 KR1019990061295A priority Critical patent/KR100319758B1/en
Publication of KR20010057880A publication Critical patent/KR20010057880A/en
Application granted granted Critical
Publication of KR100319758B1 publication Critical patent/KR100319758B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Abstract

본 발명은 가상 공간상의 실시간 분신 동작 기술을 위한 인간의 동작 애니메이션 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 복잡한 역 운동학 계산과 사용자의 개입을 배제하여 실시간으로 처리가 가능하며, 진행 방향 변경, 다리 길이 조절, 보폭 조절을 포함하는 인간의 보행 동작 변형 애니메이션 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것을 목적으로 한다. 본 발명은 주어진 보행 동작 데이터를 순환시킬 수 있도록 변화시킨 후, 정 운동학을 통하여 다리 길이 및 보폭 조절의 결과를 계산하고 이 결과를 토대로 루트의 위치 및 방향을 수정함으로써 방향 전환, 다리 길이 및 보폭 조절, 바닥 미끄러짐 방지를 포함하는 보행 동작 변형이 가능하도록 하며 각 프레임 단위로 계산이 이루어지므로 실시간 구현이 가능하다.The present invention relates to a computer-readable recording medium recording a human motion animation method for real-time delivery motion technology in a virtual space and a program for realizing the method. It is an object of the present invention to provide a computer-readable recording medium recording a human walking motion deformation animation method including a direction change, leg length adjustment, and step adjustment, and a program for realizing the method. . The present invention changes the pedestrian motion data to be circulated, calculates the result of leg length and stride length adjustment through forward kinematics, and modifies the position and direction of the route based on the result to adjust the direction change, leg length and stride length. In addition, it is possible to modify the walking motion including the floor slip prevention, and the calculation is performed for each frame to enable real-time implementation.

Description

보행 동작 변형 애니메이션 방법{Animation method for walking motion variation}Animation method for walking motion variation

본 발명은 가상 공간상의 실시간 분신 동작 기술을 위한 인간의 동작 애니메이션 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 다리 길이나 보폭과 같은 개인차를 고려하여 실시간으로 애니메이션할 수 있는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer-readable recording medium recording a human motion animation method for real-time delivery motion technology in a virtual space and a program for realizing the method, in particular in consideration of individual differences such as leg length and stride length. And a computer readable recording medium having recorded thereon a program for realizing the method.

최근 인터넷의 대중적 활용으로 인하여 네트워크 상의 가상 공간이라는 개념이 등장하였고, 가상 공간에서 사용자를 대신할 분신 관련 기술 개발에 대한 요구가 증대될 전망이다.Recently, due to the popular use of the Internet, the concept of virtual space on a network has emerged, and demand for development of a related technology for a user in the virtual space is expected to increase.

분신 기술은 컴퓨터 그래픽스 분야에서 오래 전부터 관심의 대상이었던 인간 동작의 애니메이션을 기반으로 하고 있으며 컴퓨터의 성능향상에 힘입어 인간의 3차원 모델을 이용한 3차원 애니메이션이 보편화되고 있다. 특히, 인간의 보행 동작은 컴퓨터 그래픽스와 의과학 분야에서 그 중요성이 널리 인정되고 있으며 개인차에 따른 다리 길이 변형이나 보폭 조절 방법은 학문적으로나 실용적으로 핵심 기술이라 할 수 있다.Counterfeit technology is based on the animation of human motion, which has long been the subject of interest in the field of computer graphics, and three-dimensional animation using three-dimensional models of humans is becoming popular thanks to the improvement of computer performance. In particular, the importance of human walking motion is widely recognized in the fields of computer graphics and medical science, and the method of changing leg length and stride length according to individual differences is a core technology both academically and practically.

종래의 보행 동작 변형 방법은 키프레임 애니메이션과 제한 조건을 이용한 최적화 방법으로 구분할 수 있다.Conventional walking motion transformation methods can be classified into keyframe animation and optimization methods using constraints.

키프레임 애니메이션이란, 사용자가 시간축 상에서 몇 개의 지점을 정하여 그 때의 신체 형상을 수작업이나 소프트웨어 편집 도구를 이용하여 그린 키프레임 들을 보간하여 연속적인 동작을 만들어 내는 방법인데, 편집하는 과정이 매우 어렵고 시간이 많이 소요될뿐더러 다리 길이나 보폭의 조절을 위해서는 다시 키프레임을 생성해야 하는 단점이 있다.Keyframe animation is a method of creating a continuous motion by interpolating keyframes drawn by the user by hand or software editing tools by setting a few points on the time axis. Not only does this require a lot of work, but it also has the disadvantage of generating keyframes again in order to adjust the length of the legs or the stride length.

제한 조건을 이용한 최적화 방법은 키프레임 또는 모션 캡춰를 이용하여 얻어진 동작 데이터를, 발바닥 미끄러짐 방지, 다리 길이 및 보폭 설정을 포함하는 제한 조건과 원래 동작과의 차이 최소화를 동시에 만족시키는 문제에 적용하여 최적화 기법으로 풀어 원하는 동작을 얻는 방법을 말한다. 이 방법은 키프레임 애니메이션에 비해 사용자의 노력이 적게 들고 결과가 뛰어나다는 장점이 있는 반면, 사용자가 제한 조건을 지정해 주어야 하고 제한 조건을 만족시키기 위해 역 운동학 문제를 풀어야 하며 최적화로 인한 계산량이 많아져 실시간 구현이 어려운 단점이 있다.The optimization method using constraints is optimized by applying motion data obtained using keyframes or motion capture to problems that simultaneously satisfy the constraints including the prevention of sole slip, leg length and stride length, and minimizing the difference from the original motion. It is a way to solve the problem and get the desired action. This method has the advantage of less user effort and superior results compared to keyframe animation, while the user must specify constraints, solve inverse kinematic problems to satisfy the constraints, and increase computational complexity. Real time implementation is difficult.

본 발명은 복잡한 역 운동학 계산과 사용자의 개입을 배제하여 실시간으로 처리가 가능하며, 진행 방향 변경, 다리 길이 조절, 보폭 조절을 포함하는 인간의 보행 동작 변형 애니메이션 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것을 목적으로 한다.The present invention can be processed in real time by eliminating complicated inverse kinematics calculation and user intervention, and a human walking motion deformation animation method and a program for realizing the method including a change in direction of movement, leg length adjustment, and step adjustment It is an object of the present invention to provide a computer-readable recording medium for recording.

도 1은 본 발명의 일 실시예에 따른 보행 동작 변형 애니메이션 방법에 대한 처리 흐름도.1 is a process flow diagram for a walking motion deformation animation method according to an embodiment of the present invention.

도 2는 본 발명에서의 보행 동작 변형 방법 설명을 위한 기준 좌표계 및 인간 신체의 개략도.Figure 2 is a schematic diagram of the reference coordinate system and the human body for explaining the walking motion modification method in the present invention.

도 3은 상기 도 1의 보행 동작 변형 단계에 대한 세부 처리 흐름도.3 is a detailed process flowchart of the walking motion modification step of FIG.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

101 : 동작 데이터 입력 102 : 동작 순환 변형 과정101: motion data input 102: motion cyclic transformation process

103 : 사용자 입력 104 : 보행 동작 변형 과정103: user input 104: walking motion transformation process

105 : 화면 표시 201 : 우측 골반105: screen display 201: right pelvis

202 : 좌측 골반 203 : 우측 허벅다리202: left pelvis 203: right thigh

204 : 좌측 허벅다리 205 : 우측 아랫다리204: left thigh 205: right lower leg

206 : 좌측 아랫다리 207 : 보폭206: left lower leg 207: stride

301 : 초기화 302 : 다리 길이 조절301: initialization 302: leg length adjustment

303 : 보폭 조절 304 : 정 운동학 계산303: step adjustment 304: forward kinematics calculation

305 : 루트 위치 및 방향 보정305: Root position and direction correction

상기의 기술적 과제를 달성하기 위하여 본 발명은, 인간의 보행 동작 변형 애니메이션 방법에 있어서, 다리 길이 상수 및 보폭 상수를 초기화하고, 초기 루트 좌표값, 발의 좌표값, 신체의 계층적 구조에 따른 각 관절 지역 좌표계의 부모 관절 지역 좌표계에 대한 프레임별 오일러 회전각을 포함하는 프레임 단위의 보행 동작 데이터를 입력받는 제1 단계; 연속적인 보행 동작을 위한 보행 주기 및 순환 동작 구간을 설정하고, 그 구간에서의 시작과 끝에서 각 관절각의 값을 일치시키고, 바닥에 고정될 발의 정보를 얻는 제2 단계; 방향 전환, 다리 길이 및 보폭에 대한 사용자의 입력을 받는 제3 단계; 정 운동학을 이용하여 다리 길이 및 보폭을 조절하고 루트 좌표값 및 진행 방향을 보정하는 제4 단계; 및 상기 제4 단계의 결과를 이용하여 인간 모델을 화면에 표시하는 제5 단계를 포함하여 이루어진다.한편, 본 발명은 인간의 보행 동작 변형 애니메이션 시스템에, 다리 길이 상수 및 보폭 상수를 초기화하고, 초기 루트 좌표값, 발의 좌표값, 신체의 계층적 구조에 따른 각 관절 지역 좌표계의 부모 관절 지역 좌표계에 대한 프레임별 오일러 회전각을 포함하는 프레임 단위의 보행 동작 데이터를 입력받는 제1 기능; 연속적인 보행 동작을 위한 보행 주기 및 순환 동작 구간을 설정하고, 그 구간에서의 시작과 끝에서 각 관절각의 값을 일치시키고, 바닥에 고정될 발의 정보를 얻는 제2 기능; 방향 전환, 다리 길이 및 보폭에 대한 사용자의 입력을 받는 제3 기능; 정 운동학을 이용하여 다리 길이 및 보폭을 조절하고 루트 좌표값 및 진행 방향을 보정하는 제4 기능; 및 상기 제4 기능에서의 결과를 이용하여 인간 모델을 화면에 표시하는 제5 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.본 발명은 주어진 보행 동작 데이터를 순환시킬 수 있도록 변화시킨 후, 정 운동학을 통하여 다리 길이 및 보폭 조절의 결과를 계산하고 이 결과를 토대로 루트의 위치 및 방향을 수정함으로써 방향 전환, 다리 길이 및 보폭 조절, 바닥 미끄러짐 방지를 포함하는 보행 동작 변형이 가능하도록 하며 각 프레임 단위로 계산이 이루어지므로 실시간 구현이 가능하다.이하, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자가 본 발명을 보다 용이하게 실시할 수 있도록 하기 위하여 본 발명의 바람직한 실시예를 소개하기로 한다.In order to achieve the above technical problem, the present invention, in the human walking motion deformation animation method, initializes the leg length constant and the stride constant, and each joint according to the initial root coordinate value, foot coordinate value, the hierarchical structure of the body A first step of receiving gait motion data in units of frames including Euler rotation angles per frame with respect to the parent joint area coordinate system of the area coordinate system; A second step of setting a walking cycle and a cyclic operation section for a continuous walking operation, matching values of each joint angle at the beginning and the end of the section, and obtaining information of a foot to be fixed to the floor; A third step of receiving a user input for turning, leg length, and stride length; Adjusting a leg length and a stride length using forward kinematics, and correcting a root coordinate value and a moving direction; And a fifth step of displaying a human model on the screen by using the result of the fourth step. Meanwhile, the present invention initializes the leg length constant and the stride length constant in the human walking motion deformation animation system, A first function of receiving walking motion data in units of frames including a root coordinate value, a foot coordinate value, and a Euler rotation angle for each frame with respect to a parent joint region coordinate system of each joint region coordinate system according to a hierarchical structure of the body; A second function of setting a walking cycle and a cyclic operation section for continuous walking operation, matching values of each joint angle at the beginning and the end of the section, and obtaining information of a foot to be fixed to the floor; A third function of receiving a user input for turning, leg length and stride length; A fourth function of adjusting leg length and stride length using forward kinematics and correcting a root coordinate value and a moving direction; And a computer-readable recording medium having recorded thereon a program for realizing a fifth function of displaying a human model on the screen using the results of the fourth function. The present invention can circulate a given walking motion data. And then use the forward kinematics to calculate the results of leg length and stride length adjustments, and then modify the position and direction of the route based on these results, thereby modifying the walking behavior including turning, leg length and stride length adjustment, and floor slip prevention. Since the calculation is performed on a frame-by-frame basis, real-time implementation is possible. Hereinafter, preferred embodiments of the present invention can be more easily implemented by those skilled in the art to which the present invention pertains. Let's introduce.

첨부된 도면 도 1은 본 발명의 일 실시예에 따른 보행 동작 변형 애니메이션에 대한 처리 흐름도로서, 모션 캡춰나 키프레임 애니메이션을 통해 얻어진 보행 동작 데이터를 읽어들이는 동작 데이터 입력 단계(101)와, 연속적인 보행 동작을 위한 동작 순환 변형 단계(102)와, 사용자의 입력을 받는 사용자 입력 단계(103)와, 다리 길이 및 보폭을 조절하고 진행 방향을 조정하는 보행 동작 변형 단계(104)와, 그 결과를 표시하는 화면 표시 단계(105)로 이루어진다.1 is a process flow diagram for a walking motion deformation animation according to an embodiment of the present invention, the motion data input step 101 of reading walking motion data obtained through motion capture or keyframe animation, and continuous A motion cyclic deformation step 102 for a typical gait motion, a user input step 103 for receiving a user input, a gait motion deformation step 104 for adjusting leg length and stride length and adjusting a traveling direction, and the result Screen display step 105 of displaying.

한편, 첨부된 도면 도 2는 본 발명에서의 보행 동작 변형 방법 설명을 위한 기준 좌표계 및 인간 신체의 개략도로서, 인간의 신체 중 우측 골반(201)과, 좌측 골반(202)과, 우측 허벅다리(203)와, 좌측 허벅다리(204)와, 우측 아랫다리(205)와, 좌측 아랫다리(206)와, 보폭(207)을 개략적으로 표시하고 있다. 본 발명에서의 다리 길이는 다리에 해당하는 분절들 즉, 우측 허벅다리(203) 분절과, 좌측 허벅다리(204) 분절과, 우측 아랫다리(205) 분절과, 좌측 아랫다리(206) 분절의 길이를 총칭한다.On the other hand, Figure 2 is a schematic diagram of the reference coordinate system and the human body for explaining the walking motion transformation method in the present invention, the right pelvis 201, the left pelvis 202, the right thigh ( 203, left thigh 204, right lower leg 205, left lower leg 206, and stride length 207 are schematically shown. Leg length in the present invention is the segment corresponding to the leg, that is, the right thigh 203 segment, the left thigh 204 segment, the right lower leg 205 segment, and the left lower leg 206 segment Generic term.

동작 데이터 입력 단계(101)의 동작 데이터는 인간 신체의 계층적 구조에 따른 각 관절 지역 좌표계의 부모 관절 지역 좌표계에 대한 프레임별 오일러 회전각을 포함하고 있으며, 본 실시예에서는 차려 자세를 기준 자세로 하고 그 때의 각 관절의 오일러 회전각들과 이들에 대한 변화 회전각들로 구분된 동작 데이터를 사용하며, 인간 신체의 기준 좌표계는 상기 도 2에 나타낸 것과 같고 보행 동작의 진행 방향은 z축으로 하고, 루트는 좌측 골반(201)과 우측 골반(202)이 만나는 점으로 하고, 어떤 세그먼트의 지역 좌표계의 양의 y축 방향은 루트에서 멀어지는 쪽으로의 그 세그먼트의 길이 방향과 일치한다.The motion data of the motion data input step 101 includes the Euler rotation angle for each frame of the parent joint area coordinate system of each joint area coordinate system according to the hierarchical structure of the human body. Motion data divided by Euler rotation angles of the joints and changing rotation angles thereof are used, and the reference coordinate system of the human body is as shown in FIG. The root is the point where the left pelvis 201 and the right pelvis 202 meet, and the positive y-axis direction of the local coordinate system of a segment coincides with the longitudinal direction of the segment away from the route.

기준 좌표계나 동작 진행 방향이 상기와 일치하지 않을 때는 오일러 회전 변환을 사용하여 상기와 같이 조정할 수 있으며 그 조정된 데이터를 입력으로 한다.When the reference coordinate system or the direction of movement does not coincide with the above, Euler rotation transformation can be used to adjust as described above and the adjusted data is input.

또한, 동작 데이터 입력 단계(101)에서는 다리 길이 상수 및 보폭 상수를 1로 초기화하고, 초기 루트 좌표값을 저장하고, 좌측과 우측의 발가락 끝의 z 좌표값을 ZL_prev와 ZR_prev라는 변수에 각각 저장시킨다. 여기서, 다리 길이 상수는 다리 길이 조절을 위한 상수이고, 보폭 상수는 보폭 조절을 위한 상수이고, ZL_prev와 ZR_prev는 본 발명에 사용되는 변수이다.In the motion data input step 101, the leg length constant and the stride length constant are initialized to 1, the initial root coordinate value is stored, and the z coordinate values of the left and right toe ends are stored in variables ZL_prev and ZR_prev, respectively. . Here, the leg length constant is a constant for adjusting the leg length, the stride length constant is a constant for adjusting the stride length, ZL_prev and ZR_prev are variables used in the present invention.

계층적 구조에서 우측 골반(201)은 루트의 자손이고, 우측 허벅다리(203)는 우측 골반(201)의 자손이고, 우측 아랫다리(205)는 우측 허벅다리(203)의 자손이다. 이와 유사하게, 좌측 골반(202)은 루트의 자손이고, 좌측 허벅다리(204)는 좌측 골반(202)의 자손이고, 좌측 아랫다리(206)는 좌측 허벅다리(204)의 자손이다. 우측 허벅다리 관절의 회전각은 부모 세그먼트인 우측 골반의 지역 좌표계에 대한 우측 허벅다리(203)의 지역 좌표계의 회전을 나타내며, 나머지 관절의 회전각도 유사하게 해석할 수 있다.In the hierarchical structure, the right pelvis 201 is a progeny of the root, the right thigh 203 is a progeny of the right pelvis 201, and the right lower leg 205 is a progeny of the right thigh 203. Similarly, the left pelvis 202 is a progeny of the root, the left thigh 204 is a progeny of the left pelvis 202, and the left lower leg 206 is a progeny of the left thigh 204. The rotation angle of the right thigh joint represents the rotation of the local coordinate system of the right thigh 203 with respect to the local coordinate system of the right pelvis, which is the parent segment, and the rotation angles of the remaining joints may be similarly interpreted.

동작 순환 변형 단계(102)에서는 보행 주기 및 순환시키고자 하는 동작 구간을 설정하고, 선형 보간 등을 이용하여 이 구간에서의 시작과 끝에서 각 관절각의 값들을 일치시킨 후 보행 동작 변형 단계(104)에 쓰기 위한 바닥에 고정될 발의 정보를 다음과 같이 계산해서 저장해둔다.In the motion cyclic deformation step 102, the gait period and the motion section to be circulated are set, and the gait motion deformation step 104 is performed by matching values of the joint angles at the beginning and the end of the interval using linear interpolation or the like. Calculate and store the information of the foot to be fixed to the floor for writing.

먼저, 보폭 및 다리 길이는 원래 동작 데이터와 같게 한 후 순환 변형된 데이터를 애니메이션 했을 때, 좌측과 우측에 대해서 발가락 끝과 발꿈치 y 좌표값의가중 평균을 각각 구해서 더 작은 값을 가지는 측을 바닥에 고정된 발로 간주한다. 보행 동작의 경우, 한 발은 땅에 고정되어 있기 때문에 고정된 발을 구하는 과정이 필요하며, 단순히 발가락 끝의 y 좌표값만을 사용하지 않는 이유는 동작 순환 변형으로 인하여 발가락 끝만으로 바닥에 고정될 발을 결정할 때는 부정확한 결과를 얻을 수 있기 때문이다.First, the stride length and leg length should be the same as the original motion data, and then when the animation is circularly deformed, the weighted average of the toe tip and heel y-coordinate values for the left and right sides is obtained, respectively, and the bottom side is smaller. To be considered a fixed foot. In the case of walking movement, one foot is fixed to the ground, so it is necessary to obtain a fixed foot, and the reason for not using only the y coordinate value of the toe end is that the foot to be fixed to the floor by the toe end only due to the movement circulation deformation. This is because inaccurate results can be obtained.

사용자 입력 단계(103)에서는 회전 방향과 다리 길이 상수와 보폭 상수를 사용자로부터 입력받는다.In the user input step 103, the rotation direction, the leg length constant, and the stride length constant are input from the user.

첨부된 도면 도 3은 보행 동작 변형 단계(104)를 세분한 처리 흐름도로서, 초기화 단계(301)와, 다리 길이 조절 단계(302)와, 보폭 조절 단계(303)와, 정 운동학 계산 단계(304)와, 루트 위치 및 방향 보정 단계(305)로 구성된다.3 is a flowchart illustrating a detailed process of modifying the walking motion step 104. An initialization step 301, a leg length adjustment step 302, a step length adjustment step 303, and a forward kinematic calculation step 304 are illustrated in FIG. And the root position and direction correction step 305.

초기화 단계(301)에서는 현재 프레임의 루트의 x 좌표를 변수 Rx에 저장하고, 변수 Ry와 Rz는 0으로 초기화 한다. 여기서, Rx, Ry, Rz 는 보행 동작 변형 단계(104)에 사용되는 지역 변수들이다.In the initialization step 301, the x coordinate of the root of the current frame is stored in the variable Rx, and the variables Ry and Rz are initialized to zero. Here, Rx, Ry, and Rz are local variables used in the walking motion transformation step 104.

다리 길이 조절 단계(302)에서는 다리 길이 상수와 원래 동작 데이터에 정의된 다리 길이를 곱한 값을 새로운 다리 길이로 정한다. 다리 길이 조절 단계(302)의 실시 예로서, 원래 다리 길이가 우측 허벅다리(203)는 40cm이고, 좌측 허벅다리(204)는 40cm이고, 우측 아랫다리(205)는 30cm이고, 좌측 아랫다리(206)는 30cm이고, 다리 길이 상수가 1.5라면, 새로운 다리 길이는 우측 허벅다리(203)는 60cm이고, 좌측 허벅다리(204)는 60cm이고, 우측 아랫다리(205)는 45cm이고, 좌측 아랫다리(206)는 45cm가 된다.In the leg length adjustment step 302, the new leg length is determined by multiplying the leg length constant by the leg length defined in the original motion data. As an example of the leg length adjustment step 302, the original leg length is the right thigh 203 is 40cm, the left thigh 204 is 40cm, the right lower leg 205 is 30cm, the left lower leg ( 206 is 30 cm, if the leg length constant is 1.5, the new leg length is 60 cm for the right thigh 203, 60 cm for the left thigh 204, 45 cm for the right lower leg 205, and 45 cm for the left lower leg 206 is 45 cm.

보폭 조절 단계(303)에서는 보폭 상수를 이용하여 허벅다리 관절과 아랫다리 관절의 x 회전각을 하기의 수학식 1과 같이 계산한다.In the step of adjusting the step 303, the x rotation angle of the thigh joint and the lower leg joint is calculated using Equation 1 as shown in Equation 1 below.

허벅다리 관절의 x 회전각 = f1(허벅다리 관절의 x 회전각, kpace),X rotation angle of thigh joint = f1 (x rotation angle of thigh joint, kpace),

아랫다리 관절의 x 회전각 = f1(아랫다리 관절의 x 회전각, kleg),X rotation angle of lower leg joint = f 1 (x rotation angle of lower leg joint, k leg ),

kleg= f3(kpace)k leg = f 3 (k pace )

여기서, kpace는 보폭 상수이고, kleg는 아랫다리를 위한 진폭 상수이고, f1()과 f2()는 허벅다리와 아랫다리 관절의 x 회전각을 통하여 보폭을 조절하기 위한 적절한 함수이며, f3()는 보폭 상수와 진폭 상수의 관계를 정의하는 함수이며, 보폭 조절 단계(303)의 실시예로서, f1(x, k) = x ×k, f2(x, k) = x ×k, f3(x) = 0.5 ×x + 0.5와 같이 설정할 수 있다.Where k pace is the stride constant, k leg is the amplitude constant for the lower limbs, f 1 () and f 2 () are appropriate functions for adjusting the stride length through the x rotation angles of the thigh and lower limb joints. , f 3 () is a function defining the relationship between the stride constant and the amplitude constant, and as an embodiment of the stride length adjustment step 303, f 1 (x, k) = x × k, f 2 (x, k) = x x k, f 3 (x) = 0.5 x x + 0.5 can be set.

정 운동학 계산 단계(304)에서는 초기화 단계(301)의 Rx, Ry, Rz를 루트 좌표값으로 사용하고 상기의 다리 길이 및 관절의 회전각 값들과 정 운동학 계산을 통하여 좌측과 우측 발의 위치를 계산한 후, 좌 우측의 발의 부분 중 최저점과 바닥의 높이를 비교하여 그 차이를 구하여 Ry 값을 보정함으로써 바닥위로 발이 뜨거나 바닥 밑으로 가라앉지 않도록 한다. 다음으로, ZL_prev와 ZR_prev 값과, 정 운동학을 통해 계산된 좌측과 우측의 발가락끝의 z 좌표값과, 동작 순환 변형단계(102)에서 구한 바닥에 고정된 발에 대한 정보를 이용하여 바닥에 고정될 발끝이 z 방향으로 움직임이 없도록 하기 위한 Rz값으로 정의되는를 구한다.In the forward kinematics calculation step 304, the positions of the left and right feet are calculated by using Rx, Ry, and Rz of the initialization step 301 as the root coordinate values, and calculating the kinematic values of the leg lengths and joints and the forward kinematics. After that, compare the lowest point of the left and right feet with the height of the floor, calculate the difference, and correct the Ry value so that the feet do not float on the floor or sink below the floor. Next, using the ZL_prev and ZR_prev values, the z-coordinate values of the left and right toe tips calculated through forward kinematics, and the information about the feet fixed to the floor obtained in the motion cyclic deformation step 102, the floor is fixed to the floor. Is defined as Rz value so that the toe to be moved does not move in the z direction Obtain

계속하여, 루트위치 및 방향 보정 단계(305)에서는 회전에 의한 영향을 고려하여 하기의 수학식 2와 같이 루트 좌표값을 최종적으로 정하고, 현재의 좌측과 우측의 발가락끝의 z 좌표값을 ZL_prev와 ZR_prev라는 변수에 저장시킨다.Subsequently, in the root position and direction correction step 305, the root coordinate value is finally determined as shown in Equation 2 below in consideration of the influence of the rotation, and the z coordinate values of the toes of the left and right sides of the current are converted to ZL_prev. Save it to a variable called ZR_prev.

여기서,는 원래 동작데이터로부터 이전 프레임을 기준으로 한 현재 프레임의 루트 x 좌표값의 증분이며, R은 사용자의 회전 입력에 따른 오일러 회전 행렬이다.here, Is the increment of the root x coordinate value of the current frame with respect to the previous frame from the original motion data, and R is the Euler rotation matrix according to the rotation input of the user.

화면 표시 단계(105)에서는 루트의 회전각을 상기 수학식 2의 R에 해당하는 만큼 변형한 후, 앞에서 구한 루트 좌표값, 다리 길이, 다리 관절의 회전각을 이용하여 인간 모델을 화면에 표시한다.In the screen display step 105, the rotation angle of the root is modified as much as R corresponding to Equation 2, and then a human model is displayed on the screen using the root coordinate value, the leg length, and the rotation angle of the leg joint obtained above. .

전술한 본 발명에 따르면 주어진 보행 동작 데이터를 사용하여 사용자의 개입 없이 진행 방향, 다리 길이, 보폭의 실시간 조절이 가능하다. 즉, 사용자의 다리 길이 및 보폭 입력을 받고 허벅다리 진폭을 변화시켜 보폭을 조절하고 정 운동학 계산을 통하여 다리 길이 및 보폭 변화를 고려하여 발바닥 미끄러짐을 방지하도록 하는 루트의 위치를 계산한 후 회전 입력에 따른 루트의 방향을 결정함으로써 기존의 키프레임 애니메이션 방법이나 제한 조건을 이용한 최적화 방법에 비해 간단하고 빠른 보행 동작 변형을 제공한다.이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.According to the present invention described above it is possible to adjust the direction of travel, the length of the leg, the stride length in real time without user intervention using the given walking motion data. In other words, after receiving the user's leg length and stride length input, it adjusts the stride length by changing the thigh amplitude and calculates the position of the route to prevent the slipping of the foot by considering the leg length and the stride length change through forward kinematics calculation. Determining the direction of the route according to the present invention provides a simpler and faster gait motion variation compared to the existing keyframe animation methods or optimization methods using constraint conditions. The present invention described above is limited by the above-described embodiments and the accompanying drawings. It will be apparent to those skilled in the art that various substitutions, modifications, and changes can be made without departing from the spirit of the present invention.

본 발명은 복잡한 계산 과정 없이 적은 계산으로 진행 방향 변경, 다리 길이 조절, 그리고 보폭의 조절을 포함하는 보행 동작 변형이 가능하며, 각 프레임 단위로 계산이 이루어지므로 실시간 구현이 가능하다. 이로써 가상 공간상의 실시간 분신 동작 기술에의 활용을 기대할 수 있다.According to the present invention, it is possible to modify the walking motion including changing the direction of movement, adjusting the length of the legs, and adjusting the stride length with a small calculation without complicated calculation process, and the calculation is performed for each frame unit, thereby real-time implementation. As a result, it can be expected to be used for real-time distribution operation technology in the virtual space.

Claims (6)

인간의 보행 동작 변형 애니메이션 방법에 있어서,In the human walking motion deformation animation method, 다리 길이 상수 및 보폭 상수를 초기화하고, 초기 루트 좌표값, 발의 좌표값, 신체의 계층적 구조에 따른 각 관절 지역 좌표계의 부모 관절 지역 좌표계에 대한 프레임별 오일러 회전각을 포함하는 프레임 단위의 보행 동작 데이터를 입력받는 제1 단계;Step-by-frame gait motion including initial leg length constant and stride length constant, including initial root coordinate value, foot coordinate value, and frame angle Euler rotation angle of parent joint area coordinate system of each joint area coordinate system according to hierarchical structure of body A first step of receiving data; 연속적인 보행 동작을 위한 보행 주기 및 순환 동작 구간을 설정하고, 그 구간에서의 시작과 끝에서 각 관절각의 값을 일치시키고, 바닥에 고정될 발의 정보를 얻는 제2 단계;A second step of setting a walking cycle and a cyclic operation section for a continuous walking operation, matching values of each joint angle at the beginning and the end of the section, and obtaining information of a foot to be fixed to the floor; 방향 전환, 다리 길이 및 보폭에 대한 사용자의 입력을 받는 제3 단계;A third step of receiving a user input for turning, leg length, and stride length; 정 운동학을 이용하여 다리 길이 및 보폭을 조절하고 루트 좌표값 및 진행 방향을 보정하는 제4 단계; 및Adjusting a leg length and a stride length using forward kinematics, and correcting a root coordinate value and a moving direction; And 상기 제4 단계의 결과를 이용하여 인간 모델을 화면에 표시하는 제5 단계A fifth step of displaying a human model on the screen using the result of the fourth step; 를 포함하여 이루어진 인간의 보행 동작 변형 애니메이션 방법.Human walking motion deformation animation method comprising a. 제1항에 있어서,The method of claim 1, 상기 제4 단계는,The fourth step, 지역 변수를 초기화하고, 현재 프레임의 루트 좌표값을 지역 변수에 저장하는 제6 단계;A sixth step of initializing the local variable and storing the root coordinate value of the current frame in the local variable; 상기 다리 길이 상수와 상기 보행 동작 데이터의 다리 길이를 곱한 값을 새로운 다리 길이로 결정하는 제7 단계;Determining a new leg length by multiplying the leg length constant by the leg length of the gait motion data; 상기 보폭 상수를 이용하여 허벅다리 관절과 아랫다리 관절의 회전각을 계산하는 제8 단계;An eighth step of calculating rotation angles of the thigh joint and the lower leg joint using the stride constant; 상기 루트 좌표값, 상기 다리 길이 및 상기 관절의 회전각 값을 이용한 정 운동학 계산을 통해 바닥에 대한 발의 움직임이 없도록 상기 지역 변수 값을 조정하는 제9 단계; 및A ninth step of adjusting the local variable value such that there is no movement of the foot relative to the floor by performing forward kinematic calculation using the root coordinate value, the leg length, and the rotation angle value of the joint; And 최종 루트 좌표값을 결정하고 상기 진행 방향을 보정하는 제10 단계를 포함하여 이루어진 것을 특징으로 하는 인간의 보행 동작 변형 애니메이션 방법.And a tenth step of determining a final root coordinate value and correcting the traveling direction. 제2항에 있어서,The method of claim 2, 상기 제8 단계에서,In the eighth step, 하기의 식을 이용하여 상기 허벅다리 관절과 아랫다리 관절의 회전각을 계산하는 것을 특징으로 하는 인간의 보행 동작 변형 애니메이션 방법.Human walking motion deformation animation method characterized in that for calculating the rotation angle of the thigh joint and the lower leg joint using the following equation. 허벅다리 관절의 x 회전각 = f1(허벅다리 관절의 x 회전각, kpace),X rotation angle of thigh joint = f 1 (x rotation angle of thigh joint, k pace ), 아랫다리 관절의 x 회전각 = f1(아랫다리 관절의 x 회전각, kleg),X rotation angle of lower leg joint = f 1 (x rotation angle of lower leg joint, k leg ), kleg= f3(kpace)k leg = f 3 (k pace ) (여기서, x 좌표는 좌우방향 좌표, kpace는 보폭 상수, kleg는 아랫다리를 위한 진폭 상수, f1()과 f2()는 허벅다리와 아랫다리 관절의 회전각을 통하여 보폭을 조절하기 위한 함수, f3()는 보폭 상수와 진폭 상수의 관계를 정의하는 함수)Where x coordinate is the left and right coordinates, k pace is the stride constant, k leg is the amplitude constant for the lower limbs, and f 1 () and f 2 () control the stride length through the rotation angles of the thigh and lower limb joints. to for function, f 3 () is a function defining the relationship between the constant amplitude and constant stride) 제2항에 있어서,The method of claim 2, 상기 제10 단계에서,In the tenth step, 하기의 식을 사용하여 상기 루트 좌표값을 결정하는 것을 특징으로 하는 인간의 보행 동작 변형 애니메이션 방법.Human walking motion deformation animation method, characterized in that for determining the root coordinate value using the following equation. (여기서, x 좌표는 좌우방향 좌표, y 좌표는 높이 좌표, z 좌표는 전후방향 좌표, Ry는 y 좌표에 대한 변수,는 z 방향으로 움직임이 없도록 하기 위한 변수(Rz)의 허용값,는 원래 동작데이터로부터 이전 프레임을 기준으로 한 현재 프레임의 루트 x 좌표값의 증분, R은 사용자의 회전 입력에 따른 오일러 회전 행렬)(Where x is the left and right coordinate, y is the height coordinate, z is the forward and backward coordinate, Ry is the variable for y coordinate, Is the allowable value of the variable (Rz) for no movement in the z direction, Is the increment of the root x coordinate value of the current frame from the original motion data, and R is the Euler rotation matrix according to the user's rotation input. 제1항 내지 제4항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 4, 상기 보행 동작 데이터는,The walking motion data, 키프레임 또는 모션 캡춰를 이용하여 얻는 것을 특징으로 하는 인간의 보행 동작 변형 애니메이션 방법.Human walking motion deformation animation method, characterized in that obtained by using a key frame or motion capture. (신설)(newly open) 인간의 보행 동작 변형 애니메이션 시스템에,Human walking motion deformation animation system, 다리 길이 상수 및 보폭 상수를 초기화하고, 초기 루트 좌표값, 발의 좌표값, 신체의 계층적 구조에 따른 각 관절 지역 좌표계의 부모 관절 지역 좌표계에 대한 프레임별 오일러 회전각을 포함하는 프레임 단위의 보행 동작 데이터를 입력받는 제1 기능;Step-by-frame gait motion including initial leg length constant and stride length constant, including initial root coordinate value, foot coordinate value, and frame angle Euler rotation angle of parent joint area coordinate system of each joint area coordinate system according to hierarchical structure of body A first function of receiving data; 연속적인 보행 동작을 위한 보행 주기 및 순환 동작 구간을 설정하고, 그 구간에서의 시작과 끝에서 각 관절각의 값을 일치시키고, 바닥에 고정될 발의 정보를 얻는 제2 기능;A second function of setting a walking cycle and a cyclic operation section for continuous walking operation, matching values of each joint angle at the beginning and the end of the section, and obtaining information of a foot to be fixed to the floor; 방향 전환, 다리 길이 및 보폭에 대한 사용자의 입력을 받는 제3 기능;A third function of receiving a user input for turning, leg length and stride length; 정 운동학을 이용하여 다리 길이 및 보폭을 조절하고 루트 좌표값 및 진행 방향을 보정하는 제4 기능; 및A fourth function of adjusting leg length and stride length using forward kinematics and correcting a root coordinate value and a moving direction; And 상기 제4 기능에서의 결과를 이용하여 인간 모델을 화면에 표시하는 제5 기능A fifth function of displaying a human model on the screen using the result of the fourth function 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR1019990061295A 1999-12-23 1999-12-23 Animation method for walking motion variation KR100319758B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990061295A KR100319758B1 (en) 1999-12-23 1999-12-23 Animation method for walking motion variation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990061295A KR100319758B1 (en) 1999-12-23 1999-12-23 Animation method for walking motion variation

Publications (2)

Publication Number Publication Date
KR20010057880A KR20010057880A (en) 2001-07-05
KR100319758B1 true KR100319758B1 (en) 2002-01-05

Family

ID=19628941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990061295A KR100319758B1 (en) 1999-12-23 1999-12-23 Animation method for walking motion variation

Country Status (1)

Country Link
KR (1) KR100319758B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100370369B1 (en) * 2000-08-21 2003-01-30 한국과학기술원 On-line Motion Retargetting of a Virtual Character
KR100426313B1 (en) * 2001-12-28 2004-04-06 한국전자통신연구원 Method for modifying posture of an articulated object in manufacturing picture
KR100623173B1 (en) * 2005-08-02 2006-09-12 엔에이치엔(주) System for realizing animation of game-character and method for realizing and making the same
KR101977893B1 (en) 2015-04-28 2019-05-16 동서대학교 산학협력단 Digital actor managing method for image contents
KR20180071833A (en) 2016-12-20 2018-06-28 박홍식 Computer interface management system by 3D digital actor
CN117021098B (en) * 2023-08-22 2024-01-23 北京中科深智科技有限公司 Method for generating world-place action based on in-place action

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09138863A (en) * 1995-11-13 1997-05-27 Matsushita Electric Ind Co Ltd Three-dimensional motion generator
JPH09231395A (en) * 1996-02-22 1997-09-05 Matsushita Electric Ind Co Ltd Walking action data correcting method
JPH10302084A (en) * 1997-04-30 1998-11-13 Yamaha Corp Position correction method for cg model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09138863A (en) * 1995-11-13 1997-05-27 Matsushita Electric Ind Co Ltd Three-dimensional motion generator
JPH09231395A (en) * 1996-02-22 1997-09-05 Matsushita Electric Ind Co Ltd Walking action data correcting method
JPH10302084A (en) * 1997-04-30 1998-11-13 Yamaha Corp Position correction method for cg model

Also Published As

Publication number Publication date
KR20010057880A (en) 2001-07-05

Similar Documents

Publication Publication Date Title
US11069113B2 (en) Method and apparatus for creating a computer simulation of an actor
US8830269B2 (en) Method and apparatus for deforming shape of three dimensional human body model
US20040012594A1 (en) Generating animation data
Gleicher et al. Snap-together motion: assembling run-time animations
US8542239B2 (en) Looping motion space registration for real-time character animation
KR101179496B1 (en) Method for constructing motion-capture database and method for motion synthesis by using the motion-capture database
US10026210B2 (en) Behavioral motion space blending for goal-oriented character animation
van Basten et al. The step space: example‐based footprint‐driven motion synthesis
Pollard et al. Animation of humanlike characters: Dynamic motion filtering with a physically plausible contact model
KR100319758B1 (en) Animation method for walking motion variation
US9934607B2 (en) Real-time goal space steering for data-driven character animation
US7386429B1 (en) Wrinkle simulation software
Egges et al. One step at a time: animating virtual characters based on foot placement
Choi et al. Processing motion capture data to achieve positional accuracy
Kim et al. Automating expressive locomotion generation
Kim et al. Keyframe-based multi-contact motion synthesis
Pan et al. A method of real-time human motion retargeting for 3D terrain adaption
Lyard et al. A simple footskate removal method for virtual reality applications
Kim et al. Data-Driven Approach for Human Locomotion Generation
Guo et al. Controlling the movement of an articulated figure using parametric frame-space interpolation
Zhang et al. Data-driven on-line generation of interactive gait motion
CN116129009A (en) Motion data redirection method, system, device and storage medium
Pullens Synthesizing walking motions independent of limb length
Hodgins et al. Physically realistic morphing
Yan et al. Motion Path Editing Based on Constraint Detection

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121129

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20141217

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20161219

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee