发明名称 Object operating device and method, and program
摘要 Motion data to be inserted between two different object actions that include a rotating action and are to be successively performed are generated so that the two actions are smoothly connected. Respective elements d required to define a transitional motion action are calculated from the respective frames after the end point of the former motion and before the start point of the latter motion. As for the three-dimensional rotation R(t) that defines the posture in each frame, independent linear values rx(t), ry(t), and rz(t) are calculated as values approximating the three-dimensional rotation R(t) by using exponential maps. The velocity components of the respective elements d are determined, and the largest value of the absolute values of the velocity components in each of the post-end frames and the pre-start frames is extracted as an interpolating velocity v(t). The respective elements d(t) in each of blended transitional motion frames can be determined.
申请公布号 US8970602(B2) 申请公布日期 2015.03.03
申请号 US201213980113 申请日期 2012.02.13
申请人 Kabushiki Kaisha Square Enix 发明人 Mukai Tomohiko
分类号 G06T13/00;G06T19/00;A63F13/40;G06T13/20 主分类号 G06T13/00
代理机构 Greenblum & Bernstein, P.L.C. 代理人 Greenblum & Bernstein, P.L.C.
主权项 1. An object operating device that causes an object to perform a second action after performing a first action different from the second action, the object existing in a virtual three-dimensional space, a three-dimensional rotating action being contained in at least one of the first action and the second action, the object operating device comprising: a motion data storage that stores first motion data formed with data of a plurality of unit times and second motion data formed with data of a plurality of unit times, the first motion data defining the first action, the second motion data defining the second action; a first motion data setter that sets data of an end point until which the object is made to act in accordance with the first motion data, the data of the end point being of the data of the plurality of unit times forming the first motion data; a second motion data setter that sets data of a start point from which the object is made to act in accordance with the second motion data, the data of the start point being of the data of the plurality of unit times forming the second motion data; an interpolating motion data generator that generates motion data, the motion data being data of a plurality of unit times inserted between the end point until which the object is made to act in accordance with the first motion data and the start point from which the object is made to act in accordance with the second motion data; and an object operator that operates the object by using the data of the respective unit times of the first motion data until the end point, the data of the unit times generated by the interpolating motion data generator, and the data of the respective unit times of the second motion data from the start point, wherein the interpolating motion data generator includes: a rotation specifier that specifies a rotation in a three-dimensional rotating action of the object acting in accordance with the first motion data and a rotation in a three-dimensional rotating action of the object acting in accordance with the second motion data in each unit time of the plurality of unit times inserted between the end point and the start point; a rotation decomposer that decomposes the rotation specified by the rotation specifier in each unit time of the three-dimensional rotating action of the object acting in accordance with the first motion data into scalar rotations, and decomposes the rotation specified by the rotation specifier in each unit time of the three-dimensional rotating action of the object acting in accordance with the second motion data into scalar rotations, respectively; a scalar velocity calculator that calculates a scalar velocity in each unit time of the three-dimensional rotating action of the object acting in accordance with the first motion data and a scalar velocity in each unit time of the three-dimensional rotating action of the object acting in accordance with the second motion data, based on the scalar rotations, which are obtained through the decomposition by the rotation decomposer in each unit time when the object acts in accordance with the first motion data, and the scalar rotations, which are obtained through the decomposition by the rotation decomposer in each unit time when the object acts in accordance with the second motion data, respectively; a scalar velocity specifier that specifies a scalar velocity in each unit time of the three-dimensional rotating action of the object, the scalar velocity being applied in the plurality of unit times inserted between the end point and the start point, based on the scalar velocity calculated by the scalar velocity calculator in each unit time when the object acts in accordance with the first motion data, and the scalar velocity calculated by the scalar velocity calculator in each unit time when the object acts in accordance with the second motion data; a scalar rotation calculator that calculates scalar rotations regarding the three-dimensional rotating action of the object, the scalar rotations being applied in each unit time of the plurality of unit times inserted between the end point and the start point, by performing a predetermined arithmetic operation on the scalar velocity specified by the scalar velocity specifier in each unit time; and a rotation regenerator that regenerates rotations of the object, the rotations being applied in each unit time of the plurality of unit times inserted between the end point and the start point, based on the scalar rotations calculated by the scalar rotation calculator.
地址 Tokyo JP