説明

コンフィギュレータの処理及びシステム

【課題】2次元画像において複数のオプション、付属品、色などを用いて構成される製品の複数のマルチアングル画像を生成し、見る及び相互作用するために特別なソフトウェア又はハードウェアを要求しないコンフィギュレータ。
【解決手段】コンフィギュレータは、製品がどのように組み立てられるかに関するレイヤ論理を自動的に生成する。本発明は、リンク及び論理を複数のレイヤの生成フェーズに移動し、それによって、簡単なプログラムによって利用されて、視覚的なインタフェースのために複数のレイヤを組み立てることができる構成論理ファイルをレンダリングにおいて自動的に生成する。複数の2次元画像が複数の3次元モデルから階層化方法を用いて生成される。階層化方法は、それぞれの組み合わせのために完全な製品の画像をレンダリングする必要性を防止する。最適化は、必要な組み合わせの数を減少させる。画像及び論理は、手動の関与なしに更新される。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、製品、及び製品の複数の構成要素及び付属品を自動的に構成することができるコンフィギュレータに関する。さらに具体的には、コンフィギュレータ及び処理は、より大きな処理の一部として、製品のビューを示すために複数の2次元画像(2d画像)を階層化すること及び使用することを含む。
【背景技術】
【0002】
コンフィギュレータは、複数の独特な製品要求を必要なドキュメント及び情報に自動的に変換して、要求された製品の複数の構成を表示する。ウェブベースの及びコンピュータベースの製品コンフィギュレータソフトウェアアプリケーションは、ユーザの及び/又は製造業者の要求を満たすオプションの製品構成、価格決定、注文、及び販売を自動化する能力をユーザに提供する。具体的には、ウェブベースの製品コンフィギュレータは、製造業者の顧客の独特な要求を満たすように高度に構成可能な又は定期的にカスタマイズされる自動車などの製品を製造する製造会社のために設計されてもよい。製品のセットアップは、複数のビューにおいてさまざまな機能、及びオプションとともに表示される。
【発明の概要】
【発明が解決しようとする課題】
【0003】
製品コンフィギュレータをウェブ上で実行することは困難である可能性があるが、これらは製品を販売するときに非常に効果的である可能性がある。課題は、依然として高品質な画像を提供し、できるだけ多くの聴衆に届ける一方で、できるだけ多くの角度から(しばしば数十万種類の可能な構成が存在する。)それぞれの製品構成がどのように見えるかをユーザに見せることを含む。従来は、2d画像ベースのコンフィギュレータ、及びリアルタイムの3次元(3d)ベースのコンフィギュレータの中から選択しなければならなかった。
【0004】
技術的には、製品コンフィギュレータは、正確な複数の製品画像を生成する3d技術を用いて複数の画像を生成する。いくつかの視点からのビューを示す複数の製品画像は、異なる複数の構成及びビューにおいて、製品を簡単に見る能力をユーザに与えることによって生成されてもよい。典型的に、画像は、製品の正確な複製を示すべき多数の構成可能な置換を有する製品を持つ製造業者によって使用される。リアルタイムの3dレンダリングは、本明細書で開示される多くの表示機能を異なる方法で実行することができるが、コンフィギュレータの到達可能な聴衆を制限する特別なソフトウェア、及びハードウェアを要求することもある。
【0005】
3次元(3d)コンフィギュレータはしばしば、任意の及びすべての視点からの製品、及びさらに可能なすべての構成を表示する能力を提供するが、画像の品質は、ユーザのハードウェアの制限のために制限される可能性がある。さらに、3dコンフィギュレータは、ほとんどの場合、ユーザに3dビューイングソフトウェアをダウンロードしてインストールするように要求し、これはセキュリティ上の危険、時間的な妨害、又はユーザ及びユーザのコンピュータに対する技術的な障壁をもたらす可能性がある。また、コンフィギュレータの3d性能はしばしば、特化したグラフィックスのハードウェアに依存する。リアルタイムの対話式のコンピュータグラフィックスの場合では、ユーザは通常、コンピュータのスクリーン上に表示されるものを制御している。典型的に、ユーザは、入力デバイスを使用して、フィードバックをシステムに提供し、ビデオゲームなどの3dリアルタイムはしばしば、グラフィックス処理ユニットなどの特別なソフトウェア又はハードウェアを要求する。これらの理由で、リアルタイム3dコンフィギュレータはしばしば、到達可能な聴衆が少なく、これが多くの会社がこれらを回避する製品構成を探す理由である。
【0006】
2dコンフィギュレータは、複数の高品質な画像(写真、又は高品質なコンピュータで生成された画像(CGI))を用いて製品を見せるが、コスト及び複雑性に起因して、視点の数、及びしばしば構成の数によって厳しく制限される。画像が写真の場合、すべてのパーツ及び色の物理的なバリエーションを入手することは、しばしば実現不可能であるので、複数の製品のすべての構成を示すことは極めて困難である。コンピュータで生成された資産は、それぞれに対して複数の独特な画像を用いて、すべての可能な構成を生成することができるが、それぞれの及びあらゆる個別の構成のために膨大な数の画像を生成する。しかしながら、2dコンフィギュレータは、しばしば基本的なウェブブラウザの能力以外は使用しないので、非常に大きい潜在的なビューア基盤を有する。
【0007】
2.5dコンフィギュレータは、もう1つのオプションになる。これらのコンフィギュレータは、2d画像のフレームスタックを用いて車両の周りの単一の3dカメラの動き(camera movement)をシミュレートすることによって、2dと3dとの間の妥協を作ろうと試みる。このアプローチは、従来の2dコンフィギュレータよりも高品質な画像、及びより多くの視点を可能にする。しかしながら、多くの構成を見せることは、2.5dでは非常に困難になる。単一の画像がそれぞれの視点で利用される場合、画像の異なるバージョンが、すべての色及び構成の可能性のために、及びそれぞれのフレームのために生成されなければならない。これは、資産の数を非常に多くするので、簡単な製品以外では実用的な技術ではない。
【0008】
従来のコンフィギュレータにおいてすべての構成を見せる試みは、それぞれの構成のために独特な画像を生成することを含むであろう。これは、生成される必要のある非実用的な数のフレームをもたらす。本実施例では車両である製品の構成データが与えられ、カメラの動き(camera move)において24フレーム、10種類の塗装色がある。
【0009】
【表1】

