【文献】
上原悠永ほか,擬似的三次元コピー機,情報処理学会 エンタテインメントコンピューティングシンポジウム2013論文集,日本,情報処理学会,2013年 9月27日,2013巻,188〜193ページ
(58)【調査した分野】(Int.Cl.,DB名)
前記所定の値セットは、前記それぞれの時点における前記レンダリングされた仮想環境の前記少なくとも一部の前記状態を再構築するのに使用可能なデータを含む、請求項1または2に記載の方法。
前記所定の値セットは、前記それぞれの時点における前記仮想環境の再構築内の特定のゲーム内キャラクタの状態を再構築するのに使用可能なデータを含む、請求項1または2に記載の方法。
連続した所定の値セットが、ビデオデータに組み込まれた識別子によって対応する連続したビデオ画像と関連付けられ、前記所定の値セットと前記ビデオ画像とは1つまたは複数の第三者ホストへ別々にエクスポートされる、請求項1に記載の方法。
コンピュータによって実行されると、前記コンピュータに、請求項1から8のいずれか一項に記載のステップを実施させるコンピュータソフトウェアを格納するコンピュータ読み取り可能な記録媒体。
前記ビデオゲームホスティング装置のオペレーティングシステムが、記録期間が限られる場合、所定数の時点について、前記レンダリングされた仮想環境の少なくとも一部の前記ビデオ画像を記録するように適応している、請求項10に記載のビデオゲームホスティング装置。
連続した所定の値セットを対応する連続したビデオ画像と関連付け、前記連続した所定の値セットと前記ビデオ画像を一緒に第三者ホストへ送信するように適応している送信手段
を含む、請求項10に記載のビデオゲームホスティング装置。
連続した所定の値セットを、ビデオデータに組み込まれた識別子によって対応する連続したビデオ画像と関連付け、前記所定の値セットと前記ビデオ画像とを別々に1つまたは複数の第三者ホストへ送信するように適応している送信手段
を含む、請求項10に記載のビデオゲームホスティング装置。
それぞれの時点からの見直しのためのビデオゲームのレンダリングされた仮想環境の少なくとも一部の1つまたは複数のビデオ画像を出力するように適応している見直し手段、および特定の時点と関連付けられたビデオ画像を選択するように適応している入力手段と、
前記特定の時点におけるレンダリングされた仮想環境の少なくとも一部を、3Dプリントされるべきオブジェクトとして選択するように適応している入力手段と、
前記レンダリングされた仮想環境の前記選択された少なくとも一部の状態を定義するそれぞれの所定の値セットであって、ビデオ画像以外のデータを含み、各所定の値セットが対応するビデオ画像に関連付けられた前記所定の値セットを取得するように適応している取得手段と、
前記取得されたそれぞれの値に応じて、3Dプリンティングのために構成される前記レンダリングされた仮想環境の前記選択された少なくとも一部のモデルを生成するように適応している生成手段と
を含む、コンピューティング装置。
前記生成手段は、中間モデルデータまたは完全モデルデータをリモート3Dプリンティングサービスへ送信する送信手段を含む、請求項14に記載のコンピューティング装置。
【発明を実施するための形態】
【0013】
ビデオゲームから3Dプリンティングのためのオブジェクトを選択する装置および方法を開示する。以下の説明においては、本発明の実施形態の十分な理解を提供するためにいくつかの具体的詳細を提示する。しかし、これらの具体的詳細は本発明を実施するために用いられなくてもよいことが、当業者には明らかであろう。逆にいうと、当業者に公知の具体的詳細は、必要に応じて、明確にするために省かれる。
【0014】
本発明の一実施形態においては、娯楽装置が3Dプリンタに動作可能に結合される。娯楽装置は、本明細書で後述するように、3Dプリンタによる複製のためのビデオゲームプレーのスナップショットを取り込むように動作するように配置される。
【0015】
[娯楽装置]
適切な娯楽装置の一例が、Sony(登録商標)PlayStation4(登録商標)装置である。
【0016】
図1に、Sony(登録商標)PlayStation4(登録商標)娯楽装置の全体システムアーキテクチャを概略的に示す。システムユニット10が、システムユニット10に接続可能な様々な周辺装置と共に設けられる。
【0017】
システムユニット10は、アクセラレーテッド・プロセッシング・ユニット(APU)20を含み、APU20は、中央処理装置(CPU)20Aおよびグラフィックス処理装置(GPU)20Bをさらに含むシングルチップである。APU20は、ランダム・アクセス・メモリ(RAM)・ユニット22にアクセスすることができる。
【0018】
APU20は、任意選択で入出力ブリッジ24を介してバス40と通信し、入出力ブリッジ24は、ディスクリート構成要素であっても、APU20の一部であってもよい。
【0019】
バス40に接続されるのは、ハード・ディスク・ドライブ37や、互換性を有する光ディスク36A上のデータにアクセスするように動作するBlu‐ray(登録商標)ドライブ36といったデータ記憶構成要素である。加えて、RAMユニット22もバス40と通信することができる。
【0020】
任意選択で、バス40には補助プロセッサ38も接続される。補助プロセッサ38は、オペレーティングシステムを実行し、またはサポートするために設けることができる。
【0021】
システムユニット10は、オーディオ/ビジュアル入力ポート31、Ethernet(登録商標)ポート32、Bluetooth(登録商標)無線リンク33、Wi‐Fi(登録商標)無線リンク34、または1つもしくは複数のユニバーサル・シリアル・バス(USB)ポート35を介して、適宜、周辺装置と通信する。オーディオおよびビデオを、HDMI(登録商標)ポートといったAV出力39を介して出力することができる。
【0022】
周辺装置には、PlayStation Eye(登録商標)やPS Camera(登録商標)のような単眼または立体視のビデオカメラ41、PlayStation Move(登録商標)のようなワンド型ビデオゲームコントローラ42およびDualShock4(登録商標)のような従来型のハンドヘルド式ビデオゲームコントローラ43、PlayStation Portable(登録商標)装置やPlayStation Vita(登録商標)装置といった携帯型娯楽装置44、キーボード45および/またはマウス46、例えば、遠隔制御装置の形のメディアコントローラ47、ならびにヘッドセット48が含まれうる。電話機やタブレット、プリンタ、3Dプリンタ(不図示)といった他の周辺装置も同様に考察することができる。
【0023】
GPU20Bは、任意選択でCPU20Aと共に、AV出力39を介して出力するためのビデオ画像およびオーディオを生成する。任意選択で、オーディオは、オーディオプロセッサ(不図示)と共に、または代わりにオーディオプロセッサによって生成することもできる。
【0024】
ビデオおよび任意選択でオーディオは、テレビ受像機51に提示することもできる。テレビ受像機によってサポートされる場合には、ビデオは立体視とすることができる。オーディオは、ステレオ、5.1サラウンドサウンド、7.1サラウンドといったいくつかの形式のうちの1つでホーム・シネマ・システム52に提示することができる。ビデオおよびオーディオは同様に、ユーザ60によって装着されたヘッド・マウント・ディスプレイ・ユニット53に提示することもできる。ヘッド・マウント・ディスプレイ・ユニットは、一体型ヘッドホン、着脱式ヘッドホン/イヤホンを備えていてもよく、ユーザに供給される別個のオーディオを利用してもよい。
【0025】
より詳細には、処理に関して、CPU20Aは、例えば、AMD(登録商標)による「Jaguar」CPUアーキテクチャに基づく、2つの64ビット4コアモジュール、合計で8つのコアを含むことができる。各コアは、1.6GHzのベースクロック速度を使用することができる。GPU20Bは、各々が64コアを含む18個の計算ユニット、合計で1152コアを含むことができる。GPUは、例えば、AMD(登録商標)によるRadeon(登録商標)GCNアーキテクチャに基づくものとすることができる。GPUコアは、グラフィックス、物理計算、および/または汎用処理に使用することができる。
【0026】
記憶に関しては、システムRAM22は、8GBのRAMを、例えば、16ブロックの512MB GDDR5統合システムメモリとして含むことができ、CPUおよびGPUによって共用される。他方ハードディスクは、500GBハードドライブとすることができる。任意選択で、ハードドライブは、システムユニットのユーザが交換可能であるように取り付けられる。Blu‐ray(登録商標)ドライブは、複数の標準読み取り速度で、Blu‐ray(登録商標)ディスクからデータを読み取ることができる。Blu‐ray(登録商標)ドライブは、ハードウェア実装のいわゆる「zlib」伸張モジュールに動作可能に結合することができる。補助プロセッサは、例えば、256MBのDDR3 SDRAMといった、独自のローカルメモリを備えることができる。
【0027】
通信に関しては、システムユニット10は、802.11b/g/n Wi‐Fi(登録商標)34、10Base‐T、100BASE‐TX、および1000BASE‐T Ethernet(登録商標)32、Bluetooth2.1(登録商標)33、ならびに1つまたは複数のUSB3.0ポート35を含むことができる。システムユニットは、AV入力31を介してビデオおよび任意選択でオーディオを受信することができる。同様に、システムユニットは、AV出力39を介して、またはBluetooth(登録商標)、Wi‐Fi(登録商標)、もしくはUSBを介して、ビデオおよび任意選択でオーディオを出力することもできる。
【0028】
周辺装置に関しては、システムユニットは通常、DualShock4(登録商標)といった、少なくとも1つのハンドヘルド式コントローラ43を備える。このコントローラは、オペレーティングシステムおよび/またはシステムユニットによって実行されている特定のゲームもしくはアプリケーションと関連付けられている、システムユニットによって提示されるユーザインターフェースと対話するのに使用することができる。
【0029】
ユーザも、PlayStation Eye(登録商標)といったビデオカメラ41を使用してシステムユニットと対話することができる。これは、例えば、AV入力31を介してシステムユニット10へ、単眼の、または立体視のビデオ画像を提供することができる。これらの画像がユーザの一部または全部を取り込む場合、ユーザは、現在提示されているユーザインターフェースと対話するために、適宜、身振り、顔の表情、または音声を実演することができる。
【0030】
代替として、または加えて、PlayStation Move(登録商標)42といったカメラベースのユーザ対話で支援するように設計されたコントローラを提供することもできる。このコントローラは、ワンド型フォームファクタを有し、取り込まれたビデオ画像内のコントローラの検出を円滑化する照明領域を有する。照明領域は、DualShock4(登録商標)装置といった他のコントローラ43上でも同様に設けることができる。どちらの種類のコントローラも、3軸に沿った横断運動および3軸の周りの回転運動を検出するための動きセンサ、ならびに運動データをシステムユニットへ伝えるための無線通信手段(Bluetooth(登録商標)など)を含む。任意選択で、そうしたコントローラは、ランブル効果といった機能を実施するための、または照明領域の色もしくは明るさを変更するためのシステムユニットからの制御データを、これらの機能がコントローラによってサポートされる場合に受信することもできる。
【0031】
またシステムユニットは、携帯型娯楽装置44と通信することもできる。携帯型娯楽装置44は、独自の制御入力およびオーディオ/ビジュアル出力のセットを含むことになる。ゆえに、「リモートプレー」モードでは、携帯型娯楽装置の入力のうちの一部または全部をシステムユニット10への入力として中継することができると同時に、システムユニット10からのビデオおよび/またはオーディオ出力を、独自のオーディオ/ビジュアル出力と共に使用するために携帯型娯楽装置へ中継することもできる。通信は(例えば、Bluetooth(登録商標)やWi‐Fi(登録商標)を介した)無線とすることも、USBケーブル経由とすることもできる。
【0032】
有線手段または無線手段のどちらかによってシステムユニット10と対話しうる他の周辺装置には、キーボード45、マウス46、メディアコントローラ47、およびヘッドセット48が含まれる。ヘッドセットは、1つまたは2つのスピーカおよび任意選択でマイクロホンを含むことができる。
【0033】
出力に関しては、GPUは通常、AV出力39への1080p高精細度画像を生成する。これらの画像のフレーム率は様々とすることができる。画像は通常、標準HDMI接続を介して、任意選択でAV受信機(不図示)を介して、テレビ受像機51に伝えられる。テレビ受像機が立体視表示をサポートする場合、任意選択で、ユーザからのコマンドに応答して、1080p高精細度画像を、例えば、左右サイド・バイ・サイド形式を使用した立体視画像としてフォーマットすることができる。テレビ受像機はその場合、専用の眼鏡を使用して、または裸眼立体視ディスプレイからの有向光路を使用して、ユーザの左目と右目にそれぞれ提示するために、画像を2つに分割し、各半分を補間して各半分を補間して全幅にすることになる。
【0034】
任意選択で、補助オーディオプロセッサ(不図示)と共に、APU20は、AV出力39を介して出力するためのオーディオを生成する。オーディオ信号は通常、ステレオ形式またはいくつかのサラウンドサウンド形式のうちの1つである。この場合もやはりこのオーディオ信号は通常、HDMI標準接続を介してテレビ受像機51に伝えられる。代替として、または加えて、オーディオ信号はAV受信機(不図示)に伝えることもでき、AV受信機は、オーディオ信号形式を復号し、ホーム・シネマ・システム52に提示する。オーディオは、無線リンクを介してヘッドセット48へ、またはハンドヘルド式コントローラ43へ提供することもできる。ハンドヘルド式コントローラはその場合、ヘッドホンまたはヘッドセットがコントローラに接続されることを可能にするオーディオジャックを提供することができる。
【0035】
最後に、ビデオおよび任意選択でオーディオは、Sony Morpheus(登録商標)ディスプレイといったヘッド・マウント・ディスプレイ53に伝えることもできる。ヘッド・マウント・ディスプレイは通常、任意選択で、ユーザがディスプレイユニットに焦点を合わせることを可能にする適切な光学部品と共に、ユーザの正面にそれぞれ取り付けられる2つの小型ディスプレイユニットを含む。代替として、1つまたは複数の表示ソースを、ユーザの頭部の側面に取り付け、ユーザの両目に各表示画像をそれぞれ提示するための導光体に動作可能に結合することもできる。代替として、1つまたは複数の表示ソースを、ユーザの両目の上方に取り付け、ミラーまたはハーフミラーを介してユーザに提示することもできる。この後者の場合には、表示ソースは、任意選択で、ユーザの左目および右目のためのそれぞれの画像を表示する画面の左部分および右部分を有する分割画面出力を表示する、携帯電話機または携帯型娯楽装置44とすることができる。これらの装置のヘッド・マウント・ディスプレイは、一体型ヘッドホンを含むこともでき、ヘッドホンへの接続機能を提供することもできる。同様に、ヘッド・マウント・ディスプレイは、一体型マイクロホンを含むこともでき、マイクロホンへの接続機能を提供することもできる。
【0036】
動作に際して、娯楽装置は、デフォルトでOrbis OS(登録商標)、FreeBSD9.0の改訂版といったオペレーティングシステムに設定される。オペレーティングシステムは、CPU20A、補助プロセッサ38、またはこれら2つの混合上で実行することができる。オペレーティングシステムはユーザに、PlayStation Dynamic Menuといったグラフィカル・ユーザ・インターフェースを提供する。メニューは、ユーザがオペレーティングシステム機能にアクセスし、ゲームおよび任意選択で他のコンテンツを選択することを可能にする。
【0037】
始動時に、それぞれのユーザは、任意選択でゲーム内の成績を後で正しいユーザに帰属させることができるように、ユーザそれぞれのコントローラを使用してユーザそれぞれのアカウントを選択するよう求められる。新しいユーザは新しいアカウントをセットアップすることができる。本来は異なる娯楽装置と関連付けられるアカウントを有するユーザは、そのアカウントを、現在の娯楽装置上でゲストモードで使用することができる。
【0038】
少なくとも1人の第1のユーザアカウントが選択されると、OSは、新しいゲームまたは他のメディアに関する情報、および第1のユーザアカウントと関連付けられた友達による最近投稿されたアクティビティを表示するようこそ画面を提供することができる。
【0039】
OSは次いで、例えば、2つの並列の水平段の形の、ユーザがその中から選択するための一連のアイコンを提供する。本例では、上段のコンテンツは、固定し、オペレーティングシステム機能に関連するものとすることができ、下段は、少なくとも一部を、例えば、直近にプレーされ、またはダウンロードされたゲームのための起動アイコンを提供するなど、最近のアクティビティに関連するように動的にアセンブルすることができる。
【0040】
上段のアイコンは、オンラインストア、通知、友達、テキストチャット、音声チャット、ユーザ・アカウント・プロフィール、トロフィ、システム設定、および/または電源管理に関する画面へのアクセスを提供することができる。
【0041】
選択されると、オンラインストアは、娯楽装置にダウンロードするためのゲームおよびメディアへのアクセスを提供することができる。ようこそ画面は、注目のコンテンツを強調表示することができる。オンライン加入サービス(いわゆる「PS Plus」など)が提供される場合には、標準のコンテンツまたは価格に加えて、当該サービス専用のコンテンツまたは価格を提供することができる。ストアは、コンテンツを購入するためにオンラインアカウントに金を支払う手段も提供することができ、購入のレコードを提供し、ユーザが購入したコンテンツ項目を後日、または複数回(例えば、大容量のハードドライブに交換することにした後で)ダウンロードすることを可能にすることができる。
【0042】
通知画面は、新しいトロフィ、ゲームの(例えば、特別なオンラインイベントに関する)お知らせ、友達からのゲーム勧誘、コンテンツのダウンロードおよび/またはアップロード状況、ならびに共有されているコンテンツのアップロード状況に関する情報を提供する。
【0043】
友達画面は、ユーザがすべてのユーザの友達を表示し、または誰が現在オンラインであるかに従って友達をフィルタリングすることを可能にし、加えて、ユーザは、娯楽装置のゲームまたは他のマルチユーザアプリケーション内で会ったことのある他のユーザのリストを見直し、任意選択で、そうしたユーザへ友達要求を送信し、またはその逆に、それらのユーザに再度遭遇するのを回避するためにユーザをブロックすることもできる。加えて、任意選択でユーザは、友達がユーザに友達の実名を公開するよう要求することもでき、その後にユーザは、任意選択で組み込みインターフェースを介して、Facebook(登録商標)といった他のソーシャルメディアを介してこの友達にコンタクトすることもできる。
【0044】
テキストチャットは、娯楽装置のネットワークの友達および他のユーザへメッセージを送信する手段を提供する。他方、音声チャットは、友達のグループが、例えば、ゲームをプレーしている間に相互に話すことができるように、娯楽装置のネットワーク上でオーディオチャネルを共有するよう友達のグループを勧誘する手段を提供する。
【0045】
アカウント・ユーザ・プロフィール画面は、ユーザが、娯楽装置でのユーザのアクティビティに関する統計を見直すことを可能にする。またこの画面は、ユーザのユーザ名と関連付けられるべきアバターを選択するといった、ネットワーク上でのユーザの外観を構成する手段も提供する。
【0046】
トロフィ画面は、ユーザがユーザのトロフィおよびゲーム内の進捗を確認することを可能にし、トロフィはゲームごとに編成することができる。ユーザのトロフィまたは他の成績統計は、ユーザの友達のトロフィまたは他の成績統計と比較して、ゲームにおいて最も接近したより良い成績を有する友達を特定することにより、ユーザがさらにゲームをプレーし、またはユーザのゲームのプレーを向上させるよう励ますこともできる。
【0047】
システム設定画面は、ユーザがオペレーティングシステムの局面を構成することを可能にするさらに別のメニューへのアクセスを提供する。これらは、娯楽装置ネットワークアカウントのセットアップ、およびインターネットとの有線通信または無線通信のためのネットワーク設定、ユーザがユーザインターフェース内の他の場所でどのタイプの通知を受け取るか選択することができる機能、始動時に自動的にログインすべきプライマリアカウントの指名や、ビデオカメラ41が娯楽装置に接続されている場合の顔認証を使用したユーザアカウントの選択といったログイン設定、例えば、最大プレー時間および/または特定のユーザアカウントについての年齢評価を設定するためのペアレンタルコントロール、ゲームプレーを装置にローカルで保持し、またはクラウド記憶内、もしくはUSB上に記憶することにより、ゲームの進捗が娯楽装置間で転送されることを可能にするように、保存されたゲームなどのデータがどこに記憶されるか決定する保存データ管理、ユーザが、ユーザのハードディスクがゲームによってどのように使用されているか判定し、よって、ゲームを削除すべきか否か決定することを可能にするシステム記憶管理、更新を自動とすべきか否か選択するソフトウェア更新管理、画面解像度またはオーディオ形式を自動的に検出することができない場合に、これらに関する手動入力を提供するオーディオおよびビデオ設定、携帯電話機といった他の装置上で走る任意のコンパニオンアプリケーションのための接続設定、ならびに例えば、任意の携帯型娯楽装置44を、いわゆる「リモートプレー」機能のための入力コントローラおよび出力ディスプレイとして扱うことができるように娯楽装置と対にする、任意の携帯型娯楽装置44のための接続設定、を含む。
【0048】
娯楽装置ネットワークアカウントは、ユーザの実名、ならびに任意選択で、他の個人詳細、オンライン支払のための銀行詳細、現在の娯楽装置がユーザアカウントと関連付けられたメインの娯楽装置であるかどうかの指示、および、ユーザアカウントが関連付けられている娯楽装置間でライセンスを選択的に転送することができる機能を含むようにセットアップすることができる。加えて、ユーザは、Facebook(登録商標)やTwitter(登録商標)といった、そのアクセスをオペレーティングシステムに統合することのできる他のサービスについてのユーザアカウント情報も提供することができ、これは、娯楽装置ネットワーク上にはいないかもしれないが他のソーシャルネットワーク上に存在する友達とのユーザのアクティビティの容易な共有を可能にする。
【0049】
電源管理アイコンは、ユーザが装置の電源を切ることを可能にする。任意選択で、電源管理アイコンは、ユーザが介入しない限り、所定時間後以内に娯楽装置の電源を切るためのタイマを提供することもできる。
【0050】
メニューの下段は最近プレーされたゲームについてのアイコンを示すことができ、迅速なアクセスを可能にする。任意選択で、ゲームアイコンの選択は、ゲームの進捗の概要および任意の関連統計を提供し、必要に応じて、やはりゲームをプレーした、またはプレーしている友達からの進捗およびコメントといった情報を提供する。最近適用された更新の詳細や、オンラインストアで入手可能なゲームと関連付けられるダウンロード可能なコンテンツへのリンクといったゲームに関する他の情報も提供することができる。
【0051】
また下段は、ウェブブラウザ、テレビ受像機、音楽メディアアプリケーションといった他のメディアソース、および娯楽装置ネットワークによって提供される任意のライブ・ストリーミング・サービスへのアクセスも提供することができる。加えて、最近プレーされていないゲームといった、装置上のコンテンツの全ライブラリにアクセスするためのアイコンを提供することもできる。
【0052】
オペレーティングシステムのユーザインターフェースは、ハンドヘルド式コントローラ43といった周辺装置上で提供される特定のコントロールからの入力も受け取ることができる。特に、現在プレーされているゲームとオペレーティング・システム・インターフェースとを切り換えるボタンを提供することができる。加えて、他のプレーヤとのプレーヤのアクティビティの共有を可能にするボタンも提供することができる。これは、任意選択でユーザのヘッドセットからのオーディオと共に、スクリーンショットを取り込み、または現在のディスプレイのビデオを記録することを含むことができる。そうした記録は、娯楽装置ネットワーク、Twitch(登録商標)、Facebook(登録商標)、Twitter(登録商標)といったソーシャル・メディア・ハブにアップロードすることができる。
【0053】
[3Dプリンタ]
前述したように、娯楽装置は、3Dプリンタに動作可能に結合される。
【0054】
通常はモデルを作成するために各層がどのようにして積層されるかによって差別化される、3Dプリンティングのための多数の技術が存在することが理解されるであろう。1つの技術は、選択的レーザー焼結(SLS)として知られ、粉末の層が固体領域を作り出すようにレーザーによって選択的に融合される。次いで上部に粉末の新しい層が配置され、プロセスは繰り返してモデルを構築する。別の技術は、光造形法として知られ、光反応性の液体を1つまたは複数のレーザーと併用して定義された点で液体を硬化させ、それによって、やはり通常は積層としてモデルを構築する。これらの技術はどちらも本発明の実施形態の範囲内で想起されるものであるが、これらの技術には、モデルの周囲において強力なレーザーと、粉末または液体の形の大量のマトリックス材の両方を必要とする不都合点があり、このため、これらの技術は家庭用としてあまり実用できではない。ゆえに、好ましい技術は熱溶解積層法(FDM)である。この手法は、モデルの連続層上を移動するプリンタヘッド内でプラスチックを溶解し、紙の上でのインクジェットプリンタによるインク滴の付着と同様のやり方で、各層内の選択的位置においてプラスチック滴を堆積させる。これにより、レーザーまたはモデルによって使用される原材料の周囲マトリックスが不要になる。したがって、理解のために、ここで、
図2Aおよび
図2Bを参照して、FDM3Dプリンタについて簡単に説明する。
【0055】
図2Aに、単純なFDM3Dプリンタ100の側面図を示し、
図2Bに、同じFDM3Dプリンタの平面図を示す。プリンタ100は、プリントされるモデルのアセンブリのための作業面を提供する下部構造110と、プリンタフレーム120を支えて上下させるための支柱102とを含む。
【0056】
例示の機構においては、モータ112Yがねじ山を含む駆動バー104に結合されている。プリンタフレーム120はその場合、ねじ穴および滑らかな穴との結合部を含み、ねじ穴は駆動バーと係合しており、滑らかな穴は支柱のうちの1つと係合している。プリンタドライバからの命令下で、モータ112Yが駆動バーを時計回りまたは反時計回りの方向に回すと、プリンタフレームは駆動バーおよび支柱を(すなわちY軸に沿って)上下に移動し、よって、プリンタフレームに取り付けられたプリンタキャリッジ130を上昇または下降させる。
【0057】
図2Bから分かるように、プリンタフレーム120は通常、4本の支柱102に取り付けられる。任意選択で、フレームおよびモータにかかるひずみを低減するために、第2のモータ、駆動バー、および結合部を、フレームの対向する角に設けることもできる。
【0058】
プリンタフレーム120はプリンタキャリッジ130を支持する。モータ112Xが、固定手段124によってプリンタキャリッジ130に固定された駆動バンド122に結合されている。プリンタドライバからの命令下で、モータ112Xが駆動バンドを時計回りに、または反時計回りに回転させると、プリンタキャリッジ130は、プリンタフレーム120に沿って(すなわちx軸に沿って)右または左に移動され、よって、取り付けられたプリンタ機構140を横方向に移動させる。
【0059】
プリンタキャリッジ130はプリンタ機構140を支持する。モータ112Zが、固定手段134によってプリンタ機構140に固定された駆動バンド132に結合されている。プリンタドライバからの命令下で、モータ112Zが駆動バンドを時計回りに、または反時計回りに回転させると、プリンタ機構140は、奥行き方向へ、または奥行き方向から外へ(すなわち(z)軸に沿って)移動される。
【0060】
プリンタ機構140自体は、機構に供給される1本または複数のプラスチック線の端部(不図示)を加熱するための、または機構上のホッパから得られるプラスチック粉末の粒(不図示)を加熱するための加熱手段を含む。プラスチックの加熱、あるいは加熱されたプラスチックの放出は、プリンタドライバからの命令によって制御される。結果として得られる溶解されたプラスチックの玉または小滴が次いで、プリンタヘッドまたはノズル142を介して、適宜、プリンタの作業面110または一部が構築されたモデル(不図示)上に堆積される。
【0061】
このようにして、プリンタドライバからの適切な命令下で、プリンタヘッドを、モータ112X、モータ112Y、モータ112Zを使用して、3Dプリンタの作業体積内のどこかに位置決めすることができ、プラスチックの小滴を当該位置において堆積させることができ、プラスチックは次いで、冷却され、硬化して3次元モデルのボクセルを形成する。プリンタヘッドの連続運動、およびプラスチック滴の選択的溶解または放出により、複数のそうしたボクセルから完成3次元モデルをそのように構築することができる。
【0062】
通常プリンタドライバ自体は、3次元モデルを記述するモデルジオメトリを受け取るコンピュータ援用設計システム内のソフトウェアモジュールである。プリンタドライバはその場合、3次元モデルの薄切りを、y方向に層ごとに1ボクセルの厚さずつ生成し、各層内のボクセルごとのx、z座標を決定する。プリンタドライバは次いで、プリンタ100に一連の命令を出力して、プリンタヘッド142を層y内のボクセルごとのそれぞれのx、z座標まで移動させ、そこでプリンタ機構は、各位置においてボクセルを形成するようにプラスチックの小滴を加熱し、かつ/または放出するよう命令される。このようにして、ディジタル3次元モデルが、3Dプリンタによって物理モデルとして再構築される。
【0063】
本発明の一実施形態においては、プリンタドライバは、ビデオゲーム、または娯楽装置のオペレーティングシステム、またはビデオゲームもしくはオペレーティングシステムのどちらかによって使用されるサポート機能のミドルウェアライブラリに組み込まれる。
【0064】
[仮想環境]
次に
図3を参照すると、娯楽装置上で実行されるビデオゲームは仮想環境を含み、仮想環境においては通常、複数のエンティティまたは環境要素が、ユーザが視点の位置を変更するに従って、また、ゲームのエンティティもしくは要素がスクリプトで記述されたアクティビティを実現し、またはユーザの挙動に反応し、またはその両方に従って、動的に表示される。
【0065】
図3には、ドア212を備える部屋210を含む単純な環境200が示されており、1つの壁には、燭台214に付いたろうそくが取り付けられている。この部屋にはプレーヤのキャラクタ220がいる(ここでは、例として、架空のゲームキャラクタ、ブロブマンで例示されている)。
【0066】
仮想環境は、通常はオブジェクトの表面を定義する多角形としてジオメトリデータから3次元で構築される。これらの多角形は、例えば、静的オブジェクトおよび背景シーンの場合には事前定義することもでき、プレーヤのキャラクタといった環境内の移動エンティティの場合には、ゆがめ/位置変更し、または手続き的に生成することもできる。本明細書で「多角形」という場合、それは、グラフィックスパイプラインで使用される場合に、そこから多角形を構築するための、頂点といった予備の幾何学形状を包含するものであることが理解されるであろう。同様に、ボクセルレンダリングも、オブジェクトを記述するのに同等の幾何学形状を使用する。よって、多角形に適用されるものとして記述されるプロセスの全体または一部を、適宜、そうした他の幾何学形状に適用することができる。
【0067】
仮想環境は次いで、選択された視点からユーザに提示するために準備される。ユーザまで視線を有する環境の要素が、それらの要素が表すオブジェクトに適したテクスチャ情報でパターン化され、テクスチャを有するジオメトリは、仮想光源からの明るさの変動といった照明効果や、テクスチャがそうした仮想光源とどのように相互作用すべきかをシミュレートするためのバンプマッピング(または、変位マッピングや等値面の使用といった類似した技法)のためにさらに処理される。加えて、立体的な霧や粒子の効果といった他の効果も含むことができる。
【0068】
最終レンダリング画像が次いで、通常は2次元もしくは3次元テレビ受像機によって、またはヘッド・マウント・ディスプレイによってユーザに提示される。
【0069】
往々にしてそうしたゲーム内で、ユーザは、友達および/またはより広い世界と共有したいと思う体験をする。このために、前述のように、PlayStation4(登録商標)といった娯楽装置は、そのコントローラ上に、ユーザに提示される画像の取り込みを容易にするためのボタンを備えることができ、次いでその画像を、ソーシャル・メディア・サイトといった共有サイトにアップロードすることができる。
【0070】
[補足的ジオメトリを使用した環境の3次元モデルのプリント]
本発明の一実施形態においては、ユーザは、そこから3Dプリントされたモデルを作成すべきゲーム内の瞬間を選択するためのオプションを提供される。このようにして、ユーザは、ユーザのゲーム内体験の有形の記念品を作成することができる。
【0071】
ゲーム内のジオメトリ(頂点、多角形など)は、3Dプリンティングプロセスを駆動するのに適しうることが理解されるであろう。例えば、Minecraft内の単純なブロックベースの環境は、3Dプリンタによってレンダリングされるのに向いている。
【0072】
しかし、これは決まりごとではなく例外である。ビデオゲームの特有の魅力は、ビデオゲームが通常の物理法則に縛られない環境およびキャラクタを提示することができることである。特に、オブジェクトは、物理的なつながりを持たずに相互に所定の関係で存在することができるが(
図3Aのキャラクタ「ブロブマン」で例示されるように、本図ではブロブマンの両手および両足がブロブマンの胴体に物理的に結びついていない)、カーテン、ケープ、また多くの場合、壁のような環境構成要素といった他のオブジェクトは、3次元環境内で2次元のみで定義することができる。これは、プログラム規則がある境界を越える運動を妨げる場合には、物理的強度は環境の要件ではなく、壁は単に、それらの境界を定めるテクスチャのための装飾面にすぎないからである。
【0073】
よって、仮想環境は厚さゼロのいくつかの境界面を含むことができ、それらの境界面に物理的オブジェクトが配置され、その中には、さらに実世界において不安定なものもある。そうした境界面の一例は、
図3の仮想環境200内の部屋210の壁とすることができる。
【0074】
3Dプリンタを使用してそうした仮想環境をプリントすることはできない。
【0075】
[補足的ジオメトリ]
したがって、本発明の一実施形態においては、3Dプリンティングに適さない環境の要素を修正するのに使用される補足的プリンタジオメトリが提供される。
【0076】
次に
図3Bを参照すると、一実施形態において、補足的プリンタジオメトリは、ゲーム開発者によって、従来のゲームジオメトリと同様のやり方で定義される。例えば、キャラクタ「ブロブマン」のための補足的プリンタジオメトリは、両脚および両腕をキャラクタの胴体につなぐための棒222A、B、C、Dを含むことができ、修正された3次元キャラクタ220'を3Dプリンティングに適した連続したボディにする。
【0077】
補足的プリンタジオメトリは、3Dプリンティングをサポートする要素に加えて既存のゲーム内ジオメトリの一部または全部を複製することもでき、3Dプリンティングをサポートする要素を含むだけとすることもでき、補足的ジオメトリとゲーム内ジオメトリの組み合わせが3Dプリンティングに使用される。代替として、または加えて、場合によっては、ゲーム内ジオメトリの一部置換を使用して、例えば、安全のために、またはオブジェクトが3Dプリントされるときにオブジェクトの支持面にオブジェクトをよりしっかり結合するために、剣またはスチレットヒールを丸めた、または幅広い表面で置き換えることもできる。
【0078】
よって、より一般的には、ゲーム内ジオメトリは、プリントプロセスの物理的要件、および重力の影響下での完成モデルの物理的要件を考慮した3Dプリンティングのための補足的プリンタジオメトリによって補足され、任意選択で少なくとも一部が置き換えられる。
【0079】
ゆえに、ユーザがゲームを休止し、プリントのための3次元スナップショットを選択すると、環境は、プリンタが必要とする図面リストがプリンタに直接、またはプリンタドライバが後で使用するためのファイルに出力される前に、3Dプリンティング互換の補足的プリンタジオメトリを使用して修正される。
【0080】
同様に、3Dプリントされるときの環境形状のための適切な構造的支持を提供するのに必要とされる厚さを有する、環境の2次元要素のための補足的プリンタジオメトリも定義することができる。
【0081】
構築時に3次元モデルをインクの塗布によって、または異なる着色プラスチックの選択によって着色することもできる場合には、ビデオゲームジオメトリに使用されるテクスチャを、モデルの着色プロセスを駆動するのにも使用することができることが理解されるであろう。
【0082】
また、テクスチャは、ゲーム内ジオメトリと補足的ジオメトリが一致する範囲に限り、補足的プリンタジオメトリにも使用することができることも理解されるであろう。しかし、レンダリングされたゲームにおいて見られない補足的プリンタジオメトリの要素(例えば、上記「ブロブマン」の例における連結棒)については、補足的テクスチャを提供することもでき、既存のテクスチャからテクスチャを補外することもでき、テクスチャを使用しなくてもよい。テクスチャが補外される場合には、任意選択で、テクスチャは、重力に対して要素を支持している環境の部分から(例えば地面や、ブロブマンの場合には、足から胴体へ、胴体から手および頭部へそれぞれ)補外することもできる。というのは、これがモデル内で最も目立たない支持構造を作り出す可能性が高いからである。代替として、テクスチャを使用しない場合には、むき出しのプラスチック(または他の3Dプリンタ材料)が露出したままとされ、見る人に、これが本来の画像の一部ではない機能的支持であることが明確になる。どの手法が好まれるかは、ユーザまたは開発者の美的判断とすることができる。
【0083】
開発者にかかる負担を限定するために、この補足的プリンタジオメトリは、ゲームの重要なエリア、例えば、特定のなぞが解決されるエリアや、ボスが打ち破られるエリアでのみ提供することができる。3次元スナップショットを作成するオプションは、よって、サポートされるエリア内でのみ使用可能とされる。任意選択で、そうしたエリアにおいて、ユーザのキャラクタが環境の3Dプリントされたバージョン内で使用するためにユーザが選択することのできる独占的な勝利のポーズといった、「ボーナス」ジオメトリを提供することもできる。
【0084】
しかし、補足的プリンタジオメトリは、開発者に開発負担を負わせ、ゲーム内体験の記念品をプリントする柔軟性と、この機能をサポートするために定義される必要のある追加ジオメトリの量との間のトレードオフを課すものであることが理解されるであろう。開発者にかかる負担を軽減しつつ、これが可能である環境の数を増やすことが好ましいであろう。
【0085】
[画像コレクションの中からの環境の3次元モデルのプリント]
本発明の一実施形態においては、ユーザはやはり、そこから3Dプリントされたモデルを作成すべきゲーム内の瞬間を選択するためのオプションを提供される。このようにして、ユーザは、ユーザのゲーム内体験の有形の記念品を作成することができる。
【0086】
本発明の一実施形態においては、娯楽装置が、ユーザが現在の場面の3Dプリントを作成したいことを指示する入力を受け取ると、ゲーム状態は、それを3Dプリンティングのために分析することができるようにフリーズされる(例えば休止される)。
【0087】
3次元モデルのための可能性の高い情報源とみなされうるはずのゲーム内ジオメトリは、通常は、画面上に表示するためにレンダリングされるときに、1ヵ所において、1つの形式でのみ組み合わされる、多角形、骨格モデル、皮膚モデル、バンプマップ、および物理学由来の手続きモデルまたはモデルの変形などの混合としうることが理解されるであろう。
【0088】
ゆえに、本発明の一実施形態においては、仮想環境ジオメトリの潜在的に非対応のゲーム内表現に優先して、これらのレンダリング画像を使用して3Dプリンティングのために3次元モデルが構築される。しかし、単一のレンダリング画像は通常、3Dプリンティングのための仮想環境を完全にモデル化するための十分な情報を含まない。
【0089】
本明細書で前述したように、通常のプレー中には、仮想環境は特定の視点についてレンダリングされる。さらに、高いフレーム率および効率的な処理を可能にするために、その場合、このレンダリングプロセスの一部として、その特定の視点から見えない環境の要素がレンダリングプロセスの初めに間引かれる。
【0090】
ゆえに、選択された視点から見える環境の要素だけが提示され、レンダリングされる。このレンダリングを使用して環境の3Dプリンタモデルを生成しようとした場合には、その特定の視点から見えないモデルのすべての局面は欠落するはずであり、または何らかの形の補間アルゴリズムを使用して埋められることが必要になるはずである。明らかにこれは、実際のプリントモデルが任意の他の角度から見られたときに、不満足な結果を生じさせるはずである。
【0091】
したがって、本発明の一実施形態においては、ゲーム状態がフリーズされている間に、娯楽装置は、異なる視点からの仮想環境の複数のレンダリング画像を生成する。
【0092】
好ましくは、少なくとも2つの対向する視点がレンダリングされ、第1の視点は通常、ユーザに本来表示される視点である。2つの画像の間で、この結果、本来のレンダリングビューにおいて間引かれた環境の要素のすべてではないにしろ、大部分がレンダリングされる。
【0093】
任意選択で、3つの視点が、好ましくは、平面上に等距離に分散してレンダリングされ、第1の視点はユーザに本来表示される視点であり、平面は、その第1の視点の視界の方向を水平的に中心とする。この場合もやはり、この結果、本来のレンダリングビューにおいて間引かれた環境の要素のすべてではないにしろ、大部分がレンダリングされるが、オブジェクトの前と後の両方においてオブジェクトによって遮られており、よって、上述の2つの視点のどちらでもレンダリングされなかったかもしれない環境のより多くの要素を取り込む可能性が高い。
【0094】
より一般的には、多くの視点が平面上に分布しているほど、レンダリングされないままの環境の要素は少ない。例えば、娯楽装置は、環境内で「フライバイ」を行い、N個の画像を取り込むことができ、Nは、例えば、2から360までである。取り込まれる画像の数は、(本明細書で後述するように)最終的なモデルの忠実度と、取り込み画像を分析するのに必要とされる娯楽装置のメモリおよび処理能力との間のトレードオフである。
【0095】
任意選択で、いくつかの環境形状の上面といった、前に取り込まれた単一平面上の視点に対して実質的に平行な環境の要素についての追加詳細を提供するために、仮想環境を上方から見下ろす1つまたは複数の視点を(個別画像として、またはフライバイシーケンスの一部として)レンダリングすることもできる。
【0096】
本発明の一実施形態においては、画像ごとの視点を表す仮想カメラの位置および視界方向に関するメタデータも記録され、それぞれの画像と関連付けられる。
【0097】
仮想環境は大規模なエリアを表すことができ、他方3次元モデルは、個々の3Dプリンタによって生成されうるモデルのサイズおよび環境がプリントされる縮尺によって決定される限られたエリアだけを包含することになることが理解されるであろう。好ましくは、個々の3Dプリンタの特性は、3Dプリンタが娯楽装置と通信状態にある場合には知られており(そうでない場合には、デフォルトのモデルサイズを想定することもでき、ユーザがサイズを規定することもできる)、同様に、環境がプリントされる縮尺も、ユーザが選択することもでき、ユーザのアバターといった、環境内のキーキャラクタを基準として自動的に決定することもできる。このアバターは、最終的な3Dプリンタモデル内で特定のサイズになるように(非限定的な例として、デフォルトで5cmの高さとして)選択することができ、よって同じ縮尺でプリントされるべき環境の範囲を計算することができる。代替として、「キャラクタプリント」モードで、ユーザのアバターといった特定のキャラクタだけを、周囲のゲーム内環境形状なしでプリントすることもできる。これは、ユーザがユーザ自身のゲーム内キャラクタをカスタマイズすることができ、そのキャラクタに愛着を持つ場合には、特に価値のあるものとなりうる。
【0098】
2つ以上の視点の等距離での分散は、よって、このキーキャラクタを中心とすることができ、任意選択で、任意のゲーム内カメラ制御論理を使用して、キーキャラクタを各取り込み画像内の中心に配置するのに必要とされる必要な視界方向を決定することもできる。
【0099】
ゲームが一人称ビューを提示する場合には、モデルサイズおよび想定される、またはユーザ設定の縮尺に基づいて、モデルの中心点を計算することができ、視点をその周りに分散させることができる。
【0100】
上記の手法を組み合わせて、娯楽装置は、その中心点を中心とする所定の半径の球体上のサンプル点を選択することによって画像を取り込むことができる。任意選択で、(地面の下になる球体上や山の内部の点といった)環境障壁によって遮られるサンプル点を省略することもでき、球体の半径を、表面が環境障壁によって遮られなくなるまで局所的に低減させることもできる。サンプリング方式は、本来の視点および中心点を含み、本来の視点の水平軸に平行な上述の平面上の視点を、任意選択でこの平面の上方にある球体上の1つまたは複数の視点、および任意選択でこの平面の下方にある球体上の1つまたは複数の視点を選択する前に、最初に選択することができる。所定の半径を、本来の取り込み画像との整合性を維持するために、モデルの本来の視点と決定された中心点との間の距離と等しくすることもでき、あるいは、本来の画像および後続の追加的な(1つまたは複数の)画像を、異なる有効半径で、例えば、画像の視野が、3Dプリントされたモデルに含まれることになる地面エリアを包含する最小半径でレンダリングし直すこともできる。特に、旧式のゲームは、レンダリングプロセスを簡略化するためにより大きい描画距離での低忠実度モデルを使用している。したがって、任意選択で半径を、ゲームが(ユーザのアバターといった)画像のキー要素の低忠実度モデルを選択するはずのレンダリング距離と等しい最大距離に制約することもできる。さらに任意選択で、この半径を、見た目を良くするために、またはユーザが特定の環境形状もしくは形状の組み合わせが最終モデルに含まれるようにしたいために、ユーザが指定変更することもできる。これは、ユーザが、例えばいわゆる「モッズ」を作成することによって、環境をカスタマイズすることができる場合には特に価値のあるものとなりうる。
【0101】
いずれにしても、結果として、所与のゲーム状態についての仮想環境の2つ以上の相補的視点を取り込んだ画像セットが生じる。
【0102】
上記の画像取り込み手順は娯楽装置によって制御されうることが理解されるであろう。しかし、代替として、または加えて、ユーザは、1つまたは複数の異なる視点からの同じ場面の画像を、これらの視点そのものを選択し、従来の画像取り込みプロセスを使用することによって取り込むこともできる。これらの視点は、本明細書で前述した好ましい分散に対応しない可能性がある。同様に、異なる視点からの同じ場面の画像を、異なるユーザが、異なるときに、異なる娯楽装置上で取り込むこともできることも理解されるであろう。すなわち、ユーザが、プールされた画像セットにアクセスすることができるという条件で(例えば、画像がオンラインフォーラムに投稿され、または、ビデオゲームのための予告編ビデオに含まれうるような、視点を移動させ、または変化させる「フライバイ」ビデオから抽出されたスチールである場合には)、仮想環境の2つ以上の相補的視点の同等なセットを獲得することもできる。
【0103】
これらの画像、ならびに任意選択で、視点位置および方向に関する関連メタデータが与えられた場合、娯楽装置は、これらの画像を分析して3次元モデルデータを生成することができる。
【0104】
いくつかの分析技法を、任意選択で相補的なやり方で使用することができる。
【0105】
シルエット分析は、取り込み画像内のオブジェクトのエッジを使用して当該エッジにローカルなオブジェクトの外形を推定する。 オブジェクト外形は次いで、オブジェクトの形状の近似を作成するために、(通常は別の視点から押し出された)別の押し出し外形と交わるまで、視点ごとの外形と直交するように押し出すことができる。本明細書で前述した方式に従って視点の数が増加するにつれて、各押し出しは、オブジェクトの周囲のより小さい角度に対することになり、結果としてオブジェクトのより正確な全体モデルがもたらされることが理解されるであろう。
【0106】
立体視分析は、2つのオーバーラップする視点内の同じオブジェクトの相対変位を使用して、それらの各視点からの距離を計算する。この情報から、両方の視点から見える領域内のオブジェクトの3次元形状を示す奥行きマップを構築することができる。よってこの場合もやはり、より多くの視点が利用できる場合には、連続した視点対を使用して、見られるオブジェクトの表面のマップを構築することができる。
【0107】
どちらの場合も、視点情報がない場合には、画像間の環境形状を相関させ、これらの形状の相対位置について最善の相関を提供する視点位置および方向を選択することによって視点を推定することができる。
【0108】
シルエット分析および立体視分析は、相互に補足するように使用することもできることが理解されるであろう。例えば、2つの技法は、他方のモデルにおける誤りを検出するのに使用することもできる。2つの技法が、閾値量だけ異なるオブジェクト表面の推定値を生成する場合、閾値合致内の2つの技法からのオブジェクト表面の近い推定値間の補間と最も密に一致する推定値を使用することができ、他方の推定値は廃棄される。任意選択で、本明細書で後述するように、モデルのそうしたエリアを、プリント前のユーザによる検査および/または編集のために強調表示することもできる。
【0109】
上記の技法は、画像データが第三者から(例えば、フォーラム上のスクリーンショットから)得られ、追加的なメタデータが利用できない場合には、特に有用である。
【0110】
しかし、娯楽装置によって生成され、取り込まれる画像の場合には、娯楽装置自体によって生成される関連奥行き情報を取り込むことも可能である。前述したように、視点の従来のレンダリング時に、レンダリングビューから遮られる環境の要素は間引かれる。この遮蔽は、少なくとも一部は、仮想カメラからの環境内のオブジェクトの相対距離によって決定される。例えば、他のオブジェクトの背後にあるオブジェクトは遮られるものとみなされ、よって間引かれる。これらの距離は、このために娯楽装置によって計算される。これは、取り込み画像ごとに利用可能な正確な、ピクセルごとの(またはサブピクセルごとでさえもの)分解能距離または「奥行き」マップがあることを意味する。
【0111】
本発明の一実施形態においては、この奥行きマップも取り込まれ、3次元モデルの生成において使用するために娯楽装置によって取り込まれる各画像と関連付けられる。原則として、この情報は、画像を生成するときに使用されるいわゆるZバッファをコピーすることにより、レンダラの動作に対して透過的なやり方で獲得することができる。ゆえに、画像取り込みプロセスは、ゲーム・レンダリング・エンジンの修正を必要としない。
【0112】
次に
図4を参照すると、各画像の位置Aおよび視点方向Bに関する情報が、関連付けられる距離情報zと共に与えられた場合に、各画像のピクセルを、共有仮想モデリング空間300内のそれぞれの点に投影することができる。実際には、各ピクセルは、画像視点の位置Aから、画像にとってローカルな座標方式の(しかし、公知の技法を使用して、回転させて共有仮想モデリング空間に共通の座標方式にすることのできる)量x、y、xだけ変位されている。ここで、xおよびyは、(架空の画面Cで表される)取り込み画像内のピクセル座標であり、zは、カメラ位置Aからの当該ピクセルの関連付けられる奥行きまたは距離の値である。明確にするために
図4には1列の(すなわち、xの1つの値についての)ピクセルだけが投影されているが、画像のすべてのピクセルをこのように投影することができることが理解されるであろう。
【0113】
結果として、各画像のピクセルは、ブロブマンの例を使用して
図4に示されているように、場面内の仮想オブジェクトの表面上の3次元のそれぞれの正しい位置で、共有仮想モデリング空間内において位置決めされることになる。各画像が共有仮想モデリング空間へ投影されるに従って、場面内の各オブジェクトの表面のより多くの部分がこのように「描き足される」ことになる。2つの画像が3次元空間内の同じ点へ同じピクセルを投影する場合、第2の投影ピクセルは廃棄することもでき第1のピクセルを置き換えることもできる。
【0114】
ピクセルは2次元オブジェクトであることが理解されるであろう。ゆえに、本発明の一実施形態においては、画像からのピクセルが共有仮想モデリング空間内の位置xi、yj、zkに投影されるときに、実際には、ボクセル(典型的には立体3次元ピクセル)が当該位置において作成され、投影されるピクセルと関連付けられた色情報が、ボクセルの色情報として使用される。
【0115】
その効果は、共有仮想モデリング空間内のx、y、zの各位置に各画像内の画像ピクセルの色データを投影することによって、仮想環境の可視表面を表すボクセルのシェルが構築されるというものである。
【0116】
娯楽装置からのZバッファ奥行き情報を使用して共有モデル空間へ複数の画像を投影する代わりに、この奥行き情報を、立体視奥行き推定および/またはシルエット分析ならびに表面押し出しの前述の技法を使用して推定することもできることが理解されるであろう。よって、これらの技法は、上述のように共有モデル空間内のボクセルシェルのアセンブリを駆動するのに使用することもできる。
【0117】
いずれにしても、すべての画像が使用された後で、結果として得られるボクセルのシェルを完全性について分析することができる。表面の(任意選択で閾値サイズを下回る)ギャップは、周囲の表面からの補間によって埋めることができる。
【0118】
ボクセルシェルの形の環境の3次元形状の推定値を生成すると、プリントのために3次元モデルを生成することができる。
【0119】
モデルシェルの1ボクセルの厚さは、物理モデルとしてプリントされたときに十分な強度を有しそうにないことが理解されるであろう。
【0120】
したがって、シェルを所定の厚さまで押し出すことができる。押し出しは、ボクセルが共有仮想モデリング空間へ投影された(1つまたは複数の)側と反対の側の(すなわち、シェルの内側または裏側の)各表面ボクセルに隣接するボクセルを追加することによって実現することができる。追加されるボクセルの数は、Mボクセル、またはオブジェクトの反対側の既存の面に到達するのに必要とされる数のうちの小さい方とすることができる。Mは、モデルをプリントするのに使用されている材料の重さおよび強さに応じた厚さをもたらすように選択することができる。
【0121】
同様に、(押し出されている)モデル内の最低点を決定することもできる。通常はシェルの裏側の少なくとも2つの追加点を、最低点と一致するようにさらに押し出し、よって、物理モデルのための少なくとも3つの支持点を提供することができる。好ましくは、これらの支持点は、計算されたモデルの質量中心の周りに分散される。
【0122】
このようにして、物理的にプリントされたときに立った状態になり、複数の角度から見える仮想環境の3次元モデルを、複数のゲーム内画像から構築することができる。
【0123】
モデルは次いで、3Dプリンタドライバへ送られ、3Dプリンタドライバはモデルを薄切りにして下から上への層にする。 これらの層は次いで、前述のように3Dプリンタによって連続してプリントされる。
【0124】
[モデルの修正]
前述したように、ビデオゲームの共通の特徴は、ゲーム内のオブジェクトが物理法則に縛られていないことであり、これはビデオゲーム要素の正常な3Dプリンティングを妨げる可能性がある。上述の1つの解決策は、ビデオゲーム要素を、プリントされたときに存在する(すなわち要素自体を支持する)ことができるように修正する補足的プリンタジオメトリを提供することである。
【0125】
同様に、本発明の一実施形態においては、前述のボクセルシェルも、3Dプリントされたモデルの物理要件を考慮するように修正される。
【0126】
前述のように、ボクセルのシェルは、ある程度の物理的強度を提供するためにMボクセルの厚さになるように押し出すことができる。これは環境内の2次元オブジェクトの問題にも対処する。というのは、これらのオブジェクトに対応するボクセルのシェルが、ボクセルのシェルの任意の他の要素と同様に押し出されるからである。
【0127】
しかし、環境の一部の要素については、これは十分な物理的支持を提供しない場合もあり、あるいは、環境内の空中のオブジェクトの場合には、支持が完全に欠落することになりうる。
【0128】
[手続き的補足的ジオメトリ]
したがって、3Dプリンティングのためのボクセルシェルへの手続き的に定義される修正を提供することができる。これらの手続き的に修正は、通常は3Dプリントされたモデルにおいて複製するのに適さないはずの仮想環境のいくつかの要素のための構造的強度および/または物理的支持を提供する。また、これらの手続き的に定義される修正は、補足的プリンタジオメトリを使用する代わりに、または補足的プリンタジオメトリの使用と共に、ゲーム内ジオメトリに適用することができることも理解されるであろう。
【0129】
よって、以下においては、説明を簡略化するために、「プリンタジオメトリ」という場合、それは、プリント用の3次元モデルを定義するために作成されるボクセルを指し、手続き的補足的ジオメトリの例は、ボクセルシェルの分析に基づくものであるが、これらは同等に、(補足的ジオメトリによって部分的に増強されるか否かにかかわらず)ゲーム内ジオメトリを指しうるものであることが理解されるであろう。
【0130】
手続き的に生成され、または修正されたプリンタジオメトリは、初期ボクセルシェルが生成された後で、娯楽装置によって生成することができる。
【0131】
ボクセルシェルは、いくつかの基本規則に従って、追加的なジオメトリが必要とされるかどうか検出するために分析される。
【0132】
1つの分析ステップは、環境内に不支持オブジェクトがあるかどうか検出することである。
【0133】
環境内に不支持オブジェクトがある場合には、例えば、雪片、銃弾などといった閾値を下回るオブジェクトが無視され、その後3次元モデル内に保持されないように、これらに「デ・ミニミス」サイズ閾値を適用することができる。ボクセルシェル内の関連付けられたボクセルは削除することができる。任意選択で、このステップは、これらの項目が、そもそも、モデルのための画像を収集するときに決してレンダリングされず、画像の分析をより単純にするように修正されたレンダリングプロセスにおいて実施することもできる。
【0134】
他方、閾値を満たすオブジェクトについては、連結棒といった支持構造のためのプリンタジオメトリを、オブジェクトと近くのアンカーポイントとの間で手続き的に生成することができ、アンカーポイントは、最終的に地面に連結される環境の一部である。地面自体は、ボクセルシェルの最低点に連結されるものと仮定することができる。任意選択で、分析は、不支持オブジェクトが順次に支持され、それらのオブジェクトがさらに後続のオブジェクトを支持することを可能にするように、ボクセルシェルの最低部から上方へ進むことができる。
【0135】
ゆえに、例えば、ビデオゲームキャラクタが空中に飛び上がっている場合、例えば、デフォルトでMボクセルの厚さの、ボクセルの円柱を作成することによって、キャラクタの足の基部と地面との間に支持棒が形成されることになる。
【0136】
しかし、棒の厚さも、基本規則に従って手続き的に決定することができる。所与のタイプのプリンタについては、一般的な3Dプリンタの材料の重さ×体積、ならびにそれらの圧縮強さおよび曲げ強さが分かるであろう。加えて、プリントされるモデルの予期されるサイズも分かるであろう。したがって、娯楽装置は、不支持オブジェクトの重さを推定し、モデル内でオブジェクトを適切に支持するのに必要とされる支持棒の厚さを計算することができる。特に、連結棒の一部または全部が横方向であり、よって、曲がりうる場合には、不支持オブジェクトのモーメントは、オブジェクトの重さをオブジェクトの棒に沿った現在位置からの距離で乗算したものの関数である。さらに、そうしたオブジェクトのための連結棒を構築するときに、連結棒自体の重さは重さの大きな割合となりうる。ゆえに、棒は、アンカーポイントに近いほど厚く、不支持オブジェクトに近づくほど細くすることができる。というのは、棒のそれぞれの部分は、不支持オブジェクトにおいてよりもアンカーポイントにおいてより大きい重みを支持するからである。
【0137】
別の分析ステップでは、上記原理をボクセルシェルの他の部分に適用することができる。例えば、ゲーム内の仮想モデルの机は、机面および机上の任意のオブジェクトの合計質量を支持するには細すぎる脚を有する場合がある。例えば、机の上にキャラクタが立っているが、机の脚はわずか数ボクセルの厚さしかない場合、それらのボクセルは物理モデルを支持するのに十分な強さではない可能性がある。したがって、ボクセルシェルの形状を評価してそれらがモデルにおいて支持することになる合計の重さを求めることができ、この重さが、この重さを支持するボクセルシェルの断面積の安全マージンを超える場合、その断面を拡大し、ボクセルで埋めることによってこれを厚くすることができる。この原理は、例えば、環境内の樹木に適用することもでき、その場合、既存のジオメトリが、3Dプリンタと関連付けられる特定の材料を使用して3次元モデルとしてレンダリングされたときの重さに対応するのに局所的に不十分である状況においては、枝および幹の累積重量を使用して、枝または幹の断面を拡大してその重さに対応するように枝または幹のジオメトリが局所的に修正される。
【0138】
続いて、モデルが倒れることになるかどうか検出するために、調整されたモデルの重心を計算することができる。モデルが倒れることになる場合には、安定性を回復するように支持体を移動することもでき、あるいは任意選択で、重心を安定した位置に戻すために1つまたは複数の選択された場所においてボクセルシェルを厚くすることもできる。
【0139】
前述のように、環境の2次元構成要素は、少なくとも最小の厚さを有する3次元オブジェクトを作り出すように初期ボクセルシェルの他の部分と共に押し出される。しかし、後述するように、この押し出しプロセスをさらに修正することができる。
【0140】
次に
図5A〜
図5Eを参照すると、
図5Aは、その表面にゲーム内でろうそくおよび燭台が配置されている環境200からの2次元の壁を表していることが分かるであろう。次いで
図5Bに、壁面に直角な、画像が投影された側と反対側の方向に壁を延長して、例えばMボクセルの所定の厚さを有する壁を記述するジオメトリを手続き的に生成する押し出しプロセスを示す。しかし、
図5Cから分かるように、物理的にプリントされた壁の累積重量は壁上の位置に従って変化し、また、ろうそくおよび燭台を追加して支持する壁の部分では階段状の変化が生じる。したがって、一定の厚さの壁は適さない可能性がある。というのは、基部の近くの壁の厚さは、モデルの累積重量を適切に支持するには不十分となりうるからである。
【0141】
したがって、
図5D〜
図5Eを参照すると、壁の最上部の最小限の好ましい押し出しの厚さから開始して、押し出しの厚さは累積重量の関数として増加し、追加的な支持を提供するために壁への燭台の取り付け箇所において階段状に厚さが変化することになる。手続き的規則はそうした取り付け箇所の周囲の領域を厚くすることができ、これにより、
図5D〜
図5Eに示すように、壁に燭台の負荷がかかる前に壁がわずかに厚くなることが理解されるであろう。加えて手続き的規則は、壁の下方部分を押し出すときの支持のための厚さ増大自体の追加的質量にも対応することができる。最後に、燭台および支持領域によって課される負荷は縦方向のみならず横方向にも分散させることができ、そのため、厚くなった支持領域は、
図5Eに示すように、壁に沿って下方に及ぶにつれて斜めに広がる。
【0142】
また手続き的規則は、所望の補足的ジオメトリを自動的に生成するのを支援するために、ゲーム開発者によって提供される追加情報と対話することもできる。
【0143】
例えば、不支持オブジェクトと、最終的に地面に連結される環境の一部である、最も近くのアンカーポイントとの間に連結棒が手続き的に生成されるという前述の規則は、
図6に示すようなブロブマンの3次元モデル220'をもたらしうる。キャラクタの両手が分析されるときに、両手はキャラクタの胴体よりもキャラクタの両足の近くにあり、またおそらくは、キャラクタの胴体はアンカー構造自体にまだ連結されないことになる可能性が高いことが理解されるであろう。したがって、手続き的規則は、キャラクタの手を利用可能な接地アンカーポイントだけに結びつけることができ、それらのアンカーポイントは両足であり、続いて、胴体を最も近くの1つのアンカーポイントに固定することができ、それは今度は手の一方である。その結果は、安定的ではあるが、ユーザが期待しうるはずの構造と解剖学的に一致しない構造になる。
【0144】
したがって、ゲーム開発者(またはユーザ)は、連結棒または他の連結/支持構造の手続き的生成を誘導するために、環境の要素間の好ましい連結点を識別することができる。これらの連結点は、1つまたは複数のカラーチャネル内の予約値を使用することによって定義することができ、連結点が、画像内の明確に着色された識別ピクセルを使用することによって識別されることを可能にする。例えば、値128が連結点を表すために青チャネル上で予約された場合には、これを
図7のブロブマンキャラクタ220"の例で使用して、モデル上のどこに好ましい連結点が存在するか指定することができる。これらの予約値はその場合、ボクセルシェル内で使用され、手続き的規則と共に使用するための識別可能なアンカーポイントを作成する。例えば、識別ピクセルのその他2つのカラーチャネル内の一致する値を使用して対にする連結点を指示することができ、これにより、識別ピクセル内の赤の値および緑の値を手および胴体について同じとし、これらを相互に連結されるべき部分として識別させることができるはずである。このようにして、別個のメタデータを必要とせずに、連結構造の配置の美的制御を開発者によって維持することができる。ブロブマンの場合には、これを使用して、
図7に示すように、解剖学的に許容される1組の連結棒を確保することができるはずである。他方、連結/支持構造の手続き的生成のための規則は、プリントされる構造を適切に支持するのに必要とされる必要断面をさらに決定することになる。
【0145】
(上記「ブロブマン」の例における連結棒といった)レンダリングされたゲームには見られない補足的プリンタジオメトリの要素については、既存のボクセルシェルからテクスチャ(色)を補外することもでき、色を指定しなくてもよいことも理解されるであろう。色が補外される場合には、任意選択で、色は、重力に対して要素を支持している構造の部分から(例えば地面や、ブロブマンの場合には、両足から胴体へ、胴体から両手および頭部へ、それぞれ)補外することもできる。というのは、これがモデル内で最も目立たない支持構造を作り出す可能性が高いからである。代替として、テクスチャを使用しない場合には、むき出しのプラスチック(または他の3Dプリンタ材料)が露出したままとされ、見る人に、これが本来の画像の一部ではない機能的支持であることが明確になる。どの手法が好まれるかは、ユーザの美的判断とすることができる。
【0146】
レンダリング画像のピクセル分解能は、プリントのために選択される縮尺では3Dプリンタのボクセル分解能よりも高くなりうることも理解されるであろう。ゆえに、レンダリングされた環境の形状は、時として、3Dプリンタのボクセル分解能に対して高い空間周波数を有する場合がある。したがって、画像は、そうした高周波数の詳細を除去し、それによって、結果として得られるモデルにおけるエリアシングの影響を回避するために、共有仮想モデリング空間への投影の前に、フィルタリングして適合した分解能にすることができる。この場合には、予約されたカラーチャネル値が手続き的規則によって使用されるべきである場合に、これらは保存され、またはフィルタリング後に低分解能画像に再度挿入される。奥行き情報も同様にフィルタリングすることができる。
【0147】
[オブジェクト選択]
上記考察は、ユーザに表示される仮想環境の領域が3次元モデルとして復元されることになると仮定している。しかし、任意選択でユーザは、環境内の1つまたは複数のオブジェクトを3Dプリンティングだけのために指定することもできる。例えば、ユーザは、ユーザのアバターだけ、またはユーザのアバターと敵対者とをプリントするよう選択することができる。
【0148】
この選択は、例えば、所望の(1つまたは複数の)オブジェクトの周囲に境界を示す囲みを定義するためのユーザインターフェースによって、または、カーソルもしくは四角い枠を使用してゲーム環境内の特定のオブジェクトを指示するためのユーザインターフェースによってなされうる。
【0149】
(1つまたは複数の)オブジェクトが、支持面から隔離してこのように選択される場合、(1つまたは複数の)選択されたオブジェクトのサイズに応じた面積を有する、フラットパネルのようなデフォルト面を生成することができる。次いで、(1つまたは複数の)選択されたオブジェクトを、本明細書に記載される技法を使用して支持面に結合することができる。
【0150】
[編集]
適宜上記技法を使用してプリンタジオメトリが獲得された後で、任意選択で、ユーザがプリンタへ送る前にモデルをプレビューし、または修正するために編集アプリケーションへ転送することもできる。例えば、あり得る誤りについてモデルを見直し、かつ/またはあるキーキャラクタのポーズおよび位置決めを編集することが求められる場合もある。エディタは同様に、単に描画されたテクスチャへの、または、例えば、ユーザがモデルの表面にメッセージを効果的に刻印することができるように表面ボクセルを削除することによる、オブジェクトの表面構造への図案の追加を可能にすることもできる。
【0151】
[最終プリント]
ユーザがその3次元モデルに満足すると、3次元モデルをプリンタへ送ることができる。前述のように、プリンタドライバがモデルを分析し、モデルを連続プリントのためのボクセルの層に分割する。
【0152】
プリンタがコンソールに物理的に取り付けられた、またはホームネットワークを共用する家庭用装置である場合には、プリンタドライバを娯楽装置上に実装することができ、結果として得られる図面リストは娯楽装置によってプリンタへ送られる。
【0153】
しかし、任意選択で、プリントサービスが娯楽装置のネットワーク(すなわち、例えば、娯楽装置の製造者によって提供されるネットワーク)によって提供されてもよい。これは、平均的な消費者が買えるはずの3Dプリンタより高価で、高機能な3Dプリンタへのアクセスを、ゆえに、より高品質のモデルを可能にすることができる。これらの状況において、プリンタドライバは、ユーザの間で処理負荷を分散させるためにやはりコンソール上にあってもよく、3Dプリンタに接続された中央サーバにあってもよい。第1の例では、ローカル・プリンタ・ドライバが、ユーザの郵送先に関するメタデータと共に、中央プリント待ち行列サーバへセキュアに送ることのできる図面リストを生成することになる。第2の例では、娯楽装置が中央プリンタドライバへ3次元モデルのプリンタジオメトリを送信し、中央プリンタドライバが、図面リストをプリントのために待ち行列に入れる前に、必要とされる図面リストを生成するための関連する分析を行う。これらどちらの場合にも、モデルのプリントは、例えば、娯楽装置のネットワークに登録された支払カードによる料金の支払を条件とすることができ、あるいは同様に、例えば、トロフィもしくは他のゲーム内賞金として、またはゲームの購入価格の一部として獲得されうるはずの、ユーザに当該ゲームからの所定数の3次元モデルの作成の権利を与えるバウチャの受取を条件とすることもできる。
【0154】
[廃棄材料]
選択的レーザー焼結といった3Dプリンティングの技法は、結果として得られるモデル内に大量のプリンタ原材料を捕捉しうることが理解されるであろう。これは、そうした技法が、プリント時に、モデルの最上部全体に粉末の連続層を施し、モデルの外周部に対応するごくわずかな部分だけを溶融するが、その外周部の内側の残りの粉末は接触されないままだからである。結果は概ね、内部に融合されたシェルを含むある量の粉末がもたらされ、そのシェルの外側の粉末は除去することができるが、シェルの内側の粉末は閉じ込められることになる。
【0155】
これは、無駄な原材料に関して不要なコストを生じる。またこれは、結果として得られるオブジェクトのバランスにも影響を及ぼしうる。ゆえに、3Dプリンティング用に設計されるモデルに、無駄な粉末を排出し、または洗い流すことができるように、ベントまたは開口を含めるのが普通である。
【0156】
しかし、そうしたベントまたは開口はビデオゲームキャラクタには存在せず、望ましくない。
【0157】
したがって、本発明の一実施形態においては、粉末ベースのプリンタが使用されることになる場合、プリントされる場面におけるオブジェクト内の空間の有効体積を計算するための手続き的規則が実施される。当該体積が閾値量を超える場合には、オブジェクトは中空体として扱われ、手続き的規則は、中空体のボクセルシェルにおいて、プリンタ粉末の流出を可能にするサイズの開口を作成する。好ましくは、開口は、中空体の裏面に、かつ/または、ユーザが場面をプリントしたいと指示したときに画面上でユーザに表示された本来の視点から遠い方を向いた側に位置する。開口はボクセルシェルにおける穴、または好ましくは、輪もしくは何らかの他の形状の閉じたループを形成する環状のギャップとすることができる。環状のギャップの場合には、これにより、プリントボディに、粉末を排出させるために取り外すことのできるゆるいカバーが生じ、このカバーは後でモデルに付け直すことができ、完成されたオブジェクトに及ぼす粉末除去の美的影響を最小限に抑える。
【0158】
3Dプリントされた場面は、複数のそうした中空体を含みうることが理解されるであろう。例えば場面は、地面、ブロブマンといったキャラクタ、および樹木を含む場合がある。地面は通常、開いたシェルである。他方、樹木は地面の上に静止しており、地面が樹木の基部を形成する。モデル内の体積の計算に従って、樹木の幹を中空オブジェクトとして識別することができる。したがって、樹木の下の地面に、モデルを裏面から見た場合にしか見えない穴を作成することができる。これと対照的に、ブロブマンキャラクタは、地面の上方で連結棒によって支持される。ゆえに、キャラクタの胴体が中空オブジェクトとして識別される場合には、任意選択で、任意の連結棒から閾値距離の位置において、本来の視点から遠い方を向いた環状のギャップが含められる。これは、胴体から粉末を抜くことを可能にすると同時に、環状のギャップによって生じた胴体の取り外し可能な構成要素を所定の位置に付け直すことによって胴体を修復することも可能にする。
【0159】
任意選択で、手続き的規則は、オブジェクト自体の形状を使用して、例えば、穴もしくは環状ギャップの1つもしくは複数の縁部の一部もしくは全部が、モデル内のテクスチャカラー間の境界を隣接してなぞるように、かつ/またはモデル表面の隆起部もしくは他の切れ目を隣接してなぞるように設定することによって、穴または環状のギャップの美的影響を低減することもできる。
【0160】
システムは、3次元モデルデータを使用して、必要とされるプリンタ原材料の体積を推定し、ユーザがモデルのプリントに取り掛かる前にモデルのプリントのコストを推定する見積もりを提供することができる。
【0161】
[場面/オブジェクト選択]
上記の技法は、ビデオゲーム内からプリントすべき場面またはキャラクタの、ユーザによる選択に基づくものであることが理解されるであろう。ゲームによっては、ユーザがお気に入りのキャラクタのポーズを、他のゲーム内イベントからの妨害なしで、ユーザが好むやり方で調整することが可能な場合もあるが、ゲーム内の記念すべき瞬間が、ユーザの側の熱狂的なアクティビティおよび/またはゲーム内キャラクタもしくはゲームの環境形状による速いアクションと関連付けられている可能性の方がより高い。そうした瞬間において、ユーザは、選択のためにゲームアクションをいつフリーズすべきか予期することができない場合もあり、特に、ゲームが通常、毎秒30フレームまたは60フレームで実行されているときには、表示された場面が望ましいとユーザが判断した瞬間にゲームアクションをフリーズするのに必要な反応時間がない場合もある。
【0162】
したがって、次に
図8を参照すると、本発明の一実施形態においては、ビデオゲームから3Dプリントすべきオブジェクトを選択する方法は以下を含む。
【0163】
連続した時点において表示するためのビデオゲームの仮想環境を周期的にレンダリングする第1のステップs810。上述のように、通常この周期は、1/30秒ごと、または1/60秒ごとになる。
【0164】
連続した時点におけるレンダリングされた仮想環境の少なくとも一部の視覚的再構築を可能にする情報を周期的に記録する第2のステップs820。通常この周期はレンダリング周期と同じになり、Nレンダリング周期ごととすることができ、Nは2〜60の範囲内である。
【0165】
レンダリングされた仮想環境の少なくとも一部の視覚的再構築を可能にする情報は通常、レンダリング画像のビデオキャプチャの形を取ることになる。さらにこれは通常、ゲームをホストする装置(例えばPlayStation4(登録商標))によるハードディスクへの出力ビデオ画像のハードウェアビデオ符号化の形を取ることになる。代替として、または加えて、ゲーム自体が、ソフトウェアビデオ符号化を行い、または単にレンダリングビデオ画像をハードディスクにダンプすることもできる。この後者の場合には、ソフトウェアビデオ符号化は、プロセッサ集約的となる可能性が高く、そのため、予備のプロセッサ容量が利用可能な状況に限られる可能性があり、他方、符号化なしの、または最小限の符号化を伴う未処理のビデオフレームの記憶は、使用するプロセッサリソースはより少ないが、比較的多くのメモリを使用し、そのため、記録することのできるビデオのフレームの数は、この後者の場合にはずっと小さくなりうる。
【0166】
代替として、または加えて、ビデオゲームが、ビデオゲーム自体によるレンダリング画像の再構築を可能にする情報、例えば、図面リスト(グラフィックスカードへの命令)や、関連付けられるアセット情報や、前の時点におけるゲーム状態の再レンダリングを可能にするゲーム状態データなどを記憶することもできる。
【0167】
連続した時点におけるレンダリングされた仮想環境の少なくとも一部の状態に対応した所定の値セットを周期的に記録する第3のステップs830。この場合もやはり、この周期は通常、視覚的再構築を可能にする情報の記録のための周期と同じになる。
【0168】
本明細書で後述するように、これらの値セットは、例えば、本明細書で前述した技法のいずれかを使用して、3Dプリンティングのためのモデルとして後で生成されうるレンダリング場面の部分に関連する値を含む。例えば、レンダリング画像のビデオキャプチャだけでは、特定の時点におけるビデオ・ゲーム・キャラクタのモデルを生成するには不十分な場合もあり、ゆえに、ビデオキャプチャ以外にそのモデルの再構築を可能にする情報が必要になることが理解されるであろう。
【0169】
その場合、ある時点において、ユーザは、ユーザがゲームから3Dプリントしたい瞬間を決定するものと仮定することができる。ユーザは、休止ボタンといったコントローラ上のボタンを押して、それぞれの時点からの1つまたは複数の視覚的再構築を見直すオプションにアクセスし、特定の時点と関連付けられた視覚的再構築を選択することによって、この要望を指示することができる。
【0170】
一例では、ゲームはユーザに、ゲームの記録情報が許容する範囲に限り、ゲーム自体のビデオ記録へのアクセスまたは場面の再レンダリングを提供することができる。この手順は、ユーザの反応時間が、瞬時のイベントが発生する際にユーザがそのイベントを選択することを妨げる状況に適する場合があり、ユーザに、当該イベントまで数秒分だけ「巻き戻す」よう促す。上述のように、そうしたビデオ認識または詳細な視覚的再構築データは、記憶およびプロセッサの制約条件により時間が限られる可能性が高く、そのため本例では、ゲームは、合計で1から60秒の範囲内の期間になる所定数の時点についての値セットを記録することができるにすぎない。
【0171】
別の例では、ホスト装置のオペレーティングシステムはユーザに、オペレーティング・システム・インターフェースを介して直接、またはゲームのユーザインターフェース内に埋め込まれた符号化ビデオ記録へのアクセスを提供することができる。符号化ビデオは未処理のビデオよりずっとコンパクトであるため、ホスト装置は、例えば、1分、3分、5分、10分、または15分の表示ビデオを、(事前のユーザ設定に応じて)、ローリングループとして記録することができる。記憶容量が許す場合には、より長い記録も可能である。そうしたビデオ記録が提供される場合には、所定の値セットのマッチングループが関連付けて記録されることが理解されるであろう。ゆえに本例では、ユーザは、ボタンを押してゲームを休止し、上述の巻き戻し機構にアクセスしてゲームからの前の瞬間を見直すことができるが、任意選択でユーザは、そうしたボタンを押してゲーム内の前の瞬間を見直す前に、レベルの終わりやチェックポイントといったゲームにおける通常の休止を待とうとすることもできる。ゆえに、ゲーム・ユーザ・インターフェースは、そうしたレベルの終わりやチェックポイント通知の一部として見直しオプションを提供することもできる。これは、ユーザが、熱狂的なゲーム・プレー・アクションを、よって、ゲーム内でのユーザの没入を妨げずに、しかも3Dプリンティング機能にアクセスすることを可能にする。
【0172】
上述のようなやり方でゲームからの前の瞬間を見直したいという要求を指示すると、次いで、第4のステップs840は、それぞれの時点からの1つまたは複数の視覚的再構築を見直し、特定の時点と関連付けられた視覚的再構築を選択することを含む。
【0173】
よって上述のように、これは、ユーザが特に興味を持つ場面またはオブジェクトを含む特定の時点を識別するために、ゲームの記録ビデオまたはゲームの記録場面を待ち行列に入れ、通して見直すことを伴いうる。
【0174】
第5のステップs850で、ユーザは次いで、特定の時点における視覚的に再構築された仮想環境の少なくとも一部を、3Dプリントされるべきオブジェクトとして選択する。仮想環境のどの部分を選択することができるかは、本明細書で後述するように、前に記録された所定の値セットの品質に依存しうる。選択のためのインターフェースは任意の適切なインターフェース、例えば、視覚的に再構築された仮想環境の1つまたは複数の要素の上でホバリングし、選択するのに使用することができるマウスまたはコントローラで誘導されるポインタとすることができ、選択は選択することができる要素について正常に行われる。代替として、カメラの視点、およびユーザのアバターといった指定のキャラクタの周りのエリアに関して本明細書に記載される選択の技法は、例えば、ポイント・アンド・クリック・インターフェースを使用して手動で選択するのが困難となりうるはずの、より完全な場面を選択するのに使用することもできる。
【0175】
よって、このようにして通常、ユーザのアバターおよび/または非プレーヤキャラクタといった1つまたは複数のゲームキャラクタを選択することができ、かつ/または所与の体積もしくは面積の完全な場面をプリントのために選択することができる。
【0176】
第6のステップs860は、次いで、レンダリングされた仮想環境の選択された少なくとも一部の状態を定義するそれぞれの事前定義の値セットを取得することを含む。上述のように、また以下で詳細に説明するように、それぞれの値の品質は様々である可能性があり、ゆえに、取得プロセスは、この品質の関数として変動しうる。
【0177】
それぞれの値が、視覚的に再構築された仮想環境の少なくとも一部のどの1つまたは複数の要素を選択することができるか識別するように働くデータを含む場合には、特定の時点についてのそれぞれの事前定義の値セットを取得するステップs860は、特定の時点における視覚的に再構築された仮想環境の少なくとも一部を3Dプリントされるべきオブジェクトとして選択するステップs850に先行しうることが理解されるであろう。より一般的には、本明細書に記載される方法のステップは、順序変更されてもよく、本明細書に記載される順序と実質的に同じ最終結果を達成する任意の適切な順序で同時に実行されてもよいことが理解されるであろう。
【0178】
最後に、第7のステップs870は、取得されたそれぞれの値に応じて、3Dプリンティングのために構成されるレンダリングされた仮想環境の選択された少なくとも一部のモデルを生成することを含む。
【0179】
補足的ジオメトリの提供または手続き的規則による追加的なジオメトリの生成、およびメッシュ完全性を改善するためのメッシュの自動または手動編集を含む、本明細書で前述した技法のいずれかをこのために使用することができることが理解されるであろう。また、生成されたモデルをホスト装置にとってローカルの3Dプリンタに出力することもでき、生成されたモデル(または、例えば、本明細書に記載される技法への入力として使用されるデータといった、モデルの生成のための適切な中間モデルデータ)を第三者プリントサービスに出力することもできることも理解されるであろう。
【0180】
上述したように、所定の値セットは、ゲームの状態が各時点におけるそれらの値によって記録される忠実度に対応する異なる品質レベルを有しうる。
【0181】
説明の便宜のために、「高品質」、「中品質」、および「低品質」の各値セットというが、これらは同等に、第1のサイズ、第2のより小さいサイズ、および第3のさらに小さいサイズのそれぞれの値セットとみなすこともできる。よって、これらをそれぞれ、第1、第2、および第3の品質値セットまたはデータセットと呼ぶこともできる。
【0182】
高品質値セットは、例えば、以下のものからなるリストの中から選択される1つまたは複数の適切な選択を含むことができる。
i.特定のゲームが、ゲームエンジンおよびゲームアセットへのゲームのアクセスが与えられる場合に、ゲーム内の当該時点を再構築することを可能にするのに十分なはずのゲーム特有の値(例えばゲームセーブと同様の);
ii.ある時点にグラフィックスカードに送られる図面リストの少なくとも一部;
iii.当該時点にグラフィックスカードによって使用される1つまたは複数のテクスチャまたはテクスチャの識別子;
iv.任意選択で補足的ジオメトリを含む、(例えば、上述の3Dプリンティングの技法のいくつかで使用されるような)当該時点における仮想環境の少なくとも一部の状態に対応するメッシュデータ;
v.当該時点における(例えば、上述の3Dプリンティングの技法のいくつかで使用されるような)奥行きデータを提供するZバッファ情報;ならびに
vi.例えば、特定のゲーム内キャラクタと関連した、メッシュ、テクスチャ、または任意の表面外観のゆがみまたは修正に関連する記述子。
【0183】
高品質値セットは、例えば、第Mの時点ごとの完全な高品質値セットだけを保存し、合間の増分値または差分値の保存を利用するなど、利用可能なプロセッサ容量に応じて、任意の適切な圧縮方式を使用して、データサイズを低減することができる。
【0184】
高品質値セットは、潜在的に、対応する時点においてユーザに表示される可視場面の高忠実度の再構築を可能にすることができ(例えば、上記リスト内の項目i.)、よって、記録された視覚表現としての機能も果たしうることが理解されるであろう。
【0185】
また、高品質値セットは、含まれる値に応じてゲームアセット自体への後続のアクセスなしで、所望の3次元モデルを構築するのに十分なアセットを含むことができ(例えば、上記、項目iii.および項目iv.、またはビデオデータと併用される項目v.)、あるいは、(例えば、上記項目i.および項目ii.の場合には)ゲーム自体へのアクセスを想定することもでき、潜在的に独立したデータセットを強化するのに使用することもできることも理解されるであろう。
【0186】
中品質値セットは、例えば、以下のものからなるリストの中から選択される1つまたは複数の適切な選択を含むことができる。
i.特定の時点に表示されるゲームのレベルまたは領域を識別するゲーム特有の値(例えば、レベル5、領域6、座標XYZ);
ii.特定のゲームがある時点における特定のゲーム内キャラクタのポーズを再構築するのに十分なはずのゲーム特有の値;
iii.当該時点に特定のゲーム内キャラクタのためにグラフィックスカードによって使用される1つまたは複数のテクスチャまたはテクスチャの識別子;
iv.任意選択で補足的ジオメトリを含む、当該時点におけるその特定のゲーム内キャラクタに対応するメッシュデータ;
v.当該時点におけるその特定のゲーム内キャラクタに対応する奥行きデータを提供するZバッファ情報;
vi.例えば、特定のゲーム内キャラクタと関連した、メッシュ、テクスチャ、または任意の表面外観のゆがみまたは修正に関連する記述子。
【0187】
この場合もやはり、中品質値セットは、例えば、第Mの時点ごとの完全な中品質値セットだけを保存し、合間の増分値または差分値の保存を利用するなど、任意の適切な圧縮方式を使用して、データサイズを低減することができる。
【0188】
中品質値セットは通常、対応する時点にユーザに表示される特定のキャラクタの高忠実度再構築を可能にすることが理解されるであろう。
【0189】
また、中品質値セットは、含まれる値に応じてゲームアセット自体への後続のアクセスなしで、特定のキャラクタの3次元モデルを構築するのに十分なアセットを含むことができ(例えば、上記、項目iii.および項目iv.、またはビデオデータと併用される項目v.)、あるいは、(例えば、上記項目i.および項目ii.の場合には)ゲーム自体へのアクセスを想定することもでき、潜在的に独立したデータセットを強化するのに使用することもできることも理解されるであろう。
【0190】
中品質値セットは、場面内の複数のキャラクタに関連する情報を取り込むことができ、例えば、ユーザのアバターをデフォルト選択としうるのに対し、ユーザが特定の時点に対話する、または、その時にユーザの視点もしくはユーザのアバターから所定の半径以内にいる非プレーヤキャラクタについての情報を、中品質値セットの一部として含めることもできることが理解されるであろう。
【0191】
また、高品質データセットと中品質データセットをインターリーブすることもでき、よって例えば、高品質データセットを、秒または分のオーダーで、低頻度で記録し、高品質データセットの低頻度記録の間に発生する特定の時点から選択される中品質データを使用して再構築されるキャラクタについての環境の代表的な再構築を可能にするはずの情報を提供することもできることも理解されるであろう。このようにして、メインキャラクタの正確な所望のポーズを取り込む場面のモデルを、より少ないデータ記憶を使用して生成することができる。
【0192】
低品質値セットは、例えば、以下のものからなるリストの中から選択される1つまたは複数の適切な選択を含むことができる。
i.特定の時点に表示されるゲームのレベルまたは領域を識別する値(例えば、レベル5、領域6、座標XYZ);
ii.特定のゲーム内キャラクタを識別する値;および
iii.当該時点におけるゲーム内キャラクタについての特定の所定の状態を識別する値。
【0193】
この場合もやはり、低品質値セットは、例えば、第Mの時点ごとの完全な低品質値セットだけを保存し、合間の増分値または差分値の保存を利用するなど、任意の適切な圧縮方式を使用して、データサイズを低減することができる。
【0194】
低品質値セットは通常、対応する時点にユーザに表示される特定のキャラクタが、事前設定の動作フレームといった、ゲームに知られている所定の状態を用いる場合に、当該キャラクタの高忠実度再構築を、可能にすることが理解されるであろう。
【0195】
また、低品質値セットは通常、ゲームアセット自体への後続のアクセスなしで特定のキャラクタの3次元モデルを構築するのに十分なアセットを含まないことも理解されるであろう。
【0196】
この場合もやはり、低品質値セットは、場面内の複数のキャラクタに関連する情報を取り込むことができ、例えば、ユーザのアバターをデフォルト選択としうるのに対し、ユーザが特定の時点に対話する、または、その時にユーザの視点もしくはユーザのアバターから所定の半径以内にいる非プレーヤキャラクタについての情報を、低品質値セットの一部として含めることもできることが理解されるであろう。
【0197】
この場合もやはり、高品質データセットおよび中品質データセットを、低品質データセットとインターリーブしうることも理解されるであろう。例えば、ゲーム内キャラクタは、大部分の時点については所定の動画フレームを使用することができるが、これらは、爆発、落下、衝撃といった特定の劇的状況においては、いわゆる「ラグドール物理」を使用して修正することができる。ゆえに、ゲームが所定の動画からキャラクタについてのラグドール物理に切り換わるときに、使用される所定の値セットは、低品質から中品質へ切り換わり、または中品質の要素を組み込むことができる。
【0198】
この場合もやはり、高品質データセットを、場面の代表的な背景を提供するために低頻度で記録することができる。しかし、ゲームアセットへのアクセスが低品質値の要件であることが想定される場合には、当該時点におけるゲーム内での表示位置を識別する値は、必要に応じて、背景の再構築を可能にするのに十分となりうる。逆にいうと、ゲームアセットへのアクセスが3Dプリンティングに必要とみなされる場合には、中品質データセットおよび高品質データセットを、そうした位置データを使用して簡略化することもできることが理解されるであろう。
【0199】
上記値セットのいずれも、任意選択でゲームバージョンを含む、ゲームを識別する情報を組み込むことができる(ゲームがそのためにコンパイルされているプラットフォームおよび/またはそのプラットフォーム上でのゲームの特定の反復など)。
【0200】
前述のように、上述の技法を使用した3Dプリンティングのための一般的な利用シナリオは、ビデオゲームのプレーヤが、記念したいエキサイティングな瞬間の直後にゲームを休止する場合、またはゲームがレベルの終わりに、またはチェックポイントで正常に休止する場合であり、この休止中に、ユーザはその場合、特定の瞬間を識別するためにゲームの視覚表現を見直す。
【0201】
これらの状況においては、短期間にわたる(数秒程度の)高品質データセット、中品質データセット、および/または低品質データセットを形成するのに使用されうる値を含むデータのループを、例えば、高速だが容量が制限されたRAMに保存することによって記録することが簡単であろう。各所定の値セットは、記録されたビデオの特定のフレームまたは表示されたゲーム画像の他の視覚表現と関連付けられることを可能にするタイムスタンプまたはカウンタを有しうる。
【0202】
このループにおいて古い値セットが上書きされるべきときには、高品質データセット、中品質データセット、および/または低品質データセットをそこから抽出し、そのタイムスタンプまたはカウンタと共にハードディスクに書き込むことができる。通常、ハードドライブは書き込みでは遅いが、ずっと大きい容量を有する。データのループは、ゲームプレーを損なわずに行うことができる場合には、RAMではなくハードドライブに直接書き込むことができることが理解されるであろう。また、データのループは、後で、(1つまたは複数の)所望の品質レベルのデータセットに変換することのできるデータを含むループを書き込むのではなく、所望の品質レベルまたはばらばらなレベル順序で直接書き込むことができることも理解されるであろう。
【0203】
どちらの場合も、データは、ビデオゲーム自体によって記録することもでき、ホストプラットフォームのオペレーティングシステムによって(例えば、オペレーティングシステムと、本明細書に記載される3Dプリンティング機能をサポートするゲームとの間の標準データインターフェースを介して)記録することもできる。
【0204】
いずれにしても、これらの状況において、ビデオゲームプラットフォーム上でホストされる3Dプリンティングシステムは、このプラットフォームがハンドヘルド、家庭用ビデオゲーム、またはPCであれ、エンドユーザにビデオ・ゲーム・ストリーミング・サービスを提供するプラットフォームといったクラウドベースのビデオゲームプラットフォームであれ、所定の値セットにも、任意選択で、ビデオゲームプラットフォーム上のゲーム内アセットにもアクセスすることができる。
【0205】
加えて、プラットフォーム上のRAMおよび/またはハードドライブの容量および書き込み速度により、高品質データセットまたは中品質データセットを、(上述のように、通常、ビデオゲームのフレーム率と等しい)所望の頻度の時点において、容易に記録することができる。
【0206】
ゆえに、3Dプリンティングシステムが、取得された所定の値セットに基づき、ユーザのゲームプレー中の特定の時点に対応する、少なくとも1つの所定のキャラクタおよび任意選択で場面の、本明細書に記載される高品質モデルを生成するのに必要とされる必要情報を照合することは相対的に簡単である。
【0207】
これと対照的に、別の使用シナリオはこれをより困難にする。ユーザがユーザのゲームプレーの記録ビデオおよび関連付けられる所定の値セットを、他のユーザがユーザのゲームプレーを視聴し、3Dプリンティングのために当該ゲームプレー中の記念すべき瞬間を同様に選択することができるように、Twitch(登録商標)やYouTube(登録商標)といったサービスをホストする第三者にエクスポートすることができることが求められることになる。例えばこれらの状況においては、より一般的には、ステップs810〜ステップs830を、ビデオゲームをホストする装置によって行うことができ、他方、残りのステップs840〜ステップs870は、後のユーザに属する第2のコンピューティング装置によって行うことができる(しかし、サーバからのストリーミング・ビデオ・ゲーム画像によって提供されるゲームプレーの場合には、全てのステップをやはり同じサーバによるものとすることができる)。
【0208】
3Dプリンティングシステム自体は(例えば、オペレーティングシステムの一部として、または無料ダウンロードもしくは購入可能なダウンロードとして)容易に利用できるものと仮定すると、これらの状況においては、2つの追加的な考慮事項が生じる。
【0209】
第1の考慮事項は、第三者システムがこの情報を透過的に扱うことが好ましいことである。ゆえに、関連付けられる所定の値セットは、所与のビデオ形式によって提供されるユーザ・データ・フィールドに直接、またはユニバーサル・リソース・ロケータ(URL)を使用して組み込むことができ、URLは、3Dプリンティングシステムが、関連付けられる所定の値セットがアップロードされたサーバ、例えば、3Dサービス、ゲーム出版社、オペレーティングシステム、および/またはプラットフォーム提供者によって維持されるサーバを指し示すことを可能にする。完全なURLは、非限定的な例として、例えば、http://www.exportserver.com/username/gamename/recordingID?framenumberといった、識別子のシーケンスの形を取ることができる。
【0210】
この場合には、ユーザ名、ゲーム名、および記録IDのみを、例えばビデオ・ヘッダ・データに含めることができ、サーバアドレスは、3Dプリンティング・システム・ソフトウェアに含めることができ、ユーザの選択した時点に対応するフレーム番号を、完全な正しいURLを構築するために計算することができる。おそらくは、ゲーム名は、記録IDがユーザごとに十分に一意的である場合にはURLにおいては不要とすることができ、同様にユーザ名も、記録IDが全ユーザベースにわたって十分に一意的である場合にはURLにおいて不要となりうることが理解されるであろう。
【0211】
所定の値セットがデータフィールドに直接組み込まれる場合には、空間制約条件が、どんな品質のデータセットを使用することができるかを決定しうる。これと対照的に、URLが使用される場合には、この空間制約条件は取り除かれる。
【0212】
よって、「共有」機能がゲームおよび/またはオペレーティングシステムによって提供される場合には、この機能は従来のやり方でビデオをエクスポートすることができ、あるいはユーザによって指定される場合には、この機能は、ビデオ形式内の空間が許容する所定の値セットを含むビデオをエクスポートすることができ、あるいはこの機能は、URLデータを含むビデオをエクスポートすることができ、別個に、所定の値セットをサーバにエクスポートすることができ、サーバは次いで、対応するURLにおいてそれらの値を供与する。
【0213】
第2の考慮事項は、そうしたビデオのランダムな視聴者がゲームのその視聴者自身のコピーを持つことができないことである。ゆえに、ビデオと関連付けて記憶された所定の値セットが、ビデオゲームアセットへのアクセスを前提とするタイプのものである場合、これは潜在的に、そうした視聴者が、ビデオ内の選択された時点から3次元モデルを生成できることを防止することができる。
【0214】
したがって、3Dプリンティングシステムは、所定の値セットに含まれる情報を使用して、必要に応じて、ゲーム、および選択された時点について、ゲーム内の位置、ゲーム内の(1つまたは複数の)キャラクタ、および/またはそうしたキャラクタについての動画フレームを識別することができる。この情報は次いで、3Dサービス、ゲーム出版社、オペレーティングシステム、および/またはプラットフォーム提供者によって維持されるサーバへの要求の一部として送ることができ、このサーバは、上述のサーバと同じであっても、異なるサーバであってもよい。要求に応答して、サーバは、3Dプリンティングのための当該時点を再構築するのに必要なそれらのゲームアセット、例えば、任意選択で指定されたポーズについての、特定のゲームキャラクタのメッシュデータおよび任意選択でテクスチャデータを送ることができる。
【0215】
明らかに、そうしたビデオの視聴者がゲームの視聴者自身のコピーを持たない場合には、3Dプリンティングシステムは、上述の第1の使用シナリオと同様のやり方で動作することができる。
【0216】
どちらの場合にも、3Dプリンティングシステムはよって、利用可能な、または提供されたゲーム内アセットを必要に応じて利用して、ビデオ録画されたゲームプレー中の特定の時点に対応する少なくとも1つの所定のキャラクタ、および任意選択で場面の高品質モデルを生成することができる。
【0217】
PlayStation4(登録商標)といったビデオゲームホスティング装置と、関連ゲームアセットを含むサーバ/クラウドとの他の組み合わせも、本発明の範囲内で想起されうることが理解されるであろう。
【0218】
例えば、ビデオゲームホスティング装置は、ゲームプレー中に使用されるゲームアセットをホストすることができ、他方、サーバ/クラウドは、3Dプリンティングに使用可能とされるゲームのゲームアセットを保持する。さらにはこれは、サーバ/クラウドが、ビデオゲームホスティング装置のゲームアセットと同様の従来のゲームアセットを保持することを意味していてもよく、かつ/またはこれは、サーバ/クラウドが、例えば、本明細書で前述した1つまたは複数の技法を使用して、3Dプリンティングのために特に増強され、または修正されたゲームアセットを保持することを意味していてもよい。
【0219】
この手順を使用すれば、ビデオゲームホスティング装置がサーバ/クラウドへゲームアセットを送信する必要がなく、よって事前定義の値セットは、関連するゲームを識別し、関連する場面またはキャラクタを識別する情報および任意の関連するポーズデータを、例えば、本明細書で前述したやり方で含むことができる。
【0220】
例えば、本発明の一実施形態においては、ビデオゲームホスティング装置上のゲームまたはオペレーティングシステムは、事前定義の値セットをサーバ/クラウドへ送信し、サーバ/クラウドから、サーバ/クラウドによって生成されるビデオゲーム場面またはキャラクタの3Dプリント可能バージョンを指し示すユニフォーム・リソース・ロケータ(URL)を受信する。
【0221】
通常、この3Dプリント可能バージョンは、本明細書に記載されるような技法を使用して構築され、事前定義の値セットを使用して、関連するゲームアセットが取得され、必要に応じて、事前定義の値セット内の任意の供給ポーズ情報に従って適切にポージングされ、サーバ/クラウドは次いで、メッシュ修復を行い、3Dプリンティングに適応したバージョンにメッシュの要素を代用し、または手続き的規則を使用してメッシュを適応させ、モデルの要素のための支持を生成し、かつ/または、前述のように廃棄プリンタ材料の回収を可能にするようにモデルを適応させることができる。
【0222】
URLは、3Dプリンティングに適した形式、例えば、事前定義の値セットを送信するときにユーザによって選択される形式のデータファイルを指し示すことができ、URLがサーバ/クラウドにアクセスするのに使用されるときにデータファイルを作成するのに使用されるべき形式を規定するパラメータデータを含むこともできる。
【0223】
どちらの場合にも、ビデオゲームの場面もしくはキャラクタの3Dプリント可能バージョン、および/または3Dプリント可能バージョンのためのデータファイルは、任意の適切な形でデータファイルに適用されるディジタル著作権管理保護を有しうる。
【0224】
データファイルは次いで、これがローカルで3Dプリンタに接続されており、またはデータファイルを第三者3Dプリンティングサービスに転送する手段を有する場合には、ビデオゲームホスティング装置に戻すこともでき、あるいはデータファイルは、サーバ/クラウドと関連付けられた3Dプリンティングサービスへ送ることもできる。
【0225】
[概略的実施形態]
本発明の第1の概略的実施形態においては、ビデオゲームから3Dプリンティングのためのオブジェクトを選択する方法は、連続した時点において(例えば、ビデオゲームのフレーム率で)表示するためのビデオゲームの仮想環境を周期的にレンダリングするステップと、連続した時点におけるレンダリングされた仮想環境の少なくとも一部の視覚的再構築を可能にする情報(例えば、圧縮ビデオ画像もしくは非圧縮ビデオ画像、または、ゲーム内でこの機能が利用できる場合には、表示されたゲームの再構築を可能にするゲーム特有のデータなど)を周期的に記録するステップと、連続した時点におけるレンダリングされた仮想環境の少なくとも一部の状態に対応した所定の値セットであって、3Dプリンティングのために構成されるレンダリングされた仮想環境の選択された少なくとも一部のモデルが生成されることを可能にする所定の値セットを周期的に記録するステップと、を含む。本明細書に記載されるように、そうした周期的に記録される所定の値セットは異なる品質レベルを有していてよく、これらの品質レベルは、記録シーケンスの間に任意の適切な順序でインターリーブすることができ、値セットは、例えば、本明細書で前述した技法に基づく、3Dプリンティング用のモデルの生成を可能にするために、ローカルでホストされるゲームの一部としての、または、リモートサーバを介してアクセスされるビデオゲームアセットへのアクセス権を必要としうる。
【0226】
本発明の第2の概略的実施形態においては、ビデオゲームから3Dプリンティングのためのオブジェクトを選択する方法は、本明細書で前述したように、それぞれの時点からのビデオゲームのレンダリングされた仮想環境の少なくとも一部の1つまたは複数の視覚的再構築を見直し、特定の時点と関連付けられた視覚的再構築を選択するステップと、特定の時点における視覚的に再構築された仮想環境の少なくとも一部を、3Dプリントされるべきオブジェクトとして(例えば、カーソルまたは前述のような選択のためのメニューを使用して)選択するステップと、レンダリングされた仮想環境の選択された少なくとも一部の状態を定義するそれぞれの所定の値セットを(例えば、ローカルRAMもしくはハードドライブから、またはビデオファイル内に埋め込まれたデータから、またはビデオファイル内に埋め込まれたデータによって指し示されるデータから)取得するステップと、取得されたそれぞれの値に応じて、3Dプリンティングのために構成されるレンダリングされた仮想環境の選択された少なくとも一部のモデルを、例えば、本明細書で前述した技法を使用して生成するステップと、を含む。
【0227】
本発明の第1の概略的実施形態および第2の概略的実施形態は、本明細書で前述したように、単一の装置上でも、2台以上の別々の装置上でも実施されうることが理解されるであろう。
【0228】
上述の第1の概略的実施形態および第2の概略的実施形態の例では、所定の値セットは、それぞれの時点におけるレンダリングされた仮想環境の少なくとも一部の状態を再構築するのに使用可能なデータを含む第1の品質(例えば、本明細書に記載される「高品質」)のものである。前述のように、データは、ゲーム内アセットへのアクセスなしで、それぞれの時点におけるレンダリングされた仮想環境の少なくとも一部の状態の再構築を直接可能にすることもでき、ゲーム内アセットへのアクセスが可能であると仮定することもできる。
【0229】
上述の第1の概略的実施形態および第2の概略的実施形態の例では、所定の値セットは、それぞれの時点におけるレンダリングされた仮想環境の再構築内の特定のゲーム内キャラクタの状態を再構築するのに使用可能なデータを含む第2の品質(例えば、本明細書に記載される「中品質」)のものである。前述のように、データは、ゲーム内アセットへのアクセスなしで、それぞれの時点における特定のゲームキャラクタの再構築を直接可能にすることもでき、ゲーム内アセットへのアクセスが可能であると仮定することもできる。
【0230】
上述の第1の概略的実施形態および第2の概略的実施形態の例では、所定の値セットは、それぞれの時点における特定のゲーム内キャラクタの状態を識別するデータを含む第3の品質(例えば、本明細書に記載される「低品質」)のものである。前述のように、通常このデータは、ゲーム内アセットへのアクセスが可能であると仮定することになる。
【0231】
上述の第1の概略的実施形態の例では、所定の値セットは、所定数の時点についてビデオゲームによって記録される。本明細書で前述したように、時点の数は、値がどこに記録されるか(例えばRAMかそれともHDDか)およびどんな品質で記録されるかに依存しうる。
【0232】
上述の第1の概略的実施形態の例では、レンダリングされた仮想環境の少なくとも一部の視覚的再構築を可能にする情報(例えば符号化ビデオ)は、所定数の時点について、ビデオゲームをホストするコンピューティング装置のオペレーティングシステムによって記録される。前述のように、PlayStation4(登録商標)といった装置は、ループとしての1分、3分、5分、10分、もしくは15分のビデオを、またはおそらくそれ以上を記録することができる。ゲームによって保存される(またはオペレーティングシステムによって保存されるようにゲームによって供与される)所定の値セットも、ゆえに、対応するループとして記憶することができる。
【0233】
上述の第1の概略的実施形態および第2の概略的実施形態の例では、連続した所定の値セットが、第三者ホストに一緒にエクスポートするために、対応する連続したビデオ画像と関連付けられる。本明細書で前述したように、通常これは、符号化ビデオデータのユーザフィールドまたは他の利用可能なフィールド内に埋め込まれている低品質の所定の値セットの形を取ることができる。
【0234】
上述の第1の概略的実施形態および第2の概略的実施形態の例では、連続した所定の値セットが、ビデオデータに組み込まれた識別子によって対応する連続したビデオ画像と関連付けられ、所定の値セットとビデオ画像とは1つまたは複数の第三者ホストへ別々にエクスポートされる。本明細書で前述したように、通常これは、符号化ビデオデータのユーザフィールドまたは他の利用可能なフィールド内に埋め込まれているユニバーサル・リソース・ロケータの一部を形成する識別子の形を取ることができ、ビデオデータと所定の値セットとは通常、別々のサーバへ、または任意選択で、別々のエンティティとして同じサーバへ、別々にアップロードされ、このサーバは、ビデオ・レビュー・サービスの提供と3Dプリンティングサービスの円滑化の両方を行う。
【0235】
上記の方法は、ソフトウェア命令によって、または専用ハードウェアを含め、または専用ハードウェアで代用することにより、適宜、適切に適応させた従来のハードウェア上で実行することができる。
【0236】
よって、従来の等価の装置の既存部分への必要な適応は、フロッピー(登録商標)ディスク、光ディスク、ハードディスク、PROM、RAM、フラッシュメモリもしくはこれらの任意の組み合わせまたは他の記憶媒体といった有形の非一時的な機械可読媒体上に記憶されたプロセッサ実装可能命令を含むコンピュータプログラム製品として実施することもでき、ASIC(特定用途向け集積回路)またはFPGA(フィールド・プログラマブル・ゲート・アレイ)または従来の等価の装置を適応させる際に使用するのに適した他の構成可能な回路としてハードウェアで実現することもできる。そうしたコンピュータプログラムは、コンピュータによって実行されると、コンピュータに、上述の方法の1つまたは複数を実施させるコンピュータソフトウェアを含むことができる。それとは別に、そうしたコンピュータプログラムは、Ethernet(登録商標)、無線ネットワーク、インターネット、もしくはこれらの任意の組み合わせ、または他のネットワーク上でデータ信号によって送信することもできる。
【0237】
ハードウェアに関して、本発明の第3の概略的実施形態においては、ビデオゲームホスティング装置(例えば、ハンドヘルド型または家庭用のビデオゲームコンソールやストリーミング・ゲーム・サービスを提供するサーバ)は、連続した時点において(例えば、ビデオゲームのフレーム率で)表示するためのビデオゲームの仮想環境を周期的にレンダリングするように適応しているレンダリング手段(例えばAPU20)と、連続した時点におけるレンダリングされた仮想環境の少なくとも一部の視覚的再構築を可能にする情報を周期的に記録すように適応している記録手段(RAM22またはハードドライブ37と通信するAPU20など)と、連続した時点におけるレンダリングされた仮想環境の少なくとも一部の状態に対応した所定の値セットであって、3Dプリンティングのために構成されるレンダリングされた仮想環境の選択された少なくとも一部のモデルが生成されることを可能にする所定の値セットを周期的に記録するように適応している記録手段(やはりRAM22またはハードドライブ37と通信するAPU20など)と、を含む。本明細書に記載されるように、そうした周期的に記録される所定の値セットは異なる品質レベルを有していてよく、これらの品質レベルは、記録シーケンスの間に任意の適切な順序でインターリーブすることができ、値セットは、例えば、本明細書で前述した技法に基づく、3Dプリンティング用のモデルの生成を可能にするために、ローカルでホストされるゲームの一部としての、または、リモートサーバを介してアクセスされるビデオゲームアセットへのアクセス権を必要としうる。
【0238】
第3の概略的実施形態の例では、ビデオゲームホスティング装置のオペレーティングシステムは、所定数の時点について、レンダリングされた仮想環境の少なくとも一部の視覚的再構築を可能にする情報(例えば符号化ビデオ)を記録するように適応している。前述のように、PlayStation4(登録商標)といった装置は、ループとしての1分、3分、5分、10分、もしくは15分のビデオを、またはおそらくそれ以上を記録することができる。ゲームによって保存される(またはオペレーティングシステムによって保存されるようにゲームによって供与される)所定の値セットも、ゆえに、対応するループとして記憶することができる。
【0239】
第3の概略的実施形態の例では、ビデオゲームホスティング装置は、連続した所定の値セットを対応する連続したビデオ画像と関連付け、それらを一緒に第三者ホストへ送信するように適応している送信手段(例えば、Ethernet(登録商標)32および/またはWi‐Fi(登録商標)34と通信するAPU20)を含む。本明細書で前述したように、通常これは、符号化ビデオデータのユーザフィールドまたは他の利用可能なフィールド内に埋め込まれている低品質の所定の値セットの形を取ることができる。
【0240】
第3の概略的実施形態の例では、ビデオゲームホスティング装置は、連続した所定の値セットを、ビデオデータに組み込まれた識別子によって対応する連続したビデオ画像と関連付け、所定の値セットとビデオ画像とを別々に1つまたは複数の第三者ホストへ送信するように適応している送信手段(例えば、Ethernet(登録商標)32および/またはWi‐Fi(登録商標)34と通信するAPU20)を含む。本明細書で前述したように、通常これは、符号化ビデオデータのユーザフィールドまたは他の利用可能なフィールド内に埋め込まれているユニバーサル・リソース・ロケータの一部を形成する識別子の形を取ることができ、ビデオデータと所定の値セットとは通常、別々のサーバへ、または任意選択で、別々のエンティティとして同じサーバへ、別々にアップロードされ、このサーバは、ビデオ・レビュー・サービスの提供と3Dプリンティングサービスの円滑化の両方を行う。
【0241】
本発明の第4の概略的実施形態においては、コンピューティング装置(第3の概略的実施形態の場合と同じビデオゲームホスティング装置であってもよく、類似したリモート・ビデオゲーム・ホスティング装置であってもよく、別個のリモートコンピューティング装置であってもよい)は、それぞれの時点からの見直しのためのビデオゲームのレンダリングされた仮想環境の少なくとも一部の1つまたは複数の視覚的再構築を出力するように適応している見直し手段(例えば、A/V出力39と通信するAPU20)と、特定の時点と関連付けられた視覚的再構築を選択するように適応している入力手段(例えば、Bluetooth(登録商標)入力33および/またはUSB入力35と通信し、さらには、ハンドヘルド式コントローラ43やマウス46といった入力手段と通信するAPU20)と、特定の時点における視覚的に再構築された仮想環境の少なくとも一部を、3Dプリントされるべきオブジェクトとして選択するように適応している入力手段(前述と同様に20、33、35、43、46)と、レンダリングされた仮想環境の選択された少なくとも一部の状態を定義するそれぞれの値を取得するように適応している取得手段(例えば、コンピューティング装置が第3の概略的実施形態の場合と同じビデオゲームホスティング装置である場合の、RAM22および/またはハードディスク37と通信するAPU20や、異なる装置の場合のEthernet(登録商標)入力32またはWi‐Fi(登録商標)入力34など)と、取得されたそれぞれの値に応じて、3Dプリンティングのために構成されるレンダリングされた仮想環境の選択された少なくとも一部のモデルを、例えば、本明細書で前述した技法を使用して生成するように適応している適応手段(例えばAPU20)と、を含む。
【0242】
第4の概略的実施形態の例では、生成手段は、中間モデルデータまたは完全モデルデータをリモート3Dプリンティングサービスへ送信する送信手段(例えば、Ethernet(登録商標)32またはWi‐Fi(登録商標)34と通信するAPU20)を含む。本明細書で前述したように、ユーザは、ユーザ自身の家庭用3Dプリンタを持ちうることが想定されており、その場合には、ユーザのローカル装置上で、本明細書に記載される技法を使用して当該プリンタのために完全なモデルデータを生成することができ、あるいは、ユーザが第三者3Dプリンティングサービスを使用したいと思う場合もあり、その場合には、第三者へ送信するためにユーザのローカル装置上で同様のやり方で完全なモデルを生成することもでき、ゲームからのメッシュデータおよび任意選択でテクスチャデータといった中間モデルを第三者へ送信することもでき、第三者はその場合、本明細書に記載されるような技法を使用してモデルを完成させた後で、完成されたモデルを3Dプリントすることができる。
【0243】
本開示の実施形態は以下に列挙する各項目によって定義される。
【0244】
1.ビデオゲームから3Dプリンティングのためのオブジェクトを選択する方法であって、
連続した時点において表示するためのビデオゲームの仮想環境を周期的にレンダリングするステップと、
連続した時点におけるレンダリングされた仮想環境の少なくとも一部の視覚的再構築を可能にする情報を周期的に記録するステップと、
連続した時点におけるレンダリングされた仮想環境の少なくとも一部の状態に対応した所定の値セットであって、3Dプリンティングのために構成されるレンダリングされた仮想環境の選択された少なくとも一部のモデルが生成されることを可能にする所定の値セットを周期的に記録するステップと
を含む方法。
【0245】
2.ビデオゲームから3Dプリンティングのためのオブジェクトを選択する方法であって、
それぞれの時点からのビデオゲームのレンダリングされた仮想環境の少なくとも一部の1つまたは複数の視覚的再構築を見直し、特定の時点と関連付けられた視覚的再構築を選択するステップと、
特定の時点における視覚的に再構築された仮想環境の少なくとも一部を、3Dプリントされるべきオブジェクトとして選択するステップと、
レンダリングされた仮想環境の選択された少なくとも一部の状態を定義するそれぞれの所定の値セットを取得するステップと、
取得されたそれぞれの値に応じて、3Dプリンティングのために構成されるレンダリングされた仮想環境の選択された少なくとも一部のモデルを生成するステップと
を含む方法。
【0246】
3.所定の値セットは、それぞれの時点におけるレンダリングされた仮想環境の少なくとも一部の状態を再構築するのに使用可能なデータを含む第1の品質のものである、項目1または項目2に記載の方法。
【0247】
4.所定の値セットは、それぞれの時点における仮想環境の再構築内の特定のゲーム内キャラクタの状態を再構築するのに使用可能なデータを含む第2の品質のものである、項目1または項目2に記載の方法。
【0248】
5.所定の値セットは、それぞれの時点における特定のゲーム内キャラクタの状態を識別するデータを含む第3の品質のものである、項目1または項目2に記載の方法。
【0249】
6.所定の値セットは、所定数の時点についてビデオゲームによって記録される、項目1に記載の方法。
【0250】
7.連続した所定の値セットが、第三者ホストに一緒にエクスポートするために、対応する連続したビデオ画像と関連付けられる、項目1に記載の方法。
【0251】
8.連続した所定の値セットが、ビデオデータに組み込まれた識別子によって対応する連続したビデオ画像と関連付けられ、所定の値セットとビデオ画像とは1つまたは複数の第三者ホストへ別々にエクスポートされる、項目1に記載の方法。
【0252】
9.任意の前述の方法項目のステップを実装するためのコンピュータプログラム製品。
【0253】
10.連続した時点において表示するためのビデオゲームの仮想環境を周期的にレンダリングするように適応しているレンダリング手段と、
連続した時点におけるレンダリングされた仮想環境の少なくとも一部の視覚的再構築を可能にする情報を周期的に記録するように適応している記録手段と、
連続した時点におけるレンダリングされた仮想環境の少なくとも一部の状態に対応した所定の値セットであって、3Dプリンティングのために構成されるレンダリングされた仮想環境の選択された少なくとも一部のモデルが生成されることを可能にする所定の値セットを周期的に記録するように適応している記録手段と、
を含む、ビデオゲームホスティング装置。
【0254】
11.ビデオゲームホスティング装置のオペレーティングシステムは、所定数の時点について、レンダリングされた仮想環境の少なくとも一部の視覚的再構築を可能にする情報を記録するように適応している、項目10に記載のビデオゲームホスティング装置。
【0255】
12.連続した所定の値セットを対応する連続したビデオ画像と関連付け、それらを一緒に第三者ホストへ送信するように適応している送信手段
を含む、項目10に記載のビデオゲームホスティング装置。
【0256】
13.連続した所定の値セットを、ビデオデータに組み込まれた識別子によって対応する連続したビデオ画像と関連付け、所定の値セットとビデオ画像とを別々に1つまたは複数の第三者ホストへ送信するように適応している送信手段
を含む、項目10に記載のビデオゲームホスティング装置。
【0257】
14.それぞれの時点からの見直しのためのビデオゲームのレンダリングされた仮想環境の少なくとも一部の1つまたは複数の視覚的再構築を出力するように適応している見直し手段、および特定の時点と関連付けられた視覚的再構築を選択するように適応している入力手段と、
特定の時点における視覚的に再構築された仮想環境の少なくとも一部を、3Dプリントされるべきオブジェクトとして選択するように適応している入力手段と、
レンダリングされた仮想環境の選択された少なくとも一部の状態を定義するそれぞれの値を取得するように適応している取得手段と、
取得されたそれぞれの値に応じて、3Dプリンティングのために構成されるレンダリングされた仮想環境の選択された少なくとも一部のモデルを生成するように適応している生成手段と
を含む、コンピューティング装置。
【0258】
15.生成手段は、中間モデルデータまたは完全モデルデータをリモート3Dプリンティングサービスへ送信する送信手段を含む、項目14に記載のコンピューティング装置。