(57)【要約】【課題】３Ｄユーザーインタフェースプログラムに関するビジュアルデバッギングシステム【解決手段】一実施形態においては、埋め込みデバイスシミュレーションエンジンと、アプリケーション実行コントローラと、状態プロバイダと、を含む装置が提供される。前記埋め込みデバイスシミュレーションエンジンは、ターゲットである埋め込みデバイス以外のコンピュータプラットフォームにおいて、前記ターゲットである埋め込みデバイスに関してオーサリングされた３Ｄアプリケーションをシミュレーションするために提供される。前記アプリケーション実行コントローラは、前記３Ｄアプリケーションが前記埋め込みデバイスシミュレーションエンジンにおいて実行される方法を制御するために提供される。前記状態プロバイダは、前記３Ｄアプリケーションが前記埋め込みデバイスシミュレーションエンジンの前記シミュレーションされた環境において実行されるのに応じて、前記３Ｄアプリケーションの１つのシーン又は複数のシーン内における３Ｄアイコンの、前記３Ｄアプリケーションにおける前記３Ｄアイコンの定義されたアニメーションの、及び前記３Ｄアプリケーションに影響を与える発生中のイベントの状態に関する情報を提供するために提供される。【選択図】図１
2008545207.tif 000002
【特許請求の範囲】
【請求項１】
ターゲットである埋め込みデバイス以外のコンピュータプラットフォーム上において、前記ターゲットである埋め込みデバイスに関してオーサリングされた３Ｄアプリケーションをシミュレーションするための埋め込みデバイスシミュレーションエンジンと、
前記３Ｄアプリケーションが前記埋め込みデバイスシミュレーションエンジンにおいて実行される方法を制御するためのアプリケーション実行コントローラと、
前記３Ｄアプリケーションが前記埋め込みデバイスシミュレーションエンジンの前記シミュレーションされた環境において実行されるのに応じて、前記３Ｄアプリケーションのシーン内における３Ｄアイコンの、前記３Ｄアプリケーションにおける３Ｄアイコンのアニメーションの、及び前記３Ｄアプリケーションに影響を与える発生中のイベントの状態に関する情報を提供するための状態プロバイダと、を具備する装置。
【請求項２】
前記３Ｄアプリケーションは、３Ｄユーザーインタフェースアプリケーションを具備する請求項１に記載の装置。
【請求項３】
前記アプリケーション実行コントローラは、前記３Ｄアプリケーションが前記埋め込みデバイスシミュレーションエンジンを用いて実行されるようにするためのプレイ制御を含む請求項１に記載の装置。
【請求項４】
前記アプリケーション実行コントローラは、前記３Ｄアプリケーションが前記埋め込みデバイスシミュレーションエンジンにおいて実行されるのに応じて前記３Ｄアプリケーションを休止させるためのポーズ制御を含む請求項３に記載の装置。
【請求項５】
前記アプリケーション実行コントローラは、前記埋め込みデバイスシミュレーションエンジンによって実行中のスクリプトにおいてインクレメントごとに段階的に進むためのティック制御を含む請求項１に記載の装置。
【請求項６】
前記インクレメントは、前記埋め込みデバイスシミュレーションエンジンのシミュレーション画面上に現在表示されている３Ｄアイコンのアニメーションの個々の連続フレームを含む請求項５に記載の装置。
【請求項７】
前記３Ｄオブジェクトの各アニメーションフレームに関して、前記３Ｄアプリケーションの前記シーン内における前記３Ｄオブジェクトの各々に関する状態情報をモニタリングするための状態モニターをさらに具備する請求項１に記載の装置。
【請求項８】
前記３Ｄオブジェクトの各アニメーションフレームに関して、前記３Ｄアプリケーションのシーン内における前記３Ｄオブジェクトの各々に関する状態情報をモニタリングするための状態モニターをさらに具備する請求項６に記載の装置。
【請求項９】
前記シミュレーション画面において描かれているシーン内のオブジェクトは、１つ以上のライトと、１つ以上の３Ｄアイコンと、ライトの１つ以上ターゲットが特定された方向と、１つ以上のカメラと、カメラの１つ以上ターゲットが特定された方向と、前記シーン内の前記オブジェクトの各々に関する位置と、オブジェクトが妨害されているか又は衝突しているか及び前記オブジェクトのうちの選択されたオブジェクトがオン又はオフであるかに関する情報と、を含む請求項８に記載の装置。
【請求項１０】
前記状態プロバイダは、前記状態に関する前記情報をコンピュータ画面を通じて前記ユーザーに表示するための表示機構を含む請求項１に記載の装置。
【請求項１１】
前記状態プロバイダは、前記状態に関する前記情報をコンピュータ画面を通じて前記ユーザーに表示するための表示機構を含む請求項９に記載の装置。
【請求項１２】
前記表示機構は、前記状態に関する前記情報を状態ウィンドーを通じて表示する請求項１０に記載の装置。
【請求項１３】
前記３Ｄアプリケーションの一部分を微調整するための微調整機構をさらに具備する請求項１に記載の装置。
【請求項１４】
前記３Ｄアプリケーションの一部分を微調整するための微調整機構をさらに具備する請求項１０に記載の装置。
【請求項１５】
前記３Ｄアプリケーションの前記微調整された一部分は、前記３Ｄアプリケーションの定義されたアニメーションを含む請求項１４に記載の装置。
【請求項１６】
前記３Ｄアプリケーションの前記微調整された一部分は、前記３Ｄアプリケーションの定義された対話の流れをさらに含む請求項１５に記載の装置。
【請求項１７】
前記定義された対話の流れは、前記３Ｄアプリケーションによって描かれる対象となる前記シーンの３Ｄオブジェクトの定義された対話の流れを含む請求項１６に記載の装置。
【請求項１８】
ターゲットである埋め込みデバイス以外のコンピュータプラットフォーム上のデバイスシミュレーションエンジンにおいて、前記ターゲットである埋め込みデバイスに関してオーサリングされた３Ｄを実行しているターゲットである埋め込みデバイスをシミュレーションすることと、
前記３Ｄアプリケーションが前記埋め込みデバイスシミュレーションエンジンにおいて実行される前記方法を制御することと、
前記３Ｄアプリケーションが前記デバイスシミュレーションエンジンの前記シミュレーションされた環境において実行されるのに応じて、前記３Ｄアプリケーションのシーン内における３Ｄアイコンの、前記３Ｄアプリケーションにおける３Ｄアイコンのアニメーションの、及び前記３Ｄアプリケーションに影響を与える発生中のイベントの状態に関する情報を提供すること、とを具備する方法。
【請求項１９】
前記データによって符号化され、前記符号化されたデータは、
ターゲットである埋め込みデバイス以外のコンピュータプラットフォーム上のデバイスシミュレーションエンジンにおいて、前記ターゲットである埋め込みデバイスに関してオーサリングされた３Ｄアプリケーションを実行しているターゲットである埋め込みデバイスをシミュレーションすることと、
前記３Ｄアプリケーションが前記埋め込みデバイスシミュレーションエンジンにおいて実行される前記方法を制御することと、
前記３Ｄアプリケーションが前記デバイスシミュレーションエンジンの前記シミュレーションされた環境において実行されるのに応じて、前記３Ｄアプリケーションのシーン内における３Ｄアイコンの、前記３Ｄアプリケーションにおける３Ｄアイコンのアニメーションの、及び前記３Ｄアプリケーションに影響を与える発生中のイベントの状態に関する情報を提供すること、とを行わせるための機械と相互運用可能である、機械読み取り可能媒体。
【請求項２０】
ターゲットである埋め込みデバイス以外のコンピュータプラットフォーム上において、前記ターゲットである埋め込みデバイスに関してオーサリングされた３Ｄアプリケーションを実行しているエンジンをシミュレーションするための手段と、
前記３Ｄアプリケーションがシミュレーションするための前記手段によって実行される前記方法を制御するための手段と、
前記３Ｄアプリケーションがシミュレーションするための前記手段によって生じたシミュレーションされた環境において実行されるのに応じて、前記３Ｄアプリケーションのシーン内における３Ｄアイコンの、前記３Ｄアプリケーションにおける３Ｄアイコンのアニメーションの、及び前記３Ｄアプリケーションに影響を与える発生中のイベントの状態に関する情報を提供するための手段と、を具備する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権表示
本明細書には、著作権保護の対象となる情報が含まれる。著作権所有者は、米国特許商標庁においてファイル又は記録として保管される状態の本明細書又は特許を複製することに対しては異議を唱えない。しかしながら、その他の場合に関しては全著作権を保有する。
【０００２】
関連出願の相互参照
本特許出願は、米国仮特許出願番号６０／６９６，３４５に対する優先権を主張するものである。
【０００３】
本開示の諸側面は、埋め込みデバイスにおいて用いられる３Ｄコンテンツの開発及び実装を容易にするためのツール及び機能に関するものである。埋め込みデバイスは、音声、データ、テキスト、及び／又は画像をキャプチャ、受信、及び／又は送信するモバイルデバイスであることができる。本開示のその他の側面は、前記デバイスに関する３Ｄグラフィカルユーザーインタフェースプログラムのデバッギングを容易にするためのツール及び機能に関するものである。
【背景技術】
【０００４】
ユーザーがターゲットである埋め込みデバイス（target embedded device）、例えば携帯電話、に究極的にエクスポートするためにプログラムをオーサリングすることを可能にする様々なアプリケーション開発プラットフォーム（例えば、ＢＲＥＷ（登録商標）プラットフォーム）が製作及びマーケティングされている。これらのプログラムをターゲットである埋め込みデバイスにエクスポートする前に汎用コンピュータプラットフォームにおいてこれらのプログラムの実行をシミュレーションするためのソフトウェア（例えば、ＢＲＥＷ（登録商標）シミュレータ）が存在する。
【発明の開示】
【発明の概要】
【０００５】
ターゲットである埋め込みデバイス以外のコンピュータプラットフォーム上において、前記ターゲットである埋め込みデバイスに関してオーサリングされた３Ｄアプリケーションをシミュレーションするための埋め込みデバイスシミュレーションエンジンを含む装置が提供される。前記埋め込みデバイスシミュレーションエンジンに加えて、前記埋め込みデバイスシミュレーションエンジンにおけるアプリケーションの実行方法を制御するためにアプリケーション実行コントローラ（ａｐｐｌｉｃａｔｉｏｎ  ｒｕｎ  ｃｏｎｔｒｏｌｌｅｒ）が提供される。さらに、前記埋め込みデバイスシミュレーションエンジンの前記シミュレーションされた環境において前記３Ｄアプリケーションが実行されるのに応じて、前記３Ｄアプリケーションのシーン内における３Ｄアイコンの、前記３Ｄアプリケーションにおいて定義されたアニメーションの、及び前記３Ｄアプリケーションに影響を与える発生中のイベントの状態に関する情報を提供するための状態プロバイダも提供される。
【０００６】
以下の発明を実施するための最良の形態において、本開示の制限しない実施形態例が注記される図面を参照しつつさらに詳細に説明される。なお、同一のものについては図面全体に渡って同一の参照符号を付すこととする。
【発明を実施するための最良の形態】
【０００７】
次に図面をさらに詳細に参照し、図１は、３Ｄコンテンツ開発システム９を示す。示されているシステム９は、１つ以上のデバイスコンテンツ開発プラットフォーム１０と、モバイルデバイス１２と、を含む。
【０００８】
モバイルデバイス１２は、例えば、携帯電話であることができる。示されているモバイルデバイス１２は、音声、データ、テキスト、及び／又は画像をキャプチャ、受信、及び／又は送信する埋め込みデバイスである。示されているモバイルデバイス１２は、モバイルデバイス１２の制御及びモバイルデバイス１２への情報入力を可能にするディスプレイ１２及びキー１４をさらに含む。
【０００９】
示されているデバイスコンテンツ開発プラットフォーム１０は、単一のプラットフォーム、分散型プラットフォーム、又は複数の個々のプラットフォームであることができる。示されているプラットフォームは、コンピュータプラットフォーム上の対応するウィンドー又は画面と対話する及びこれらのウィンドー又は画面を提供する幾つかのソフトウェアインタフェースを含む。これらのソフトウェアインタフェースの各々は、コンピュータプラットフォーム上で実行するソフトウェアを含む。これらのインタフェース及びウィンドーは、スクリプティングウィンドー１６ａと、対応するスクリプティング言語インタフェース１６ｂと、を含む。ソースコードインタフェース１８ｂに対応するソースコードウィンドー１８ａが提供される。デバッギングシステム２０が提供される。デバッギングシステム２０は、デバッギングインタフェース２０ｂに対応するデバッギングウィンドー２０ａを含む。
【００１０】
示されている３Ｄコンテンツ開発システム９は、埋め込みデバイス上での使用のために３Ｄユーザーインタフェースを開発及び実装するためのシステムに合わせて個別適合化することができる。より具体的には、３Ｄユーザーインタフェースは、インタフェース構成要素を有する物理的デバイスを（モバイルデバイス１２のディスプレイ１３上において）図形的に描いてシミュレーションし、従ってアイコンが埋め込まれた３次元（３Ｄ）ユーザーインタフェースとして機能する３Ｄグラフィカルバーチャルインタフェースの表示を行わせることができる。
【００１１】
スクリプティング言語インタフェース１６ｂは、３Ｄユーザーインタフェースの構築に対処する１つ以上のスクリプトファイル２２に結合されてこれらの１つ以上のスクリプトファイル２２を生成する。具体的には、これらのスクリプトファイル２２は、３Ｄアイコン及びシーンの定義に関する情報、及び定義されている３Ｄアイコン及びシーンのアニメーションのプログラミングに関する情報を提供する。アニメーションされた状態の３Ｄアイコン及びシーンは、モバイルデバイスの様々な動作、設定、イベント、及び／又は状態を制御又は入力するために及び／又は表示又は出力するためにモバイルデバイス１２、及びそのツールと結びつけられるか又は関連づけられる。
【００１２】
示されているインタフェース１６ｂ、１８ｂ、及び２０ｂの各々は、コンピュータ画面を通じて制御及び情報を受け取るための及び同じコンピュータ画面を通じて情報をユーザーに表示するための対応するウィンドーを用いることによって操作可能である。
【００１３】
ソースコードインタフェース１８ｂは、ソースコードウィンドー１８ａと関係しており、ソースコードを用いた、典型的には相手先ブランドで販売される製品の製造メーカー（ＯＥＭ）のために提供されたコードにおいて提供されるコマンドを用いたプログラムの作成に関するものである。
【００１４】
デバッギングインタフェース２０ｂは、デバッギングウィンドー２０ａと対話し、スクリプトファイル２２を検査及びデバッギングすることを目的とした前記スクリプトファイルのシミュレーションを容易にする。より具体的には、デバッギングインタフェース２０ｂは、コンピュータ画面上のデバッギングウィンドー２０ａでの表示を通じて、所定の３Ｄアプリケーションの１つのシーン又は複数のシーンにおける３Ｄアイコンの状態に関する情報を提供することができる。デバッギングインタフェースは、デバッギングウィンドー２０ａにおいて、３Ｄアプリケーションにおいて定義されたアニメーションの及び３Ｄアプリケーションに影響を与える発生中のイベントの状態に関する情報をさらに提供することができる。
【００１５】
スクリプティング言語インタフェース１６ｂは、スクリプトファイル２２を作成し、ソースコードインタフェース１８ｂは、ソースコード２４を作成する。これらの型のコードのうちのいずれか又は各々をコンパイルすることで、コンパイルされたスクリプト及び／又はソースコード２６を作成することができる。示されているデバイスコンテンツ開発プラットフォーム１０は、ユーザーインタフェース（ＵＩ）アセットと、ユーザーインタフェースレイアウトファイルと、をさらに含む。これらのファイルは、３Ｄモデルファイル３５と、アニメーションファイル３６と、テクスチャファイル３７と、ユーザーインタフェース（ＵＩ）レイアウトファイル ３８と、を含む。
【００１６】
モバイルデバイスのグラフィックスエンジンレイヤは、ファイル３５、３６、３７、及び３８に格納された、関連するＵＩアセット及びＵＩレイアウトファイルと関係するコンパイルされたスクリプト及び／又はソースコード２６に従ってモバイルデバイス１２上の３Ｄグラフィカル機能を制御する。
【００１７】
デバッギングシステム２０は、図２に示されるようにシミュレータプラットフォーム４０の形で実装することができる。示されているシミュレータプラットフォーム４０は、モバイルデバイスシミュレーションエンジン４２と、シミュレーション入力／出力インタフェース４４と、プラットフォーム画面及びキーボード４６と、を含む。示されているプラットフォーム４０は、デバッギングすべきスクリプトファイル４８と、スクリプトファイルインタープリタ５０と、をさらに含む。スクリプトファイルインタープリタ５０は、スクリプトファイル４８を解釈してモバイルデバイスシミュレーションエンジン４２によってシミュレーションできるようにする。
【００１８】
示されているプラットフォーム画面及びキーボード４６は、シミュレーションされたモバイルデバイスの画面のシミュレーションされた表示４７を行わせ、プラットフォーム画面及びキーボード４６のいずれか又は両方を通じて一定のシミュレーションされたキー及びコマンド入力４９を受け取る能力を提供する。
【００１９】
さらに、プラットフォーム画面及びキーボード４６は、状態ウィンドー４８を表示し、コンピュータ画面のアイコン又はボタンを通じて又は例えばキーボード上の一定のキーを含む物理的制御スイッチ又は入力の使用を通じて、ポーズ５０、プレイ５１、及びティック５２の制御を提供する。
【００２０】
状態ウィンドー４８は、モバイルデバイスシミュレーションエンジン４２のシミュレーションされた環境においてアプリケーションが実行されるのに応じてユーザーに情報を提供する。提供される情報は、３Ｄアプリケーションの１つのシーン又は複数のシーン内における３Ｄアイコンの、３Ｄアプリケーションにおいて定義されたアニメーションの、及び３Ｄアプリケーションに影響を与える発生中のイベントの状態に関する情報である。
【００２１】
ユーザーがスクリプトを変更するのを可能にすることによって、３Ｄアプリケーションの一部分の微調整（すなわち、修正）を可能にする微調整機構を提供することができる。この機構は、シミュレータプラットフォーム４０の一部として提供することができ、又は、ユーザーは、デバイスコンテンツ開発プラットフォーム１０のスクリプティングインタフェース１６ｂを用いることができる。３Ｄアプリケーションの前記微調整は、３Ｄアプリケーションのアニメーションを定義すること、及び／又は３Ｄユーザーインタフェースにおけるアイコンの対話の流れを含む３Ｄアプリケーションの対話の流れを定義することを含むことができる。
【００２２】
示されている状態ウィンドー４８は、コンピュータ画面を通じて、３Ｄユーザーインタフェースにおけるすべての又は部分組のアイコン、シーン内のオブジェクトのすべての又は部分組のアニメーション、及びすべての又は部分組のイベントの状態を記述した広範な情報をユーザーに提供、すなわち表示する。イベントは、３Ｄアプリケーション外部において発生する。例えば、イベントは、シミュレーションされたターゲットデバイスの状態の変化であることができ、又は、イベントは、３Ｄアイコンの操作によるか又はシミュレーションされたターゲットデバイスのデバイスキーの使用によるユーザーと３Ｄアプリケーションの対話の結果生じることができる。イベント例は、コマンドキー又は所定のキーが押されたことを含むターゲットデバイス自体の状態、又はデバイス内での状態の変化、例えばＧＰＳ信号が検出されたこと、又はターゲットデバイスにおける電池状態が低いことを含む。
【００２３】
図３は、シミュレータプラットフォーム４０の１つ以上のプラットフォーム画面の概略図を示す。示されている画面６０は、シミュレーションされた表示６２と、状態ウィンドー６４と、を含む。シミュレーションされた表示６２は、スクリプトファイルインタープリタ５０による解釈に従ってスクリプトファイル４８内のスクリプトを実行するモバイルデバイスシミュレーションエンジン４２を用いて３Ｄアプリケーションによって実装されている３Ｄユーザーインタフェースを示す。シミュレータ表示６２において描かれているシーン例は、デフォルト時の周囲照明と、子犬とボールが格子縞模様の床上に存在することを示す単一のカメラの画像と、を含む。
【００２４】
状態ウィンドー６４は、幾つかの状態表示６６を含む。状態表示６６は、例えば、状態ウィンドー６４上において一定の情報を図形又はテキストで示すことであることができる。これらの状態表示は、図３に示される実施形態においては、現在のスクリプト状態表示６８と、イベント歴状態表示７０と、アクティブなアニメーション状態表示７２と、アイコン状態表示７４と、カメラ状態表示７６と、ライト状態表示７８と、を含む。
【００２５】
示されている実施形態においては、現在のスクリプト状態表示６８は、状態ウィンドー６４を通じて、次の型のスクリプト情報を描く。すなわち、アニメーション実行コントローラの現在の状態を表示し、アニメーション状態機械内における現在のアニメーション状態の数値アイデンティティ（numerical identity）によって表される。
【００２６】
この実施形態においては、イベント歴状態表示７２は、状態ウィンドー６４を通じて、次の型のイベント歴情報、すなわち、アニメーションに関連する最近のイベントのリスト、を描き、前記リストは、キー入力通知と、個々のアニメーションループの開始又は終了と、を含むことができる。
【００２７】
この実施形態においては、アクティブアニメーション状態表示７２は、状態ウィンドー６４を通じて、次の型のアクティブアニメーション情報を描く。すなわち、シーン、カメラ、ライト、又はアイコンに対して適用されている現在実行中の各アニメーションに関して、前記アニメーションの全長、実行中の前記全長の部分組、及び前記部分組内から現在表示されているアニメーションの位置が表示される。
【００２８】
プラットフォーム画面６０の示されている概略図においては単一の状態ウィンドー６４が描かれているが、示されている状態ウィンドー６４において描かれている情報の１つ以上の部分に関する別個の状態ウィンドーを提供することができるか又は別個の状態ウィンドーにアクセスすることができる。例えば、現在のスクリプト状態表示情報６８は、１つのウィンドーにおいて描くことができ、イベント歴状態表示７０は、別のウィンドーにおいて描くことができる。
【００２９】
状態ウィンドー６４は、ユーザーがポーズスイッチ８０、プレイスイッチ８２、及びティックスイッチ８４を起動又は停止させるのを可能にするためのグラフィカルツールをさらに含む。これらのグラフィカルツールは、例えば、コンピュータ画面上の状態ウィンドー６４内において提供されるグラフィカルボタンであることができる。ポーズスイッチ８０は、３Ｄアプリケーションを再生の際の特定の時点において休止させ、それによって状態表示６６の各々における状態情報が３Ｄアプリケーション内のその特定の時点に該当する情報を描くことを可能にする。プレイスイッチ８２は、３Ｄアプリケーションが実行されるようにするか又はポーズ状態から再開させる。ティックスイッチ８４は、アプリケーションを実行の際に１つのインクレメント(increment)から他のインクレメントに移動させるために用いることができる。換言すると、ティックスイッチは、スクリプトを実行する際に各々のインクレメントごとに段階的に進むために提供される。これらのインクレメントは、シミュレーションされた画面上のシーンにおいて現在表示されているアイコンのアニメーションの個々の連続フレームを含むことができる。
【００３０】
一般的には、状態表示６６は、画面を通じて、３Ｄアプリケーションの１つのシーン又は複数のシーンにおける３Ｄアイコンの各々に関する状態情報をモニタリングし、それに従って描く。状態情報は、シーン内のオブジェクトのアニメーションのフレームの各々に関して提供される。オブジェクトは、１つ以上のライトと、１つ以上の３Ｄアイコンと、個々のライトの１つの又は複数のターゲットが特定された方向と、１つ以上のカメラと、これらのカメラの各々のターゲットが特定された方向と、を含むことができる。状態情報は、各々のライトの位置と、アイコンと、ライトのターゲット位置と、カメラと、シーン内におけるカメラのターゲットの位置と、をさらに含むことができ、前記オブジェクト又は所在位置が妨害されているか又は他のオブジェクトと衝突しているかどうか、及び特定のオブジェクトがアクティブ又は非アクティブであるかどうかを含む。例えば、ライト又はカメラは、スクリプト内において備えることができるが、３Ｄアプリケーションの実行中における所定の時点においてアクティブ又は非アクティブであることができる。
【００３１】
図４は、１つの特定の実施形態によるスクリーンショットの例を提供する。示されているスクリーンショット例９０は、ポーズ９２、プレイ９４及びティック９６の制御に関する画面下方のボタンを含む。さらに、示されている画面９０は、スクリプト識別情報９８と、イベント歴情報１００と、キープレス及びデバイス状態情報１０２と、を含む。さらに、アクティブなアニメーション１０４に関する情報が提供される。アクティブアニメーション情報１０４は、各アクティブなアニメーションについて説明する現在のアニメーションの位置と、アニメーションの全長と、現在実行中であるアニメーション全長の部分組１０６と、を含む。この点に関して、アニメーションの特定のフレーム範囲１０８が描かれる。その範囲内の現在のフレーム１１０、及びアニメーション１１２に関する説明も提示される。
【００３２】
本明細書に示される実施形態においては、シーンは、一組の３Ｄ要素を包含する１つの型の３Ｄの「世界」である。シーンは、３Ｄ要素が存在していて配置及びアニメーション化することができる仮想環境、又は空間を定義する。すなわち、個々の３Ｄ要素の一定の特性、例えば、その位置及び方位を、前記３Ｄ要素が存在するシーンに関して定義することができる。示されている実施形態においては、アイコン、カメラ、ライト及びその他の３Ｄ要素は、シーンの各部分である。これらの３Ｄ要素は、単一のシーン又は２つ以上の別々のシーンの一部であることができる。
【００３３】
シーンは、ノードを含むことができる。示されている実施形態においては、シーンは、ノードを含み、各ノードは、シーン内において１つ以上のオブジェクトが添付されているポイントである。ノードは、添付されたオブジェクトの位置に関する抽象的な基準点、又は原点として機能する。ノードは、それ自体をアニメーション化することができ、その場合は、ノード上で行われたあらゆるアニメーションを添付されたオブジェクトに伝搬させることができる。モデルは、シーン内のオブジェクトの外観及び挙動を表す一組のデータである。モデルは、単一の独立したシーンオブジェクトを構成することができ、又はモデルは、幾つかのオブジェクトを具備することができる。モデル内に含まれているデータは、幾何学上のデータと、表面又は材料の特性と、を含むことができる。図３に示される例においては、ボールを取ってくる子犬が描かれている。この場合は、単一のモデルは、子犬の外見、ボール、及び子犬が座っている表面、さらにはこれらに対して適用することができる一組のアニメーションを包含し及び説明する。メッシュの幾何形状は、様々な方法で描くことができる。該メッシュの幾何形状は、色をべた塗りすること、頂部において色と色の間で平滑に陰影を付けること、又はテクスチャマップを用いて描くことができる。テクスチャは、詳細な表面にすることを目的としてモデルによって表される幾何形状上を「覆う」ために用いられる特別にフォーマット化された画像に関する名称である。示されている実施形態においては、テクスチャは、テクスチャファイルにおいて定義される。
【００３４】
これらのテクスチャは、例えばファイル名の指定方法によって、修正する幾何形状と関連づけられる。すなわち、名前“ｐｕｐｐｙ．ｑｘｔ”を有するテクスチャファイルは、モデルファイル“ｐｕｐｐｙ．ｑｘｍ”と関連づけられる。
【００３５】
各シーンは、少なくとも１つのカメラを有することができる。カメラは、シーンを観るための有利な位置を包含する。カメラ自体がシーンのオブジェクトであり、シーン内においてアニメーション化することができる。すべてのシーンに関して（世界の中心を見ている）デフォルト時のカメラを提供することができ、その他のカメラがオンの状態でない場合に起動される。
【００３６】
シーンは、１つ以上のライトを有することができる。さらに加えて、又は代替として、シーンは、デフォルト時の周囲「全面」照明を含むことができる。この周囲モードにおける静的照明をシミュレーションするためにモデルの頂点の色及びテクスチャ内に照明をベーキングすることが可能である。シーンにライトを加えることによって生き生きとしたダイナミックな照明を達成させることができる。ライトはノードに添付されるが、このライトは、他のノードとも関連づけられる。すなわち、ライトを他のノードと関連づけることは、ライトが輝く方向を定義する。従ってライトを「フラッシュライト」のように指向させることができる。さらに、シーン内に照らされるライトの色を定義するパラメータを含めることができる。
【００３７】
オブジェクトをどのようにしてアニメーション化するかを説明する１つ以上のアニメーションファイルを提供することができる。アニメーションファイルが要求されたときには、シーン内の特定のノードに適用される。示されている実施形態におけるアニメーションファイルは、細長いフィルム（又はフラッシュ内のタイムライン）のようなものであり、一組のフレームを含む。これらのフレームは、連続したシーケンスを表す必要がなく、幾つかのまったく異なるアニメーションを同じフレーム「スタック」内に含めることができ、示されている実施形態においてこれらのアニメーションが要求されたときに開始フレームと終了フレームの両方が指定されるのはこの理由によるものである。
【００３８】
アニメーションが起動されると、アニメーション化することが意図されている特定の名前のノードに適用される。一例として、子犬をアニメーション化するために１つのアニメーションファイルを提供することができ、他方、カメラ及びライトをアニメーション化するために別個のアニメーションファイルが提供される。アニメーションファイルにおいて指定された命令は、そのノードに添付されたオブジェクト内に入り、該オブジェクトは、これらの特定のフレームが指示するあらゆることを行う。例えば、子犬がその場で回転すること、シーン全体を飛び回ること、ジャンプすること、又はかがむことができる。
【００３９】
モバイルデバイスキーボードにおいて典型的に提供される４方向ナビゲーションキーを用いて様々な形で子犬をアニメーション化することができる。例えば、図３に示されるこの例においては、右のナビゲーションキーを押すことで、ボールが右に転がるようにし、その後に子犬がボールを追いかけて持ってくるようにすることが可能である。
【００４０】
本明細書の図において示される各々のプラットフォームによって行われる処理は、汎用コンピュータ単独で又は専用処理コンピュータと関連させて実行することができる。該処理は、単一のプラットフォームによって、又は分散型処理プラットフォームによって、若しくは別個のプラットフォームによって行うことができる。さらに、該処理は、専用ハードウェアの形態で、又は汎用コンピュータによって実行されるソフトウェアの形態で実装することができる。該処理によって取り扱われるか又は該処理の結果生成されるデータは、あらゆる型のメモリに格納することができる。一例として、これらのデータは、所定のコンピュータシステム又はサブシステムのＲＡＭ等の一時メモリに格納することができる。さらに加えて、又は代替として、該データは、より長期の記憶装置、例えば、磁気ディスク、書き換え可能光学ディスク等に格納することができる。本開示の目的上、コンピュータによって読み取り可能な媒体は、上記のメモリ技術を含むあらゆる形態のデータ格納機構、及び該構造及び該データのハードウェア又は回路表示を具備することができる。集積回路は、本明細書において開示される構造及び処理の１つ以上の部分を含むことができる。
【００４１】
請求項は、原請求項及び修正された請求項の両方に関して、本明細書において開示される実施形態及び教義の変形、代替、修正、改良、同等物、及び実質的同等物を包含し、現在予測されていないか又は明確に理解されていないもの、例えば出願者／特許権所有者から発生する可能性があるもの、及びその他を含む。
【図面の簡単な説明】
【００４２】
【図１】１つ以上のデバイスコンテンツ開発プラットフォームのブロック図である。
【図２】シミュレータプラットフォームの概略的ブロック図である。
【図３】１つ以上のプラットフォーム画面の概略図である。
【図４】例示されるデバッギングシステムの状態ウィンドーのスクリーンショット例を示した図である。
【図１】
2008545207.tif 000003
【図２】
2008545207.tif 000004
【図３】
2008545207.tif 000005
【図４】
2008545207.tif 000006
【国際調査報告】
2008545207.tif 000007
2008545207.tif 000008