【0010】
(排他情報を考慮することなく)組み合わせの数を計算すると以下のようになる。
【0011】
構成(着色前)=2×7×3×3×2×2×3
構成(着色前)=1,512
構成(着色後)=1,512×10
構成(着色後)=15,120
フレーム(着色後)=15,120×24
フレーム(着色後)=362,880
【0012】
(すべてのパーツにわたって単一の塗装色を仮定すると)15,120種類の車両の可能な独特な構成が存在する。それぞれの構成は、フレームスタック(フリップブック(flip book)と同様に連続して再生されたときに、3dカメラの動きを再現する画像の集合。)になる。これは、24フレームのコンフィギュレータについては、生成されるべきフレームの総数が362,880個であることを意味する。着色されるそれぞれのパーツが独自の色を有すること(すなわち、緑色のベース車両及び赤色のスポイラーなど)を可能にすると、数はより多くなる。
【0013】
構成(着色後)=(2×10)×7×(3×10)×3×(2×10)×2×3
構成(着色後)=1,512,000
フレーム(着色後)=1,512,000×24
フレーム(着色後)=36,288,000
【0014】
これらのオプションのどちらも、そのような数のフレームを生成すること、及びその量を取り扱うことができるウェブサーバを配置することの両方の点から、非実用的である。さらに、追加のパーツ、特に着色されるパーツを追加することは、フレームの数を大幅に増加させる。2.5dコンフィギュレータでの従来の試みは、一般に、見せるために選択する構成の数を厳しく制限すること、フレームの数を減少させること、又はそれらの両方によってこの問題を解決して、製品コンフィギュレータの実行を簡略化する。
【0015】
図1は、製品構成の簡易化した概念を示す。製品はそのパーツの全体である。この例では、単一の製品構成は、A−B−C−Dと呼ばれる。エレメントA及びBは、常に要求されかつ置き換えられないベースの製品として考えられる。エレメントC及びDは、C又はDの任意の変更と置き換えられるオプションである。C1乃至Cn及びD1乃至Dnは、A及びBに影響することなく交換されることが可能である。さらに、製造業者は、Cn及びDnの組み合わせをパッケージとして定めてもよい。A及びBと組み合わせられたこのパッケージは、製造業者が特別な製品及び価格として提供するパッケージ1を有する特定の製品ABとして定められてもよい。さらに、追加のABの組み合わせが存在してもよいが、我々はベースモデルABの1つの問題を考察する。Cn及びDnに加えて、An及びBnが存在してもよい。
【0016】
次に、“製品”は、単一の構成においてともに選ばれるいくつかの構成要素として広く定められる。オプションの又は独特な構成要素の数が増加するにつれて、可能な組み合わせは桁違いに増加する。例えば、自動車のような消費者製品は、内装及び外装のために数百種類のオプションを有する可能性がある。色、ホイール、タイヤ、車体パネル、及び付属品のようなオプションは、数百万種類の可能な組み合わせと同等であると見なすことができる。
【0017】
特別なソフトウェア及び3dコンフィギュレータの複雑性なしに、すべての構成において複数の製品を表示する簡易化した処理に対する必要性が存在する。2.5dコンフィギュレータの改善が本明細書で開示される。
【課題を解決するための手段】
【0018】
2dで示された複数のオプション、付属品、色などを用いて構成される製品の複数のマルチアングル画像を生成するコンフィギュレータが開示され、コンフィギュレータは、見る及びコンフィギュレータと相互作用するために特別なソフトウェア又はハードウェアを要求しない。コンフィギュレータは、製品がどのように複数の2dアートレイヤ(art layer)の関係を管理するためにコンフィギュレータエンジンで使用されるように組み立てられるかに関するレイヤ論理を自動的に生成する。本質的に、複数の2d画像が、複数の製品のさまざまな構成をサポートする論理に基づいて任意の組み合わせに組み立てられる複数の3dモデルから階層化方法で生成される。例えば、図1に基づいて、論理は構成をABC21D15として定義する。論理は、どのレイヤがその構成のために使用されるか、及びどの順序で複数のレイヤを組み立てるかを定める。3dリアルタイムは、複数の3dモデルからリアルタイムに論理に基づいて、単一の“組み立てられた”2d画像を生成することができる。リアルタイムであらゆる組み合わせのために完成した完全な複数の製品のレンダリングされた画像を生成することは、一般的な複数のファクタ及び複数のオプションを定めて、事後に組み立てることによって最適化された階層化方法のアプローチを用いるよりも、顕著により多くの製品画像を要求するであろう。最適化は、構成された製品の複数のマルチアングル画像のために要求されるフレームの数を減少させる。
【0019】
本開示は、それぞれのために別個の複数の画像を要求することなく、すべての可能な構成を生成することに関係した問題を解決する2.5dコンフィギュレータへのアプローチを提供する。このコンフィギュレータは、非常に高い画像品質、製品の周りの十分なカメラの動き、十分及び完全な複数の構成、及び制限されたソフトウェア及びハードウェアの制約を持った可能な限り幅広い聴衆を有する。技術は、従属的なマスキングと最適化されたレイヤ順序の上位の追跡との組み合わせを含む。現在開示されたサンプルの構成とともにこの技術を利用すると、80個のフレームスタックが、1,512,000種類の異なる構成を生成するために使用される。
【0020】
階層化方法を用いて、製品コンフィギュレータは、多数の組み合わせの画像を生成することができる。コンピュータで生成された画像(CGI)の使用は、任意の消費者製品のためのあらゆる可能な組み合わせの印刷、相互作用、又は放送のための複数の2d画像を生成するために用いられる3dモデルの構築を可能にする。2d空間のためのすべての可能な組み合わせを構成するために、画像階層化方法があらゆる単一の可能な組み合わせのための完全な製品画像をレンダリングする必要がないようにするために用いられる。この処理は、製品の小区分が画像によって表現されるように要求することのみによって、あらゆる組み合わせの生成において効率性を著しく改善する。最も一般的なファクタは、1つのレイヤ上にレンダリングされる一方、変化しやすい複数のファクタは、別々の複数のレイヤ上にレンダリングされる。
【0021】
すべてのフレームがレンダリングされると、それらのフレームは、さまざまな方法によって製品の正確な表現に組み立てられる。これは、典型的に、どのように部品が組み合わされるかに関連した論理を考慮するプログラムによって達成される。この論理は、レンダリングされるフレームの数が、数個から数十万個に増加するにつれて、ますます重要になる。例えば、すべての構成のための製品の単一のビューを生成することを可能にすることは、数百個のフレームを必要とするであろうし、一方、同じ製品及びオプションの360度のビューは、すべての構成を表現するために数千個のフレームを必要とするかもしれない。
【0022】
これらの製品の組み合わせがどのように構成されるかに関連した論理は、典型的に、組み立てガイドを介して、又は製品に関する人間の知識に基づいて、製造業者によって提供される。さらに、いくつかの構成要素は、論理をさらに定義する独特なパッケージに組み合わされる。
【0023】
これらの画像の複数の構成は、典型的に、複数のレイヤへのローカルインタフェースを介し、スタンドアロンコンピュータ又はインターネットを経由し、ウェブブラウザ又はアプリケーションを介してユーザに提供される。特別なソフトウェア又はハードウェアは必要ない。システムは、好ましくは、データ、論理、及びユーザインタフェースを切り離すために、モデルビューコントローラ(MVC)パターンを用いて設計される。理想的には、システムは、さまざまなサイズの複数のファイル、及びウェブ、印刷、及びキオスクなどの多数のアプリケーションに対して、プラグアンドプレイのように柔軟である。システムは、すべての構成のためのモーションメディア(motion media)をサポートするであろう。
【0024】
コンフィギュレータは、コードにおいて実質的な変更なしに、複数の新しい製品をサポートすることができる。ほとんどの場合、構成の更新は、ユーザがすべての画像を再生成することを必要とせず、さまざまな面が再使用されることから、製造業者は、最初の及び後続のセットアップ及びレンダリングに再度目的を持たせることによって、製品の寿命を通して利益を得るであろう。これは、コスト及び複雑性を減少させる。
【0025】
単なる非限定的な例として与えられる添付の図面とともに考慮されるコンフィギュレータの以下の説明を参照することによって、本開示の上述した機能及び別の機能、及びそれらの機能を得る方法がより明らかになり、本開示自身が最も理解されるであろう。
【図面の簡単な説明】
【0026】
【図1】A−B−C−Dと呼ばれる製品構成の概念を示す。
【図2】コンフィギュレータの処理のフローチャートを示す。
【図3】箱、球、及び角錐である空間内の3つのオブジェクトの例、及びビューに依存してどのオブジェクトが別のオブジェクトを塞ぐかを決定する例を示す。
【図4】角錐、球、及び箱の順序である3つのオブジェクトの例を示す。
【図5】箱、球、及び角錐の順序である図3の例を示すビュー2、及び角錐、球、及び箱の順序である図4の例を示すビュー1としてカメラアングルを示す。
【図6】カメラのロケーションから3dオブジェクトまでの距離に基づいたZ方向の深さを示す。
【図7】円柱がフォークの後ろでありかつ前である相互的な閉塞の例を示す。
【発明を実施するための形態】
【0027】
本明細書で提示される例示は、いかなる方法によっても本開示の範囲を制限すると解釈されるべきではない本開示の実施形態を説明する。現在認識されている本開示を実行する最良の形態を例示する例示的な実施形態の以下の詳細な説明を考慮することにより、本開示の追加の機能が当業者に明らかとなるであろう。
【0028】
本開示は、異なる形式の実施形態に影響されやすいことがあるが、本明細書で詳細に説明される図面は、本説明が、本開示の原理の例示であるとみなされるべきであり、かつ網羅的であること、又は本開示を以下の説明で説明される又は図面で示される構造の詳細及び構成要素の配置に限定することを意図しないという了解の下で、実施形態を示す。
【0029】
図2は、以下で詳述されるコンフィギュレータの処理のフローチャートを示す。3dアプリケーションでは3d製品が構築され、データがコンフィギュレータ用に製品の構成要素のために収集され、まとめられる。次に、コンフィギュレータエディタは、製品構成を生成し、3dファイルにリンクする。3dアプリケーションは複数のZ方向の深さパス(pass)をレンダリングし、閉塞プロセッサは複数のZ方向の深さフレームを処理する。コンフィギュレータエディタは、相互的な閉塞情報をインポートし、最適なレイヤ順序を決定する。3dアプリケーションは、レンダリングがディスクに書き込まれる時点で、複数の最終的なフレーム及び構成ファイルをレンダリングする。その後、コンフィギュレータエディタは、合成スクリプトを生成する。合成ソフトウェアは、複数のフレームを仕上げて、かつ任意の必要な色の変更を実行する。コンフィギュレータエディタはオプションとして、複数のフレームを切り取る、複数のフレームの名前を変える、及び複数のフレームを変換することができる。例としての2.5ビューアは、ユーザの入力ごとに要求に応じて複数のレイヤを組み立てることができる。
【0030】
印刷又はグラフィカルユーザインタフェースのいずれかを用いて、製品の2d画像を表示するために、製品を構成する処理をプログラミングすることの単純化が開示される。これは、画像の複数のレイヤが生成される時点で製品の構成論理を生成する解決策を用いて達成され、それによって、論理を複数のレイヤと自動的にリンクする。
【0031】
膨大な数のフレームを生成すること、又はそれらを取り扱う適切なウェブサーバを有することは、必要とされるフレームスタックの数を減少させる構成要素の分離、及びレイヤの順序付けを用いる一方、独特な色でそれぞれの塗装されたパーツを有する能力を含むすべての構成を生成する能力をさらに維持する新しい2.5dコンフィギュレータを用いて対処される。複数の別々のフレームスタックとして構成のそれぞれの構成要素をレンダリングすることによって、それぞれの構成のために独特な画像を必要とすることなく、個別の部品が一緒に合成されて、異なる複数の製品構成を生成する。
【0032】
2dにおける構成要素の分離.
2.5dコンフィギュレータにおいて階層化作業を実行する第1のステップは、単一の2dビューに関する問題を解決することである。最初は、解決策が、構成のそれぞれの構成要素の複数の画像をレンダリングして、その後、それらを正しい順序で互いの上にレンダリングする(すなわち、スポイラーのレイヤがトリムレベルベースの上に置かれる)ように簡単であると見えるかもしれない。このような解決策は、3dオブジェクトを扱うときに、最も簡単な場合にのみ動作する。
【0033】
例えば、自動車製品の3/4正面斜視図から製品を見ると、フロントホイール/タイヤの一部がフロントフェンダによって隠される。ホイールウェル(wheel well)がホイール/タイヤを“マスキング”しているといえる。さらに、ホイール/タイヤはまた、フロントフェンダの後部の一部を隠し、又はマスクする。2つのオブジェクトの別々の複数の画像を階層化する試みは、どのような順序でも正しい結果を生成しないであろう。フェンダの上にホイール/タイヤの複数の画像を挿入すること、及びその逆のどちらも動作しない。
【0034】
図3及び図4は、空間内の3つのオブジェクト(箱、球、及び角錐)の例、及びビューに依存してどのオブジェクトが別のオブジェクトを塞ぐかを決定する例を示す。図5では、ビュー2のカメラアングルは、箱、球、及び角錐の順序である図3の例を示し、一方ビュー1は、角錐、球、及び箱の順序である図4の例を示す。
【0035】
これらの場合では、簡単な階層化は、3dにおける複数のオブジェクトの相互作用のために動作しない。複数のオブジェクトが一緒にレンダリングされるとき、任意の与えられたピクセルで、カメラの視点からどのオブジェクトが別のオブジェクトの上にあると考えられるべきかを決定するために、3d深さ情報又はZ方向の深さが用いられる。これらのオブジェクトを別々にレンダリングすることによって、深さにおける相互作用が失われ、回復されない。
【0036】
図6は、どのように3dシーンの与えられたカメラのビューのためのZ方向の深さが決定されるかを示す。与えられたオブジェクトが出現する2dレンダリングされた画像のそれぞれのピクセルについて、カメラのワールド空間(world space)からのオブジェクトの距離を表す深さの値を計算する。カメラ座標系では、この深さの値はZ軸に沿った距離であるので、深さの値はZ方向の深さと呼ばれる。図は、単一のピクセルのためのそれぞれのオブジェクトに関連したZ方向の深さの値を示す。この例では、ピクセルが箱の上に投影されている場合、深さの値は0.2である。ピクセルが球の上に投影されている場合、Z方向の深さの値は0.5である。最後に、ピクセルが角錐の上に投影されている場合、深さの値は0.7である。カメラにより近いオブジェクトとピクセルとの交点は、カメラからより離れた交点より低い値を有する。あらゆるピクセルに対してそれぞれのオブジェクトのZ方向の深さの値を求めることは、任意の与えられたピクセルにおいて、オブジェクトがカメラに関してどのように空間的に関係しているかを発見することを可能にする。
【0037】
本問題に対する現在開示される解決策は、マスキングを用いて複数のオブジェクトを一緒に、複数回レンダリングすることである。ホイール/タイヤのために利用されるパスの間、フェンダは、最終的な出力におけるマスクオブジェクトとしてのみ考慮される。これは、フェンダがどのようなピクセルも最終的な画像に与えないことを意味する。その代わりに、フェンダは、フェンダがホイール/タイヤの上にあると考えられる場所において、ホイール/タイヤの画像を“切り取る”のみである。フェンダのためのパスは、正確に反対のことによって得られる。ホイール/タイヤが、フェンダのマスクになる。これは、どちらか一方の順序で互いの上に重ねられるホイール/タイヤ及びフェンダのレンダリングを生成する効果を有し、依然として正しい結果を生成する。
【0038】
これは、2つのオブジェクト間の簡単な相互作用に対してよく動作するが、多数のオブジェクトが含まれるときには、より複雑になる。例えば、上記で用いた車両構成の例では、3つの異なる地面効果、及び2つのベーストリムレベル(ベーストリムレベルは、上記で議論した実際のホイールウェルの形状を含む)が存在する。このような例では、これらの構成要素が、与えられたホイール/タイヤのマスキングに影響する。これは、与えられたホイール/タイヤが、以下に示すそれぞれのマスクの組み合わせのために複数回レンダリングされるべきであることを意味する。
【0039】
ベーストリム1及び地面効果1によってマスクされたホイールX(whX_maskedby_bt1_ge1)
ベーストリム2及び地面効果1によってマスクされたホイールX(whX_maskedby_bt2_ge1)
ベーストリム1及び地面効果2によってマスクされたホイールX(whX_maskedby_bt1_ge2)
ベーストリム2及び地面効果2によってマスクされたホイールX(whX_maskedby_bt2_ge2)
ベーストリム1及び地面効果3によってマスクされたホイールX(whX_maskedby_bt1_ge3)
ベーストリム2及び地面効果3によってマスクされたホイールX(whX_maskedby_bt2_ge3)
【0040】
同様に、地面効果がレンダリングされるときは、地面効果はベーストリム及びホイールによってマスクされるべきである。
【0041】
ベーストリム1及びホイール1によってマスクされた地面効果X(geX_maskedby_bt1_wh1)
ベーストリム2及びホイール1によってマスクされた地面効果X(geX_maskedby_bt2_wh1)
・・・
ベーストリム1及びホイール1によってマスクされた地面効果X(geX_maskedby_bt1_wh7)
ベーストリム2及びホイール1によってマスクされた地面効果X(geX_maskedby_bt2_wh7)
【0042】
排気管の先端などの別の機能を追加すると、これはさらに複雑になる。
【0043】
地面効果、ベーストリム、及びホイール/タイヤによって表示された関係の型は、“相互的な閉塞(two-way occlusion)”と呼ばれる。相互的な閉塞は、あるピクセルにおいて構成要素Aが構成要素Bの上にあると考えられ、一方、同一の画像の別のピクセルにおいて、構成要素Bが構成要素Aの上にあることがわかったときに発生する。図7は、円柱がこの視点からは同時にフォークの後ろでありかつ前である相互的な閉塞の例を示す。このような場合、構成要素Aのカテゴリは、Bのカテゴリと相互的な閉塞にあるといわれる。それは、相互的に塞がれるとしてマークされる又は識別される親のカテゴリのために、単一の構成要素の間の相互的な閉塞の単一のインスタンスを取るのみである。
【0044】
上述したような簡単な構成では、2つの閉塞は、オペレータが簡単に、さまざまな構成要素を有するビューを見て、どの構成要素が別の構成要素を塞いでいるかについての知識に基づく推測を作成することによって決定される。プログラムでこの情報を決定することも可能であり、これはより複雑な場合に有用であり、以下のように対処されるであろう。上記の構成例のための相互的な閉塞の情報の例を示す。
【0045】
【表2】

