JP2006528381A - 仮想環境制御装置 - Google Patents

仮想環境制御装置 Download PDF

Info

Publication number
JP2006528381A
JP2006528381A JP2006520880A JP2006520880A JP2006528381A JP 2006528381 A JP2006528381 A JP 2006528381A JP 2006520880 A JP2006520880 A JP 2006520880A JP 2006520880 A JP2006520880 A JP 2006520880A JP 2006528381 A JP2006528381 A JP 2006528381A
Authority
JP
Japan
Prior art keywords
prop
animation
avatar
virtual environment
objects
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP2006520880A
Other languages
English (en)
Inventor
ワット,マーク,アラン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ANTICS TECHNOLOGIES Ltd
Original Assignee
ANTICS TECHNOLOGIES Ltd
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 ANTICS TECHNOLOGIES Ltd filed Critical ANTICS TECHNOLOGIES Ltd
Publication of JP2006528381A publication Critical patent/JP2006528381A/ja
Withdrawn legal-status Critical Current

Links

Images

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
    • G06T13/00Animation
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F13/00Bandages or dressings; Absorbent pads
    • A61F13/10Bandages or dressings; Absorbent pads specially adapted for fingers, hands, or arms; Finger-stalls; Nail-protectors
    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
    • A63F2300/6018Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content where the game content is authored by the player, e.g. level editor or by game device at runtime, e.g. level is created from music data on CD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2213/00Indexing scheme for animation
    • G06T2213/12Rule based animation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Vascular Medicine (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Processing Or Creating Images (AREA)

Abstract

インタラクティブな仮想環境を制御する装置が開示される。装置は、オブジェクトが住まう仮想環境を定義する手段を含み、オブジェクトには少なくともアバターとプロップが含まれる。仮想環境内のオブジェクトは、ユーザーの制御下において、動的に他のオブジェクトに結合され、また、動的に他のオブジェクトから分離できる。プロップは、アバターがプロップと相互作用する際に用いるアニメーションと関連づけられ、また、プロップが別のオブジェクトに結合される際には、このアニメーションとプロップとが関連づけられたままとなる。オブジェクトが別のオブジェクトに結合される際には、オブジェクトは結合したオブジェクトの動きを継承する。
【選択図】図1

Description

本発明は、仮想環境の制御装置に関し、また、特にアバターとプロップが住まう双方向(インタラクティブ)の仮想環境に関する。このような装置は、例えば、ユーザーによるアニメーションシーケンスの作成・編集を許可するためのオーサリングツール、またはゲームのオーサリングツールとして使用することができる。
従来のコンピュータアニメーションシステムにおいては、アニメーターは、シーンの連続した動きをフレームごとに作成している。別の方法としては、アニメーターは連続したキーフレームを作成することもでき、この場合にはシステムが自動的に中間フレームを作成し、連続アニメーションシーケンスを作り出している。このようなシステムにおいては、熟練したアニメータを雇ってフレームもしくはキーフレームを作成する必要があるので、アニメーションシーケンスの作成プロセスには時間がかかり且つ高価についてしまう。
したがって、仮想環境をインタラクティブに制御するユーザーによって、且つシステム内にストアされている既存のアニメーションの広汎な再利用によって、アニメーションシーケンスを作成することができるような、別種のコンピュータアニメーションシステムが提案されている。このようなシステムにおいては、アバター、プロップ、および他のオブジェクトが住むことができる仮想環境が作成される。仮想環境内のオブジェクトを動かす方法を決定するために、アニメーションが利用される。他の3Dアニメーションパッケージで作成したモーションキャプチャーのリグ、もしくはソフトウェアに含まれるモーションのライブラリに在るモーションキャプチャーのリグから、これらを直接インポートすることができる。仮想環境の制御によって、ユーザーは後でリプレイもしくは編集するために、アニメーションシーケンスを構築することができる。
インタラクティブな仮想環境は、多くのコンピュータゲームでも用いられている。通常、このようなゲームでは、キャラクターおよび他のオブジェクトが住まう仮想世界を表示するようになっている。キャラクターは仮想世界を動きまわることができ、オブジェクトを拾いあげるようなアクションを行うことができる。このようなゲームにおいては、アニメーションシーケンスはユーザーの入力に対応して作成されるが、リプレイもしくは編集のためにアニメーションシーケンスを保存するための手段はつくられていない。
インタラクティブな仮想環境を作成する際には、そのインタラクティブ性のために、すべての可能な状況において環境の保全性 ( integrity ) の維持を確保することが困難となるという問題が起こってくる。起こりうるすべての可能なシチュエーションを予測すること、および、それぞれの状況においてアニメーションが利用可能となることを確実なものとすることによって、この問題は通常は解決できる。例えば、部屋に入るキャラクターには、その部屋の中のオブジェクトと相互作用する必要が生じると考えられる。そこで、デザイナーには、オブジェクトが居る可能性のあるあらゆる場所のそれぞれへ行くキャラクターのために、話しかけをしたアニメーションを作成する必要が生じる。このようなアニメーションの複雑さ、およびそれらを作成することを含んだ仕事量を鑑みると、一般的には、所定の状況のためには可能なオプションのほんの小さなセットしか作成されないということになる。アニメーションは自由選択であるような印象を与えるが、実際には、オプションのツリー構造が処理されているのである。
もし、シーン内のオブジェクトもしくは選択が、そのシーンのデザイナーが意図していないものであったなら、ユーザーがオブジェクトを取る方法、選択をする方法といったものは予定されていないので、環境はクラッシュをするか、もしくはユーザーの行為が継続できなくなるということになる。
オブジェクトとの相互作用によって、可能なオブジェクトの数の上での複雑さが持ち込まれることにもなる。例えば、アバターがプロップを拾って、また置くことができるとすると、システムは、プロップを持っているアバターと、持っていないアバターとの双方についての処理ができなくてはならない。これは、従来ではオブジェクトのすべての可能な組み合わせを予測し、起こりうる可能な組み合わせのそれぞれにおいて使えるアニメーションを確保することによって行われてきた。これは、プロップを持ったアバターと、持っていないアバターとでアニメーションを分けて、プロップが拾われたとき、もしくはプロップが置かれたときに、一方から他方へとアニメーションを切り換えることによって行うことができる。このような編成には、大量のアニメーションを予め作成することと、それを利用できるようにストアしておくことが要求される。さらに、オブジェクトのすべての可能な組み合わせを予めアニメートさせる必要があるために、リンクできるオブジェクトの数が制限されることになる。
別の方法として、アバターがプロップを拾ったときに、プロップのビットマップイメージをアバター上にオーバーレイすることができる。この場合、アバターの外観が変化し、アバターとプロップの組み合わせとなった外観となる。プロップとアバターの動きは調和させる必要があり、実際にはプロップとアバターの動きはシステム内では別々に制御されているにもかかわらず、プロップとの相互作用がリアルに見えるようにしている。この編成には、システムがすべてのプロップの位置を記憶するための準備、および、その位置のために作成されたアニメーションが有る位置においてのみ相互作用をすることをシステムが確保することを含まなくてはならないために、環境の保全性を維持することが困難であるという短所がある。
本発明の第一の特徴においては、インタラクティブな仮想環境を制御するための装置であって、この装置はオブジェクトが住まう仮想環境を定義する手段を含み、このオブジェクトは少なくともアバターおよびプロップを含み、
仮想環境内のオブジェクトは、ユーザーの制御下において、他のオブジェクトと動的に結合され、また他のオブジェクトから動的に分離され、また、
プロップは、アバターがプロップと相互作用した際に用いられるアニメーションと関連づけられており、また、プロップが別のオブジェクトに結合された際に、このアニメーションがプロップと関連づけられたままであることを特徴とするような装置が提供される。
この方法でアニメーションとプロップとを関連づけることにより、効率的にアニメーションとプロップとを共に他のオブジェクトに結合することができ、仮想環境の保全性を維持する上での援けとなる。これは、アニメーションがプロップと共に仮想環境を動くためであり、したがって、アバターとプロップとの間の相互作用のために必要なアニメーションがつねに使用可能となる。
さらに、アニメーションのプロップへの関連づけによって、シーンの保全性に影響することなく、シーンを取り替えるための大きな変更を行うことができる。例えば、環境がシーンを実行していたとすると、アニメーションと関連づけられたプロップをシーンにドロップすることができ、このシステム内のプロップは相互作用を定義する情報を含んでいるため、直ちにすべてのアバターがそれと相互作用することができるようになる。
ここで用いる「アバター」 ( "avatar" ) という語は、好ましくは、自律オブジェクトを意味し、これは、自発的にもしくはユーザーの制御下でのいずれかで、独立して動くことができるオブジェクトのことを意味することが好ましい。アバターは典型的にはシーン内のキャラクターのことであるが、任意の乗り物、または、他のアバター、オブジェクト、もしくは背景の一部 と相互作用する他のオブジェクトとすることもできる。アバターには或る外観およびビヘイビアが与えられ、また、ユーザーによって制御することができる。
ここで用いる「プロップ」 ( "prop" ) という語は、好ましくは、非自律オブジェクトを意味し、これは、別のオブジェクトに依存してのみ動くか、もしくはユーザーの制御下においてのみ動くことができるオブジェクトのことを意味するのが好ましい。しかしながらプロップは固有のアニメーションを有することができる。例えば、時計それ自身は動くことができず、自発的に他のプロップと相互作用することができないが、時計には揺れる振子と動く針とを持たせることができる。
好ましくは、オブジェクトが別のオブジェクトに結合された際には、そのオブジェクトが結合したオブジェクトの動きを、そのオブジェクトが継承する。オブジェクトが他のオブジェクトと動的に結合および分離できるようにし、また、別のオブジェクトに結合されているオブジェクトが、そのオブジェクトの動きを継承するように編成することによって、オブジェクトの組み合わせのために別々のアニメーションを予め与えることを要さず、または、持たれるオブジェクトの動きを別々に調和することを要さずに、或るオブジェクトが別のオブジェクトによって持たれるようにすることができる。これにより、オブジェクトおよび配置のすべての可能な組み合わせを先立って予測しておく必要が無い、さらに柔軟なシステムを導入することができる。
装置は、後のリプレイもしくは編集のためにアニメーションシーケンスをストアするための手段をさらに含むことができ、および/もしくは、装置はコンピュータゲームをプレイするための装置とすることができる。
アニメーションシーケンスの作成および編集のためのオーサリングツール内でのモーション継承のコンセプトは、本発明の重要な独立に提供される特徴である。したがって、本発明の第二の特徴においては、インタラクティブな仮想環境を制御する装置が提供され、この装置は、
オブジェクトが住まう仮想環境を定義する手段、
アニメーションシーケンスを作成するために、ユーザーに仮想環境の制御を許可する手段、ならびに、
後のリプレイもしくは編集のために、アニメーションシーケンスをストアする手段、
を含み、また、仮想環境内のオブジェクトは、動的に他のオブジェクトに結合され、また動的に他のオブジェクトから分離することができ、また、オブジェクトが他のオブジェクトに結合された際には、結合の対象であるオブジェクトの動きを、オブジェクトが継承することを特徴とする。
本発明の第二の特徴においては、オブジェクトは少なくともアバターおよびプロップを含むことができる。プロップは、アバターがプロップと相互作用する際に使用するためのアニメーションと関連づけることができる。
オーサリングツールにおいて、アニメーションをプロップに関連づけるコンセプトは、本発明の独立に提供される重要な別の特徴である。したがって、本発明の第三の特徴によれば、インタラクティブな仮想環境を制御するための装置が提供され、その装置は、
少なくともアバターおよびプロップを含むようなオブジェクトが住まう仮想環境を定義する手段、
アニメーションシーケンスを作成するために、ユーザーが仮想環境を制御する許可を与える手段、ならびに、
後のリプレイもしくは編集のために、アニメーションシーケンスをストアする手段、
を含み、プロップは、アバターがプロップと相互作用する際に使用するためのアニメーションと関連づけることができる。
好ましくは、プロップが別のオブジェクトに結合された際には、この関連づけられたアニメーションはプロップに関連づけられたままとなる。
上述のすべての特徴においては、プロップに関連づけられたアニメーションは、アバターの動きを定義するアニメーション、もしくはプロップの動きを定義するアニメーションとすることができる。適切には、プロップは、プロップの動きを定義するアニメーション、および、アバターがプロップと相互作用する際のアバターの動きを定義するアニメーションと関連づけることができる。例えば、ドアを開く、ということには、プロップ(ドア)のためのアニメーション、および、(ドアを開ける)アバターのための調和したアニメーションが必要となる。この双方のアニメーションの組み合わせによって、アバターがドアを開けている、という印象を与えることができるわけである。他の状況では、アバターアニメーションのみ、もしくはプロップアニメーションのみが必要となる。例えば、テレビを点ける、ということには、アバターのモーションが必要だが、テレビは動かないのでテレビ自身のモーションは必要無い。
アバターがプロップと相互作用する際には、アバターは、プロップと関連づけられたアバターアニメーションを、プロップに照会 (クエリ; query ) する。
アニメーションもしくは複数のアニメーションは、プロップと関連づけられたステートマシンの一部として定義される。ステートマシンには、イニシャルステート (初期状態; initial state ) 、ファイナルステート (最終状態; final state ) 、ならびに、プロップをイニシャルステートからファイナルステートへと移行させるようなプロップアニメーションと、アバターをイニシャルステートからファイナルステートへと移行させて、またイニシャルステートに戻すことが可能であるようなアバターアニメーションとのうちの少なくとも一方、を定義するステート遷移を含むことができる。多くの状況では、プロップアニメーションとアバターアニメーションとの両方が用意される。しかしながら、相互作用する間にプロップもしくはアバターのいずれかが動かない場合には、オブジェクトのためにアニメーションを用意する必要は無い。例えば、プロップが階段であるときには、アバターアニメーションは、階段を上下するアバターの動きを定義することができるが、プロップアニメーションを用意する必要は無い。それぞれがアバターがプロップと相互作用するひとつの方法を定義するような複数のステート遷移を、ステートマシンは含むことができる。
プレコンディションはひとつのステートに関連づけることができる。このようなプレコンディションは、別のアクションが実行される前にプロップが或るステートにあらねばならないように定義するため、別のアクションが実行される前にアバターがひとつのアクションを実行する必要があるようにすることができる。これによって、プロップのカレントステートとして、比較的複雑で柔軟なシーケンスを構築することができ、また、単純なコマンドを用いて、動きの精巧な連鎖を組むことができるように、任意のプレコンディションが、アバターがプロップと相互作用する方法を定義する。
ステートマシンは、休止ステート (休止状態; idle state ) を有することができる。休止ステートは、特定のアクションの後にアバターが入るステートとすることができる。また、アバターが休止ステートから脱するときに取るアクションも入れることができ、アバターが別の任意のアクションを実行する前に、このアクションを実行する必要があるようにすることができる。この編成によって、比較的複雑なビヘイビアを構築することができるようになる。
アニメーションシーケンスは、コマンドのリストを含むスクリプトとしてストアすることができる。このようなコマンドは、ユーザーが仮想環境を制御するために入力するコマンドと同一のものとすることができる。これによって、ユーザーが容易に理解できる方法で、複雑なビヘイビアを簡便にストアすることができる。
スクリプトウィンドウを通じてユーザーがスクリプトをタイプすることができ、または、仮想環境を制御している間にユーザーがタイプしたコマンドを記録することによってスクリプトを作成することもできる。スクリプトはネストすることができ、また、スクリプトが他のスクリプトを呼び出すこともできる。これによって、複雑なビヘイビアを、既存のビヘイビアを用いて構築することができるようになる。
スクリプトには、仮想環境内のオブジェクトに渡すための命令を含めることができる。スクリプト中でこの命令よりも優先されているアニメーションが実行され了えた後にのみ、この命令をオブジェクトに渡すように装置を構成することができる。これによって、進行中のアニメーションが、他のアニメーションがスタートする前に完了するようにして、環境の保全性の維持を確実にする援けが得られる。
アニメーションシーケンスは、アバターのファーストパーソンコントロール ( first person control ) を用いて構築することもできる。これは、キーボードのキーおよび/もしくはマウスを用いて、環境内のアバターの動き、ならびにアバターの他のアバターおよびプロップとの相互作用を制御するものである。これを記録して、後に、既存のモーションおよび既に記録された相互作用にオーバーレイさせた、さらなるモーションもしくは相互作用を加えてリプレイすることができる。このレイヤー化されたアニメーションは、保存して、ハイブリッドスクリプト、およびアニメーションに基づいたファーストパーソンコントロールを作成するようなスクリプト内で呼び出すことができる。
アバターは、その外観を定義するファイル、およびその動きを定義するアニメーションを少なくとも含むことができる。複数のアバターは、共通のアニメーションを共有することができる。このようなアニメーションは、アバターに関連づけられたアニメーションか、プロップのような別のオブジェクトに関連づけられたアニメーションのいずれかとすることができる。これによって、システムの柔軟性を増し、また、作成する必要のあるアニメーションの量を減らすことができる。アバターが異なるサイズであるとき、もしくは、共通のアニメーションを異なるサイズのアバターのために作成したときには、共通のアニメーションは問題のアバターのサイズにフィットするように再設定することができる。
プロップには、他のプロップを含むことができるプロップを指定するファイルを含めることができる。これによって、ひとつのプロップが別のプロップの内部に位置するような状況を、システムが環境の保全性を維持しつつ扱うことが可能になる。
対応する方法の特徴もまた提供され、したがって本発明の第四の特徴においては、インタラクティブな仮想環境を制御する方法であって、この方法はオブジェクトが住まう仮想環境を定義することを含み、このオブジェクトは少なくともアバターとプロップとを含み、
仮想環境内のオブジェクトは、ユーザーの制御下において、動的に他のオブジェクトに結合され、また動的に他のオブジェクトから分離することができ、また、
プロップは、プロップがアバターと相互作用する際に用いるアニメーションに関連づけられ、また、プロップが別のオブジェクトに結合される際に、関連づけられたアニメーションとプロップとが関連づけられたままとなる、
ということを特徴とする方法が提供される。
本発明の第五の特徴においては、インタラクティブな仮想環境を制御する方法であって、この方法は、
オブジェクトが、動的に他のオブジェクトに結合され、また、動的に他のオブジェクトから分離できるような、オブジェクトが住まう仮想環境を定義するステップ、
ユーザーが、仮想環境を制御してアニメーションシーケンスを作成することを許可するステップ、ならびに、
アニメーションシーケンスを、後のリプレイもしくは編集のためにストアするステップ、
を含み、オブジェクトが別のオブジェクトと結合された際には、結合した対象のオブジェクトの動きが、オブジェクトに継承されることを特徴とする方法が提供される。
本発明の第六の特徴においては、インタラクティブな仮想環境を制御する方法であって、
少なくともアバターおよびプロップを含むオブジェクトが住まう仮想環境を定義するステップ、
ユーザーが、仮想環境を制御してアニメーションシーケンスを作成することを許可するステップ、
アニメーションシーケンスを、後のリプレイもしくは編集のためにストアするステップ、ならびに、
アバターがプロップと相互作用する際に用いるアニメーションと、プロップを関連づけるステップ、
を含む方法が提供される。
本発明は、コンピュータ上で走らせることにより、第四〜第六のいずれかの特徴に係る方法をコンピュータに実行させるか、またはコンピュータが第一〜第三のいずれかの特徴に係る装置となるようにすることを特徴とするコンピュータプログラムも提供する。本発明は、コンピュータ上で走らせることにより、第四〜第六のいずれかの特徴に係る方法をコンピュータに実行させるか、またはコンピュータが第一〜第三のいずれかの特徴に係る装置となるようにすることを特徴とするコンピュータプログラムを保存するコンピュータ読み取り可能な記録媒体も提供する。
本発明は、インタラクティブな仮想環境を制御する装置であって、プロセッサ、メモリ、入力デバイス、および表示デバイスを含む装置であって、このプロセッサが、
オブジェクトが住まう仮想環境が、表示デバイス上に表示されるように定義され、
ユーザーが、入力デバイス手段によって、アニメーションシーケンスを作成し、アニメーションシーケンスを後のリプレイもしくは編集のためにメモリに保存するために仮想環境を制御することができ、ならびに、
仮想環境内のオブジェクトが、動的に他のオブジェクトに結合され、また動的に他のオブジェクトから分離され、また、オブジェクトが別のオブジェクトに結合された際には、結合の対象のオブジェクトの動きをこのオブジェクトが継承する、
ようにプログラムされていることを特徴とする装置が提供される。
本発明では、インタラクティブな仮想環境を制御するための装置であって、プロセッサ、メモリ、入力デバイス、および表示デバイスを含む装置であって、このプロセッサが、
少なくともアバターおよびプロップを含むようなオブジェクトが住まう仮想環境が、表示デバイス上に表示されるように定義され、
ユーザーが、入力デバイス手段によって、アニメーションシーケンスを作成し、アニメーションシーケンスを後のリプレイもしくは編集のためにメモリに保存するために仮想環境を制御することができ、ならびに、
プロップが、プロップがアバターと相互作用する際に用いるアニメーションに関連づけられている、
ようにプログラムされていることを特徴とする装置も提供される。
本発明では、インタラクティブな仮想環境を制御するための装置であって、プロセッサ、メモリ、入力デバイス、および表示デバイスを含む装置であって、このプロセッサが、
少なくともアバターおよびプロップを含むようなオブジェクトが住まう仮想環境が、表示デバイス上に表示されるように定義され、
仮想環境内のオブジェクトが、ユーザーの制御下において、動的に他のオブジェクトに結合され、また動的に他のオブジェクトから分離することができ、また、オブジェクトが別のオブジェクトに結合された際には、結合の対象のオブジェクトの動きをこのオブジェクトが継承し、ならびに、
プロップが、プロップがアバターと相互作用する際に用いるアニメーションに関連づけられ、また、プロップが別のオブジェクトに結合された際に、関連づけられたアニメーションとプロップとが関連づけられたままとなる、
ということをプログラムされていることを特徴とする装置も提供される。
上述の特徴はいずれも、他の特徴に適用されることができる。装置の特徴は、方法の特徴に適用されることができ、またその逆もできる。
本発明の好ましい特徴について、単なる例示として図を参照しながら説明してゆく。
[編集装置の概要]
図1は、本発明の実施の形態に係る編集装置 1 を示している。この実施の形態においては、編集装置は、適切にプログラムされた汎用コンピュータを用いて提供される。図1では、コンピュータ 10 が、セントラルプロセッシングユニット(CPU) 12 、半導体メモリ 14 、ハードディスク 16 、インターフェイス 18 およびバス 20 を組む。メモリ 14 は、CPU 12 が実行するためのオーサリングツールプログラム 24 、および、仮想環境 25 を表現するデータをストアしている。ハードディスク 16 は、四種の異なるタイプのファイル、則ち、バイナリファイル 26 、フロアプランファイル 28 、仮想世界ファイル 30 、およびビヘイビアファイル 32 をストアしている。コンピュータ 10 には、外部ディスプレイ 22 、ならびにキーボードおよび/もしくはマウスのような入力デバイス 23 が接続されている。コンピュータ 10 には、連続アニメーションシステム 34 も接続されている。
バイナリファイル 26 は、低レベルのジオメトリックデータおよびアニメートデータを含むファイルであり、また、フロアプランファイル 28 は、仮想環境のフロアプランを表現するファイルである。この実施の形態においては、バイナリファイル 26 およびフロアプランファイル 28 は、連続アニメーションシステム 34 によって作成されて、編集装置 1 にエクスポートされる。その後、バイナリファイル 26 およびフロアプランファイル 28 は、編集装置がインタラクティブな仮想環境を作成するための、環境のビルディングブロックとして用いられる。仮想世界ファイル 32 は、編集装置 1 が作成するテキストファイルであり、仮想世界を定義するものである。ビヘイビアファイル 32 も、編集装置 1 に作成される、仮想世界のビヘイビアを記述するテキストファイルである。
連続アニメーションシステム 34 は、例えば、米国のDiscreet社が市販している 3D Studio Max (商標)、または、ジオメトリックデータおよびアニメートデータを生成するための他の適切なシステムとすることができる。このような連続アニメーションシステムは当該技術分野において公知であるので、その詳細については省略する。図1においては、連続アニメーションシステム 34 がコンピュータ 10 の外部に在るように示しているが、連続アニメーションシステムはコンピュータ 10 上で実行されるプログラムとして提供することもできる。この場合、連続アニメーションシステム 34 は、バイナリファイル 26 およびフロアプランファイル 28 を、ハードディスク 16 に直接保存することができる。
図1の配置が単なる例であるのは明らかであって、本発明を実施するためには他の配置を用いることもできる。例えば、ファイル 26〜32 の内の一部もしくは全部は、メモリ 14 内にストアすることができ、プログラム 24 の内の一部もしくは全部はハードディスク 16 内にストアすることができる。光記録媒体のような、別種の記録媒体を、ハードディスク 16 と併用することも、もしくはハードディスク 16 に置き換えて使うこともできる。図1では、編集装置として構成された汎用コンピュータを示しているが、本発明の実施の形態は、専用の編集装置を用いて行うこともできる。
[仮想環境の作成]
図2は、仮想環境を作成するために採られるステップの例である。ステップ 50 においては、バイナリファイル 26 およびフロアプランファイル 28 が連続アニメーションシステム 34 によって作成される。バイナリファイル 50 は、以下に挙げるような種々のタイプのデータを含むことができる。

・ 固定ジオメトリ ( rigid geometry )
・ 固定モーフジオメトリ ( rigid morph geometry )
・ スキンされたジオメトリ
・ スキンされたモーフジオメトリ
・ キーフレーム
・ アニメーション
・ 頂点アニメーション
・ モーフアニメーション

フロアプランファイルは、部屋のフロアプランを表現するテキストファイルである。
ステップ 52 においては、バイナリファイルおよびフロアプランファイルが、編集装置 1 にエクスポートされる。このステップの結果、バイナリファイル 26 およびフロアプランファイル 28 はハードディスク 16 にストアされる。
ステップ 54 においては、編集装置 1 が、仮想環境の外観を定義するシーンデータをロードして編集する。これは、必要なフロアプランファイル 28 および/もしくはバイナリファイル 26 をハードディスク 16 からロードして、メモリ 14 にストアすることによって行われる。シーンデータによって定義されるシーンは、ディスプレイ 22 上に表示され、ユーザーは入力デバイス 23 を通じて、シーンを必要に応じて修正することができる。
ステップ 56 においては、シーンデータによって定義される仮想世界に住まうオブジェクトが作成される。このオブジェクトは、アバター、プロップ、サウンド、カメラ、ライト、もしくは任意の他のオブジェクトとすることができる。オブジェクトは、必要なバイナリファイル 26 をハードディスク 16 からロードして、メモリ 14 にストアすることによって作成される。オブジェクトが作成されると、(存在するならば)種々のオブジェクトとの関係も定義されることになる。すべてのオブジェクトのそれぞれとの関係のことを、シーンヒエラルキーと言い、このシーンヒエラルキーもメモリ 14 にストアされる。
ステップ 50〜56 が完了すると、アバターおよびプロップのようなオブジェクトが住まう仮想環境が作成される。ステップ 58 においては、この仮想環境が、仮想世界ファイル 30 のセットとして、ハードディスク 16 上に保存される。
図2では、ステップ 50〜56 を連続的に並べて示しているが、実際の仮想世界の構築プロセスにおいては、図2のステップの少なくとも一部のそれぞれを反復することになる。
図3は、仮想環境を構築することができる種々のコンポーネントの例を示している。この例においては、仮想環境 60 が、シーンデータ 61 、二つのアバター 62, 63 、三つのプロップ 64, 65, 66 、二つのライト 67, 68 、二つのサウンド 69, 70 、二つのカメラ 71, 72 、およびシーンヒエラルキーデータ 73 を含む。仮想環境 60 を構築するファイル群は、通常はメモリ 14 にストアされ、可能な限り高速にアクセスできるようになっている。しかしながら、メモリ 14 は、ハードディスク内の関連ファイルのポインタを代わりに含むこともできる。これは、例えば、あまり使われないファイルのために行われるか、または、メモリ 14 の容量が充分ではないときに行われる。
図4は、図3のアバター 62, 63 の内のひとつのようなアバターを構成する例を示している。図4では、アバター 100 は、ジオメトリファイル 102 、静止ファイル ( rest file ) 104 、歩行ファイル 106 、直接歩行ファイル 108 、休止バンク ( idle bank ) 110 、およびアニメーションバンク 112 から構成されている。これらのファイルのそれぞれは、ユーザーの命令に応じてハードディスク 16 からロードされるか、さもなくば、ハードディスク上の適切なファイルへのポインタが作成される。
ジオメトリファイル 102 は、アバターのジオメトリを定義するバイナリファイルである。アバターのジオメトリを変化させる必要があるときには、複数のジオメトリファイルを定義することができる。静止ファイル 104 は、静止ステートにあるアバターのキーフレームであり、これもバイナリファイルである。歩行ファイル 106 は、歩行するアバターのアニメーションを含んだバイナリファイルである。直接歩行ファイル 108 は、例えばキーボードのカーソルキー手段によってユーザーがアバターの動きを制御できるときに用いることができるアニメーションを含んでいる。休止バンク 110 は、アバターが静止ステートにあるときに使うことができるアニメーションのセットであって、例えば、立ったままのときのアバターにとって適切なアニメーションのセットである。アニメーションバンク 112 は、種々のアクションを行うためにアバターが用いるアニメーションのセットである。
図5は、図3のプロップ 64, 65, 66 の内のひとつのようなプロップを構成する例を示している。図5では、プロップ 120 は、ジオメトリファイル 122 、ステートマシン 124 、掴むファイル ( grasping file ) 126 、コンテナファイル 128 、スピードファイル 130 、およびエキスパンドファイル 132 を含んでいる。
ジオメトリファイル 122 は、プロップのジオメトリを定義するバイナリファイルである。ステートマシン 124 は、プロップがアバターと相互作用する方法を定義する。掴むファイル 126 は、アバターがプロップを拾った瞬間で停止している、プロップに結合したアバターから構成されている、ひとつもしくは複数のキーフレームである。スピードファイル 130 は、プロップがフロアプラン上を動くことができるスピードを指定する。エキスパンドファイル 132 は、フロアプラン上のプロップの投影のエキスパンションもしくはコントラクションを定義する。循環アニメーションファイル 134 は、プロップが動くようにアニメートするために用いるアニメーションを含む。
コンテナファイル 128 は、プロップが他のプロップを含める方法を指定する。このファイルは、フロアプランファイルのリストを有する。各フロアプランファイルは、他のプロップの位置を定めるためにアバターが用いるような、プロップの表面を表現する。プロップは、プロップが何を含んでいるか、およびプロップが何を含んでいるかに応じてアバターと相互作用するか、ということのトラックを保持している。
サウンド、ライト、カメラ、および他のオブジェクトは、編集ツール 1 によって同様に作成することができる。
すべてのオブジェクトはコピー・ペーストができる。適切にコピーされたオブジェクトは、何処においてもジオメトリとアニメーションを共有する(則ち、オブジェクトが作成された瞬間に)。複合オブジェクトをコピー・ペーストする際には、これらのオブジェクト間の関係も複製される。例えば、単独の家をアパートメントブロック内に組み込むことができ、アバターがその家の周囲を歩くことができる場合には、アバターは自動的にそのアパートメントブロックを歩くことができるようになる。
図1の編集装置 1 においては、異なるサイズおよび異なるトポロジーである異なるアバターのすべては、共通のアニメーションプールを共有する。特定の或るアバターのためのアニメーションは、異なるアバターに対して再設定することができる。例えば、階段を昇る複数の異なるアバターのすべては、その階段に関連づけられた同一のアニメーションを共有する。
アバターがアニメーションを再生するとき、このアニメーションは問題のアバターにフィットするように再設定される。これは、オリジナルのアニメーションの動きに対応して、アバターのノードが動きを掃き出す ( sweep out ) ようにアニメーションを外挿することで行われるが、アバターのサイズにフィットするように大きさを増減している。このテクニックは、モーション再設定 ( motion retargeting ) として公知である。モーション再設定を使わない場合には、各アバターごとに別々のアニメーションを用意する必要が生じる。
[仮想環境の制御]
上述の方法で作成された仮想環境は、ユーザーによって制御することができるインタラクティブな仮想環境である。これは、図1のディスプレイ 22 上のGUIを表示して、入力デバイス 23 の手段によって入力することができるコマンドを介して行われる。このようなGUIの例を図6に示した。
図6に示した例では、四つのウィンドウが表示されており、則ち、ファイルリストウィンドウ 140 、キャラクターウィンドウ 142 、シーンウィンドウ 144 、およびビヘイビアコンソール 146 である。ファイルリストウィンドウ 140 は、ハードディスク 16 上のひとつもしくは複数のディレクトリにストアされているファイルをリストする。キャラクターウィンドウ 142 は、制御されているアバターの外観を呈示する。シーンウィンドウ 144 は、キャラクターウィンドウ 142 内に示されているアバターを含むことができる、編集されているシーンを呈示する。ビヘイビアコンソール 146 は、入力デバイス 23 を介してコマンドを入力するために用いられる。この他のウィンドウを表示することもでき、またウィンドウを必要に応じて開閉することができることは明らかである。
編集装置 1 は、ユーザーがシーン内のオブジェクトを高レベルで制御することができるようなスクリプト言語を用いる。仮想世界のビヘイビアを作成する際には、ユーザーはビヘイビアコンソールを通じてコマンドをタイプする。例えば、コマンドは以下のような内容のことをタイプすることができる。

・ シーン内のオブジェクトの管理
・ オブジェクトの追加、もしくは削除
・ オブジェクトを他のオブジェクトに結合する、もしくはオブジェクトを他のオブジェクトから分離する
・ オブジェクトを隠す、もしくは出現させる
・ シーンに情報を照会する

スクリプト言語のコマンドのすべては動的であり、またシミュレーションの間に任意に呼び出すことができる。
ユーザーが結果に満足したら、グループ化コマンドを用いて、ハードディスク 16 にストアされているビヘイビアファイル 32 内にビヘイビアをカプセル化することができる。クエリ(照会)コマンドを除き、ビヘイビアコンソールを通じて入力できるコマンドのすべては、ビヘイビアファイル内に入力することができる。これらのビヘイビアファイルは、スクリプトとしても知られる。
ビヘイビアファイルは、ビヘイビアスクリプトウィンドウを通じてコマンドのリスト内にタイプすることで作成することができ、あるいは、シーン内で行われるアクションを記録することで作成することもできる。シーン内のアクションは、ディスプレイ 22 上に表示されるGUIの一部である記録ボタンを使って記録することができる。アクションは、シーンビューウィンドウを通じてか、カメラビューウィンドウを通じてかのいずれかで記録することができる。記録ボタンがアクティブである間は、仮想環境内で行われるすべてのアクションが自動的にディスクに保存される。その後、記録されたアクションは、AVIファイルのようなアニメーションファイルに即時変換されるか、もしくは後の段階で変換される。
複雑なビヘイビアは、多数のビヘイビアファイルを同時に走らせて実行することができる。ビヘイビアファイルはネストすることができる。ビヘイビアファイルは、他のビヘイビアファイルを呼び出す、もしくは廃棄するように制御することもできる(いわゆるメタビヘイビアである)。
複雑なモーションは、別々のソースからのアニメーションクリップを時系列に沿って連鎖させ、アニメーションクリップ同士を調和させることで構築することができる(「モーション連鎖」 ( "motion chaining" ) )。
[動的ヒエラルキースイッチング ( dynamic hierarchy switching ) ]
仮想環境を構成するオブジェクトは、シーンヒエラルキーを有する。或るオブジェクトが、別のオブジェクトの子である場合、そのオブジェクトはその別のオブジェクトのモーションを継承する。例えば、プロップがアバターに持たれているとすると、プロップはアバターのモーションを継承することになる。
動的ヒエラルキースイッチングは、オブジェクトがその親を或るオブジェクトから別のオブジェクトへと変更したときに起こる。例えば、或るアバターがプロップを別のアバターに与えたとすると、プロップの親は第一のアバターから第二のアバターへと変更されることになる。
図7A〜7Cは、シーンヒエラルキーの例を示している。これらの図においては、シーンにはひとつのアバターと三つのプロップとが住んでいる。アバターはキャラクターであり、三つのプロップはテーブル、椅子、およびコップである。
図7Aでは、キャラクター、テーブルおよび椅子のすべては、それぞれ独立に位置していると仮定される。したがってこれらのオブジェクトは、親として環境のみを持ち、これらのオブジェクトの動きは他のオブジェクトの動きに依存しない。また、コップがテーブルの上に位置していることも仮定されている。ゆえに図7Aでは、コップがテーブルを親としている。この親/子関係によって、テーブルが動くと、コップもそれに伴って動くことになる。
図7Bは、キャラクターが椅子に座っている場合のシーンヒエラルキーを示している。このアクションは、例えば、ユーザーがビヘイビアコンソールを介して発した「座れ」 ( "sit" ) コマンドに応じて行われる。図7Bにおいては、キャラクターは椅子の子となっており、則ち椅子が動くとキャラクターも共に動くことになるということである。
図7Cは、キャラクターがテーブルからコップを取り上げたときのシーンヒエラルキーを示す。図7Bから図7Cへの移行においては、コップが動的にヒエラルキーをスイッチし、コップが、椅子の子であるキャラクターの子となっている。ゆえに、椅子の動きに依存して動くキャラクターの動きに依存して、コップが動くことになる。
動的ヒエラルキースイッチングによって、自然な見栄えでオブジェクトが互いに相互作用するような、複雑な動きを構築することができる。動的な結合が無い場合には、別のオブジェクトに依存した或るオブジェクトの動きにおける、予期されるすべての状況について、別々のアニメーションを用意する必要がある。
アバターは、骨格を形成するためにノードヒエラルキーにリンクされているノードの系列から構成される。単純な場合には、アバターは、二つの手、二つの足、および頭のノードから成るノードヒエラルキーを有することができる。また、より複雑な場合には、ノードヒエラルキーは、肩、肘、指、膝、尻、眼、瞼などのノードを含むことができる。
アバターがプロップを拾うとき、プロップは、アバターのノードヒエラルキー内のひとつのノードに結合されることになる。例えば、アバターが右手で瓶を握るとすると、瓶は右手のノードに結合されることになる。しかしながら、アバターは通常はアバターのノードの周りに一定の体積を占めるため、プロップはノードに直接結合はされず、結合点においてアバターが占める体積に応じた、ノードからプロップまでの距離が定義されている。加えて、ノードに関するプロップの向きも定義される。その後に、ノードに関するプロップの距離および方向がストアされる。
プロップがアバターに結合すると、プロップは結合したノードの動きを継承する。例えば、アバターがアニメーションを再生し了える ( plays out ) と、アニメーションによって各ノードの動きが定義される。その後に、ノードからのプロップまでの距離とプロップの方向とを考慮して、プロップの動きが決定される。
プロップは、アバターのひとつもしくは複数のノードと結合することができる。例えば、一着の衣装は、いくつかのノードと結合することができる。加えて、アバターの外観を定義するプロップは、アバターと結合することができる。例えば、眼、耳もしくは鼻は、アバターとこのように結合することができる。
他のオブジェクト同士も、同様の方法で互いに結合することができる。
[インテリジェントプロップ]
図1の編集装置 1 においては、アバターがプロップと相互作用する方法は、プロップに関連づけられたステートマシンによって定義される。ステートマシンは、アバターおよびプロップが或るステートから別のステートへと移るときに用いられる、ひとつもしくは複数のアニメーションを含む。アバターがプロップと相互作用する際には、アバターは、アバターが行うアニメーションをプロップに照会する。
図8には、プロップに結合したステートマシンの例を示す。図8では、ステートマシン150 は、プロップイニシャルステート 152 、ステート遷移 154, 156 、および休止バンク 158 を含んでいる。プロップイニシャルステート 152 は、プロップのイニシャルステートを定義し、ステートマシン内のすべてのアニメーションは、このイニシャルステートにあるプロップと相関してインポートされる。これは、すべてのアニメーションに環境との互換性を持たせるために行われる。
ステート遷移 154, 156 のそれぞれは、プロップおよびアバターが相互作用した際に、或るステートから別のステートへと移る方法を定義する。一般的には、ステート遷移はイニシャルステートおよびファイナルステートを指定し、また、アバターおよびプロップが、イニシャルステートからファイナルステートへと移行するときに採るアバターアニメーションおよびプロップアニメーションを含む。しかしながら、相互作用をする間にプロップもしくはアバターのいずれかが動かない場合には、一方のアニメーションを省略することができる。もっとも単純な場合には、アバターは、つねに同じ方法でプロップと相互作用して、プロップを見つけたときとまったく同一のやりかたでプロップを置くことになる。この場合、プロップはただひとつのステートを有し、上述したようなステート遷移は存在しない。
休止バンク 158 は、プロップと相互作用しているアバターが、休止ステートにあるときに実行することができるアニメーションを定義する。
アバターがプロップと相互作用するときには、アバターはプロップにアバターアニメーションを照会する。その後に、プロップがプロップアニメーションでアニメートされている間、アバターはアバターアニメーションでアニメートされる。
ステートマシン 150 は、プロップと運動学的に関連づけられる。これは、ステートマシンがプロップに結合されて、プロップが動くとステートマシンも動くということを意味する。このようにステートマシンをプロップに関連づけることによって、アニメーションの制御が分散され、非常にオープンなアーキテクチャを得ることができる。例えば、ユーザーは自身のプロップを環境内に導入することができ、また、プロップのためのステートマシンが正しくセットアップされている間は、プロップは環境内の別のものと相互作用できるようになる。
プロップのヒエラルキーが変化するとき、則ちプロップがその親を或るオブジェクトから別のオブジェクトへと変化させるとき、プロップに関連づけられたステートマシンも、そのヒエラルキーを同様に変化させる。ステートマシンのヒエラルキーが、プロップのヒエラルキーと共に変化することによって、仮想環境の保全性の維持を援けることになる。これは、アバターとプロップとの相互作用に必要なアニメーションが常時利用可能となるためであり、これらのアニメーションは、プロップと他のオブジェクトとの関係につねに依存することになる。
ステートマシンを伴ったプロップは、ステートに適用されたプレコンディションを有することができる。アバターが、プロップを或るステートに遷移させる結果となるようなコマンドを与えられ、このステートが指定されたプレコンディションを有しているとすると、アバターはこのコマンドを実行する前にプレコンディションを満そうと試みる。この方法では、少ないプロップとそのステートマシンを組み合わせることにより、比較的複雑なビヘイビアを作成することができる。
例えば、冷蔵庫の扉が開いていないときには、アバターが瓶を冷蔵庫に入れられない、というプレコンディションにすることができる。この場合、アバターが、冷蔵庫に瓶を入れるアクションを行うように求められると、アバターはまず冷蔵庫の扉を開けようと試みることになる。
ステートマシンは休止ステートを有する。相互作用をスタートさせるために必要な遷移があるときに、休止ステートを持つステートマシンが使われ、その結果としてプロップは休止ステートに入り、遷移して、プロップをその休止ステートから脱させる相互作用を終わらせる。別のプロップに関して休止ステートにあるアバターがコマンドを受けた場合、システムは、そのコマンドを実行する前に、このプロップを休止ステートから脱させようと試みることになる。
例えば、相互作用にアバターがベッドに寝るということが含まれる場合、アバターがベッドの側に立つとともにアニメーションの再生が始まり、ベッドに横たわるところでアニメーションが終わることになる。ベッドに横たわるアバターのステートは、休止ステートに指定することができる。このステートでは、アバターの休止バンクは、例えば睡眠中の種々の動きに対応するアニメーションを含むことができる。その後にアバターがどこかの他のオブジェクトと相互作用するように命令されると、アバターはまずベッドから起きねばならない。イニシャルステートが休止ステートに設定されているアバターがベッドから起きるということに対応する遷移がある場合には、これが自動的に起こる。
[メッセージ後配 ( Deferred message passing ) ]
アバターは他のアバターとコミュニケートすることができ、メッセージを渡すことによって他のアバターのビヘイビアのそれぞれに影響を及ぼすことができる。アバターが別のアバターとコミュニケートできるようになる前に、アバターと、アバターがコミュニケートしようとする対象とを接続しなくてはならない。これは、任意に命名することができる特定のメッセージを介して行われる。この接続は、ソフトウェア内部のタグとして見ることができる。
アバターがメッセージを発すると、すべてのアバターがそのメッセージを聞くことになるが、メッセージを発したアバターに接続されているアバターだけがそのメッセージを受信して処理することになる。
環境内のオブジェクトは、それぞれのオブジェクトが独立に再生することになるアニメーションの連鎖を構築し、共にリンクすることによって動くことができるようになっている。これらのアニメーションの連鎖は、カットして、また接合することができる。
システム内の他のオブジェクトへ、命令がメッセージを放つことができるジョイン (join ) の間に命令を置くことができる。これらのメッセージは、優先して再生されるアニメーションの後にのみ発されることになる。これをメッセージ後配と呼ぶ。メッセージ後配によって、シーンヒエラルキーの動的なスイッチを強制することができる。
図1は、本発明の実施の形態に係る編集装置を示す。 図2は、仮想環境を作成するために採られるステップの例を示す。 図3は、仮想環境を構築することができる種々のコンポーネントの例を示す。 図4は、アバターの構成の例を示す。 図5は、プロップの構成の例を示す。 図6は、図1の編集装置によって作成される、GUI ( graphical user interface ) の例を示す。 図7A〜Cは、シーンヒエラルキー ( scene hierarchies ) の例を示す。 図7A〜Cは、シーンヒエラルキー ( scene hierarchies ) の例を示す。 図7A〜Cは、シーンヒエラルキー ( scene hierarchies ) の例を示す。 図8は、ステートマシンの例を示す。

Claims (28)

  1. インタラクティブな仮想環境を制御するための装置であって、前記装置は、オブジェクトが住まう仮想環境を定義するための手段を含み、前記オブジェクトは少なくともアバターおよびプロップを含み、
    前記仮想環境内のオブジェクトは、ユーザーの制御下において、動的に他のオブジェクトに結合され、および動的に他のオブジェクトから分離することができ、ならびに、
    プロップは、アバターが前記プロップと相互作用する際に用いられるアニメーションと関連づけられており、また、前記プロップが別のオブジェクトと結合された際には、前記アニメーションは前記プロップと関連づけられたままであること、
    を特徴とする装置。
  2. オブジェクトが別のオブジェクトに結合される際に、それが、それが結合されている前記オブジェクトの動きを継承することを特徴とする、請求項1記載の装置。
  3. 後のリプレイもしくは編集のために、アニメーションシーケンスをストアする手段をさらに含む、請求項1もしくは2に記載の装置。
  4. コンピュータゲームをプレイするための装置であることを特徴とする、請求項1もしくは2に記載の装置。
  5. インタラクティブな仮想環境を制御するための装置であって、
    オブジェクトが住まう仮想環境を定義する手段、
    アニメーションシーケンスを作成するために、ユーザーに前記仮想環境の制御を許可する手段、ならびに、
    後のリプレイもしくは編集のために、アニメーションシーケンスをストアする手段、
    を前記装置が含み、前記仮想環境内のオブジェクトは、他のオブジェクトに動的に結合され、また他のオブジェクトから分離することができるものであって、オブジェクトが他のオブジェクトに結合された際には、それが、それが結合されている前記オブジェクトの動きを継承することを特徴とする装置。
  6. 前記オブジェクトが、少なくともアバターおよびプロップを含むことを特徴とする、請求項5記載の装置。
  7. プロップが、アバターが前記プロップと相互作用する際に用いられるアニメーションと関連づけられていることを特徴とする、請求項6記載の装置。
  8. インタラクティブな仮想環境を制御するための装置であって、
    少なくともアバターおよびプロップを含むようなオブジェクトが住まう仮想環境を定義する手段、
    アニメーションシーケンスを作成するために、ユーザーが前記仮想環境を制御する許可を与える手段、ならびに、
    後のリプレイもしくは編集のために、アニメーションシーケンスをストアする手段、
    を前記装置が含み、プロップが、アバターが前記プロップと相互作用する際に使用するためのアニメーションと関連づけられていることを特徴とする装置。
  9. 前記プロップが、前記プロップの動きを定義するアニメーション、および、前記アバターが前記プロップと相互作用する際に、前記アバターの動きを定義するアニメーションと関連づけられていることを特徴とする、請求項1〜4または7もしくは8のいずれか一項に記載の装置。
  10. 前記アバターが前記プロップと相互作用する際に、前記アバターが、前記プロップに、前記プロップと関連づけられた前記アバターアニメーションを照会することを特徴とする、請求項1〜4または7〜9のいずれか一項に記載の装置。
  11. 前記プロップが別のオブジェクトに結合された際に、前記の関連づけられたひとつもしくは複数のアニメーションが、前記プロップと関連づけられたままとなることを特徴とする、請求項7〜10のいずれか一項に記載の装置。
  12. 前記のひとつもしくは複数のアニメーションが、前記プロップに関連づけられたステートマシンの一部として定義されていることを特徴とする、請求項1〜4または7〜11のいずれか一項に記載の装置。
  13. 前記ステートマシンが、イニシャルステートと、ファイナルステートと、前記プロップを前記イニシャルステートから前記ファイナルステートに移行させるプロップアニメーション、および、前記アバターを前記イニシャルステートから前記ファイナルステートに移行させ、オプションとして前記イニシャルステートに戻すようなアバターアニメーションの少なくとも一方とを含むことを特徴とする、請求項12記載の装置。
  14. プレコンディションが、前記ステートのひとつと関連づけられていることを特徴とする、請求項13記載の装置。
  15. 前記ステートマシンが、休止ステートを有することを特徴とする、請求項12〜14のいずれか一項に記載の装置。
  16. アニメーションシーケンスが、コマンドのリストを含むスクリプトとしてストアされることを特徴する、請求項3または5〜15のいずれか一項に記載の装置。
  17. 前記コマンドが、前記仮想環境を制御するためにユーザーが入力することができるコマンドと同一のものであることを特徴とする、請求項16記載の装置。
  18. スクリプトが、前記仮想環境内のオブジェクトに渡される命令を含むことを特徴とする、請求項16もしくは17に記載の装置。
  19. 前記命令が、前記スクリプト内で前記命令に優先するアニメーションを再生し了えた前記オブジェクトにのみ渡されることを特徴とする、請求項18記載の装置。
  20. アバターが、前記アバターの外観を定義する少なくともひとつのファイル、および、前記アバターの動きを定義するアニメーションを含むことを特徴とする、上述の請求項のいずれか一項に記載の装置。
  21. 複数のアバターが、共通のアニメーションを共有することを特徴とする、上述の請求項のいずれか一項に記載の装置。
  22. 前記の共通のアニメーションが、問題の前記アバターのサイズにフィットさせるために再設定されることを特徴とする、請求項21記載の装置。
  23. プロップが、前記プロップが他のプロップを含むことができる方法を指定するファイルを含むことを特徴とする、上述の請求項のいずれか一項に記載の装置。
  24. インタラクティブな仮想環境を制御する方法であって、前記方法はオブジェクトが住まう仮想環境を定義することを含み、前記オブジェクトは少なくともアバターおよびプロップを含み、
    前記仮想環境内のオブジェクトは、ユーザーの制御下において、動的に他のオブジェクトに結合され、また動的に他のオブジェクトから分離することができ、ならびに、
    プロップは、前記プロップがアバターと相互作用する際に用いるアニメーションに関連づけられ、また、前記プロップが別のオブジェクトに結合される際に、前記の関連づけられたアニメーションと前記プロップとが関連づけられたままとなる、
    ということを特徴とする方法。
  25. インタラクティブな仮想環境を制御する方法であって、
    動的に他のオブジェクトに結合され、また、動的に他のオブジェクトから分離できるようなオブジェクトが住まう仮想環境を定義するステップ、
    ユーザーが、前記仮想環境を制御してアニメーションシーケンスを作成することを許可するステップ、ならびに、
    アニメーションシーケンスを、後のリプレイもしくは編集のためにストアするステップ、
    を前記方法が含み、オブジェクトが別のオブジェクトに結合された際に、それが、それが結合された前記オブジェクトの動きを継承することを特徴とする方法。
  26. インタラクティブな仮想環境を制御する方法であって、
    少なくともアバターおよびプロップを含むオブジェクトが住まう仮想環境を定義するステップ、
    ユーザーが、前記仮想環境を制御してアニメーションシーケンスを作成することを許可するステップ、
    アニメーションシーケンスを、後のリプレイもしくは編集のためにストアするステップ、ならびに、
    アバターがプロップと相互作用する際に使用されるアニメーションと、前記プロップとを関連づけるステップ、
    を含むことを特徴とする方法。
  27. コンピュータ上で走らせた際に、前記コンピュータに請求項24〜26のいずれか一項に記載の方法を実行させる、または、前記コンピュータを請求項1〜23のいずれか一項に記載の装置とすることを特徴とする、コンピュータプログラム。
  28. コンピュータ上で走らせた際に、前記コンピュータに請求項24〜26のいずれか一項に記載の方法を実行させる、または、前記コンピュータを請求項1〜23のいずれか一項に記載の装置とするようなコンピュータプログラムをストアしていることを特徴とする、コンピュータ読み取り可能な記録媒体。
JP2006520880A 2003-07-22 2004-07-14 仮想環境制御装置 Withdrawn JP2006528381A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0317138A GB2404315A (en) 2003-07-22 2003-07-22 Controlling a virtual environment
US50401503P 2003-09-19 2003-09-19
PCT/GB2004/003049 WO2005015505A1 (en) 2003-07-22 2004-07-14 Apparatus for controlling a virtual environment

Publications (1)

Publication Number Publication Date
JP2006528381A true JP2006528381A (ja) 2006-12-14

Family

ID=34137744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006520880A Withdrawn JP2006528381A (ja) 2003-07-22 2004-07-14 仮想環境制御装置

Country Status (10)

Country Link
US (1) US7468728B2 (ja)
EP (1) EP1649429A1 (ja)
JP (1) JP2006528381A (ja)
KR (1) KR20060040704A (ja)
CN (1) CN100435173C (ja)
AU (1) AU2004264046A1 (ja)
CA (1) CA2546459A1 (ja)
GB (1) GB2404315A (ja)
HK (1) HK1094367A1 (ja)
WO (1) WO2005015505A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018158046A (ja) * 2017-03-23 2018-10-11 株式会社バンダイナムコエンターテインメント 操作制御システム、キャラクタ上映システム及びプログラム

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321877B2 (en) * 2004-09-29 2008-01-22 International Business Machines Corporation Managing a virtual persona through selective association
US20060232589A1 (en) * 2005-04-19 2006-10-19 Microsoft Corporation Uninterrupted execution of active animation sequences in orphaned rendering objects
US20060262119A1 (en) * 2005-05-20 2006-11-23 Michael Isner Transfer of motion between animated characters
CA2553508A1 (en) * 2005-07-29 2007-01-29 Avid Technology, Inc. Transfer of attributes between geometric surfaces of arbitrary topologies with distortion reduction and discontinuity preservation
KR100809344B1 (ko) * 2006-05-26 2008-03-05 삼성전자주식회사 자동 백색 밸런싱 방법 및 장치
US8094156B2 (en) * 2006-07-31 2012-01-10 Autodesk Inc. Rigless retargeting for character animation
US7859538B2 (en) * 2006-07-31 2010-12-28 Autodesk, Inc Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine
US20080120558A1 (en) * 2006-11-16 2008-05-22 Paco Xander Nathan Systems and methods for managing a persistent virtual avatar with migrational ability
US20080215975A1 (en) * 2007-03-01 2008-09-04 Phil Harrison Virtual world user opinion & response monitoring
WO2008106197A1 (en) * 2007-03-01 2008-09-04 Sony Computer Entertainment America Inc. Interactive user controlled avatar animations
CN101079154B (zh) * 2007-03-02 2010-05-26 腾讯科技(深圳)有限公司 一种角色动画实现方法及系统
US20080235237A1 (en) * 2007-03-21 2008-09-25 Talmadge Williams Computerized Scenario Development And Execution System
US8353767B1 (en) 2007-07-13 2013-01-15 Ganz System and method for a virtual character in a virtual world to interact with a user
US20090044112A1 (en) * 2007-08-09 2009-02-12 H-Care Srl Animated Digital Assistant
US9968850B2 (en) 2007-09-17 2018-05-15 Disney Enterprises, Inc. System for providing virtual spaces for access by users
US8196050B2 (en) 2007-09-17 2012-06-05 Mp 1, Inc. System and method for embedding a view of a virtual space in a banner ad and enabling user interaction with the virtual space within the banner ad
US20090150801A1 (en) * 2007-12-05 2009-06-11 International Business Machines Corporation System and method to handle vandalism in a virtual world
KR101594861B1 (ko) * 2008-06-03 2016-02-19 삼성전자주식회사 애니메이션 협업 제작 서비스를 제공하는 웹서버 및 그방법
US9403087B2 (en) 2008-06-09 2016-08-02 Disney Enterprises, Inc. System and method of providing access to virtual spaces that are associated with physical analogues in the real world
US8066571B2 (en) 2008-06-09 2011-11-29 Metaplace, Inc. System and method for enabling characters to be manifested within a plurality of different virtual spaces
US8068983B2 (en) * 2008-06-11 2011-11-29 The Boeing Company Virtual environment systems and methods
US9324173B2 (en) * 2008-07-17 2016-04-26 International Business Machines Corporation System and method for enabling multiple-state avatars
US8957914B2 (en) * 2008-07-25 2015-02-17 International Business Machines Corporation Method for extending a virtual environment through registration
US7882222B2 (en) 2008-07-31 2011-02-01 International Business Machines Corporation Virtual environment module bundle
US8527625B2 (en) 2008-07-31 2013-09-03 International Business Machines Corporation Method for providing parallel augmented functionality for a virtual environment
US10166470B2 (en) 2008-08-01 2019-01-01 International Business Machines Corporation Method for providing a virtual world layer
US9418330B2 (en) * 2008-09-23 2016-08-16 International Business Machines Corporation System and method for enhancing user accessibility in a virtual universe
WO2010042773A1 (en) * 2008-10-09 2010-04-15 Wms Gaming, Inc. Controlling and presenting virtual wagering game environments
US9100249B2 (en) 2008-10-10 2015-08-04 Metaplace, Inc. System and method for providing virtual spaces for access by users via the web
US8668586B2 (en) * 2008-10-24 2014-03-11 Wms Gaming, Inc. Controlling and presenting online wagering games
US8232989B2 (en) * 2008-12-28 2012-07-31 Avaya Inc. Method and apparatus for enhancing control of an avatar in a three dimensional computer-generated virtual environment
KR20100088094A (ko) * 2009-01-29 2010-08-06 삼성전자주식회사 다중 입력 소스를 이용한 오브젝트 조작 장치
KR20100138700A (ko) * 2009-06-25 2010-12-31 삼성전자주식회사 가상 세계 처리 장치 및 방법
US9147277B2 (en) * 2009-10-28 2015-09-29 Autodesk, Inc. Systems and methods for portable animation rigs
CN101908095A (zh) * 2010-06-17 2010-12-08 广州市凡拓数码科技有限公司 一种场景互动展示方法
US9024977B2 (en) * 2010-08-02 2015-05-05 International Business Machines Corporation Resizing objects in regions of virtual universes
KR20120016379A (ko) 2010-08-16 2012-02-24 삼성전자주식회사 객체 제어 장치 및 방법
US8937620B1 (en) 2011-04-07 2015-01-20 Google Inc. System and methods for generation and control of story animation
WO2013039748A2 (en) * 2011-09-16 2013-03-21 Social Communications Company Capabilities based management of virtual areas
US10456686B2 (en) 2012-09-05 2019-10-29 Zynga Inc. Methods and systems for adaptive tuning of game events
US20140078144A1 (en) * 2012-09-14 2014-03-20 Squee, Inc. Systems and methods for avatar creation
US11049309B2 (en) * 2013-12-06 2021-06-29 Disney Enterprises, Inc. Motion tracking and image recognition of hand gestures to animate a digital puppet, synchronized with recorded audio
US9757650B2 (en) 2014-09-10 2017-09-12 Zynga Inc. Sequencing and locations of selected virtual objects to trigger targeted game actions
US10561944B2 (en) 2014-09-10 2020-02-18 Zynga Inc. Adjusting object adaptive modification or game level difficulty and physical gestures through level definition files
US9675889B2 (en) 2014-09-10 2017-06-13 Zynga Inc. Systems and methods for determining game level attributes based on player skill level prior to game play in the level
CN105214308B (zh) * 2015-09-02 2018-09-11 网易(杭州)网络有限公司 一种游戏对象的控制方法及系统
KR101978062B1 (ko) * 2017-11-10 2019-09-03 동서대학교 산학협력단 플러그인 프로그램을 사용한 프랍 연결 및 분리 방법
CN108536295B (zh) * 2018-03-30 2021-08-10 腾讯科技(深圳)有限公司 虚拟场景中的对象控制方法、装置及计算机设备
DE102018205007A1 (de) * 2018-04-04 2019-10-10 Volkswagen Aktiengesellschaft Verfahren, Vorrichtung und computerlesbares Speichermedium mit Instruktionen zum Erstellen einer Virtual-Reality-Anwendung
CN109523613B (zh) * 2018-11-08 2023-01-03 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机可读存储介质和计算机设备
CN111803953A (zh) * 2020-07-21 2020-10-23 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备和计算机可读存储介质
CN111968207B (zh) * 2020-09-25 2021-10-29 魔珐(上海)信息科技有限公司 动画生成方法、装置、系统及存储介质
CN113457155A (zh) * 2021-06-25 2021-10-01 网易(杭州)网络有限公司 游戏中的显示控制方法、装置、电子设备及可读存储介质
CN114288670B (zh) * 2021-11-11 2023-07-25 腾讯科技(深圳)有限公司 虚拟对象的互动方法、装置、设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491743A (en) * 1994-05-24 1996-02-13 International Business Machines Corporation Virtual conference system and terminal apparatus therefor
CA2180891C (en) * 1995-07-12 2010-01-12 Junichi Rekimoto Notification of updates in a three-dimensional virtual reality space sharing system
US6476830B1 (en) * 1996-08-02 2002-11-05 Fujitsu Software Corporation Virtual objects for building a community in a virtual world
EP0919031A4 (en) * 1996-08-02 2006-05-24 Univ New York METHOD AND SYSTEM FOR SCENARIZING INTERACTIVE ANIMATED ACTORS
US6280323B1 (en) * 1996-11-21 2001-08-28 Konami Co., Ltd. Device, method and storage medium for displaying penalty kick match cursors in a video soccer game
US5956039A (en) 1997-07-25 1999-09-21 Platinum Technology Ip, Inc. System and method for increasing performance by efficient use of limited resources via incremental fetching, loading and unloading of data assets of three-dimensional worlds based on transient asset priorities
DE69811119T2 (de) * 1997-12-09 2003-10-16 British Telecomm Public Ltd Co Konferenzanlage
US7065553B1 (en) * 1998-06-01 2006-06-20 Microsoft Corporation Presentation system with distributed object oriented multi-user domain and separate view and model objects
US6628286B1 (en) * 1999-10-08 2003-09-30 Nintendo Software Technology Corporation Method and apparatus for inserting external transformations into computer animations
US6657629B2 (en) * 2001-02-28 2003-12-02 Pixar Animation Studios Collision flypapering: a method for defining realistic behavior for simulated objects in computer animation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018158046A (ja) * 2017-03-23 2018-10-11 株式会社バンダイナムコエンターテインメント 操作制御システム、キャラクタ上映システム及びプログラム

Also Published As

Publication number Publication date
HK1094367A1 (en) 2007-03-30
US7468728B2 (en) 2008-12-23
KR20060040704A (ko) 2006-05-10
AU2004264046A1 (en) 2005-02-17
GB2404315A (en) 2005-01-26
CN100435173C (zh) 2008-11-19
GB0317138D0 (en) 2003-08-27
WO2005015505A1 (en) 2005-02-17
US20060181535A1 (en) 2006-08-17
CA2546459A1 (en) 2005-02-17
EP1649429A1 (en) 2006-04-26
CN1823352A (zh) 2006-08-23

Similar Documents

Publication Publication Date Title
JP2006528381A (ja) 仮想環境制御装置
US6285380B1 (en) Method and system for scripting interactive animated actors
US7336280B2 (en) Coordinating animations and media in computer display output
US20090091563A1 (en) Character animation framework
JP2000506637A (ja) 生物アニメーションおよびシミュレーション技術
US20090219291A1 (en) Movie animation systems
Loyall et al. System for authoring highly interactive, personality-rich interactive characters
EP0919031A1 (en) A method and system for scripting interactive animated actors
US9396574B2 (en) Choreography of animated crowds
Ronfard et al. The prose storyboard language: A tool for annotating and directing movies (version 2.0, revised and illustrated edition)
MacIntyre et al. Integrating 2-D video actors into 3-D augmented-reality systems
Talib et al. Design and development of an interactive virtual shadow puppet play
KR100817506B1 (ko) 지능형 콘텐츠 생성방법
Anstey et al. Building a VR narrative
NGUYEN FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Li et al. A robot motion control mechanism using robot drama markup language
KR102177283B1 (ko) 대인 관계 개선을 위한 hci를 이용한 콘텐츠의 제작 및 편집을 지원하는 시스템 및 방법
Christensen et al. Using computer vision to control a reactive computer graphics character in a theater play
JP2004252496A (ja) ゲーム環境内にオブジェクトをタグ付けすることによって動画制御を行うシステムおよび方法
Monzani An architecture for the behavioural animation of virtual humans
Bertacchini et al. Modelling and Animation of Theatrical Greek Masks in an Authoring System.
García Parra Development of a Virtual Bluetooth Escape Room For Android Devices
CN116647733A (zh) 虚拟模型点击事件处理方法、装置、电子设备及存储介质
CN115170707A (zh) 基于应用程序框架的3d图像实现系统及方法
Giorgetti et al. Manipulating 3D character animation media objects

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070502

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090706