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

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

▶ 株式会社バンダイナムコゲームスの特許一覧

特開2024-126224プログラム、ゲーム装置及びキャラクタ制御方法
<>
  • 特開-プログラム、ゲーム装置及びキャラクタ制御方法 図1
  • 特開-プログラム、ゲーム装置及びキャラクタ制御方法 図2
  • 特開-プログラム、ゲーム装置及びキャラクタ制御方法 図3
  • 特開-プログラム、ゲーム装置及びキャラクタ制御方法 図4
  • 特開-プログラム、ゲーム装置及びキャラクタ制御方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024126224
(43)【公開日】2024-09-20
(54)【発明の名称】プログラム、ゲーム装置及びキャラクタ制御方法
(51)【国際特許分類】
   A63F 13/55 20140101AFI20240912BHJP
   G06T 13/40 20110101ALI20240912BHJP
【FI】
A63F13/55
G06T13/40
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023034466
(22)【出願日】2023-03-07
(71)【出願人】
【識別番号】000134855
【氏名又は名称】株式会社バンダイナムコエンターテインメント
(74)【代理人】
【識別番号】100090387
【弁理士】
【氏名又は名称】布施 行夫
(74)【代理人】
【識別番号】100090398
【弁理士】
【氏名又は名称】大渕 美千栄
(72)【発明者】
【氏名】大友 顕人
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050AA10
5B050BA08
5B050BA09
5B050CA07
5B050EA05
5B050EA07
5B050EA12
5B050EA13
5B050EA18
5B050EA28
5B050FA02
5B050FA09
(57)【要約】
【課題】キャラクタの動作を少ない演算負荷で表現することが可能なゲーム装置等を提供すること。
【解決手段】仮想空間に配置されるキャラクタに所与の動作を実行させるゲーム装置であって、キャラクタは、所定の長さを有する第1の骨、第2の骨及び第3の骨と、第1の骨と第2の骨を連結する第1の関節部と、第2の骨と第3の骨を連結する第2の関節部とを有し、キャラクタを仮想空間に配置する配置部と、第1の関節部の角度θと第2の関節部の角度θを算出して、キャラクタの動作に伴う関節の動きを制御する制御部とを含み、制御部は、第1の骨、第2の骨及び第3の骨が略同一平面上で動くように制御し、第1の骨の先端と第3の骨の先端との距離dと、第1の骨の長さLと、第2の骨の長さLと、第3の骨の長さLとに基づいて、角度θと角度θを算出する。
【選択図】図4
【特許請求の範囲】
【請求項1】
仮想空間に配置されるキャラクタに所与の動作を実行させるためのプログラムであって、
前記キャラクタは、所定の長さを有する第1の骨、第2の骨及び第3の骨と、前記第1の骨と前記第2の骨を連結する第1の関節部と、前記第2の骨と前記第3の骨を連結する第2の関節部とを有し、
前記キャラクタを仮想空間に配置する配置部と、
前記第1の関節部の角度θと前記第2の関節部の角度θを算出して、前記キャラクタの動作に伴う関節の動きを制御する制御部としてコンピュータを機能させ、
前記制御部は、
前記第1の骨、前記第2の骨及び前記第3の骨が略同一平面上で動くように制御し、前記第1の骨の先端と前記第3の骨の先端との距離dと、前記第1の骨の長さLと、前記第2の骨の長さLと、前記第3の骨の長さLとに基づいて、前記角度θと前記角度θを算出することを特徴とするプログラム。
【請求項2】
請求項1において、
前記角度θと前記角度θは等しいことを特徴とするプログラム。
【請求項3】
請求項1において、
前記制御部は、
次式により、前記角度θと前記角度θを算出することを特徴とするプログラム。
【数1】
【請求項4】
請求項1乃至3のいずれか1項において、
前記制御部は、
所定のゲームイベントが発生した場合に、前記長さL,L,Lのいずれかに補正値を加えることを特徴とするプログラム。
【請求項5】
請求項1乃至3のいずれか1項において、
前記配置部は、
前記第1の骨と前記第3の骨にプリミティブを設定することを特徴とするプログラム。
【請求項6】
請求項1乃至3のいずれか1項において、
前記長さLは前記長さLよりも大きく、前記長さLは前記長さLよりも大きいことを特徴とするプログラム。
【請求項7】
請求項1乃至3のいずれか1項において、
前記第1の骨の先端が前記キャラクタの股関節に相当し、前記第3の骨の先端が前記キャラクタの脚の先端に相当する場合において、
前記制御部は、
前記股関節と前記脚の先端が接する面との距離dに基づいて、前記角度θと前記角度θを算出することを特徴とするプログラム。
【請求項8】
請求項1乃至3のいずれか1項において、
前記制御部は、
前記キャラクタの腕又は脚の目標点を設定し、前記目標点と前記キャラクタの胴体の位置関係から前記キャラクタの腕又は脚の動きを制御することを特徴とするプログラム。
【請求項9】
請求項1乃至3のいずれか1項において、
前記制御部は、
前記第1の骨の先端と目標点との距離を前記距離dとして、前記第3の骨の先端を前記目標点に動かすときに、前記角度θと前記角度θを算出することを特徴とするプログラム。
【請求項10】
仮想空間に配置されるキャラクタに所与の動作を実行させるゲーム装置であって、
前記キャラクタは、所定の長さを有する第1の骨、第2の骨及び第3の骨と、前記第1の骨と前記第2の骨を連結する第1の関節部と、前記第2の骨と前記第3の骨を連結する第2の関節部とを有し、
前記キャラクタを仮想空間に配置する配置部と、
前記第1の関節部の角度θと前記第2の関節部の角度θを算出して、前記キャラクタの動作に伴う関節の動きを制御する制御部とを含み、
前記制御部は、
前記第1の骨、前記第2の骨及び前記第3の骨が略同一平面上で動くように制御し、前記第1の骨の先端と前記第3の骨の先端との距離dと、前記第1の骨の長さLと、前記第2の骨の長さLと、前記第3の骨の長さLとに基づいて、前記角度θと前記角度θを算出することを特徴とするゲーム装置。
【請求項11】
仮想空間に配置されるキャラクタに所与の動作を実行させるキャラクタ制御方法であって、
前記キャラクタは、所定の長さを有する第1の骨、第2の骨及び第3の骨と、前記第1の骨と前記第2の骨を連結する第1の関節部と、前記第2の骨と前記第3の骨を連結する第2の関節部とを有し、
前記キャラクタを仮想空間に配置する配置ステップと、
前記第1の関節部の角度θと前記第2の関節部の角度θを算出して、前記キャラクタの動作に伴う関節の動きを制御する制御ステップとを含み、
前記制御ステップでは、
前記第1の骨、前記第2の骨及び前記第3の骨が略同一平面上で動くように制御し、前記第1の骨の先端と前記第3の骨の先端との距離dと、前記第1の骨の長さLと、前記第2の骨の長さLと、前記第3の骨の長さLとに基づいて、前記角度θと前記角度θを算出することを特徴とするキャラクタ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、ゲーム装置及びキャラクタ制御方法に関する。
【背景技術】
【0002】
モーションデータに基づいて仮想空間に配置される仮想的なキャラクタを動作させるシステムが知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-43611号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
キャラクタの腕や脚を3本の骨と2つの関節からなる3リンクの構成とすることで、腕や脚を綺麗に曲げることが可能となる。このような3リンク構成に、腕や脚の先端の目標位置から各関節の角度を計算するIK(Inverse Kinematics)を適用する場合、従来、CCD-IKやヤコビ法と呼ばれる反復計算が必要な手法が用いられていたため、特に複数のキャラクタを動作させる際の演算処理の負荷が高くなっていた。
【0005】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、キャラクタの動作を少ない演算負荷で表現することが可能なプログラム、ゲーム装置及びキャラクタ制御方法を提供することにある。
【課題を解決するための手段】
【0006】
(1)本発明は、仮想空間に配置されるキャラクタに所与の動作を実行させるためのプログラムであって、前記キャラクタは、所定の長さを有する第1の骨、第2の骨及び第3の骨と、前記第1の骨と前記第2の骨を連結する第1の関節部と、前記第2の骨と前記第3の骨を連結する第2の関節部とを有し、前記キャラクタを仮想空間に配置する配置部と、前記第1の関節部の角度θと前記第2の関節部の角度θを算出して、前記キャラクタの動作に伴う関節の動きを制御する制御部としてコンピュータを機能させ、前記制御部は、前記第1の骨、前記第2の骨及び前記第3の骨が略同一平面上で動くように制御し、前記第1の骨の先端と前記第3の骨の先端との距離dと、前記第1の骨の長さLと、前記第2の骨の長さLと、前記第3の骨の長さLとに基づいて、前記角度θと前記角度θを算出することを特徴とするプログラムに関する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記プログラムを記憶した情報記憶媒体に関する。また本発明は、上記各部を含むゲーム装置に関する。
【0007】
また本発明は、仮想空間に配置されるキャラクタに所与の動作を実行させるキャラクタ制御方法であって、前記キャラクタは、所定の長さを有する第1の骨、第2の骨及び第3の骨と、前記第1の骨と前記第2の骨を連結する第1の関節部と、前記第2の骨と前記第3の骨を連結する第2の関節部とを有し、前記キャラクタを仮想空間に配置する配置ステップと、前記第1の関節部の角度θと前記第2の関節部の角度θを算出して、前記キャラクタの動作に伴う関節の動きを制御する制御ステップとを含み、前記制御ステップでは、前記第1の骨、前記第2の骨及び前記第3の骨が略同一平面上で動くように制御し、前記第1の骨の先端と前記第3の骨の先端との距離dと、前記第1の骨の長さLと、前記第2の骨の長さLと、前記第3の骨の長さLとに基づいて、前記角度θと前記角度θを算出することを特徴とするキャラクタ制御方法に関する。
【0008】
本発明によれば、第1の骨の先端と第3の骨の先端との距離dと、各骨の長さL,L,Lとに基づいて、各関節のθ,θを算出することで、キャラクタの動作を少ない演算負荷で表現することができる。
【0009】
(2)また本発明に係るプログラム、情報記憶媒体、ゲーム装置及びキャラクタ制御方法では、前記角度θと前記角度θは等しくてもよい。
【0010】
(3)また本発明に係るプログラム、情報記憶媒体、ゲーム装置及びキャラクタ制御方法では、前記制御部は(前記制御ステップでは)、前記角度θと前記角度θを、次式
【数1】
により算出してもよい。
【0011】
(4)また本発明に係るプログラム、情報記憶媒体、ゲーム装置及びキャラクタ制御方法では、前記制御部は(前記制御ステップでは)、所定のゲームイベントが発生した場合に、前記長さL,L,Lのいずれかに補正値を加えてもよい。
【0012】
(5)また本発明に係るプログラム、情報記憶媒体、ゲーム装置及びキャラクタ制御方法では、前記配置部は(前記配置ステップでは)、前記第1の骨と前記第3の骨にプリミティブを設定してもよい。
【0013】
(6)また本発明に係るプログラム、情報記憶媒体、ゲーム装置及びキャラクタ制御方法では、前記長さLは前記長さLよりも大きく、前記長さLは前記長さLよりも大きくてもよい。
【0014】
(7)また本発明に係るプログラム、情報記憶媒体、ゲーム装置及びキャラクタ制御方法では、前記第1の骨の先端が前記キャラクタの股関節に相当し、前記第3の骨の先端が前記キャラクタの脚の先端に相当する場合において、前記制御部は(前記制御ステップでは)、前記股関節と前記脚の先端が接する面との距離dに基づいて、前記角度θと前記角度θを算出してもよい。
【0015】
(8)また本発明に係るプログラム、情報記憶媒体、ゲーム装置及びキャラクタ制御方法では、前記制御部は(前記制御ステップでは)、前記キャラクタの腕又は脚の目標点を設定し、前記目標点と前記キャラクタの胴体の位置関係から前記キャラクタの腕又は脚の動きを制御してもよい。
【0016】
(9)また本発明に係るプログラム、情報記憶媒体、ゲーム装置及びキャラクタ制御方
法では、前記制御部は(前記制御ステップでは)、前記第1の骨の先端と目標点との距離を前記距離dとして、前記第3の骨の先端を前記目標点に動かすときに、前記角度θと前記角度θを算出してもよい。
【図面の簡単な説明】
【0017】
図1】本実施形態のゲーム装置の機能ブロックの一例を示す図。
図2】仮想空間に配置されるキャラクタの骨格の一例を示す図。
図3】キャラクタの腕や脚の骨格を示す図。
図4】第1の関節部と第2の関節部の角度を求める式の導出について説明するための図。
図5】本実施形態のゲーム装置の処理の流れを示すフローチャート。
【発明を実施するための形態】
【0018】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必要構成要件であるとは限らない。
【0019】
1.構成
図1に、本実施形態のゲーム装置の機能ブロックの一例を示す。なお本実施形態のゲーム装置は図1の構成要素(各部)の一部を省略した構成としてもよい。ゲーム装置は、携帯端末(スマートフォン、携帯電話、携帯型ゲーム機等)、パーソナルコンピュータ(PC)、据え置き型ゲーム機、ゲームサーバ(例えば、クラウドサーバ)などの情報処理装置である。
【0020】
入力部150は、プレーヤからの入力情報を入力(検出)するための機器であり、プレーヤの入力情報(操作情報)を処理部100に出力する。入力部150の機能は、タッチパネル、タッチパッド、マウス、方向キーやボタン、キーボード等の入力機器により実現することができる。
【0021】
記憶部170は、処理部100の各部としてコンピュータを機能させるためのプログラムや各種データを記憶するとともに、処理部100のワーク領域として機能し、その機能はハードディスク、RAMなどにより実現できる。
【0022】
表示部190は、処理部100で生成されたゲーム画像を出力するものであり、その機能は、入力部150としても機能するタッチパネル、LCD或いはHMD(ヘッドマウントディスプレイ)などのディスプレイにより実現できる。
【0023】
音出力部192は、処理部100で生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0024】
通信部196はサーバや他のゲーム装置との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0025】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている処理部100の各部としてコンピュータを機能させるためのプログラムや各種データを、ネットワークを介して受信し、受信したプログラムやデータを記憶部170に記憶してもよい。このようにプログラムや各種データを受信してゲーム装置を機能させる場合も本発明の範囲内に含む。
【0026】
処理部100は、入力部150からの入力情報(操作情報)、プログラム、通信部19
6を介して受信したデータなどに基づいて、ゲームを進行させる処理、画像生成処理、音生成処理、などの処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。処理部100は、配置部110、制御部112、画像生成部120、音生成部130を含む。
【0027】
配置部110は、キャラクタを仮想空間(仮想三次元空間、オブジェクト空間)に配置設定する処理を行う。例えば、配置部110は、ワールド座標でのキャラクタの位置と回転角度(X、Y、Z軸の各軸の回転角度)を決定し、決定した位置・回転角度でキャラクタを配置する。キャラクタは、所定の長さを有する第1の骨、第2の骨及び第3の骨と、第1の骨と第2の骨を連結する第1の関節部と、第2の骨と第3の骨を連結する第2の関節部とを有する。配置部110は、少なくとも第1の骨と第3の骨にプリミティブ(ポリゴンや自由曲面、再分割曲面などで構成されるオブジェクト)を設定する。
【0028】
制御部112は、第1の関節部の角度θと第2の関節部の角度θを算出して、キャラクタの動作に伴う関節の動きを制御する。制御部112は、第1の骨、第2の骨及び第3の骨が略同一平面上で動くように制御し、第1の骨の先端と第3の骨の先端との距離dと、第1の骨の長さLと、第2の骨の長さLと、第3の骨の長さLとに基づいて、角度θと角度θを算出する。制御部112は、キャラクタの腕や脚の先端の目標点(第3の骨の先端である腕や脚の先端が接する面上の点)を設定し、当該目標点とキャラクタの胴体(第1の骨の先端である肩関節や股関節)との位置関係(距離d)から角度θと角度θを算出して、キャラクタの腕や脚の動きを制御する。制御部112は、所定のゲームイベントが発生した場合に、長さL,L,Lのいずれかに補正値を加える(第1の骨、第2の骨、第3の骨のいずれかの長さを変化させる)ようにしてもよい。
【0029】
画像生成部120は、処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これによりキャラクタを含むゲーム画像を生成し、表示部190に出力する。画像生成部120は、仮想空間内において仮想カメラ(所与の視点)から見える画像(いわゆる三次元画像)を生成する。
【0030】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0031】
また、ゲーム装置をサーバシステムとして構成してもよい。サーバシステムは、1又は複数のサーバ(認証サーバ、ゲーム処理サーバ、通信サーバ、課金サーバ、データベースサーバ等)により構成することができる。この場合には、サーバシステムは、ネットワークを介して接続された1又は複数の端末(例えば、スマートフォン、携帯電話、携帯型ゲーム機等)から送信された操作入力(端末の入力部に入力されたデータ)に基づいて、処理部100の各部の処理を行って、画像を生成するための画像生成用データを生成し、生成した画像生成用データを各端末に対して送信する。ここで、画像生成用データとは、本実施形態の手法により生成された画像を各端末において表示するためのデータであり、画像データそのものでもよいし、各端末が画像を生成するために用いる各種データ(オブジェクトデータ、ゲーム処理結果データ等)であってもよい。
【0032】
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【0033】
図2は、仮想空間に配置されるキャラクタの骨格(スケルトン)の一例を示す図である。キャラクタCRは、複数の骨BN(ボーン)と、骨BN同士を連結する関節部JT(ジョイント)とを有する。ここで、本実施形態では、キャラクタCRの腕AM(腕の骨格)
と脚LG(脚の骨格)は、それぞれ3本の骨BNと2つの関節部JTとで構成される。
【0034】
すなわち、図3に示すように、キャラクタCRの腕AMと脚LGは、骨B1(第1の骨)、骨B2(第2の骨)、骨B3(第3の骨)と、骨B1と骨B2を連結する関節部J1(第1の関節部)と、骨B2と骨B3を連結する関節部J2(第2の関節部)とを有する。骨B1,B2,B3は、それぞれ所定の長さを有するが、骨B1の長さは骨B2の長さよりも大きく、骨B3の長さは骨B2の長さよりも大きい。なお、骨B2の長さが骨B1や骨B3の長さよりも大きくなるようにしてもよい。骨B1,B3には、それぞれ脚や腕を表すプリミティブPRが設定される。骨B1に設定されるプリミティブPRは、上腕や大腿を表すオブジェクトであり、骨B3に設定されるプリミティブPRは、前腕や下腿を表すオブジェクトである。なお、骨B1と骨B3に加えて骨B2にもプリミティブPRを設定するようにしてもよい。
【0035】
キャラクタCRの腕AM、脚LGは、骨B1の先端の関節部J0でキャラクタCRの胴体(骨B1,B2,B3以外の骨BN)に連結される。骨B1,B2,B3が腕AMを構成する場合、関節部J0はキャラクタCRの肩関節に相当し、関節部J1,J2は肘関節に相当し、骨B3の先端の関節部J3は腕AMの先端に相当する。また、骨B1,B2,B3が脚LGを構成する場合、関節部J0はキャラクタCRの股関節に相当し、関節部J1,J2は膝関節に相当し、関節部J3は脚LGの先端に相当する。
【0036】
関節部J0の回転軸は3軸であるが、関節部J1,J2の回転軸は、1軸に固定されている。関節部J1,J2の1軸の回転軸は、骨B1,B2,B3の伸びる方向に直交する方向の軸であり、且つ、関節部J1の回転軸と関節部J2の回転軸とは平行である。すなわち、骨B1,B2,B3は、略同一平面上で動くように制御される。また、関節部J1の回転角度(角度θ)と関節部J2の回転角度(角度θ)は等しくなるようにする。
【0037】
本実施形態では、キャラクタCRの腕AMや脚LGの先端の目標点(目標位置)を設定し、骨B3の先端(関節部J3)を目標点に動かすときに、骨B1の先端(関節部J0)と目標点との距離dと、骨B1の長さLと、骨B2の長さLと、骨B3の長さLとに基づいて、関節部J1,J2の角度θ(θ=θ=θ)を算出する。目標点は、キャラクタCRが物を掴む、キャラクタCRの手が壁などに接触する、キャラクタCRの脚が段差に乗り上げる等の際に、キャラクタCRの腕AMや脚LGの先端が接触する面上に設定される。
【0038】
以下、図4を用いて、関節部J1,J2の角度θを求める式の導出について説明する。図4は、骨B1,B2,B3をxy平面上に示した図である。点Pは骨B1の先端の関節部J0、点Pは関節部J1、点Pは関節部J2、点Pは骨B3の先端の関節部J3にそれぞれ対応する。関節部J1,J2の角度θは、点Pの外角及び点Pの外角として示されている。距離dは、点P、点P間の距離(骨B1の先端と骨B3の先端との距離)である。
【0039】
図4から、点Pのxy座標は、(-Lcosθ,Lsinθ)、点Pのxy座標は、(0,0)、点Pのxy座標は、(L,0)、点Pのxy座標は、(L+Lconθ,Lsinθ)である。距離d=|P-P|であり、P-Pは、次式で表される。
【0040】
【数2】
三平方の定理から、dは、次式で表される。
【0041】
【数3】
このように、角度θから距離dを求める式が得られる。この式を、cosθについて解く。a=cosθとおき、式を整理すると、
【数4】
となる。二次方程式の解の公式から、a=cosθは、次式で求めることができ、
【数5】
角度θは、以下の式(1)で求めることができる。
【0042】
【数6】
すなわち、骨B1の先端と目標点との距離dと、骨B1の長さLと、骨B2の長さLと、骨B3の長さLとを式(1)に代入することで、関節部J1,J2の角度θを算出・設定して、骨B3の先端を目標点に動かすことができる。このように、本実施形態によれば、反復計算を必要とせずに、キャラクタCRの動作を少ない演算負荷で実現することができる。
【0043】
上記例では、関節部J1の角度θと関節部J2の角度θを等しくする場合について説明したが、角度θと角度θのいずれか一方の角度を式(1)により算出し、算出した角度に所与の補正値(-30°以上+30°以下の値)を加えた角度を他方の角度としてもよい。すなわち、角度θと角度θの差(|θ-θ|)は30°以下であればよい。また、アニメータによって作成されたモーションにおいて角度θと角度θが異なる場合、目標点が設定された際に、角度θと角度θをモーションで設定された角度
から式(1)で算出された角度に徐々に近づけるようにしてもよい。
【0044】
また、本実施形態では、所定のゲームイベント(例えば、キャラクタCRの腕や脚が変形するイベント、キャラクタCRの特殊攻撃が発動するイベントなど)が発生した場合に、骨B1,B2,B3の長さL,L,Lのいずれかに所与の補正値を加えて、骨B1,B2,B3のいずれかの長さを変化させてもよい。この場合、骨B1,B2,B3の長さを変化させた後に、式(1)により角度θ,θを算出するようにしてもよいし、骨B1,B2,B3の長さを変化させる前に、角度θ,θを算出してもよい。
【0045】
また、上記例では、第1の骨がキャラクタの胴体に連結される(第1~第3の骨が人型キャラクタの腕や脚の骨格を構成する)場合について説明したが、第1の骨がキャラクタの他の部分(頭部など)に連結されるようにしてもよい。例えば、第1~第3の骨が、昆虫のキャラクタの触角や触腕を構成してもよいし、動物のキャラクタの耳や尻尾を構成してもよい。また、第1~第3の骨が、キャラクタ本体から切り離し可能な武器等を構成してもよいし、第1~第3の骨のみで1体のキャラクタを構成するようにしてもよい。
【0046】
3.処理
次に、本実施形態のゲーム装置の処理の一例について図5のフローチャートを用いて説明する。
【0047】
まず、配置部110は、キャラクタCRを仮想三次元空間に配置する(ステップS10)。次に、制御部112は、モーションデータに基づいてキャラクタCRのモーション(移動、動作)の再生を開始する(ステップS11)。
【0048】
次に、制御部112は、骨B3の先端(キャラクタCRの腕AMや脚LGの先端)の位置を修正するか否かを判断する(ステップS12)。キャラクタCRの腕AMや脚LGの先端が壁や床、他の物に接触する場合など、腕AMや脚LGの先端位置を修正する必要がある場合(ステップS12のY)には、制御部112は、骨B3の先端の目標点を、腕AMや脚LGの先端が接する面に設定する(ステップS13)。次に、制御部112は、骨B1の先端(関節部J0)と目標点との距離dと、骨B1の長さLと、骨B2の長さLと、骨B3の長さLとに基づいて、式(1)により、関節部J1、J2の角度θを算出し設定する(ステップS14)。次に、制御部112は、骨B1の先端と目標点とを結ぶ線分と骨B1の先端と骨B3の先端とを結ぶ線分が一致するように関節部J0を回転させて、骨B3の先端を目標点に移動させる(ステップS15)。
【0049】
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【符号の説明】
【0050】
100…処理部、110…配置部、112…制御部、120…画像生成部、130…音生成部、150…入力部、170…記憶部、190…表示部、192…音出力部、196…通信部
図1
図2
図3
図4
図5