【0046】
相互的な閉塞のすべての場合のためのマスキングを用いて、この2dビューのためのすべての構成を生成するために必要なレンダリングの数は、以下のように計算される。
【0047】
btのレンダリング=840=2×7×3×2×10(色)
whのレンダリング=84=7×2×3×2
geのレンダリング=360=3×2×3×2×10(色)
etのレンダリング=84=2×2×7×3
spのレンダリング=40=2×2×10(色)
srのレンダリング=4=2×2
anのレンダリング=4=2×2
−−−−−−−−−−−−−−−−−−−−−−−−−−
合計のレンダリング(着色後)=1,896
【0048】
これは、あらゆる組み合わせが実行される場合に必要な15,120回のレンダリングからの(ほとんど1桁の)大幅な減少である。しかしながら、この処理は、すべてのパーツについて別々の色を有する能力をサポートし、すべての色の組み合わせを実行するためにとられるであろう1,512,000回のレンダリングと比較されるべきものである。
【0049】
最適化.
すべての構成を生成するために必要な合計のフレームスタックを大幅に減少させるために用いられる4つの最適化が存在する。
【0050】
最適化1:組み合わせレンダリング.
第1の最適化は、異なる色の複数の構成要素を組み合わせる必要がないという仮定のもとでのみ用いられる。いくつかの場合では、これは合理的な仮定であり、別の場合では合理的ではない。相互的な閉塞によって接続されたすべてのカテゴリのレンダリングをグループ分けし、それらを一緒にレンダリングすることによって、大幅な節約が得られる。上述の例では、bt,wh,ge,及びetのレンダリングがすべて、単一の画像で一緒に実行される。これを実行することによって、1008回のレンダリングがスキップされる。
【0051】
最適化#1のみの使用
bt,wh,ge,etのレンダリング=840=2×7×3×2×10(色)
spのレンダリング=40=2×2×10(色)
srのレンダリング=4=2×2
anのレンダリング=4=2×2
−−−−−−−−−−−−−−−−−−−−−−−−−−
合計のレンダリング(着色後)=888
【0052】
この最適化で用いられた単一色の仮定のために、この最適化は以降の例では使用されないであろう。
【0053】
最適化2:独特なマスクのみの使用.
第2の最適化は、独特なマスクのみを考慮することである。自動車のホイール/タイヤの組み合わせは、本方法が大幅な量のレンダリングを節約することができる主要な例である。車両のホイール/タイヤは一般に、ホイールサイズ(16インチ,17インチ,18インチなど)とタイヤ全体の直径との組のみである。この観察についての重要なことは、同じサイズのタイヤの輪郭は一致するということである。これは、マスキングの目的では、これらは同一であると考えられることを意味する。これが適用できるもう1つの場合は、構成要素が2つの異なる仕上げを有するが、同じ形状であるときである。例えば、フロントグリルが、アルミニウム及び光沢のあるクロムであってもよい。それが提供する形状、及びしたがってマスクは同一であるので、グリルの1つのみ又はホイール/タイヤの場合、それぞれのタイヤサイズについて1つのみを考慮することによって、相互的な閉塞における任意のオブジェクトが、それ自身を効果的にレンダリングする。この最適化をサンプルの車両構成に適用することによって、以下のレンダリングの数が得られる(ホイール/タイヤのマスキングが、3つのサイズのために7から3に変化する)。
【0054】
最適化#2のみの使用
btのレンダリング=360=2×3×3×2×10(色)
whのレンダリング=84=7×2×3×2
geのレンダリング=360=3×2×3×2×10(色)
etのレンダリング=36=2×2×3×3
spのレンダリング=40=2×2×10(色)
srのレンダリング=4=2×2
anのレンダリング=4=2×2
−−−−−−−−−−−−−−−−−−−−−−−−−−
合計のレンダリング(着色後)=888
【0055】
これは、顕著な違いをもたらし、レンダリングの数を半分以上削減する。
【0056】
最適化3:レンダリング後の色の変更.
第3の最適化は、車の塗装の着色を、レンダリング処理の後まで延期することを含む。色の変更は、2dレンダリングされた複数の画像上で、合成プログラムによって実行される。複数のフレームの単一のバージョンが、銀色などの一般的な色でレンダリングされる。これらの銀色のレンダリングはその後、車両が構成されるさまざまな色に変更される。この処理は、3dコンテンツ生成アプリケーションからそれぞれの色をレンダリングするよりも1桁速い。この速度の節約は、次節で2.5コンフィギュレータが考察されるときに、さらに組み合わせられる。
【0057】
最適化#2及び#3の使用
btのレンダリング=36=2×3×3×2
whのレンダリング=84=7×2×3×2
geのレンダリング=36=3×2×3×2
etのレンダリング=36=2×2×3×3
spのレンダリング=4=2×2
srのレンダリング=4=2×2
anのレンダリング=4=2×2
−−−−−−−−−−−−−−−−−−−−−−−−−−
合計のレンダリング(着色なし*)=204
*色は後処理において後ほど追加される。
【0058】
上述した技術、及び上記で開示された3つの最適化を用いると、あらゆる可能な構成を生成するほとんどの任意の2dコンフィギュレータを実行することが実用的である。しかしながら、複雑な構成のために、これらのコンフィギュレータを2.5dに変換することは、まだ非常に困難である。
【0059】
2.5dにおける構成要素の分離.
構成要素の分離は、いくつかの問題を伴って2.5dに拡張される。当然、カメラの動きの複数のフレームにわたって2dの構成要素の分離のために説明されたように、複数のレイヤを簡単にレンダリングすることは意味をなす。残念ながら、そのような簡単な解決策は動作しない。問題は、相互的な閉塞、及びカメラの動きによって回転させられる複数の構成要素の相互作用に帰着する。例えば、最初のフレームでは、構成要素Aが完全に構成要素Bの上にあると仮定する。その後、360度のカメラの動きにおけるより後のフレームでは、構成要素Bが今や完全に構成要素Aの上にある。2dにおける相互的な閉塞の上述した例と同様に、このような深さ順序の変更は、相互的な閉塞として考慮される。相互的な閉塞は、複数の単一のフレームについてのみではなく、全体的なカメラの動きにわたってすべてのフレームについてチェックされるべきである。
【0060】
2.5dにおける相互的な閉塞のユーザベースの推測は、すべての可能性についてほとんど不可能である。その代わり、与えられたカメラの動きにわたって相互的な閉塞のすべての場合を検出する特別なアプリケーション(閉塞プロセッサと呼ばれる。)が開示される。アプリケーションが動作するために、アプリケーションは、製品に関するカメラの動きについて、あらゆるフレームのあらゆるピクセルにおけるあらゆる構成要素の深さ情報、及び複数の構成についての基本的な情報にアクセスすることを要求する。深さ情報は、最終的な出力と同じ解像度で2d画像において32ビットの浮動小数点値として提供される。構成は、xmlファイルとして渡される。閉塞プロセッサは、両方を受け取り、相互的な閉塞行列を計算し、行列はその後、コンフィギュレータのマスキング処理を駆動するために用いられる。
【0061】
閉塞プロセッサが、上記で用いられた例のコンフィギュレータ上で実行される場合、プロセッサは、2dコンフィギュレータにおいて発見された閉塞に加えて、サンルーフとアンテナとの間の相互的な閉塞が存在することも検出するであろう。以下に2.5dコンフィギュレータの相互的な閉塞の表を示す。
【0062】
【表3】

