IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

特開2024-144250バーチャルキャラクタモデリング方法およびエンターテインメントデバイス
<>
  • 特開-バーチャルキャラクタモデリング方法およびエンターテインメントデバイス 図1
  • 特開-バーチャルキャラクタモデリング方法およびエンターテインメントデバイス 図2
  • 特開-バーチャルキャラクタモデリング方法およびエンターテインメントデバイス 図3
  • 特開-バーチャルキャラクタモデリング方法およびエンターテインメントデバイス 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024144250
(43)【公開日】2024-10-11
(54)【発明の名称】バーチャルキャラクタモデリング方法およびエンターテインメントデバイス
(51)【国際特許分類】
   A63F 13/58 20140101AFI20241003BHJP
   G06T 15/00 20110101ALI20241003BHJP
   G06T 19/00 20110101ALI20241003BHJP
   A63F 13/56 20140101ALI20241003BHJP
   A63F 13/577 20140101ALI20241003BHJP
   A63F 13/537 20140101ALI20241003BHJP
【FI】
A63F13/58
G06T15/00
G06T19/00 A
A63F13/56
A63F13/577
A63F13/537
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024044631
(22)【出願日】2024-03-21
(31)【優先権主張番号】23386024.6
(32)【優先日】2023-03-28
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ラザロス ミカイリディス
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050AA10
5B050BA09
5B050EA26
5B050FA02
5B050FA05
(57)【要約】
【解決手段】バーチャルキャラクタモデリング方法は、バーチャルキャラクタの全部または一部に関してダメージマップを定義するステップと、ダメージマップ上の各点に初期ダメージ値を割り当てるステップと、ダメージマップ上の点におけるダメージ値を変更することにより、ダメージマップ上の点に対応するバーチャルキャラクタ上の点と、バーチャルダメージエージェントとの空間的相互作用によって引き起こされたダメージを、ダメージマップ上に記録するステップと、記録されたダメージに応じて前記バーチャルキャラクタの特徴を変更するステップとを含む。ダメージマップは、バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応する形を有する。ダメージマップ上の点は、バーチャルキャラクタ上の点に対応する。
【選択図】図3
【特許請求の範囲】
【請求項1】
バーチャルキャラクタモデリング方法であって、
前記バーチャルキャラクタの全部または一部に関してダメージマップを定義するステップと、
前記ダメージマップ上の各点に初期ダメージ値を割り当てるステップと、
前記ダメージマップ上の点におけるダメージ値を変更することにより、前記ダメージマップ上の点に対応するバーチャルキャラクタ上の点と、バーチャルダメージエージェントとの空間的相互作用によって引き起こされたダメージを、前記ダメージマップ上に記録するステップと、
記録されたダメージに応じて前記バーチャルキャラクタの特徴を変更するステップと、
を含み、
前記ダメージマップは、前記バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応する形を有し、
前記ダメージマップ上の点は、前記バーチャルキャラクタ上の点に対応することを特徴とするバーチャルキャラクタモデリング方法。
【請求項2】
前記空間的相互作用は、
i.前記バーチャルキャラクタと前記バーチャルダメージエージェントの少なくとも一部との交差、
ii.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連する領域効果の少なくとも一部との交差、
iii.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連するダメージパターンの少なくとも一部との交差または
iv.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連するヒットボックスの少なくとも一部との交差
を含むことを特徴とする請求項1に記載のバーチャルキャラクタモデリング方法。
【請求項3】
前記空間的相互作用は、
i.予め定められた相互作用、
ii.選択された相互作用のうちの1つまたは
iii.シミュレートされた相互作用
を含むことを特徴とする請求項1または2に記載のバーチャルキャラクタモデリング方法。
【請求項4】
前記ダメージマップ上の点は、
i.前記バーチャルキャラクタの各ピクセル、
ii.前記バーチャルキャラクタの各テクセル、
iii.前記バーチャルキャラクタのメッシュの各頂点または
iv.前記バーチャルキャラクタのメッシュの各ポリゴンの全部または一部
を含むことを特徴とする請求項1から3のいずれかに記載のバーチャルキャラクタモデリング方法。
【請求項5】
前記ダメージマップにダメージを記録するステップは、前記ダメージマップ上の点におけるダメージ値を、当該点における現在のダメージ値に応じた重み付けに応じた範囲で変更するステップを含むことを特徴とする請求項1から4のいずれかに記載のバーチャルキャラクタモデリング方法。
【請求項6】
バーチャルキャラクタの全部または一部について重み付けマップを定義するステップをさらに含み、
前記重み付けマップは、前記バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応する形を有し、
前記ダメージマップにダメージを記録するステップは、前記ダメージマップ上の各点におけるダメージ値を、前記重み付けマップによって示される重み付けに対応する範囲で変更するステップを含むことを特徴とする請求項1から5のいずれかに記載のバーチャルキャラクタモデリング方法。
【請求項7】
前記バーチャルキャラクタの形状の変化に応じて前記ダメージマップを変更するステップをさらに含むことを特徴とする請求項1から6のいずれかに記載のバーチャルキャラクタモデリング方法。
【請求項8】
前記ダメージマップ上のダメージ値を変更することにより、当該ダメージマップ上の点に対応するバーチャルキャラクタ上の点における治癒を記録するステップをさらに含むことを特徴とする請求項1から7のいずれかに記載のバーチャルキャラクタモデリング方法。
【請求項9】
前記記録されたダメージに応じて前記バーチャルキャラクタの特徴を変更するステップは、前記ダメージマップのダメージ値に応じたキャラクタに関し、
i.変位マップを変更するステップ、
ii.バンプマップを変更するステップ、
iii.法線マップを変更するステップ、
iv.透明度マップを変更するステップまたは
v.ブレンドマップを変更するステップ
を含むことを特徴とする請求項1から8のいずれかに記載のバーチャルキャラクタモデリング方法。
【請求項10】
前記バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応するデータ構造の各カラーチャンネルにおいて、1つのバーチャルキャラクタに対して2つ以上のダメージマップが定義されることを特徴とする請求項1から9のいずれかに記載のバーチャルキャラクタモデリング方法。
【請求項11】
請求項1から10のいずれかに記載のバーチャルキャラクタモデリング方法をコンピュータシステムに実行させるコンピュータ実行可能命令を含むコンピュータプログラム。
【請求項12】
エンターテインメントデバイスであって、
バーチャル環境においてバーチャルキャラクタを生成するグラフィックプロセッサと、
前記バーチャルキャラクタの全部または一部に関してダメージマップを定義し、前記ダメージマップ上の各点に初期ダメージ値を割り当て、前記ダメージマップ上の点におけるダメージ値を変更することにより前記ダメージマップ上の点に対応するバーチャルキャラクタ上の点とバーチャルダメージエージェントとの空間的相互作用によって引き起こされたダメージを前記ダメージマップ上に記録するダメージプロセッサと、
記録されたダメージに応じて前記バーチャルキャラクタの特徴を変更する変更プロセッサと、
を備え、
前記ダメージマップは、前記バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応する形を有し、
前記ダメージマップ上の点は、前記バーチャルキャラクタ上の点に対応することを特徴とするエンターテインメントデバイス。
【請求項13】
前記空間的相互作用は、
i.前記バーチャルキャラクタと前記バーチャルダメージエージェントの少なくとも一部との交差、
ii.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連する領域効果の少なくとも一部との交差、
iii.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連するダメージパターンの少なくとも一部との交差または
iv.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連するヒットボックスの少なくとも一部との交差
を含むことを特徴とする請求項12に記載のエンターテインメントデバイス。
【請求項14】
前記変更プロセッサは、
i.変位マップ、
ii.バンプマップ、
iii.法線マップ、
iv.透明度マップまたは
v.ブレンドマップ
を変更することを特徴とする請求項12または13に記載のエンターテインメントデバイス。
【請求項15】
前記バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応するデータ構造の各カラーチャンネルにおいて、1つのバーチャルキャラクタに対して2つ以上のダメージマップが定義されることを特徴とする請求項12から14のいずれかに記載のエンターテインメントデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バーチャルキャラクタモデリング方法およびエンターテインメントデバイスに関する。
【背景技術】
【0002】
ビデオゲームでは、敵役の中に仮想的な体力値を持つものがある。ユーザは、1回以上の攻撃を加えることでその体力値を減少させ敵役を倒せることが知られている。異なる攻撃は、体力値に異なる影響を与えることができる。例えばいくつかのゲームでは、いわゆる「ヘッドショット」は、他のショットよりも大きなダメージを引き起こす。また、より大きなダメージを引き起こす「クリティカルヒット」のチャンスがある攻撃もある。さらに、敵の弱点/抵抗をシミュレートし、彼らとの戦闘に応じた戦略を採用した(または採用しなかった)ユーザに報酬(またはペナルティ)を与えるものもある。攻撃の種類が体力値に多かれ少なかれ影響を与える場合もある。
【0003】
このようにすることで、ゲーム内の戦闘にバリエーションを持たせ、プレイヤーの興味を引くことができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上記のアプローチにはまだ改善の余地がある。
【0005】
本発明の実施の形態は、この課題を解決または軽減することを目的とする。
【課題を解決するための手段】
【0006】
本発明の様々な態様および特徴は、添付の特許請求の範囲および明細書の説明で定義される。
【0007】
第1の態様では、請求項1に従って、バーチャルキャラクタモデリング方法が提供される。
【0008】
別の態様では、請求項12に従ってエンターテインメントデバイスが提供される。
【図面の簡単な説明】
【0009】
添付の図面を参照しつつ以下の詳細な説明を読むことにより、本開示およびそれに関連する多くの利点について、より完全な理解が得られるだろう。
図1】実施の形態に係るエンターテインメントデバイスの概略図である。
図2】バーチャルキャラクタおよび環境の例示的な概略図である。
図3】実施の形態に係るキャラクタモデルの概略図である。
図4】実施の形態に係るバーチャルキャラクタモデリング方法のフローチャートである。
【発明を実施するための形態】
【0010】
バーチャルキャラクタモデリングの装置および方法が開示される。以下の説明では、本発明の実施の形態の完全な理解を与えるために、多数の具体的な詳細を示す。しかしながら、これらの具体的な詳細が本発明の実施に必須でないことは当業者に明らかだろう。一方、明瞭化を目的に、既知の特定の詳細は適宜省略する。
【0011】
複数の図面を通じて、同様の符号は同一または対応する部分を示す。図1は、エンターテインメントデバイス10がソニープレイステーション5(PS5)(登録商標)のようなコンピュータまたはコンソールである例を示す。
【0012】
エンターテインメントデバイス10は、CPU20を備える。これは、例えばPS5のように8つのコアを備えたシングルコアまたはマルチコアプロセッサであってもよい。エンターテインメントデバイスは、グラフィカルプロセッシングユニット(GPU)30も備える。GPUは、CPUと物理的に分離していてもよいし、PS5のようにシステムオンチップ(SoC)としてCPUと統合されていてもよい。
【0013】
エンターテインメントデバイスはRAM40も備える。この場合、CPUおよびGPUがそれぞれ別個のRAMを備えてもよいし、PS5のように共有RAMを備えてもよい。また各RAMは、物理的に分離されていてもよいし、PS5のようにSoCの一部として統合されていてもよい。さらなるストレージは、外付けハードドライブまたは内蔵ハードドライブ、外付けソリッドステートドライブ、またはPS5のような内蔵ソリッドステートドライブとして、ディスク50によって与えられる。
【0014】
エンターテインメントデバイスは、USB(登録商標)ポート、イーサネット(登録商標)ポート、Wi-Fi(登録商標)ポート、Bluetooth(登録商標)ポートなどのデータポート60を介して、適宜データを送受信できる。また選択的に、光学ドライブ70を介してデータを受信することもできる。
【0015】
エンターテインメントデバイスからのオーディオ/ビジュアル出力は、通常、1つ以上のA/Vポート90を介して、または有線もしくは無線データポート60を介して与えられる。
【0016】
エンターテインメントデバイスから出力された画像を表示するためのデバイスの一例として、ユーザ1が装着するPlayStation VR 2「PSVR2」(登録商標)などのヘッドマウントディスプレイ「HMD」120がある。
【0017】
コンポーネントは、統合されていない場合は、専用データリンクまたはバス100を介して適宜接続されてもよい。
【0018】
システムとのインタラクションは、通常、PS5の場合はDualSense(登録商標)コントローラ(130)のようなハンドヘルドコントローラ(130、130A)、および/またはHMDの場合はVRコントローラ(130A-L、R)によって与えられる。
【0019】
図2を参照する。ゲームでは、ユーザが主人公(左の写真のプレイヤキャラクタなど)を操作し、敵(右の写真のロボットなど)と戦う場合がある。敵は、主人公側の攻撃(非限定的な例として、銃、矢、または呪文などの射撃武器、剣または拳などの近接武器を使った攻撃)によって減少し得る合計の体力値を持ってもよい。
【0020】
こうした攻撃は、敵によって効果が異なる場合がある。例えばイラストゲーム(Horizon Zero Dawn(登録商標))では、矢の種類が異なると、ロボットの種類に応じて体力値に与える影響が大きくなったり小さくなったりする。攻撃によっては、いわゆるクリティカルヒットや攻撃倍率が所定の確率で発生し、同じ攻撃でも通常より大きな影響を敵の体力値に与える場合がある。
【0021】
また攻撃によっては、敵に当たる場所に応じて、他の攻撃より体力値に大きな影響を与える場合がある。例えばヘッドショットは、ボディショットよりも大きなダメージを与える場合がある。
【0022】
最後に、図2に示されるように、敵の特定の部分がそれ自身の体力値を持っていてもよい。図2で、ロボットの特定の部分(例えば丸で囲まれている部分)は、別々に攻撃され、破壊されてもよい。その結果、ロボットの機能(例えば、特定の攻撃または運動を使う能力)が無効になる。
【0023】
このように、敵の体力という基本的な概念にそれぞれの条件を加えることで、与えられたゲームの特定のゲームルールの中により大きな戦略と深みを組み込むことができる。
【0024】
しかしこれには、さらに改善したり、補完的な機能を与えたりする余地がある。
【0025】
図3を参照する。本実施の形態では、ビデオゲームのキャラクタ(敵、主人公、または中立のノンプレイヤキャラクタのいずれでもよい)に、ゲームプレイ中に当該キャラクタの累積ダメージおよび治癒が、空間的に記録可能なダメージマップとして与えられる。
【0026】
ダメージマップは、例えば、キャラクタのテクスチャマップに類似した形態をとることができ、ゲーム内のイベントに応じて更新される。マップそれ自体がテクスチャである必要はない。しかしキャラクタにマッピングされるテクスチャと同様のレイアウトを与えることにより、同様のマッピングを使って、キャラクタ上の点をダメージマップ上の点に関連付けるか、またはその逆に関連付けられることができる。これにより、キャラクタモデルへのテクスチャのロードおよびマッピングに使われるシェーダその他の同様のコードを効率的に再利用できる。
【0027】
キャラクタに対応するダメージマップ上の各点における体力の最大値を例えば100で表すと(ただし、例えばグレースケールのダメージマップの場合、8、16、32、64、128または256といった値の方が実装に便利な場合がある)、キャラクタの全体的な体力値をダメージマップ上の値の合計とみなすことができる。あるいは、各マップ上の点における体力値をダメージ値で表せば、キャラクタの全体体力値は、所定の初期ダメージ値からマップ上の値の合計を引いたものとすることもできる。従って本明細書では、値を引くまたは足すという表現は、マップが体力の損失を表すか、または等価的にダメージの増加を表すかに応じて、逆の意味に解釈され得る。
【0028】
ダメージマップ上の各点は、ピクセル、テクセルまたはメッシュの頂点に対応してもよい。あるいは、ダメージマップは、概念的に適用可能な各ポリゴンの一部または全部といったサブ領域に対応してもよい。
【0029】
ダメージマップにより、キャラクタのダメージの空間的な記録が可能となる。図3では、キャラクタの胸にダメージを示す斜めのマークがある。また片方の脚は、他方の脚よりもダメージが大きい。
【0030】
この場合、例えば胸のダメージは、炎の剣による斜めの一撃によるものかもしれない。一方脚のダメージは、ブービートラップを踏んだ結果かもしれない。
【0031】
より一般的に、ダメージは、キャラクタに適用されたダメージマップ上の点とダメージエージェントとの空間的な相互作用によって記録される。言い換えれば、ダメージは、ダメージマップ上の点に対応するキャラクタ上の点と、ダメージエージェントとの空間的な相互作用によって記録される。
【0032】
ダメージエージェントは、キャラクタに振り下ろされた剣のようなバーチャルオブジェクトであってもよいし、観念的オブジェクト(例えば銃弾は、それ自体はバーチャル世界内に存在しないが、単に発砲時の銃からターゲットへの観念的な投射であってもよい)であってもよいし、溶岩として扱われる表面のような環境であってもよい。ダメージエージェントはまた、火の玉のような領域効果を持ってもよいし、および/またはアニメーションシーケンスまたは手続き的/物理シミュレーションの関数である独自のダメージパターンを持ってもよい。例えば「ペイントボール」ゲームにおけるスプラッシュダメージは、連続的にまたはランダムに選択された一連の所定の「スプラット」パターンの1つとして与えられてもよいし、あるいは塗料がキャラクタに当たる(または近くの表面に当たってキャラクタに飛び散る)シミュレーションに基づいて与えられてもよい。これは例えば、キャラクタやキャラクタ近傍に命中する爆発にも適用できる。
【0033】
従って、選択的に、空間的な相互作用は、剣によるきれいな切り傷を記録するのに使われるダメージエージェントメッシュとキャラクタメッシュとの交点のような精密なものであってもよい。あるいは空間的な相互作用は、ダメージの交点(または最も近い接近)がピークダメージに対応し、より小さいダメージが放射状に広がるような領域効果を含むものであってもよいし、および/または、ダメージパターン(図3に示されるような炎状のパターンなど)の軌跡であってもよい。同様に、空間的な相互作用は、想定される軌跡(例えば、点軌跡)に基づいて計算されてもよい。例えば、キャラクタ近傍を通過する火球は、累積的な効果を生む可能性がある。なぜなら火球の効果を持つ空間領域は、キャラクタを通過して移動するからである(このとき、キャラクタ自身も移動している可能性がある)。結果として生じるダメージパターンは、キャラクタとダメージエージェントとの動的な相互作用を正確に反映できる。
【0034】
ダメージエージェントは、多かれ少なかれ時間的に継続する場合もあれば(例えば、火の玉や剣の場合)、瞬間的な場合もあり(例えば、弾丸の場合)、あるいはその組み合わせの場合もある(例えば剣が、特定の攻撃動作中は相手にダメージを与えるが、受動的に保持されているときや防御に使われているときはダメージを与えない場合など)。同様に、ダメージのサンプリングも、ダメージエージェントによって異なる。例えば弾丸の場合、ダメージは、ダメージマップに1回だけマッピングされてもよい。一方火の玉の場合、ダメージは、相互作用中の画像フレームごとに更新されたり、Nフレームごとに更新されたり、時間経過に伴うダメージの伝達速度をモデル化するために、ダメージエージェントとキャラクタとの間の相対速度の関数であったりしてもよい。例えば、キャラクタと交差する剣は、キャラクタと交差している間は継続的にダメージがマッピングされてもよく、剣が移動すると、新たに交差した点についてのみダメージがマッピングされてもよい。
【0035】
このようにダメージは、ダメージエージェントまたはエージェントに関連する任意の好適な相互作用(交差、領域効果、および/またはパターンなど)に従って、所定の(例えば、固定的、周期的、ランダムまたは選択的)ベースで、または物理シミュレーションもしくは他の手続き的スキームを用いて、典型的には、ダメージエージェント(複数可)がキャラクタ自体と相互作用するとともにダメージマップにあてはめられ、その後ダメージマップにマッピングされる。これらの相互作用は、ある意味で、キャンバスに色を塗るペイントブラシ、スプレー、スタンプのようなものと考えることができる。
【0036】
このようにして、キャラクタのダメージの正確なモデルを得ることができる。さらに、連続的に適用されるダメージがダメージマップ上の既存の値から差し引かれるため、累積ダメージの正確なモデルを得ることができる。例えば2つの異なる剣のスイングは、ターゲットとなるキャラクタの交差する箇所でより大きな累積ダメージを与える。
【0037】
選択的に、ダメージマップからの値の減算は線形でなくてもよい。例えばキャラクタのさまざまな特性をモデル化するために、受けたダメージに重み付けスキームが適用されてもよい。
【0038】
例えばキャラクタがサイの場合、重み付けは、95以上の値に対して0.2、10~95の値に対して1、1~10の値に対して0.2としてもよい。これは、頑丈な皮膚へのダメージ(5倍の初期ダメージを必要とする)、通常のダメージ、非常に低い健康状態を招くダメージ(例えば、頑丈な骨へのダメージ)に応じて、ボーナスをモデル化するものである。これはまた、ユーザが逃走するためのあるいは、ポーションを使うための追加的な時間を与えてもよい。このような重み付けスキームは、各ダメージ値に応じて異なる重みを与えてもよい。
【0039】
選択的に、重み付けマップが使われてもよい。このような重み付けマップは、例えば、RGB値を用いて所定の閾値ダメージ値における3つの異なる重みを指定する、または所定の重みに対する3つの異なる閾値ダメージ値を指定する、などができる。あるいは、例えば脆弱なポイントを示すために、あるいはダメージマップ上の特定のポイントに対する全体的な重み付けを設定するために、グレースケール・マップが使える。また、最大100個の異なる重み付け値へのポインタとして機能するマップ値(例えば0から100まで)や、100個の異なる重み付けスキーム(これは、ダメージマップ値に従って重み付け値をあてはめる)など、別の形態の重み付けマップも可能である。
【0040】
このようにして、キャラクタの体力とダメージ耐性との組み合わせを、簡単かつ正確にモデル化できる。
【0041】
さらに、マップを初期化するのに一律の値を使う必要はない。ゲーム内のキャラクタのクラスやスキルレベルなどによって、体力や生命力の高い領域と低い領域とが異なる場合がある。
【0042】
同様に、衣服、鎧または装備によって、異なるダメージマップおよび/またはウェイトマップが与えられてもよい。例えば鎧を装備することで、関連する領域のダメージマップの既存値に、その鎧に固有のダメージマップの値を追加したり、置き換えたりすることができる。例えばその鎧を着用したときのゲーム内のキャラクタの異なる物理モデルを反映するために、鎧のテクスチャに対応するダメージマップを現在のダメージマップに置き換えて使うことができる。一方、置き換えられたマップのダメージ値の一部またはすべてを、鎧マップにコピーしてもよい(または空間変換を用いて、ワープ/マッピングしてもよい)。あるいは鎧マップは、ダメージマップと別のものであってもよい。例えば、鎧マップが閾値(例えばゼロ)まで減少した場合、ダメージは、その場所でのみキャラクタのダメージマップに到達することを意味する。この場合も、ダメージマップおよび/または重みマップによる強さおよび弱さの正確な定義が可能である。例えば熟練した敵は、より大きなダメージを与えるために、マップレイアウトの関数として鎧の特定のポイントを狙えるようにしてもよい。
【0043】
モデルが新しくなると、ダメージマップのレイアウトが変わる可能性が高い。この場合、選択的に、元のマップ(またはその一部)がまだ使われていない場合はこれを保存しておき、関連するアイテムを再装備したときに元のマップに戻してもよい。これにより、異なる鎧などを装備していないときでも、こうした鎧へのダメージを保持できる。
【0044】
ゲームによっては、あるタイプの鎧を防御のために装備できる一方、美観のために別のタイプの鎧を装備できる場合(例えば、ユーザがあるタイプの外観の鎧を好むが、別のより強い鎧が使える場合)がある。この場合、選択的に、ワープ/マッピングを用いた空間変換により、より強い鎧のマップを、外観重視の鎧の形状に適合させてもよい。これにより、ダメージを、ユーザに表示されるものと一致するように可視化することができる。
【0045】
ダメージを与えるのと同様に、治癒を与えることも可能である。従来のアプローチと同様に、ヘルスポーションや医療用パックは健康マップ上の値を全体的に押し上げることができる一方、非限定的な例として包帯や治療呪文は、ダメージと同様の仕方で特定の領域(より正確には、非限定的な例として、領域、パターン効果など)に適用できる。
【0046】
ダメージマップは、キャラクタの外見を効率的に変更するのにも使用できる。マップは、例えば駆動または変更するために使えるし、鎧のへこみやその他の物理的なダメージを示す変形マップや変位マップとして、あるいは同様にバンプマップや法線マップとして使うこともできる。ダメージマップはまた、ダメージを受けたキャラクタテクスチャのバージョンの可視性を制御するためのアルファ値または透明度のマップとして使用でき、同様に、2つのテクスチャまたはモデルのブレンド(例えば、完全な健康状態から完全にダメージを受けた状態まで)の程度を示すブレンド値マップとしても使用できる。
【0047】
従って、マップは、例えば切り傷またはショットガンの爆発をマップ上の値に応じてキャラクタの溝またはへこみとして表示するのと同時に、値のレベルに応じて肉/血のテクスチャをブレンドするのに使うことができる。これによりキャラクタは、与えられたダメージを完全に反映する傷を負っている外観を自動的に持つことができる。さらに、これは非常に計算効率の高い方法で実現できる。これは、一般に高いフレームレートの維持が重要視されるビデオゲームにおいて有利である。
【0048】
例えば、異なるテクスチャまたはモデルをダメージマップ値の異なるサブ範囲に使うことができる。この場合、ダメージ値(これは、変形の深さを反映する)は、異なるテクスチャからのピクセル/テクセルを用いて、ダメージマップ上の対応する点のダメージ値に応じて、先ず筋肉を明らかにし、次に骨を明らかにする。
【0049】
従ってより一般的には、ゲーム要素(例えば、キャラクタ)の少なくとも第1の特徴(例えば、メッシュ変形、または等価的にバンプマッピング、または任意の他の適切な変形プロセス、および/またはメッシュ透明化、ブレンド、および/または選択)は、ダメージマップの値に応じて変更されてもよい。このとき、ダメージマップ上の所与の位置における値は、ゲーム要素の少なくとも第1の部分の対応する位置における少なくとも第1の特徴に影響を及ぼす。
【0050】
上記の一般的なメカニズムは、キャラクタのようなゲーム内要素の状態を正確に測定するための手段、特に、累積ダメージおよび治癒を記録するための手段を提供し、また、選択的変形およびテクスチャのブレンドおよび/または選択によってその状態を正確かつ効率的に表示するための手段も提供する。
【0051】
しかし、このメカニズム自体は、ゲームをプレイするためのルールではない。ダメージを記録し効率的に表示することと、その情報が特定のゲームでどのように使われるかということとは無関係である。
【0052】
対照的に、このような性能を利用できるルールは、キャラクタがどのようにダメージに応じるかを含んでいてもよい。例えば、アニメーション、能力、およびキャラクタの想定寿命は、局所的な、地域的な、またはグローバルな合計値に応じての変更される場合がある。
【0053】
例えばプレイヤーのアバターが左手に盾、右手に剣を持っている場合、右側にダメージが蓄積される可能性がある。このとき致命的なレベルのダメージを避けるために、盾を右手に持ち替えることができる。同様に、例えばマルチプレイヤーゲームでは、異なるプレイスタイルに応じて、対戦相手に特徴的なダメージパターンが生じることがある。熟練したプレイヤーであれば、その利用を学ぶことができる。
【0054】
同様にユーザは、少ない治癒材料をより戦略的に適用し、重要な部位やダメージの大きい場所を優先できる。同様にバフや弱点に適用する材料も、ダメージや治癒と同様の方法でダメージマップ(最大値など)および/または重み付けを変更することで、より的を絞った仕方で適用することができる。
【0055】
ダメージや治癒がどのように与えられるかは、通常ゲームにおける選択の問題である。例えば、与えられた剣によるダメージのレベルはどの程度か、ポーションが即座に治癒をもたらすか、あるいは一定期間にわたってダメージ値を増加(治癒)させるか、などである。
【0056】
局所的なダメージの影響は、単純なコマンドの制限(対応する手足がダメージを受けると、歩く速度が遅くなったり、腕が上がらなかったりするなど)から、閾値レベルのダメージや特定の部位(頭部など)へのダメージがあると、プレイヤーがコマンドに対する反応を忘れたり、反応時間が長くなったりするなどといったより複雑な影響まで、多岐にわたる。
【0057】
必要であれば、異なるタイプのダメージを反映するために、複数のダメージマップを同時に使用してもよい。これらは、キャラクタの別々の反応および/または異なるグラフィックの変更を駆動できたり、全体的な効果を生むために任意の適切な方法で組み合わせたりすることができる。
【0058】
例えば第1のダメージマップは、物理的なダメージをモデル化できる。一方別のマップは、スタミナをモデル化できる。スタミナマップは、ダメージマップのダメージ量に影響を与えるために使える(例えば、スタミナマップはダメージマップの重み付けに使われる)。もう1つのマップは魔法ダメージ(または魔法の効力)に関連し、同様に他の2つ(ダメージマップおよびスタミナマップ)の1つ以上と相互作用するかもしれない。あるいは、キャラクタの異なる生理学的特徴(骨格、筋肉、神経など)を別々にマッピングし、異なる体力値、強み、および/または弱みにしてもよい。例えば、大音量やその他の悪環境要素が神経マップにダメージを与え、キャラクタの応答時間や精度に影響を与えてもよい。一方、筋肉マップはスタミナの関数であってもよく、骨格マップは近接攻撃のダメージの関数であってもよい。
【0059】
選択的に、マップは、メモリ、CPU、および/またはGPUによる効率的な処理のために、例えば、それぞれのマップをそれぞれのカラーチャンネルに持つRGBテクスチャタイプのデータセットとして結合してもよい。同様に、単一のマップが、このようなデータセットの1つのカラーチャンネルを占有してもよい。
【0060】
本明細書で説明する一般的なメカニズムは、従来のダメージモデル、例えば、いわゆるヒットボックスおよびハートボックスと任意に相互作用できる。ヒットボックスおよびハートボックスは、キャラクタ(またはその一部)の周囲の仮想的な空間であり、あるヒットがキャラクタを傷づけるかどうかを判定するときにキャラクタのプロキシとして機能するものである。すなわち、ヒットボックスとハートボックスとが交差したときに、そのヒットはキャラクタに何らかのダメージを与えるものとしてカウントされる。
【0061】
本明細書の技法と協力して、ヒットボックスはダメージエージェントとして扱うことができ、前述した剣と同様の方法でキャラクタと直接交差するか、関連する領域またはパターン効果を持つことができる。選択的に、関連するエリア効果を定義するのにヒットボックスを使うこともできる。一方、(例えば互換性の理由から)キャラクタもまたハートボックスを持っていた場合、ハートボックスに帰属するダメージをダメージマップ(またはハートボックスに対応するダメージマップの一部)に適用することもできる。
【0062】
しかし有利なことに、本明細書の技法はハートボックスを必要とせず、通常はヒットボックスも使わないため、現在のダメージや他の効果(スタミナ、魔法の効力など)をより正確に登録できる。特に、ダメージマップはテクスチャと同様の方法でキャラクタに関連付けることができる。このため、例えば複雑なアニメーションや物理シミュレーションの間、および環境内または環境の他のオブジェクトやキャラクタとの任意の相互作用について、ダメージマップ上の点に対応するキャラクタ上の点の正確な位置を計算することができる。このように、従来のハートボックスではできなかった方法で、正確なダメージ(および治癒)を記録できる。
【0063】
次に図4を参照すると、ある実施の形態は、(例えばバーチャル環境内での)バーチャルキャラクタモデリング方法である。この方法は、以下のステップを含む。
【0064】
第1のステップS410では、バーチャルキャラクタの全部または一部に関してダメージマップを定義する。ダメージマップは、バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応する形を有する。ダメージマップ上の点は、バーチャルキャラクタ上の点に対応する。
【0065】
第2のステップS420では、ダメージマップ上の各点に初期ダメージ値を割り当てる。このステップは、ダメージマップ自体に固有のものであってもよい(例えば典型的には、テクスチャが関連する値を含むように、マップは、値で事前に初期化される)。
【0066】
第3のステップS430では、ダメージマップ上の点におけるダメージ値を変更することにより、ダメージマップ上の点に対応するバーチャルキャラクタ上の点と、バーチャルダメージエージェントとの空間的相互作用によって引き起こされたダメージを、ダメージマップ上に記録する。
【0067】
第4のステップS440では、記録されたダメージに応じてバーチャルキャラクタの特徴を変更する。
【0068】
本明細書で説明され、特許請求される装置の様々な実施の形態の動作に対応する方法の変形が、本発明の範囲内にあることは当業者に明らかだろう。そうし変形は以下を含むが、これらに限定されない。
-空間的相互作用は、バーチャルキャラクタとバーチャルダメージエージェントの少なくとも一部との交差、バーチャルキャラクタとバーチャルダメージエージェントに関連する領域効果の少なくとも一部との交差、バーチャルキャラクタとバーチャルダメージエージェントに関連するダメージパターンの少なくとも一部との交差またはバーチャルキャラクタとバーチャルダメージエージェントに関連するヒットボックスの少なくとも一部との交差を含んでもよい。
-空間的相互作用は、予め定められた相互作用、選択された相互作用のうちの1つまたはシミュレートされた相互作用を含んでもよい。
-ダメージマップ上の点は、バーチャルキャラクタの各ピクセル、バーチャルキャラクタの各テクセル、バーチャルキャラクタのメッシュの各頂点またはバーチャルキャラクタのメッシュの各ポリゴンの全部または一部を含んでもよい。
-ダメージマップにダメージを記録するステップは、ダメージマップ上の点におけるダメージ値を、当該点における現在のダメージ値に応じた重み付けに応じた範囲で変更するステップを含んでもよい。
-本方法は、バーチャルキャラクタの全部または一部について重み付けマップを定義するステップをさらに含んでもよい。バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応する形を有する。ダメージマップにダメージを記録するステップは、ダメージマップ上の各点におけるダメージ値を、重み付けマップによって示される重み付けに対応する範囲で変更するステップを含む。
-本方法は、キャラクタモデルの形状の変化に応じてダメージマップを変更するステップをさらに含む。
-本方法は、ダメージマップ上のダメージ値を変更することにより、当該ダメージマップ上の点に対応するバーチャルキャラクタ上の点における治癒を記録するステップをさらに含む。
-記録されたダメージに応じて前記バーチャルキャラクタの特徴を変更するステップは、ダメージマップのダメージ値に応じたキャラクタに関し、変位マップを変更するステップ、バンプマップを変更するステップ、法線マップを変更するステップ、透明度マップを変更するステップまたはブレンドマップを変更するステップを含む。
-バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応するデータ構造の各カラーチャンネルにおいて、1つのバーチャルキャラクタに対して2つ以上のダメージマップが定義されてもよい(これらのマップは、スタミナなどのキャラクタの他の特性を追跡してもよく、異なるタイプのダメージを追跡してもよい)。
【0069】
上記の方法は、ソフトウェア命令によって、または専用ハードウェアの包含または代替によって、好適に適合された従来のハードウェア上で実施されてもよい。
【0070】
従来の同等デバイスの既存の部分への必要な適合は、フロッピーディスク、光ディスク、ハードディスク、ソリッドステートディスク、PROM、RAM、フラッシュメモリまたはこれらの任意の組み合わせもしくは他の記憶媒体のような非一過性の機械可読媒体に記憶されたプロセッサ実装可能命令を含むコンピュータプログラム製品の形態で実装されてもよいし、ASIC(特定用途向け集積回路)またはFPGA(フィールドプログラマブルゲートアレイ)もしくは従来の同等デバイスの適合に使用するのに適した他の構成可能回路としてハードウェアで実現されてもよい。これとは別に、このようなコンピュータプログラムは、イーサネット、無線ネットワーク、インターネット、またはこれらの組み合わせや他のネットワークのようなネットワーク上のデータ信号を介して送信できる。
【0071】
本明細書の別の実施の形態では、エンターテインメントデバイス10(プレイステーション4または5、あるいはPC、タブレット、電話、HMD、スマートTVその他の任意の適切な装置)は、以下を備える。
【0072】
バーチャル環境においてバーチャルキャラクタを生成する(例えば適切なソフトウェア命令によって)グラフィックプロセッサ(例えばGPU30、選択的にCPU20と組み合わせてもよい)。
【0073】
バーチャルキャラクタの全部または一部に関してダメージマップを定義する(例えば適切なソフトウェア命令によって)ダメージプロセッサ(例えばCPU20、選択的にGPU30と組み合わせてもよい)。ダメージプロセッサは、ダメージマップ上の各点に初期ダメージ値を割り当てる(例えば、適切なソフトウェア命令によって。ここでも、値は、マップに提供される値として予め割り当てられてもよい。この意味で、ダメージプロセスまたはダメージは、マップ値をロードするか、またはマップ値をアクセスできるようにするだけである)。ダメージプロセッサは、ダメージマップ上の点におけるダメージ値を変更することによりダメージマップ上の点に対応するバーチャルキャラクタ上の点とバーチャルダメージエージェントとの空間的相互作用によって引き起こされたダメージをダメージマップ上に記録する(例えば、適切なソフトウェア命令によって)。
【0074】
記録されたダメージに応じてバーチャルキャラクタの特徴を変更する(例えば適切なソフトウェア命令によって)変更プロセッサ(例えばGPU30、選択敵にCPU20と組み合わせてもよい)。
【0075】
本明細書に記載の方法および技術を(例えば適切なソフトウェア命令の使用によって)実現する実施の形態の例は、本願の範囲内で想定されるが、これらに限定されない。
-空間的相互作用は、バーチャルキャラクタとバーチャルダメージエージェントの少なくとも一部との交差、バーチャルキャラクタとバーチャルダメージエージェントに関連する領域効果の少なくとも一部との交差、バーチャルキャラクタとバーチャルダメージエージェントに関連するダメージパターンの少なくとも一部との交差またはバーチャルキャラクタとバーチャルダメージエージェントに関連するヒットボックスの少なくとも一部との交差を含んでもよい。
-変更プロセッサは、ダメージマップのダメージ値に応じたキャラクタに関し、変位マップ、バンプマップ、法線マップ、透明度マップまたはブレンドマップを変更する。
-バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応するデータ構造の各カラーチャンネルにおいて、1つのバーチャルキャラクタに対して2つ以上のダメージマップが定義されてもよい。
【0076】
以上の説明は、本発明実施の形態を開示し、説明する単なる例示である。当業者に理解されるように、本発明は、その思想または本質的な特徴から逸脱することなく、他の具体的な形態で具現化できる。従って本発明の開示は、特許請求の範囲と同様に、例示であって本発明の範囲を限定するものではではない。本明細書における教示の容易に識別可能な変形を含む本開示は、発明的主題が公共に捧げられることがないように、請求項の用語の範囲を部分的に定義する。
図1
図2
図3
図4
【手続補正書】
【提出日】2024-07-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
バーチャルキャラクタモデリング方法であって、
前記バーチャルキャラクタの全部または一部に関してダメージマップを定義するステップと、
前記ダメージマップ上の各点に初期ダメージ値を割り当てるステップと、
前記ダメージマップ上の点におけるダメージ値を変更することにより、前記ダメージマップ上の点に対応するバーチャルキャラクタ上の点と、バーチャルダメージエージェントとの空間的相互作用によって引き起こされたダメージを、前記ダメージマップ上に記録するステップと、
記録されたダメージに応じて前記バーチャルキャラクタの特徴を変更するステップと、
を含み、
前記ダメージマップは、前記バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応する形を有し、
前記ダメージマップ上の点は、前記バーチャルキャラクタ上の点に対応することを特徴とするバーチャルキャラクタモデリング方法。
【請求項2】
前記空間的相互作用は、
i.前記バーチャルキャラクタと前記バーチャルダメージエージェントの少なくとも一部との交差、
ii.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連する領域効果の少なくとも一部との交差、
iii.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連するダメージパターンの少なくとも一部との交差または
iv.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連するヒットボックスの少なくとも一部との交差
を含むことを特徴とする請求項1に記載のバーチャルキャラクタモデリング方法。
【請求項3】
前記空間的相互作用は、
i.予め定められた相互作用、
ii.選択された相互作用のうちの1つまたは
iii.シミュレートされた相互作用
を含むことを特徴とする請求項1または2に記載のバーチャルキャラクタモデリング方法。
【請求項4】
前記ダメージマップ上の点は、
i.前記バーチャルキャラクタの各ピクセル、
ii.前記バーチャルキャラクタの各テクセル、
iii.前記バーチャルキャラクタのメッシュの各頂点または
iv.前記バーチャルキャラクタのメッシュの各ポリゴンの全部または一部
を含むことを特徴とする請求項1または2に記載のバーチャルキャラクタモデリング方法。
【請求項5】
前記ダメージマップにダメージを記録するステップは、前記ダメージマップ上の点におけるダメージ値を、当該点における現在のダメージ値に応じた重み付けに応じた範囲で変更するステップを含むことを特徴とする請求項1または2に記載のバーチャルキャラクタモデリング方法。
【請求項6】
バーチャルキャラクタの全部または一部について重み付けマップを定義するステップをさらに含み、
前記重み付けマップは、前記バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応する形を有し、
前記ダメージマップにダメージを記録するステップは、前記ダメージマップ上の各点におけるダメージ値を、前記重み付けマップによって示される重み付けに対応する範囲で変更するステップを含むことを特徴とする請求項1または2に記載のバーチャルキャラクタモデリング方法。
【請求項7】
前記バーチャルキャラクタの形状の変化に応じて前記ダメージマップを変更するステップをさらに含むことを特徴とする請求項1または2に記載のバーチャルキャラクタモデリング方法。
【請求項8】
前記ダメージマップ上のダメージ値を変更することにより、当該ダメージマップ上の点に対応するバーチャルキャラクタ上の点における治癒を記録するステップをさらに含むことを特徴とする請求項1または2に記載のバーチャルキャラクタモデリング方法。
【請求項9】
前記記録されたダメージに応じて前記バーチャルキャラクタの特徴を変更するステップは、前記ダメージマップのダメージ値に応じたキャラクタに関し、
i.変位マップを変更するステップ、
ii.バンプマップを変更するステップ、
iii.法線マップを変更するステップ、
iv.透明度マップを変更するステップまたは
v.ブレンドマップを変更するステップ
を含むことを特徴とする請求項1または2に記載のバーチャルキャラクタモデリング方法。
【請求項10】
前記バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応するデータ構造の各カラーチャンネルにおいて、1つのバーチャルキャラクタに対して2つ以上のダメージマップが定義されることを特徴とする請求項1または2に記載のバーチャルキャラクタモデリング方法。
【請求項11】
請求項1または2に記載のバーチャルキャラクタモデリング方法をコンピュータシステムに実行させるコンピュータ実行可能命令を含むコンピュータプログラム。
【請求項12】
エンターテインメントデバイスであって、
バーチャル環境においてバーチャルキャラクタを生成するグラフィックプロセッサと、
前記バーチャルキャラクタの全部または一部に関してダメージマップを定義し、前記ダメージマップ上の各点に初期ダメージ値を割り当て、前記ダメージマップ上の点におけるダメージ値を変更することにより前記ダメージマップ上の点に対応するバーチャルキャラクタ上の点とバーチャルダメージエージェントとの空間的相互作用によって引き起こされたダメージを前記ダメージマップ上に記録するダメージプロセッサと、
記録されたダメージに応じて前記バーチャルキャラクタの特徴を変更する変更プロセッサと、
を備え、
前記ダメージマップは、前記バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応する形を有し、
前記ダメージマップ上の点は、前記バーチャルキャラクタ上の点に対応することを特徴とするエンターテインメントデバイス。
【請求項13】
前記空間的相互作用は、
i.前記バーチャルキャラクタと前記バーチャルダメージエージェントの少なくとも一部との交差、
ii.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連する領域効果の少なくとも一部との交差、
iii.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連するダメージパターンの少なくとも一部との交差または
iv.前記バーチャルキャラクタと前記バーチャルダメージエージェントに関連するヒットボックスの少なくとも一部との交差
を含むことを特徴とする請求項12に記載のエンターテインメントデバイス。
【請求項14】
前記変更プロセッサは、
i.変位マップ、
ii.バンプマップ、
iii.法線マップ、
iv.透明度マップまたは
v.ブレンドマップ
を変更することを特徴とする請求項12または13に記載のエンターテインメントデバイス。
【請求項15】
前記バーチャルキャラクタの全部または一部に適用されるテクスチャマップに対応するデータ構造の各カラーチャンネルにおいて、1つのバーチャルキャラクタに対して2つ以上のダメージマップが定義されることを特徴とする請求項12に記載のエンターテインメントデバイス。
【外国語明細書】