JP6329616B1 - プログラム、コンピュータ装置、及び、判定方法 - Google Patents

プログラム、コンピュータ装置、及び、判定方法 Download PDF

Info

Publication number
JP6329616B1
JP6329616B1 JP2016230637A JP2016230637A JP6329616B1 JP 6329616 B1 JP6329616 B1 JP 6329616B1 JP 2016230637 A JP2016230637 A JP 2016230637A JP 2016230637 A JP2016230637 A JP 2016230637A JP 6329616 B1 JP6329616 B1 JP 6329616B1
Authority
JP
Japan
Prior art keywords
virtual skeleton
virtual
collided
skeleton
foot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016230637A
Other languages
English (en)
Other versions
JP2018088102A (ja
Inventor
直 笠原
直 笠原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2016230637A priority Critical patent/JP6329616B1/ja
Application granted granted Critical
Publication of JP6329616B1 publication Critical patent/JP6329616B1/ja
Publication of JP2018088102A publication Critical patent/JP2018088102A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】処理負荷が低く、かつ、オブジェクト間の衝突判定を行うことが一般的に難しい状況においても衝突判定を行うことが可能なプログラムを提供する。【解決手段】コンピュータ装置を、オブジェクトが有する仮想骨格の位置に関する位置情報を取得する位置情報取得手段と、取得したオブジェクトが有する仮想骨格の位置に関する位置情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する衝突判定手段として機能させるプログラムである。【選択図】図2

Description

本発明は、処理負荷の低い、オブジェクト間の衝突を判定するプログラム、コンピュータ装置、及び、判定方法に関する。
ビデオゲームにおいて、アニメーションを容易に制作する方法として、人間等の現実の動きを測定してコンピュータ装置に取り込み、仮想空間においてオブジェクトにアニメーションさせるモーションキャプチャという手法がある。
また、アニメーションをリアルに描写するために、コンピュータ制御によりキャラクタのモーションを補正する技術もある(例えば、特許文献1)。モーションを補正する技術として、例えば、インバース・キネマティクスや、プロシージャル・アニメーションが挙げられる。これらの方法は、コンピュータ制御によりモーションを自動的、あるいは半自動的に生成することにより、自然なアニメーションを実現するものである。
さらに、アニメーション制作において、オブジェクト同士が衝突したか否かをオブジェクトのモーション情報から判定する衝突判定に関する技術がある。オブジェクトが衝突した場合には、オブジェクトの動きに関する変化等の効果が生じる。
特開2001−351124号公報
モーションキャプチャにより制作されたモーションを用いて衝突判定を行うには、開発者が衝突判定における、いわゆる当たり判定とよばれる範囲を設定したうえで判定を行う必要があった。モーションが変更になれば、再度開発者の設定が必要となり、作業コストは甚大であった。また、衝突判定の処理も、レイキャスト等の物理的衝突判定方法が用いられるが、物理的衝突判定は処理負荷が高く、高い性能を有するコンピュータ装置が必要であった。さらに、例えば、カットシーンにおいて、モーションキャプチャを用いてオブジェクトのモーションを制作する場合に、モーションの原点をオブジェクトの基準座標とすると、仮想空間内の地面との衝突(接触)判定ができない状況があった。
コンピュータ制御によるモーションの自動生成技術は、自然なアニメーションを提供する一方、オブジェクトが衝突するタイミングを開発者が把握できず、衝突により生じる視覚的効果や音響等を自然に表現することが困難であった。また、生成されたアニメーションにおいて、本来は起立しているはずのキャラクタ等の足が、予期せず地面の座標から離れてしまった場合に、地面との衝突判定である接地判定ができず、足音が発せられない等、不自然な状況があった。
本発明の少なくとも1つの実施の形態の目的は、処理負荷が低く、かつ、オブジェクト間の衝突判定を行うことが一般的に難しい状況においても衝突判定を行うことが可能なプログラム、コンピュータ装置、及び、判定方法を提供することを目的とする。
非限定的な観点によると、コンピュータ装置を、オブジェクトが有する仮想骨格の位置に関する位置情報を取得する位置情報取得手段、取得した位置情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する衝突判定手段として機能させるプログラムである。
非限定的な観点によると、オブジェクトが有する仮想骨格の位置に関する位置情報を取得する位置情報取得手段と、取得した位置情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する衝突判定手段とを備える、コンピュータ装置である。
非限定的な観点によると、コンピュータ装置において実行される判定方法であって、オブジェクトが有する仮想骨格の位置に関する位置情報を取得するステップと、取得した位置情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定するステップとを有する判定方法である。
本発明の各実施形態により1または2以上の不足が解決される。
本発明の実施の形態の少なくとも1つに対応する、コンピュータ装置の構成を示すブロック図である。 本発明の実施の形態の少なくとも1つに対応する、プログラム実行処理のフローチャートである。 本発明の実施の形態の少なくとも1つに対応する、コンピュータ装置の構成を示すブロック図である。 本発明の実施の形態の少なくとも1つに対応する、プログラム実行処理のフローチャートである。 本発明の実施の形態の少なくとも1つに対応する、コンピュータ装置の構成を示すブロック図である。 本発明の実施の形態の少なくとも1つに対応する、プログラム実行処理のフローチャートである。 本発明の実施の形態の少なくとも1つに対応する、オブジェクトが衝突したか否か判定するための衝突条件マスタテーブルを表す図である。 本発明の実施の形態の少なくとも1つに対応する、オブジェクトの歩行モーション中における接地判定方法を説明する図である。 本発明の実施の形態の少なくとも1つに対応する、シミュレーションにより動作するオブジェクトの発音タイミングについて説明する図である。 本発明の実施の形態の少なくとも1つに対応する、発音する音を決定するための発音マスタテーブルを表す図である。
以下、添付図面を参照して、本発明の実施の形態について説明する。以下、効果に関する記載は、本発明の実施の形態の効果の一側面であり、ここに記載するものに限定されない。また、以下で説明するフローチャートを構成する各処理の順序は、処理内容に矛盾や不整合が生じない範囲で順不同である。
[第一の実施の形態]
本発明の第一の実施の形態について説明をする。図1は、本発明の実施の形態の少なくとも1つに対応する、コンピュータ装置の構成を示すブロック図である。コンピュータ装置1は、位置情報取得部101、及び、衝突判定部102を少なくとも備える。
位置情報取得部101は、オブジェクトが有する仮想骨格の位置に関する位置情報を取得する機能を有する。衝突判定部102は、取得した位置情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する機能を有する。
本発明の第一の実施の形態におけるプログラム実行処理について説明する。図2は、本発明の実施の形態の少なくとも1つに対応する、プログラム実行処理のフローチャートである。
コンピュータ装置1は、オブジェクトが有する仮想骨格の位置に関する位置情報を取得する(ステップS1)。ステップS1において取得した位置情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定し(ステップS2)、終了する。
第一の実施の形態の一側面として、オブジェクトが有する仮想骨格の位置情報に基づいて衝突判定を行うことで、処理負荷が低く、かつ、地面との衝突判定を行うことが一般的に難しい状況においても衝突判定を行うことができる。
第一の実施の形態において、「コンピュータ装置」とは、例えば、デスクトップ型又はノート型パーソナルコンピュータ、タブレットコンピュータ、又は、PDA等をいい、表示画面にタッチパネルセンサを備える携帯型端末であってもよい。
「オブジェクト」とは、例えば、仮想空間内で有形の物体をいう。「仮想骨格」とは、例えば、オブジェクトの骨格であって、オブジェクトの動作や姿勢を定義する際に用いられるものをいう。「位置情報」とは、例えば、3次元仮想空間を形成する座標系の座標に基づいて定めることができる位置に関する情報である。
[第二の実施の形態]
次に、本発明の第二の実施の形態の概要について説明をする。図3は、本発明の実施の形態の少なくとも1つに対応する、コンピュータ装置の構成を示すブロック図である。コンピュータ装置1は、位置情報取得部111、衝突判定部112、及び、発音部113を少なくとも備える。
位置情報取得部111は、オブジェクトが有する仮想骨格の位置に関する位置情報を取得する機能を有する。衝突判定部112は、取得した位置情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する機能を有する。発音部113は、衝突判定手段によりオブジェクトが他のオブジェクトと衝突したと判定されたタイミングにおいて、発音処理を実行する機能を有する。
本発明の第二の実施の形態におけるプログラム実行処理について説明する。図4は、本発明の実施の形態の少なくとも1つに対応する、プログラム実行処理のフローチャートである。
コンピュータ装置1は、オブジェクトが有する仮想骨格の位置に関する位置情報を取得する(ステップS11)。次に、ステップS11において取得した位置情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する(ステップS12)。オブジェクトが他のオブジェクトと衝突したと判定されたタイミングにおいて(ステップS12においてYES)、発音処理を実行し(ステップS13)、終了する。
第二の実施の形態の一側面として、オブジェクトが衝突したと判定されたタイミングにおいて発音することで、衝突判定を行うことが難しい状況においても、違和感のないタイミングで発音させることができる。
第二の実施の形態において、「コンピュータ装置」、「オブジェクト」、「仮想骨格」、及び、「位置情報」とは、それぞれ第一の実施の形態において記載した内容と同一である。
第二の実施の形態において、「発音処理」とは、例えば、音を発生させる処理をいう。
[第三の実施の形態]
次に、本発明の第三の実施の形態の概要について説明をする。第三の実施の形態のコンピュータ装置は、図1のブロック図に示されるものと同じ構成を採用することができる。また、第三の実施の形態のプログラム実行処理のフローは、図2のフローチャートに示されるものと同じ構成を採用することができる。
第三の実施の形態において、衝突判定部102が、仮想骨格の位置、移動速度、及び/若しくは、加速度、並びに/又は、仮想骨格と仮想骨格から形成される仮想関節の角度及び/若しくは角速度が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定するものである。
第三の実施の形態の一側面として、仮想骨格の位置、移動速度、加速度、仮想骨格と仮想骨格から形成される仮想関節の角度、角速度のいずれかを用いて、オブジェクトの衝突を判定することにより、オブジェクトの様々な状態に応じた衝突タイミングを、柔軟に設定することができる。
第三の実施の形態において、「コンピュータ装置」、「オブジェクト」、「仮想骨格」、及び、「位置情報」とは、それぞれ第一の実施の形態において記載した内容と同一である。また、「発音処理」とは第二の実施の形態において記載した内容と同一である。
第三の実施の形態において、「移動速度」とは、例えば、オブジェクトが移動する速度をいい、速度の正負によりオブジェクトの移動する方向を表すものである。「加速度」とは、例えば、オブジェクトの移動速度の変化の度合いをいう。「仮想関節」とは、例えば、オブジェクトを形成する骨格同士をつなぐ部分をいい、骨格間の動きを伝達する役割をもつものをいう。「角速度」とは、例えば、オブジェクトを形成する仮想骨格が回転する速さをいう。
[第四の実施の形態]
本発明の第四の実施の形態の概要について説明する。図5は、本発明の実施の形態の少なくとも1つに対応する、コンピュータ装置の構成を示すブロック図である。
コンピュータ装置1は、制御部11、RAM(Random Access Memory)12、ストレージ部13、サウンド処理部14、グラフィックス処理部15、DVD/CD−ROMドライブ16、通信インタフェース17、及びインタフェース部18からなり、それぞれ内部バスにより接続されている。
制御部11は、CPU(Central Processing Unit)やROM(Read Only Memory)から構成される。制御部11は、ストレージ部13や記録媒体24に格納されたプログラムを実行し、コンピュータ装置1の制御を行う。また、制御部11は時間を計時する内部タイマを備えている。
RAM12は、制御部11のワークエリアである。ストレージ部13は、プログラムやデータを保存するための記憶領域である。
DVD/CD−ROMドライブ16は、DVD−ROMやCD−ROMなどのプログラムが格納された記録媒体24を装着することが可能である。記録媒体24には、ゲームの実行やコンテンツの再生を行うためのプログラム及びデータが記憶されている。DVD/CD−ROMドライブ16により、コンテンツの進行に必要なプログラム及びデータが記録媒体24から読み出され、RAM12にロードされる。
制御部11は、コンテンツの進行に必要なプログラム及びデータをRAM12から読み出して処理を行う。制御部11は、RAM12にロードされたプログラム及びデータを処理することで、サウンド出力の指示をサウンド処理部14に出力し、描画命令をグラフィックス処理部15に出力する。
サウンド処理部14は、スピーカであるサウンド出力装置21に接続されている。制御部11がサウンド出力の指示をサウンド処理部14に出力すると、サウンド処理部14はサウンド出力装置21にサウンド信号を出力する。
グラフィックス処理部15は表示装置22に接続されている。表示装置22は表示画面23を有している。制御部11が描画命令をグラフィックス処理部15に出力すると、グラフィックス処理部15は、フレームメモリ(フレームバッファ)19に画像を展開し、表示画面23上に画像を表示するためのビデオ信号を出力する。グラフィックス処理部15は、フレーム単位で1枚の画像の描画を実行する。画像の1フレーム時間は、例えば30分の1秒である。
インタフェース部18には、例えば、コントローラやキーボード等の入力部20が接続される。ユーザによる入力部20に対する入力情報は、RAM12に格納され、制御部11は入力情報をもとに各種の演算処理を実行する。また、インタフェース部18には、メモリカード等の外部記憶媒体を接続することも可能である。インタフェース部18は、制御部11からの指示にしたがって、RAM12に記憶されているコンテンツの進行状況に関するデータを外部記憶媒体に記憶させる処理や、外部記憶媒体に記憶されているデータを読み出してRAM12に転送する処理を行う。
通信インタフェース17は無線又は有線により通信ネットワーク2に接続されており、外部のコンピュータ装置と必要に応じて操作指示情報やコンテンツの進行状況に関する情報の送受信を行う。
第四の実施の形態の一例として、ユーザが操作するキャラクタが3次元仮想空間内を自由に動き回ることができるロールプレイングゲーム(Role Playing Game。以下、RPGという)のプログラムを挙げる。ゲームは、ユーザの操作によりキャラクタを動作させる場面と、予めストレージ部13に記録された動画を再生する場面とから構成されるものであってもよい。
続いて、本発明の第四の実施の形態におけるプログラム実行処理について説明をする。図6は、本発明の実施の形態の少なくとも1つに対応する、プログラム実行処理のフローチャートである。
プログラムの実行処理が開始されると、ストレージ部13に記録された衝突したか否か判定するための条件である衝突条件を取得する(ステップS21)。衝突条件については、後述する。
次に、表示画面23に表示されるフレームの演算を行う(ステップS22)。ステップS22において演算されたフレームを生成し、表示画面23に表示する(ステップS23)。
次に、ステップS23において生成されたフレームから、オブジェクトの仮想骨格情報を取得する(ステップS24)。オブジェクトの仮想骨格情報には、仮想空間内に存在するキャラクタや、キャラクタが身に着けている服、アクセサリ等の小物、その他仮想骨格により形成されるオブジェクトに関する情報が含まれる。さらに、仮想骨格及び仮想関節に設定された位置座標、前フレームと現フレームとの位置座標の変化量、移動速度、前フレームと現フレームとの速度の変化量を表す加速度、仮想関節の角度、あるいは、角速度に関する情報が含まれる概念である。ここで、移動速度とは、仮想空間を形成する座標系の軸ごとに設定されるものであってもよく、移動する方向を知ることができるベクトル情報であってもよい。
続いて、取得した仮想骨格情報が衝突条件を満たすか判定する(ステップS25)。図7は、本発明の実施の形態の少なくとも1つに対応する、オブジェクトが衝突したか否か判定するための衝突条件マスタテーブルを表す図である。
衝突条件マスタテーブル30は、条件NO31に関連付けて、チェック対象32、及び、条件内容33が記憶されている。チェック対象32は、衝突条件を判定する対象に関する情報である。条件内容33は、チェック対象32が条件内容に記載された条件を満たしている場合に、衝突したと判定するための条件である。同一の条件NO31に関連付けられた複数の条件内容33は、論理積(AND)により判定される。すなわち、1つの条件NO31に、複数の条件内容33が存在する場合には、すべての条件内容33を満たした場合に限り、衝突したと判定される。
条件内容33について具体的に説明する。例えば、条件NO31が「0001」の場合には、オブジェクトの仮想骨格あるいは仮想関節(以下、仮想骨格等という)の移動速度が、前フレームにおける同じ仮想骨格等の移動速度と比較した場合に、移動速度の符号が反転したときは、衝突したものと判定する。ここで、オブジェクトが、他のオブジェクトと実際には衝突していない場合であっても、衝突したものとして効果を生じさせてもよい。
次に、条件NO31が「0002」の場合であって、オブジェクトが地面に接したか否か判定する接地判定を行う場面について説明する。図8は、本発明の実施の形態の少なくとも1つに対応する、オブジェクトの歩行モーション中における接地判定方法を説明する図である。
接地判定は、人型のオブジェクトが両足で歩行する際に、足部及び脚部の仮想骨格に関する情報に基づいて、接地したか否か判定するものである。なお、実線で描いた脚部を右脚、破線で描いた脚部を左脚とする。
図8(a)は、右足が地面45に接する瞬間のフレームを表す図である。足部及び脚部には、仮想関節40a、40b、及び40cがそれぞれ設定されている。また、仮想関節40a及び40bの間の仮想骨格41aと、仮想関節40b及び40cの間の仮想骨格41bとが成す角度として、角度42が定義されている。右脚は移動しているため、右足の仮想骨格41aは所定の移動速度にて移動している。
図8(b)は、図8(a)の状態から所定の時間が経過した後のフレームを表す図である。左脚を前に進める際に、右足は地面45に接地している。このとき、右足の仮想骨格41aの移動速度は0、すなわち静止している。また、角度42は所定の範囲内の角度を維持している。
図8(c)は、図8(b)の状態から所定の時間が経過した後のフレームを表す図である。左脚が右脚より前に進められた状態であっても、右足は地面45に接地したままであり、角度42は図8(b)に示された所定の範囲内の角度を維持したままである。
図8(d)は、図8(c)の状態から所定の時間が経過した後のフレームを表す図である。左足が接地すると、右足の接地状態は解除され、右足の仮想骨格41aの移動速度は0より大きくなる。また、角度42は図8(b)及び(c)に示された所定の範囲外の角度となる。
つまり、足部の仮想骨格41aの移動速度が、所定の速度以下である状態が複数フレームに渡って継続する場合に、足が接地しているものと判定することができる。さらに、接地したと判定する条件に、仮想関節40bの角度42について、所定の範囲内の角度である状態が複数フレームに渡り継続しているか否かという条件を追加してもよい。なお、オブジェクトの移動速度は、例えば水平方向の移動速度のみに限定して判定するようにしてもよい。
同様に、手部及び腕部の仮想骨格等の情報を用いて、オブジェクトと壁オブジェクトとの接触判定を行うこともできる。これは、図7において、条件NO31が「0003」の条件内容33を満たす場合である。図示はしないが、手部の仮想骨格の移動速度が所定の条件を満たす場合には、手部が壁オブジェクトに接触していると判定することができる。また、より細かくオブジェクトの動作を区別するために、他の条件を追加してもよい。他の条件とは、例えば、手部を形成する仮想骨格と腕部を形成する仮想骨格とが成す角度が所定の範囲内であること等である。
続いて、条件NO31が「0004」の場合であって、キャラクタが身に着けているオブジェクト(例えばカバン)について、発音するタイミングを判定する場面について説明する。図9は、本発明の実施の形態の少なくとも1つに対応する、シミュレーションにより動作するオブジェクトの発音タイミングについて説明する図である。オブジェクト51は、仮想関節52a、52b、並びに52c、及び、仮想関節52aと52bとの間に存在する仮想骨格53a、並びに、仮想関節52bと52cとの間に存在する仮想骨格53bにより形成され、シミュレーションにより動作する。
図9(a)は、オブジェクトを身に着けたキャラクタが、静止している様子を表す図である。キャラクタがオブジェクト51を身に着けているため、オブジェクト51を形成する仮想骨格53bはキャラクタに矢印方向への力を受け、キャラクタの身体に寄り添うように位置する。
ここで、キャラクタの移動等の動作により、オブジェクトがキャラクタの身体から離れた状況になった場合を説明する。図9(b)は、オブジェクトがキャラクタの身体から離れた様子を表す図である。オブジェクト51はキャラクタの身体から離れる方向に移動しているため、仮想骨格53bは、キャラクタの身体から離れる方向である矢印方向への力を受ける。つまり、仮想骨格53bの移動速度は、図9(a)における移動速度とは異なり、重力に反する方向へ移動することとなる。
この場合に、図7の条件33「速度の正負が逆転したら」という条件を満たし、キャラクタとオブジェクトとの衝突が発生したものとみなすことができる。さらに正確に衝突を判定するために、他の条件を追加してもよい。他の条件とは、例えば、キャラクタを形成する特定の仮想骨格と、オブジェクトを構成する特定の仮想骨格の相対的な位置関係に関する条件や、移動方向に関する条件、あるいは、仮想関節の角度に関する条件等が挙げられる。
次に、条件NO31が「0006」の場合であって、コンピュータ制御により自動生成されたモーションによりキャラクタが転倒した場合に、発音するタイミングを判定する場面について説明する。図示はしないが、複数のフレームに渡り、例えば、水平方向に対してキャラクタの背骨の仮想骨格が成す角度が所定の角度の範囲内(0°以上、20°以下)となり、かつ、背骨の仮想骨格の移動速度の符号が反転した場合には、キャラクタが転倒したと判定することができ、発音させることができる。
このように、物理的衝突判定を行うことなく、オブジェクトの仮想骨格等に関する情報から、衝突判定やオブジェクトの状態を特定することが可能となる。
図6に戻り、衝突判定後の発音処理について説明する。ステップS25において衝突条件を満たした場合(ステップS25にてYES)には、発音させるために使用される環境情報を取得する(ステップS26)。環境情報とは、例えば、衝突したオブジェクト(衝突元オブジェクト)と、衝突された他のオブジェクト(衝突先オブジェクト)に関する情報や、オブジェクトが存在する仮想空間に関する情報を含む情報である。環境情報は、表示画面23に表示されたフレームに含まれる情報、あるいは、フレームを生成する際に用いられる情報から取得することができる。
ステップS26において取得した環境情報を用いて、発音処理を行う(ステップS27)。図10は、本発明の実施の形態の少なくとも1つに対応する、発音する音を決定するための発音マスタテーブルを表す図である。発音マスタテーブル60には、条件NO61、衝突元62、衝突先63、及び、存在空間64に関連付けて、音65が記憶されている。
条件NO61は、衝突条件マスタテーブル30に含まれる条件NO31に対応する。衝突元62は、衝突したオブジェクトに関する情報である。衝突先63は、衝突されたオブジェクトに関する情報である。存在空間64は、オブジェクトが存在する仮想空間に関する情報である。衝突元62、衝突先63、及び存在空間64は、ステップS26において取得された環境情報に含まれる情報に対応する。
音65は、衝突したと判定された際に発せられる音に関する情報である。音65は、音源に関するデータファイル自体であってもよいし、音源データファイルがストレージ部13等に格納されている場合には格納先に関する情報であってもよい。
発音する音65の決定について説明する。ステップS25において、条件NO31が「0001」を満たすことにより衝突したと判定された場合には、条件NO61が「0001」であって、後述するが、衝突元62、衝突先63、及び、存在空間64をステップS26において取得した環境情報から特定することにより、音65を決定することができる。
例えば、革靴を履いた人型オブジェクトが砂地の大地を歩くシーンでは、ステップS26において取得された環境情報により、衝突元62は「革靴」、衝突先63は「砂」、存在空間64は「通常」と定められる。そして、音65の「砂を踏む音」が決定される。
存在空間64には、「通常」、「水中」、「洞窟」、「山脈」等、オブジェクトが存在する周囲の環境を表す情報が含まれる。例えば、通常の大気中にいるよりも、水中にいる場合には、音の伝わる速度が速く、発せられる音の聞こえ方が変化することを表現するものである。
図6に戻り、ステップS27において発音した後、あるいは、ステップS25において衝突条件を満たさないと判定された場合(ステップS25にてNO)には、現在のフレームを次に更新する処理を行う(ステップS28)。ステップS22からステップS28までの処理は、オブジェクトがモーションを実行している間、繰り返し実行される。モーションが終了すると、本実施の形態のプログラム実行処理は終了する。
第四の実施の形態では、RPGについて述べたが、これに限定されない。すなわち、オブジェクトのモーションを使用するゲームであれば適用可能であり、アクションゲーム、パズルゲーム、シミュレーションゲーム等であってもよい。
第四の実施の形態では、発音処理について、発音マスタテーブルを用いる方法を記載したが、これに限定されない。マスタテーブルを使用せず、特定の条件の場合には特定の音を発するように設計するものであってもよい。
第四の実施の形態の一側面として、オブジェクトの仮想骨格等の情報に基づいて衝突判定を行うことで、オブジェクトの動作を検出することができ、オブジェクトのモーションが変更になった場合であっても開発者の設定が不要で、作業コストを削減することができる。また、物理的衝突判定を毎フレーム行うよりも、処理負荷を低く抑えることができる。さらに、階段や自然地形等で上下に起伏の大きい地面に対して、正確な接地判定ができないような状況や、コンピュータ制御により生成されたアニメーションにおいて予期せず接地判定ができずに足音が発せられないような不自然な状況においても、接地判定をすることができ、違和感なく発音処理を行うことができる。加えて、キャラクタがはしごを登る等、特殊な移動状況にあっても、自動的に足部の接地(はしごを踏み込んだタイミング等)を検出することができる。
第四の実施の形態の一側面として、衝突先の他のオブジェクトの素材等に応じた、違和感のない音を発することができる。また、衝突元のオブジェクトに応じて異なる音を発音させることで、衝突元のオブジェクトの素材等に応じた、違和感のない音を発することができる。さらに、第四の実施の形態の一側面として、衝突先の他のオブジェクトに応じて異なる音を発音させることで、衝突先の他のオブジェクトの素材等に応じた、違和感のない音を発することができる。
第四の実施の形態の一側面として、衝突元のオブジェクト及び衝突先の他のオブジェクトに応じて異なる音を発音させることで、衝突し合うオブジェクトに応じた音を発することができ、より現実的な音を提供することができる。
第四の実施の形態の一側面として、仮想骨格の位置、移動速度、及び/若しくは、加速度、並びに/又は、仮想骨格と仮想骨格から形成される仮想関節の角度及び/若しくは角速度が所定の条件を満たす場合に衝突したと判定することで、シミュレーションにより動作するオブジェクトのモーション等、衝突のタイミングが固定されないモーションに対して、衝突タイミングを自動的に検出することが可能となる。
第四の実施の形態の一側面として、仮想骨格等が所定の条件を満たす場合に衝突したと判定することで、シミュレーションにより動作するオブジェクトのモーション等、衝突のタイミングが固定されないモーションに対して、衝突タイミングを自動的に検出することが可能となる。
第四の実施の形態において、「コンピュータ装置」、「オブジェクト」、「仮想骨格」、及び、「位置情報」とは、それぞれ第一の実施の形態において記載した内容と同一である。また、「発音処理」とは、それぞれ第二の実施の形態において記載した内容と同一である。
第四の実施の形態において、「移動速度」、「加速度」、「仮想関節」、及び、「角速度」とは、第三の実施の形態において記載した内容と同一である。
[付記]
上で述べた実施の形態の説明は、下記の発明を、発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
[1] コンピュータ装置を、
オブジェクトが有する仮想骨格の位置に関する位置情報を取得する位置情報取得手段、
取得した位置情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する衝突判定手段、
として機能させるプログラム。
[2] コンピュータ装置を、
衝突判定手段によりオブジェクトが他のオブジェクトと衝突したと判定されたタイミングにおいて、発音処理を実行する発音手段
として機能させる、[1]に記載のプログラム。
[3] 衝突判定手段が、仮想骨格の位置、移動速度、及び/若しくは、加速度、並びに/又は、仮想骨格と仮想骨格から形成される仮想関節の角度及び/若しくは角速度が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定するものである、[1]又は[2]に記載のプログラム。
[4] 発音手段が、衝突したと判定されたオブジェクトに応じて異なる音を発音する、[2]又は[3]に記載のプログラム。
[5] 発音手段が、衝突したと判定された他のオブジェクトに応じて異なる音を発音する、[2]〜[4]のいずれかに記載のプログラム。
[6] オブジェクトがキャラクタの足部であり、
衝突判定手段が、位置情報取得手段により取得した位置情報に基づいて算出される、足部の仮想骨格の移動速度、及び、足部の仮想骨格と脚部の仮想骨格により形成される仮想関節の角度が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する、[1]〜[5]のいずれかに記載のプログラム。
[7] オブジェクトがキャラクタの手部であり、
衝突判定手段が、位置情報取得手段により取得した位置情報に基づいて算出される、手部の仮想骨格の移動速度、及び、手部の仮想骨格と腕部の仮想骨格により形成される仮想関節の角度が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する、[1]〜[6]のいずれかに記載のプログラム。
[8] オブジェクトが有する仮想骨格の位置に関する位置情報を取得する位置情報取得手段と、
取得した位置情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する衝突判定手段と
を備える、コンピュータ装置。
[9] コンピュータ装置において実行される判定方法であって、
オブジェクトが有する仮想骨格の位置に関する位置情報を取得するステップと、
取得した位置情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定するステップと
を有する判定方法。
1 コンピュータ装置
11 制御部
12 RAM
13 ストレージ部
14 サウンド処理部
15 グラフィックス処理部
16 CD−ROMドライブ
17 通信インタフェース
18 インタフェース部
2 通信ネットワーク
20 入力部
21 サウンド出力装置
22 表示装置
23 表示画面
24 記録媒体
30 衝突条件マスタテーブル
60 発音マスタテーブル

Claims (10)

  1. コンピュータ装置を、
    オブジェクトが有する仮想骨格の移動速度、及び/若しくは、加速度、並びに/又は、仮想骨格と仮想骨格とから形成される仮想関節の角速度に関する仮想骨格情報を取得する仮想骨格情報取得手段、
    取得した仮想骨格情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する衝突判定手段
    として機能させる、プログラム。
  2. コンピュータ装置を、
    オブジェクトが有する仮想骨格の移動速度、及び、仮想骨格と仮想骨格とから形成される仮想関節の角度に関する仮想骨格情報を取得する仮想骨格情報取得手段、
    取得した仮想骨格情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する衝突判定手段
    として機能させ、
    オブジェクトがキャラクタの足部であり、
    衝突判定手段が、仮想骨格情報取得手段により取得した仮想骨格情報に含まれる、足部の仮想骨格の移動速度、及び、足部の仮想骨格と脚部の仮想骨格により形成される仮想関節の角度が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する、プログラム。
  3. コンピュータ装置を、
    衝突判定手段によりオブジェクトが他のオブジェクトと衝突したと判定されたタイミングにおいて、発音処理を実行する発音手段
    として機能させる、請求項1又は2に記載のプログラム。
  4. 発音手段が、衝突したと判定されたオブジェクトに応じて異なる音を発音する、請求項に記載のプログラム。
  5. 発音手段が、衝突したと判定された他のオブジェクトに応じて異なる音を発音する、請求項3又は4に記載のプログラム。
  6. 仮想骨格情報取得手段が、さらに、仮想骨格と仮想骨格とから形成される仮想関節の角度に関する情報を取得するもので、
    オブジェクトがキャラクタの足部であり、
    衝突判定手段が、仮想骨格情報取得手段により取得した仮想骨格情報に含まれる、足部の仮想骨格の移動速度、及び、足部の仮想骨格と脚部の仮想骨格により形成される仮想関節の角度が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する、請求項1又は請求項3〜5のいずれかに記載のプログラム。
  7. オブジェクトが有する仮想骨格の移動速度、及び/若しくは、加速度、並びに/又は、仮想骨格と仮想骨格とから形成される仮想関節の角速度に関する仮想骨格情報を取得する仮想骨格情報取得手段と、
    取得した仮想骨格情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する衝突判定手段と
    を備える、コンピュータ装置。
  8. オブジェクトが有する仮想骨格の移動速度、及び、仮想骨格と仮想骨格とから形成される仮想関節の角度に関する仮想骨格情報を取得する仮想骨格情報取得手段と、
    取得した仮想骨格情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する衝突判定手段と
    を備え、
    オブジェクトがキャラクタの足部であり、
    衝突判定手段が、仮想骨格情報取得手段により取得した仮想骨格情報に含まれる、足部の仮想骨格の移動速度、及び、足部の仮想骨格と脚部の仮想骨格により形成される仮想関節の角度が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する、コンピュータ装置。
  9. コンピュータ装置において実行される判定方法であって、
    オブジェクトが有する仮想骨格の移動速度、及び/若しくは、加速度、並びに/又は、仮想骨格と仮想骨格とから形成される仮想関節の角速度に関する仮想骨格情報を取得するステップと、
    取得した仮想骨格情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定するステップと
    を有する判定方法。
  10. コンピュータ装置において実行される判定方法であって、
    オブジェクトが有する仮想骨格の移動速度、及び、仮想骨格と仮想骨格とから形成される仮想関節の角度に関する仮想骨格情報を取得するステップと、
    取得した仮想骨格情報が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定するステップと
    を有し、
    オブジェクトがキャラクタの足部であり、
    衝突を判定するステップが、仮想骨格情報を取得するステップにおいて取得した仮想骨格情報に含まれる、足部の仮想骨格の移動速度、及び、足部の仮想骨格と脚部の仮想骨格により形成される仮想関節の角度が所定の条件を満たす場合に、オブジェクトが他のオブジェクトと衝突したと判定する、判定方法。
JP2016230637A 2016-11-28 2016-11-28 プログラム、コンピュータ装置、及び、判定方法 Active JP6329616B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016230637A JP6329616B1 (ja) 2016-11-28 2016-11-28 プログラム、コンピュータ装置、及び、判定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016230637A JP6329616B1 (ja) 2016-11-28 2016-11-28 プログラム、コンピュータ装置、及び、判定方法

Publications (2)

Publication Number Publication Date
JP6329616B1 true JP6329616B1 (ja) 2018-05-23
JP2018088102A JP2018088102A (ja) 2018-06-07

Family

ID=62186774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016230637A Active JP6329616B1 (ja) 2016-11-28 2016-11-28 プログラム、コンピュータ装置、及び、判定方法

Country Status (1)

Country Link
JP (1) JP6329616B1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110009749B (zh) * 2019-04-17 2023-10-20 珠海金山数字网络科技有限公司 一种虚拟对象定位方法、装置、计算设备及存储介质
KR102638841B1 (ko) * 2023-04-25 2024-02-21 블래스트 주식회사 애니메이션 캐릭터의 신체 간 간섭 예측 성능 향상 방법 및 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3193507B2 (ja) * 1993-03-01 2001-07-30 日本電信電話株式会社 歩行動作生成処理方法
JP3569201B2 (ja) * 2000-06-05 2004-09-22 株式会社スクウェア・エニックス 特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体及び方法、並びにゲーム装置
JP4704622B2 (ja) * 2001-07-30 2011-06-15 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP3546209B1 (ja) * 2003-06-30 2004-07-21 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置、コンピュータの制御方法及びプログラム
JP3926307B2 (ja) * 2003-08-06 2007-06-06 株式会社スクウェア・エニックス 3次元画像描画装置及び方法、プログラム、並びに記録媒体
JP5546846B2 (ja) * 2009-12-16 2014-07-09 株式会社スクウェア・エニックス 効果音情報生成装置、効果音情報生成方法、及び効果音情報生成プログラム
JP5641922B2 (ja) * 2010-12-21 2014-12-17 三菱プレシジョン株式会社 3次元コンピュータグラフィックスの物体の動作を補正する方法、そのような方法を用いる装置及びそのような方法をコンピュータに実行させるプログラム
EP2988275A4 (en) * 2013-04-16 2016-11-30 Sony Corp INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD, DISPLAY DEVICE AND DISPLAY METHOD AND INFORMATION PROCESSING SYSTEM

Also Published As

Publication number Publication date
JP2018088102A (ja) 2018-06-07

Similar Documents

Publication Publication Date Title
US10022628B1 (en) System for feature-based motion adaptation
JP6754678B2 (ja) シミュレーションシステム及びプログラム
US8860732B2 (en) System and method for robust physically-plausible character animation
US8217995B2 (en) Providing a collaborative immersive environment using a spherical camera and motion capture
US20110293144A1 (en) Method and System for Rendering an Entertainment Animation
NL2002841C2 (en) Immersive collaborative environment using motion capture, head mounted display, and cave.
JP2019070909A (ja) 情報処理装置、情報処理方法及びプログラム
KR20160080064A (ko) 가상 환경의 가상 센서
US20230334744A1 (en) Method and apparatus for generating walk animation of virtual role, device and storage medium
JP2009066064A (ja) プログラム、情報記憶媒体、及びゲーム装置
JP3926307B2 (ja) 3次元画像描画装置及び方法、プログラム、並びに記録媒体
JP7431955B2 (ja) 仮想環境における仮想キャラクタ制御方法、装置及びコンピュータプログラム
JP5498437B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、厚み領域設定装置、厚み領域設定方法、厚み領域設定プログラム、厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、仮想空間における面に関するデータ構造
JP2010257081A (ja) 画像処理方法及び画像処理装置
JP6329616B1 (ja) プログラム、コンピュータ装置、及び、判定方法
JP5546846B2 (ja) 効果音情報生成装置、効果音情報生成方法、及び効果音情報生成プログラム
WO2019150781A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP6452808B2 (ja) 方向予測を利用した低レイテンシーシミュレーション装置及び方法と、そのためのコンピュータプログラム
US11602691B2 (en) Techniques for virtual reality boundaries and related systems and methods
US8538736B1 (en) System and method for simulating object weight in animations
US20020080140A1 (en) Animated image generating method and apparatus, readable storage medium storing animated image processing program and video game system
WO2009039636A1 (en) Interactive sound synthesis
EP1288866B1 (en) Image generation method
US9111391B2 (en) Image generating device, image generating method, and non-transitory information storage medium
JP7138204B2 (ja) コンピュータゲームにおける伸縮可能なキャラクタのギャップシミュレーション

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180327

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180420

R150 Certificate of patent or registration of utility model

Ref document number: 6329616

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250