【0063】
sr及びanについてのフレームスタック上の相互的な閉塞は、表の右下の角における4つの箱のうちの2つにおいて、太字の“y”として示される。
【0064】
相互的な閉塞モデルを動作させること、及びそれを計算する方法によって、2dコンフィギュレータのために説明されたすべての技術をもとに2.5dコンフィギュレータを推測することができる。しかしながら、上述した3つの最適化が組み合わされても、いくつかの製品構成はまだ、非常に複雑であるので、2.5dに変換されたときに管理できなくなる。これらの場合を扱うために、最終的な最適化が開発された。
【0065】
最適化4:レイヤの順序付け.
上述した技術は、任意のZ方向の順序で組み立てられて、与えられた構成を生成することができるレンダリングを生成する。階層化のみの使用を試みることは、複数の構成要素の深さの相互作用によって失敗した。しかしながら、階層化とマスキングとの組み合わせは、任意の別の技術又は最適化よりも、はるかに多くレンダリングの数を減少させることができる。
【0066】
基本的なアイデアは、複数の構成要素のカテゴリのために特有の階層化順序を定めることである。この特有のレイヤ順序を用いると、複数の構成要素のカテゴリが、レイヤ順序において下にある複数のカテゴリによってマスキングされることにのみ関係するべきであることから、要求されるマスキングが削減される。異なるレイヤ順序は、異なる結果を生成する。1つ又はグループのレイヤ順序は、最も少数の合計のフレームスタックを生成するであろう。この最適化された順序付けは、総当たり(brute force)技術を用いて簡単に計算される。
【0067】
レイヤ順序の例1:
2.5dコンフィギュレータ
(レイヤ順序における)最適化#2,#3,及び#4の使用:
7)spフレームスタック=4=2×2
6)srフレームスタック=8=2×2×2
5)anフレームスタック=4=2×2
4)whフレームスタック=84=7×2×3×2
3)etフレームスタック=12=2×2×3
2)geフレームスタック=6=3×2
1)btフレームスタック=2=2
−−−−−−−−−−−−−−−−−−−−−−−−−−
合計のフレームスタック(着色なし)=120
合計のレンダリングされたフレーム(着色なし)=2880=120×24
【0068】
レイヤ順序の例2:
2.5dコンフィギュレータ
(レイヤ順序における)最適化#2,#3,及び#4の使用:
7)spフレームスタック=4=2×2
6)srフレームスタック=8=2×2×2
5)anフレームスタック=4=2×2
4)geフレームスタック=36=3×2×3×2
3)etフレームスタック=12=2×2×3
2)whフレームスタック=14=7×2
1)btフレームスタック=2=2
−−−−−−−−−−−−−−−−−−−−−−−−−−
合計のフレームスタック(着色なし)=80
合計のレンダリングされたフレーム(着色なし)=1920=80×24
【0069】
これらの2つの例は、レイヤの順序付けがどのように合計のレンダリングの数に影響するかを示す。ホイール/タイヤをレイヤ4からレイヤ2に移動させて、地面効果と排気管の先端とを交換することによって、40個のレンダリングが切り取られる。
【0070】
要約すると、最後の3つの最適化を適用することによって、合計のレンダリングされるフレームの数は、36,288,000から1,920に削減される(最適化#1を用いないことによって、我々はそれぞれの構成要素がそれ自身の色で表示される能力に言及し、また、色の変更は複数のフレームをレンダリングすることと比較して非常に速いため、ここでは色の変更は考慮されない。)。これは、処理をはるかに堅牢にし、最も複雑な製品コンフィギュレータのいくつかさえも取り扱うことができるようにする。さらに、複数の構成における順応的な変更(accommodating change)は、総当たり技術を用いる場合よりも、はるかに管理しやすくなる。
【0071】
処理の概観.
車両の例についてのハイレベルな処理の概観では、すべてのトリムレベル及び可能なパーツにおける車両の複数の第1のデジタルモデルが生成され、まとめられる。その後、車両の製造業者から得られた構成情報は、データをモデルに添付するスクリプトに入力される。データは、カテゴリによって複数の構成要素に分解される。カメラの動きにわたってそれぞれの構成要素のZ方向の深さのレンダリングが生成され、相互的な閉塞のすべての場合を検出する閉塞プロセッサに与えられる。このデータはその後、スクリプト/モデルのデータに返される。好ましい閉塞プロセッサは、手動の作業を不必要にするが、均一色(flat color)のレンダリングが生成され、最も少数の最終的なフレームスタックを生成する相互的な閉塞を出すために用いられる。その後、すべての車両の構成要素の最終的なレンダリングが、必要に応じて適用される一般的な銀色の車の塗装を用いて実行される。車の塗装を有する複数のフレームスタックは、車両が利用可能なすべての色に色変更される。すべてのフレームはその後、必要に応じて自動的に切り取られ、名前を変えられる。最後に、資産は、ユーザが車両を構成し、カメラの動きを通して車両を回転させることを可能にするアプリケーションに統合される。
【0072】
処理の詳細.
要約すると、以下でより十分に詳述するように、複数の構成要素を有する製品のためのコンフィギュレータの処理は、
1)3dデータを複数の高次のパラメトリック曲面から複数の三角形メッシュにテッセレーションする(tessellating)ステップを含んでもよい、製品及び製品の複数の構成要素のための3dデータを収集しかつまとめるステップと、
2)詳細な構成情報を収集してどの構成要素の組み合わせが有効であるかを示すステップと、インタフェースを用いて詳細な構成情報をシーンファイルに入力しかつ記憶するステップと、複数の構成要素を複数の構成要素のカテゴリにまとめるステップと、複数の最終的なフレームスタックをレンダリングするステップと、色の複数のオプションを用いて合成ファイルを生成するステップと、3dマスクを複数の構成要素のそれぞれの部品の形状に関連付けるステップとを含んでもよい、製品の構成情報をセットアップするステップと、
3)Z方向の深さの処理を用いて複数の相互的な閉塞を検出するステップと、複数の構成要素の間の複数の相互的な閉塞、及びどのフレームが複数の相互的な閉塞の検出をトリガしたかを詳述する行列を生成するステップと、コンフィギュレータスクリプトから閉塞プロセッサを用いて、閉塞プロセッサが閉塞情報を返し、結果を構成要素構成データベースに統合するステップとを含んでもよい、構成要素の相互的な閉塞を計算するステップと、
4)相互的な閉塞の複数のオプションを変更するステップ、又はレイヤ順序を変更しかつ複数のZ方向の深さフレームを再処理するステップを含んでもよい、最適なレイヤ順序を決定するステップと、
5)相互作用によって製品の構成を変更することができるユーザのために、複数のフレームスタックをアプリケーションに統合するステップと、
6)ユーザの要求に応じて複数のフレームを動的にロードするステップとを含んでもよい。
【0073】
構成情報/CADデータ収集/データ準備.
コンフィギュレータの処理は、車両、車両のトリムレベル、及びすべてのオプションのパーツ及び付属品などの製品のための3dデータを収集すること/生成することから始まる。このデータは、三角形メッシュ、3dスキャンデータ、手でモデル化されたデータ、又は任意の別のタイプの3dデータにテッセレーションされる(tessellated)CADデータであってもよい。車両は、単一の3dシーンファイルにデジタル的に組み立てられる。それぞれのトリムレベル、付属品、及びベース車両でさえも、それらをすばやくオフ及びオンすることを可能にする複数のレイヤによってシーンファイルにまとめられる。複数のレイヤのさまざまな状態をトグルすることは、それぞれの車両構成が再生される方法である。詳細な属性情報はまた、木目のパターン及び色のような材料の特質のマッチングに完全に適用される。
【0074】
車両の構成情報のセットアップ.
モデルデータが収集される一方、詳細な構成情報も収集される。この情報は、トリムレベルのパッケージからオプションの付属品及び依存関係まで、最終的な車両においてどのパーツの組み合わせが有効であるかを示す。この情報は、具体的にはこの目的のために生成されたコンフィギュレータエディタアプリケーションに入力される。パーツは、複数の構成要素のカテゴリ(すなわち、“ホイール/タイヤ”、“地面効果”、“排気管の先端”)にまとめられる。それぞれの構成要素のカテゴリは、2つ又はそれ以上の構成要素(“17インチの光沢のあるアルミニウムホイール”、“LZX地面効果”、“二重のクロムの排気管の先端”)を有する。ユーザは、どの3dオブジェクトのレイヤがどの車両の構成要素に対応するかを指示する。すべての依存関係の情報がまた入力されて、この情報はシステムがどの組み合わせが有効で、どの組み合わせが有効でないか(すなわち、“17インチの光沢のあるアルミニウムホイール”は、“LX”トリムレベルでは利用不可能である。)を決定することを可能にする。出力ファイルの名前をより読みやすくするために、別名が構成要素のカテゴリに与えられてもよい(“ホイール”が“wh”になってもよい。)。さらに、それぞれの部品の形状が、それに関連する3dデータのマスクを有するべきである。ほとんどの場合、これらのマスクは、形状そのものである。しかしながら、ホイール/タイヤのような特別な場合は、フレームスタックの数を減少させるために活用されてもよい。同じサイズのすべてのホイール/タイヤ(すなわち、17インチの複数のホイール)は、同一のマスクデータを効果的に共有することができる。これは、ホイール/タイヤによってマスクされる任意のパーツは、すべてのホイール(4−10種類のホイールが一般的である。)の代わりに、それぞれのホイール/タイヤのサイズ(標準装備として2−3種類のホイール/タイヤのサイズが一般的であるが、アフターマーケットでは、数百種類が利用可能である。)のためのマスクを用いてレンダリングされるだけでよいことを意味する。
【0075】
複数のZ方向の深さパスのレンダリング、及び相互的な閉塞の計算.
複数の構成要素が相互的な閉塞を示す場合を決定することが、処理における次のステップである。相互的な閉塞の場合を検出するために、カメラの動きにわたって32ビットのZ方向の深さフレームのレンダリングを処理し、かつ複数の構成要素の間で複数の相互的な閉塞が発生するすべての場合、及びどのフレーム又は複数のフレームが検出をトリガしたかを詳述する行列を生成するアプリケーションが開発された。プログラムは、それぞれの構成要素がカメラの動きにおけるそれぞれのフレームのためのレンダリングされた自分自身のZ方向の深さを有することを必要とする。
【0076】
コンフィギュレータエディタ及びアプリケーションインタフェースは、ユーザが、相互的な閉塞の処理のために必要とされるすべてのZ方向の深さレンダリングを生成する、レンダリングのジョブのバッチを投入する(submit)ことを可能にするようにセットアップされる。すべてのレイヤが一度に送信されてもよく、又は個別の複数のレイヤが一度に1つ送信されてもよい。
【0077】
複数のZ方向の深さフレームが仕上げられると、閉塞プロセッサは、コンフィギュレータエディタから開始されてもよい。プロセッサは、すべての閉塞情報を返し、結果を構成要素構成データベースに統合する。
【0078】
Z方向の深さ方法の代替となる方法は、相互的な閉塞行列を手動で決定することである。これを実行する1つの簡単な方法は、低い品質のレンダリングの設定で、均一色でそれぞれの構成要素をレンダリングすることである。これら均一色のレンダリングはその後、手動の相互的な閉塞のテストのために、合成ソフトウェアにインポートされる。複数の構成要素は互いの上に階層化され、複数のフレームスタックは、カメラの動きを通して、どの構成要素が互いに影響するかをテストするために循環される。この手動の方法は、オペレータに責任を課すので好ましくなく、複数のフレームをレンダリングして組み立てる処理は、高度にパイプライン化されているので、誤った閉塞の決定の結果は、気付くためにはしばらく時間がかかる。オペレータが相互的な閉塞行列を誤った場合、これは、コンフィギュレータの処理をレンダリングのステップから再起動させる複数のフレームの再レンダリングを余儀なくさせる。
【0079】
最適なレイヤ順序の決定.
複数の構成要素のカテゴリのための最適な階層化順序を決定することは、フレームスタックの数を最小に維持するために重要である。それぞれの可能なレイヤ順序についてフレームスタックの数をチェックする総当たり技術を用いて、最適なレイヤ順序をプログラムで決定することができる。レイヤの数が7又は8を越えると、この総当たり方法は長時間かかることがある。オペレータが、どれがよいレイヤ順序かについて知識に基づく推測を実行し、コンフィギュレータエディタにその順序についてのフレームスタックの数を計算させることがより速いこともある。オペレータはその後、元の順序と比較するために、別のレイヤ順序を試み、フレームスタックの数を計算してもよい。通常、製品の3d表現をよく理解しているオペレータは、どのレイヤ順序であるべきかについてよい推測をすることができ、その後、それを絞り込んで、少数の異なるオプションをテストすることができる。オペレータがレイヤ順序についてこのような判断ができないときは、構成が簡単な場合、又は時間が制約されない場合には、総当たり技術が用いられてもよい。総当たりがオプションではない場合、合理的なフレームスタックの数を生成する任意のレイヤ順序が、実行可能なオプションである。本明細書で上述したように、いくつかのレイヤ順序が別のものよりもより多くのフレームスタックを生成する事実以外に、任意の与えられたレイヤ順序が用いられない技術的な理由はない。
【0080】
均一色のレンダリングは、スキップされてもよいオプションであるが、このバリエーションでは、ユーザは、(コンフィギュレータスクリプトを再び用いて)非常に低い品質のレンダリングの設定で、構成要素自身の均一色でそれぞれの構成要素のレンダリングを開始して、レンダリングの時間を短く維持する。これらの均一色のレンダリングはその後、レイヤ順序のテスト、及び最終的な相互的な閉塞のテストのために、合成ソフトウェアにインポートされる(閉塞プロセッサは正確すぎることもあり、スポイラーの取り付け箇所などのメッシュにおける小さな穴に起因する相互的な閉塞の場合を検出するであろう。このような場合、オペレータは、どのカテゴリが互いに相互的な閉塞状態であるかについて、最終的な指示をするべきである。)。複数のレイヤの順序は、すべての有効なコンフィギュレータの組み合わせを生成するために必要なレンダリングの合計の数に大きな効果を有するので、オペレータはこのステップでは注意すべきである。閉塞プロセッサのバージョンは、小さい針穴のようなものが誤検出(false positives)を生成しないように、割合に基づいて動作するように設計される。さらに、閉塞プロセッサがより正確に相互的な閉塞を決定することができると、プロセッサはまた、最適なレイヤ順序を決定することができるであろう。ユーザが、最適なレイヤスタックの順序を決定すると、この情報は、コンフィギュレータスクリプトに入力し戻される。
【0081】
複数の最終的なフレームスタックのレンダリング.
入力された構成情報を用いて、コンフィギュレータスクリプトは、適切にマスクされた複数の構成要素のレンダリングを生成することができる。レンダリングは、構成エディタからバッチで又は一度に1つ起動される。
【0082】
分解シート(breakdown sheet)の命名.
データシートは、シーンファイルで必要とされるものよりもより詳細にコンフィギュレータ内に存在する複数の構成要素のそれぞれを分解するコンフィギュレータエディタから生成される。これは、パーツの実名、マスクid、構成要素が塗装されているか否か、閉塞の別名、レイヤ順序などのそれぞれの構成要素のための追加の情報を含む。また、塗装色のコード及び名前についての情報が、これに含まれてもよい。製品の製造業者は、最終的な提供品(deliverables)を決定する処理の一部として、分解シートを承認するべきである。
【0083】
合成ファイルの構築.
塗装された車両の複数の構成要素をさまざまな色に色変更することは、2d合成ソフトウェアにおいて実行される。専門化されたプラグインは、表面法線(surface normal)、反射、屈折などのデータを含む特別なレンダリングエレメントのバッファを用いて車の塗装のシェーダを再生するために利用される。これは、美術担当者がそれぞれのレンダリングエレメントの組み合わせを個別に微調整すること、及び2dの間にベース色を変更することを可能にする。一般に、ベースの銀色の車の塗装は、車両がどの色で利用可能であるかに依存して、5種類から15種類程度の異なる色に変更される。合成スクリプト/ファイルは、生成されたすべてのレンダリングが、スクリプトに自動的に読み込まれ、かつ正しい経路(path)に書き出されるように、構成エディタによって生成される。多数のフレームスタックのためのすべてのリードノード(read node)及びライトノード(write node)をセットアップする処理は、手で実行すると手ごわくかつエラーが発生しやすいタスクであるので、このステップはオートメーションにおいて用いられる。いくつかの場合では、すべてのフレームスタックのために単一の合成ファイルを生成することは意味をなすが、一方、別の場合では、合成ファイルを別々のスクリプトファイルに分解することが意味をなす。
【0084】
自動切り取りオプション.
ファイルサイズを減少させるために、すべての画像が、最終的なウェブアプリケーションにおいて、それらを簡単に利用可能にする方法で、構成要素のカテゴリによって自動的に切り取られる。自動的な切り取りは、ジョブを投入するための開始アプリケーション(kick-off application)を用いるレンダラ上で実行される。切り取りは、構成ファイルによって直接的に駆動される。
【0085】
資産の名前変更オプション.
処理におけるより初期のステップによって生成された名前は、最終的なウェブアプリケーションにおいて使用するには適切でないことがあり、特に、パーツの番号、又はいくつかの別の命名規則に基づいて構成情報を提供する外部のデータサービスとの統合を試みるときに適切でないことがある。すべての資産をウェブアプリケーションによって要求される任意のフォーマットに名前を変更することを可能にする堅牢な名前変更処理が統合されている。名前変更のステップは、構成ファイルによって再び駆動される。これは、パーツの名前が、車両の色に基づいて変化する場合(これは、パーツが制限された数の色に塗装される直前である、又は事前に塗装されているときに発生する。)にも順応する。
【0086】
最終的なウェブアプリケーション.
コンフィギュレータの処理の最後の部分は、ユーザが、マウスの相互作用又は別の入力デバイスを用いて、製品、すなわち車両を“回転させる”ことを可能にするアプリケーションに、複数のフレームスタックを統合することを含む。アプリケーションは、ユーザが製品の構成を変更するというような要求に応じて、レイヤ順序及び相互的な閉塞情報に基づいて、複数のフレームを動的にロードしなければならない。このようなユーザインタフェースは、ユーザの入力ごとに要求に応じて複数のレイヤを組み立てる2.5dビューアとなることができる。
【0087】
論理.
すべてのレイヤがレンダリングされると、それらのレイヤは、さまざまな方法によって製品の正確な表現に組み立てられる。これは、典型的に、どのように部品が組み合わされるかに関連した論理を考慮するプログラムによって達成される。この論理は、レイヤの数又はフレームの数が、数個から数十万個に増加するにつれて、ますます重要になる。
【0088】
これらの製品の組み合わせがどのように組み立てられるかに関連した論理は、典型的に、組み立てガイドを介して、又は製品に関する人間の知識に基づいて、製造業者によって提供される。さらに、論理をさらに定義する独特なパッケージに組み合わされるいくつかの構成要素が存在してもよい。
【0089】
製品の構成は、典型的に、複数のレイヤ及び複数のフレームへのローカルインタフェースを介し、スタンドアロンコンピュータ又はインターネットを経由し、ウェブブラウザ又はアプリケーションを介してユーザに提供される。
【0090】
すべてのレイヤを構成された製品画像に組み立てる能力は、階層化方法によって生成されたさまざまなレイヤに関連する論理を必要とする。複数のレイヤにリンクされた論理の正確さは、レイヤの数が増加するにつれて、ますます重要になる。これは、生産され得ない不正確な構成又は製品を防止する。
【0091】
レイヤの数が増加するにつれて、組み立て処理を自動化する必要性が、ヒューマンエラーを防止するために必要になる。これは、典型的に、製造業者の組み立てドキュメントを介して、手動で論理にリンクされる複数のレイヤの命名規則を用いて取り扱われる。このリンクが確立されると、組み立てプログラムは、要求された複数のレイヤに、ユーザへ構成を提示するように命じることができる。これまで、論理と複数のフレームの命名とのリンクは、解決するために追加の資源を必要とするエラーを常に生成する手動の人間の介在を必要としていた。さらに、製品の複数のオプションにおける任意の変更、又は製品の設計の変更は、複雑性及び更新のためのコストをさらに追加する構成ファイルが再プログラムされることを要求することがある。
【0092】
本明細書で概説されたアプローチは、リンクすること及び論理を複数のレイヤの生成フェーズに移動し、それによって、簡単なプログラムによって利用されて、視覚的なインタフェースにおいて複数のレイヤ及び複数のフレームを組み立てることができる構成論理ファイルを自動的に生成する。レンダリングのときに構成ファイルを生成することによって、製品の組み立て論理を複数の画像に手動でリンクする必要性が削除される。それによって、構成処理における手動のステップを削除する。
【0093】
製造業者の組み立て論理に基づいて製品の複数の3dファイルをまとめること、及び本明細書で定義した階層化方法を用いることによって、製品論理が、複数の3dファイルが複数の構成の複数の製品画像を生成するためにどのように利用されるかを自動的に決定する一方、最適化処理によって全体の画像を減少させる。複数の画像がレンダリングされるときに、複数の画像がどのように構成された製品の正確な表現に組み立てられるかを決定する構成文書が生成される。構成文書の自動生成は、構成を表示することの全体の処理を簡単化する鍵である。
【0094】
設計の変更は、製品のライフサイクルを通じて行われるので、更新された画像が新しい構成ファイルとともに生成されて、長期間の効果をさらに高める新しい構成エンジンをサポートする最新の状態に、複数の3dファイルが保たれることが望ましい。
【0095】
本開示は、例示的な実施形態を用いて説明され、その一般的な原理を用いて任意のバリエーション、使用、又は適応を含むことを意図している。当業者は、以下の特許請求の範囲に列挙される本開示の精神及び範囲から逸脱することなく、さまざまな修正及び同等物を工夫することができると想像される。さらに、本開示は、それに付属する当業者の既知の又は通例の慣習であるように、本開示からのこのようなバリエーションを含むことを意図している。

