KR100319758B1 - Animation method for walking motion variation - Google Patents
Animation method for walking motion variation Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 210000002414 leg Anatomy 0.000 claims description 54
- 210000000689 upper leg Anatomy 0.000 claims description 26
- 210000002683 foot Anatomy 0.000 claims description 19
- 210000001503 joint Anatomy 0.000 claims description 13
- 230000005021 gait Effects 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims description 8
- 210000003141 lower extremity Anatomy 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000008859 change Effects 0.000 abstract description 4
- 230000002265 prevention Effects 0.000 abstract description 3
- 210000004197 pelvis Anatomy 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 210000003371 toe Anatomy 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002715 modification method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human 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
본 발명은 가상 공간상의 실시간 분신 동작 기술을 위한 인간의 동작 애니메이션 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 다리 길이나 보폭과 같은 개인차를 고려하여 실시간으로 애니메이션할 수 있는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.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 회전각, 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)
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)
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)
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 |
-
1999
- 1999-12-23 KR KR1019990061295A patent/KR100319758B1/en not_active IP Right Cessation
Patent Citations (3)
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 |