【0007】
後述する本発明に関する詳細な説明は、本発明が実施され得る特定の実施形態を例として示す添付の図面を参照する。これらの実施形態は、当業者が本発明を実施できるのに十分なように詳細に説明される。本発明の多様な実施形態は、互いに異なるが、相互排他的である必要はないことが理解されるべきである。例えば、ここに記載されている特定の形状、構造及び特性は、一実施形態と関連して本発明の精神及び範囲から逸脱せず、他の実施形態で実現され得る。また、それぞれの開示された実施形態内の個別の構成要素の位置又は配置は、本発明の精神及び範囲から逸脱することなく、変更され得ることが理解されるべきである。従って、後述する詳細な説明は、限定的な意味として取ろうとするものではなく、本発明の範囲は、適切に説明されるのであれば、それらの請求項が主張することと均等なあらゆる範囲と共に添付された請求項によってのみ限定される。図面における類似する参照符号は、多様な側面に亘って同一であるか、又は類似する機能を示す。
以下では、本発明の属する技術分野における通常の知識を有する者が本発明を容易に実施できるようにするために、本発明の好適な実施形態について添付の図面を参照して詳細に説明する。
モーションシーケンス生成システムの構成
以下では、本発明の実現のために重要な機能を行うモーションシーケンス生成システムの内部構成及び各構成要素の機能について詳察する。
本発明の一実施形態によれば、個人用コンピュータ(例えば、デスクトップコンピュータ、ノートブックコンピュータなど)、サーバ、ワークステーション、PDA、ウェブパッド、移動電話機、スマートフォン、タブレットPCなどのようにメモリ手段を備え、マイクロプロセッサを搭載して演算能力を備えた装置であれば、いくらでも本発明のモーションシーケンス生成システムとして採択され得る。特に、本発明の一実施形態に係るモーションシーケンス生成システムは、ユーザからタッチ操作の入力を受けることができるタッチスクリーン(touch screen)、赤外線センサ、加速度センサなどを用いてユーザからモーション操作の入力を受けることができるモーション入力手段などの多様な入力手段を含むことができ、キャラクタのモーションシーケンスを含むアニメーションを表示できる表示手段を含むことができる。
図1は、本発明の一実施形態に係るモーションシーケンス生成システムの内部構成を例示的に示す図である。
図1を参照すれば、本発明の一実施形態に係るモーションシーケンス生成システム100は、動線管理部110、モーションシーケンス管理部120、アニメーション生成部130、通信部140及び制御部150を含むことができる。本発明の一実施形態によれば、動線管理部110、モーションシーケンス管理部120、アニメーション生成部130、通信部140及び制御部150は、そのうちの少なくとも一部が外部システム(図示せず)と通信するプログラムモジュールであり得る。このようなプログラムモジュールは、オペレーティングシステム、アプリケーションプログラムモジュール及びその他のプログラムモジュールの形態でモーションシーケンス生成システム100に含まれることができ、物理的には、様々な公知の記憶装置上に格納されることができる。また、このようなプログラムモジュールは、モーションシーケンス生成システム100と通信可能な遠隔記憶装置に格納されることもできる。一方、このようなプログラムモジュールは、本発明によって後述する特定の業務を行ったり、特定の抽象データタイプを実行するルーチン、サブルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを包括するが、これに制限されるものではない。
まず、本発明の一実施形態によれば、動線管理部110は、キャラクタが表示される表示画面によって定義される仮想の平面である基準平面に対して入力される第1ユーザ操作を参照として、基準平面上にキャラクタが移動する経路を示す動線を生成する機能を行える。ここで、第1ユーザの操作は、基準平面上の第1地点から第2地点まで繋がる仮想の直線又は曲線を特定できる操作であって、例えば、表示画面上の第1地点から第2地点まで繋がるタッチ操作、所定のモーション入力手段を含む端末装置を第1位置から第2位置に移動させたり、端末装置の姿勢を第1姿勢から第2姿勢に変更させるモーション操作などを含むことができる。
また、本発明の一実施形態によれば、動線管理部110は、基準平面に対して入力される第2ユーザ操作を参照として、先に生成された動線に含まれる少なくとも1つの区間を特定したり、先に生成された動線上の少なくとも1つの地点を特定する機能を行える。ここで、第2ユーザの操作は、動線に含まれる少なくとも1つの区間の境界を特定したり、動線上の少なくとも1つの地点の位置を特定できる操作であって、例えば、動線上の少なくとも1つの地点を横切る仮想の線を描いたり、動線上の少なくとも1つの地点を直接選択するタッチ操作、所定のモーション入力手段を含む端末装置の位置や姿勢を変更させる操作などを含むことができる。本発明の一実施形態によれば、動線に含まれる少なくとも1つの区間の長さ又は動線上の少なくとも1つの地点の位置は、追加で入力されるユーザ操作によって変更され得る。
次に、本発明の一実施形態によれば、モーションシーケンス管理部120は、基準平面に対して入力される第3ユーザ操作を参照として、動線全体、動線に含まれる少なくとも1つの区間又は動線上の少なくとも1つの地点に対してキャラクタのモーション(又は動作に関する属性値)を付与することで、キャラクタが、モーションが付与された動線、区間又は地点に位置するとき、該当キャラクタが該当モーションによる動作を行うようにするモーションシーケンスを生成する機能を行える。ここで、動線、区間又は地点に付与され得るモーションには、歩き、走り、ジャンピング、転がり、四つん這い、パンチング、肩すくめ、揺すり、対話、シンギング、キャラクタの感情状態を表現するモーションなどの多様な動作が含まれることができる。但し、本発明でいうモーションの種類が必ずしも前記列挙されたものに限定されるわけではなく、本発明の目的を達成できる範囲内でいくらでも追加、又は変更され得ることを明らかにしておく。
一方、本発明の一実施形態によれば、ユーザが動線、区間又は地点を設定し、動線、区間又は地点にモーションを付与するために、第1ユーザ操作、第2ユーザ操作、第3ユーザ操作などを入力することを支援するグラフィックユーザインターフェース(GUI)が提供され得る。具体的に、本発明の一実施形態によれば、グラフィックユーザインターフェースは、動線、区間又は地点に付与され得るキャラクタの多様なモーションを示すグラフィック要素とこのようなグラフィック要素を視覚的に含むことができるように表示されるポッドコントローラ(pod controller)を含むことができ、このようなグラフィック要素とポッドコントローラは、動線、区間又は地点に対応して表示され得る。
次に、本発明の一実施形態によれば、アニメーション生成部130は、先に生成された動線、区間又は地点及びこれらに付与されたモーションに関する情報、即ち、モーションシーケンスを参照としてキャラクタが動線に沿って移動しながら、動線全体、区間又は地点に付与された少なくとも1つのモーションを行う様子を含むアニメーションを生成する機能を行える。
また、本発明の一実施形態によれば、アニメーション生成部130は、キャラクタのモーションシーケンスによって生成されたアニメーションとカメラ(図示せず)から入力される現実世界(real world)の映像を結合することによって、拡張現実(AR、Augmented Reality)の動画を生成する機能を行える。より具体的に、本発明の一実施形態に係るアニメーション生成部130は、SLAM(Simultaneous Localization And Mapping)技術を用いて現実世界の映像の座標を追跡し、3D Mapping座標を抽出でき、前記のように追跡された座標及び抽出された3D Mapping座標に関する情報を参照としてキャラクタのモーションシーケンスによるアニメーションが現実世界の映像内で表示される座標を決定でき、前記のように表示される座標が決定されたアニメーションと現実世界の映像を結合することによって、拡張現実の動画を生成できる。
次に、本発明の一実施形態に係る通信部140は、モーションシーケンス生成システム100が外部装置と通信できるようにする機能を行う。
最後に、本発明の一実施形態に係る制御部150は、動線管理部110、モーションシーケンス管理部120、アニメーション生成部130及び通信部140間のデータの流れを制御する機能を行う。即ち、制御部150は、外部からの又はモーションシーケンス生成システムの各構成要素間のデータの流れを制御することで、動線管理部110、モーションシーケンス管理部120、アニメーション生成部130及び通信部140でそれぞれ固有機能を行うように制御する。
図2は、本発明の一実施形態によってモーションシーケンスが生成される過程を例示的に示す図である。
まず、
図2の(a)を参照すれば、ユーザは、基準平面210に対してタッチ操作、マウス操作、モーション操作のような多様な操作方式を用いてキャラクタ又は客体が移動する経路、即ち、動線220を生成できる。
次に、
図2の(b)を参照すれば、ユーザは、基準平面210に対してタッチ操作、マウス操作、モーション操作のような多様な操作方式を用いて動線220を複数の区間221〜223に区分して動線220を分節化したり、動線220上の少なくとも1つの地点(224及び225)を特定できる。ここで、ユーザは、動線220と交差する線を描く操作を行って交点を基準として動線220が分節化されるようにしたり、動線220上の地点が特定されるようにすることができる。また、ユーザは、動線220上のある地点を直接指定する操作を行って動線220上の地点を特定できる。
次に、
図2の(c)を参照すれば、ユーザは、分節化された動線の各区間221〜223に対して多様なモーション231〜233を付与することで、動線の各区間221〜223とモーション231〜233が結合されているモーションシーケンスが生成されるようにすることができる。また、図示してはいないが、ユーザは、動線全体に対して多様なモーションを付与したり、動線上に特定された少なくとも1つの地点に対して多様なモーションを付与することで、キャラクタが、モーションが付与された動線、区間又は地点に位置するとき、キャラクタが前記のように付与された多様なモーションを行うようにするモーションシーケンスが生成されるようにすることができる。
図3は、本発明の一実施形態によって動線の各区間にモーションが付与される過程を例示的に示す図である。
まず、
図3の(a)を参照すれば、モーションを付与することを支援するグラフィックユーザインターフェース(GUI)341〜343が動線の各区間に対応して表示されることができ、これにより、ユーザは、各区間に対応して表示されたグラフィックユーザインターフェース341〜343を介して該当区間に付与されるモーションを容易に選択できるようになる。次に、
図3の(b)を参照すれば、動線の各区間に対応して表示されるグラフィックユーザインターフェース341〜343が動線の各区間の方向によって適応的に配置される形態で表示されることによって、ユーザが動線の各区間に付与されるモーションを選択することをより容易に行うことができる。
図4は、本発明の他の実施形態によってモーションシーケンスが生成される過程を例示的に示す図である。
図4を参照すれば、ユーザは、基準平面410に対してタッチ操作、マウス操作、モーション操作のような第1ユーザ操作を入力することで、キャラクタ又は客体が移動する経路、即ち、動線420を生成できる。そして、第1ユーザ操作により動線が生成される途中に基準平面に対して第2ユーザ操作(例えば、マルチタッチ操作、揺すり操作など)が入力されれば、ユーザがモーションを設定できるように支援するグラフィックユーザインターフェース440が提供され得るが、ユーザがグラフィックユーザインターフェースを介して所望のモーションを選択すれば、第2ユーザ操作が入力された時点以前に生成された動線又は第2ユーザ操作が入力された時点以後に生成される動線に対して前記選択されたモーションが付与され得るようになる。一方、動線に対するモーションの付与が完了した後は、再び動線を生成するためのユーザ操作が入力され得る。
即ち、本発明の他の実施形態によれば、モーションシーケンスを生成するにおいて、動線が生成される順序とモーションが設定される順序が互いに変わり得、動線を複数の区間に区分したり、動線上の地点を特定しない状態で動線全体に対してモーションが付与されるようにすることもできる。また、本発明の一実施形態によれば、第2ユーザ操作がまず入力されてキャラクタに適用され得る多様なモーションのうちの何れかのモーションが選択された状態で第1ユーザ操作が後で入力されてキャラクタの動線が生成されれば、先に選択されたモーションが該当動線に付与されるモーションシーケンスが生成され得る。
一方、
図2〜
図4において、動線に含まれる区間に対してモーションが付与される場合について主に説明されているが、本発明の実施形態が必ずしも前記列挙されたものに限定されるわけではなく、
図2〜
図4で説明された内容は、動線全体に対してモーションが付与される場合又は動線上の少なくとも1つの地点に対してモーションが付与される場合においても同様に適用され得ることを明らかにしておく。
図5〜
図14は、本発明の一実施形態によってモーションシーケンスを生成することを支援するユーザインターフェースの多様な構成を例示的に示す図である。
図5を参照すれば、第1ユーザ操作が入力されれば、キャラクタ520の移動経路を示す動線530が生成され得る。
図6を参照すれば、第2ユーザ操作が入力されれば、動線630に含まれる2つの区間(631及び632)と1つの地点633が特定され得る。
図7を参照すれば、キャラクタ720の移動経路を示す動線730と動線730に含まれる2つの区間(731及び732)及び1つの地点733が生成された状態で、ユーザが動線730、区間(731及び732)又は地点733にモーションを付与することを支援するためのポッドコントローラ(pod controller)740が提供され得る。具体的に、ユーザ操作によって特定地点733が選択されれば、該当地点733に付与され得るモーションに対応するグラフィック要素761〜764を視覚的に含むことができるポッドコントローラ740が表示されることができ、ポッドコントローラ740を介して地点733に付与され得るモーションに対応するグラフィック要素761〜764が羅列されている選択メニュー760が共に表示されることもできる。
図8を参照すれば、キャラクタ820の移動経路である動線830上の地点833が特定され、該当地点833に対応するポッドコントローラ840とモーション選択メニュー860が表示された状態で、モーションを選択しようとするユーザ操作(例えば、ホールドアンドドラッグ(hold and drag)、ドラッグアンドドロップ(drag and drop)など)が入力されれば、選択されたモーションを示すグラフィック要素862がポッドコントローラ840内に移動してポッドコントローラ840内に含まれている状態で表示されるようにすることができる。
図9を参照すれば、キャラクタ920の移動経路である動線930上の地点933に対応して表示されるポッドコントローラ940内には、複数のモーションのそれぞれを示す複数のグラフィック要素(962及び963)が含まれることができ、追加で入力されるユーザ操作によってポッドコントローラ940内に含まれる複数のグラフィック要素(962及び963)間の順序が制御され得る。
図10を参照すれば、ポッドコントローラ1040内にキャラクタ1020のモーションを示すグラフィック要素1062が含まれたまま表示されている状態で、ユーザ操作によってあるモーションが選択されれば、該当モーションを示すグラフィック要素1062を強調して表示でき、追加で入力されるユーザ操作によって該当グラフィック要素1062が削除されるようにすることができ(1070)、追加で入力されるユーザ操作によってキャラクタ1020がモーションを行う際に発生する音響、キャラクタ1020がモーションを行う時間、キャラクタ1020がモーションを行いながら話す台詞などの多様な属性が設定され得るようにすることができる(1080)。
より具体的に、
図11を参照すれば、円形のポッドコントローラ1140内にキャラクタ1120のモーションを示す特定のグラフィック要素1162が選択されたまま表示されている状態で、円形のポッドコントローラ1140の円周に沿って入力されるユーザ操作を参照としてキャラクタ1120が特定のグラフィック要素1162に該当するモーションを行う時間が調節されるようにすることができる(1182)。
また、図示してはいないが、円形のポッドコントローラ内にキャラクタのモーションを示す特定のグラフィック要素が選択されたまま表示されている状態で、円形のポッドコントローラの円周に沿って入力されるユーザ操作を参照としてキャラクタが特定のグラフィック要素に該当するモーションを行う方向が特定されるようにすることができる。
また、
図12を参照すれば、ポッドコントローラ1240内にキャラクタ1220のモーションを示す特定のグラフィック要素1262が選択されたまま表示されている状態で、ユーザ操作によって所定の文字列1283が入力されれば、キャラクタ1220が特定のグラフィック要素1262に該当するモーションを行いながら話す台詞が設定されるようにすることができる。
図5〜
図12において、動線上の地点に対してモーションが付与される場合について主に説明されているが、本発明の実施形態が必ずしも前記列挙されたものに限定されるわけではなく、
図5〜
図12で説明された内容は、動線全体に対してモーションが付与される場合又は動線に含まれる少なくとも1つの区間に対してモーションが付与される場合においても同様に適用され得ることを明らかにしておく。
これと関連して
図13を参照すれば、ユーザ操作によって特定区間1332が選択されれば、該当区間1332に付与され得るモーションに対応するグラフィック要素1361〜1364を視覚的に含むことができるポッドコントローラ1340が表示されることができ、ポッドコントローラ1340を介して地点1333に付与され得るモーションに対応するグラフィック要素1361〜1364が羅列されている選択メニュー1360が共に表示されることもできる。また、
図14を参照すれば、キャラクタ1420の移動経路である動線1430に含まれる区間1432が特定され、該当区間1432に対応するポッドコントローラ1440とモーション選択メニュー1460が表示された状態で、モーションを選択しようとするユーザ操作(例えば、ホールドアンドドラッグ(hold and drag)、ドラッグアンドドロップ(drag and drop)など)が入力されれば、選択されたモーションを示すグラフィック要素1462がポッドコントローラ1440内に移動してポッドコントローラ1440内に含まれている状態で表示されるようにすることができる。
一方、
図5〜
図12の実施形態と
図13及び
図14の実施形態を比較して詳察すると、地点733に付与され得るモーションの種類(即ち、元の位置で行えるモーションとして、例えば、何らの動作もしない761、揺すり762、肩すくめ763、パンチング764など)と区間1332又は動線全体に付与され得るモーションの種類(即ち、移動しながら行えるモーションとして、例えば、歩き1361、走り1362、ひそかに移動1363、四つん這い1364など)は互いに異なるように設定され得る。
一方、
図5及び
図6を参照すれば、ユーザは、前記のように新しいモーションシーケンスを生成する代りに、自身や他のユーザによって既に生成されて既に格納されているモーションシーケンスを呼び出し、これを現在のキャラクタ520、620に適用させることができる。また、ユーザは、自身が新たに生成したモーションシーケンスを格納することで、後で自身や他のユーザが該当モーションシーケンスを活用できるようにすることができる。例えば、ユーザは、画面上に表示されるプリセット(preset)アイコン510、610を選択することで、既に格納されているモーションシーケンスを呼び出したり、新たに生成されたモーションシーケンスを格納できる。
以上説明した本発明に係る実施形態は、多様なコンピュータ構成要素を通じて実行され得るプログラム命令語の形態で実現され、コンピュータ読み取り可能な記録媒体に記録され得る。前記コンピュータ読み取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記コンピュータ読み取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計され、構成されたものであってもよく、コンピュータソフトウェア分野の当業者に公知となって使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光気録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納し実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例としては、コンパイラにより作られるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級の言語コードも含まれる。前記ハードウェア装置は、本発明に係る処理を行うために、1つ以上のソフトウェアモジュールとして作動するように構成されることができ、その逆も同様である。
以上で本発明が具体的な構成要素などのような特定の事項と限定された実施形態及び図面により説明されたが、これは、本発明のより全般的な理解を促進するために提供されたものに過ぎず、本発明が前記実施形態に限定されるものではなく、本発明の属する技術分野における通常の知識を有する者であれば、このような記載から多様な修正及び変形を図ることができる。
従って、本発明の思想は、前記説明された実施形態に限定されて定められてはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等に又は等価的に変形した全てのものは、本発明の思想の範疇に属すると言える。