【特許請求の範囲】
【請求項1】
構成可能な複数の構成要素を有する製品の複数の画像を生成するコンフィギュレータにおいて、
最適化されたレイヤ順序とともに用いられるマスキングを有する画像階層化方法を含み、
上記構成可能な複数の構成要素の相互的な閉塞の場合を検出する閉塞プロセッサを含むコンフィギュレータ。
【請求項2】
上記コンフィギュレータは、複数の画像の複数のレイヤが生成されるときに製品構成の論理を生成し、それによって、上記論理を上記複数のレイヤに自動的にリンクする請求項1記載のコンフィギュレータ。
【請求項3】
ユーザの入力に基づいて複数の画像の複数のレイヤを組み立てるビューアをさらに含む請求項1記載のコンフィギュレータ。
【請求項4】
上記リンクすること及び論理を上記複数のレイヤの上記生成フェーズに移動し、それによって、簡単なプログラムによって利用されて、視覚的なインタフェースのために上記複数のレイヤを組み立てる構成論理ファイルをレンダリングにおいて自動的に生成する組み立て処理を含む請求項1記載のコンフィギュレータ。
【請求項5】
上記画像階層化方法は、すべての単一の組み合わせのために完全な製品の画像をレンダリングする必要性を防止し、
最も一般的なファクタは、1つのレイヤ上でレンダリングされる一方、最も一般的ではない複数のファクタは、別々の複数のレイヤ上でレンダリングされる請求項1記載のコンフィギュレータ。
【請求項6】
画像階層化方法を有して複数の製品の複数の構成をサポートする、コンピュータで生成された画像のためのコンフィギュレータにおいて、
論理に基づいて多数の組み合わせに組み立てられる複数の3次元モデルから、上記階層化方法で複数の2次元画像を生成する手段と、
複数のZ方向の深さパスをレンダリングする手段と、
上記複数のZ方向の深さパスから、相互的な閉塞の場合を検出する閉塞プロセッサと、
最適なレイヤの順序付けを決定する手段と、
複数の最終的なフレームをレンダリングするアプリケーションと、
合成スクリプトを生成する手段とを含むコンフィギュレータ。
【請求項7】
上記画像階層化方法は、すべての単一の組み合わせのために完全な製品の画像をレンダリングする必要性を防止し、
最も一般的なファクタは、1つのレイヤ上でレンダリングされる一方、最も一般的ではない複数のファクタは、別々の複数のレイヤ上でレンダリングされる請求項6記載のコンフィギュレータ。
【請求項8】
レイヤを順序付けかつマスキングするステップと、
複数の構成要素のZ方向の深さを用いて階層化を最適化するステップと、
複数の画像の複数のレイヤが生成されるときに、製品構成の時点で論理を生成するステップとを含み、
画像を階層化する方法を用いて、構成可能な複数の構成要素を有する製品を2次元における上記製品の複数のマルチアングル画像のために構成する処理。
【請求項9】
上記製品構成ファイルを生成する時点で論理を生成するステップは、論理を複数の画像の複数のレイヤに自動的にリンクする請求項8記載の処理。
【請求項10】
複数の画像の複数のレイヤが生成されるとき、上記リンクすること及び論理は、簡単なプログラムによって利用されて、視覚的なインタフェースのために上記複数のレイヤを組み立てる構成論理ファイルを自動的に生成する請求項8記載の処理。
【請求項11】
上記製品の複数の3次元ファイルをまとめて、上記最も一般的な及び最も一般的ではない複数のファクタを決定する追加のステップを含み、
論理は、上記複数の3次元ファイルがどのように複数の製品画像を生成することができるかを自動的に決定する請求項8記載の処理。
【請求項12】
複数の画像をレンダリングし、同時に、どのように複数の画像が構成された上記製品の正確な表現に組み立てられるかを決定する構成文書を生成するステップを含む請求項8記載の処理。
【請求項13】
複数の構成要素を有する製品のためのコンフィギュレータの処理において、
上記製品及び上記製品の複数の構成要素のための3次元データを収集しかつまとめるステップと、
3次元マスクを上記複数の構成要素のそれぞれの部品の形状に関連付けるステップを含み、製品の構成情報をセットアップするステップと、
上記複数の構成要素の相互的な閉塞を計算するステップと、
最適なレイヤ順序を決定するステップと、
相互作用によって上記製品の構成を変更することができるユーザのために、複数のフレームスタックをアプリケーションに統合するステップと、
上記ユーザの要求に応じて複数のフレームを動的にロードするステップとを含むコンフィギュレータの処理。
【請求項14】
上記3次元データを収集しかつまとめるステップは、上記3次元データを複数の高次のパラメトリック曲面から複数の三角形メッシュにテッセレーションするステップを含む請求項13記載のコンフィギュレータの処理。
【請求項15】
上記製品の構成情報をセットアップするステップはさらに、
詳細な構成情報を収集して、どの構成要素の組み合わせが有効であるかを示すステップと、
インタフェースを用いて詳細な構成情報をシーンファイルに入力しかつ記憶するステップと、
複数の構成要素を複数の構成要素のカテゴリにまとめるステップと、
複数の最終的なフレームスタックをレンダリングするステップと、
合成ファイルを生成するステップとを含む請求項13記載のコンフィギュレータの処理。
【請求項16】
上記相互的な閉塞を計算するステップは、
Z方向の深さの処理を用いて複数の相互的な閉塞を検出するステップと、
複数の構成要素の間の複数の相互的な閉塞、及びどのフレームが複数の相互的な閉塞の検出をトリガしたかを詳述する行列を生成するステップと、
コンフィギュレータスクリプトから閉塞プロセッサを用いて、上記閉塞プロセッサが閉塞情報を返し、結果を構成要素構成データベースに統合するステップとを含む請求項13記載のコンフィギュレータの処理。
【請求項17】
上記最適なレイヤ順序を決定するステップは、相互的な閉塞の複数のオプションを変更するステップを含む請求項13記載のコンフィギュレータの処理。
【請求項18】
上記最適なレイヤ順序を決定するステップは、レイヤ順序を変更しかつ複数のZ方向の深さフレームを再処理するステップを含む請求項13記載のコンフィギュレータの処理。
【請求項19】
上記合成ファイルを構築するステップは、2次元合成ソフトウェアを用いて、着色された複数の構成要素をさまざまな色に色変更し、色を有する構成要素の複数のフレームスタックを処理するステップを含む請求項13記載のコンフィギュレータの処理。
【請求項20】
上記ユーザは、ウェブインタフェース上の相互作用を用いて、異なるビューを見せる上記製品を回転させる請求項13記載のコンフィギュレータの処理。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−73207(P2010−73207A)
【公開日】平成22年4月2日(2010.4.2)
【国際特許分類】
【外国語出願】
【出願番号】特願2009−214514(P2009−214514)
【出願日】平成21年9月16日(2009.9.16)
【出願人】(509259998)スピードシェイプ・インコーポレイテッド (1)
【氏名又は名称原語表記】Speedshape, Inc.
【Fターム(参考)】