(57)【要約】      （修正有）【課題】ゲーム状況を分かりやすくさせるゲームシステムを提供する。【解決手段】コントローラと、指定された強さで振動をする振動子と、コントローラに対する操作に基づいて、仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ制御部１３４と、プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定し、かつ操作部に対する操作が、プレイヤキャラクタを障害オブジェクトに向かわせる操作であるときに、障害オブジェクトに対するプレイヤキャラクタの進行方向に応じた強さで振動部を振動させる、振動制御部１３８とを備える。振動制御部１３８は、振動の強さを計算する振動強さ計算部１３２と計算された振動強さに基づいて振動データを生成する振動データ生成部１３３を有する。【選択図】図１２
2018110625.tif 000002
【特許請求の範囲】
【請求項１】
操作部と、
指定された強さで振動をする振動部と、
前記操作部に対する操作に基づいて、仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ制御部と、
前記プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定し、かつ前記操作部に対する操作が、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作であるときに、当該障害オブジェクトに対する前記プレイヤキャラクタの進行方向に応じた強さで前記振動部を振動させる、振動制御部と、
を備える、ゲームシステム。
【請求項２】
前記振動制御部は、前記プレイヤキャラクタの進行しようとする方向と、前記プレイヤキャラクタと前記障害オブジェクトとの接触位置における前記障害オブジェクトの法線とのなす角度が小さくなるほど前記振動の強さが強くなるよう、前記振動の強さを設定する、請求項１記載のゲームシステム。
【請求項３】
前記振動制御部は、前記障害オブジェクトがないと仮定した場合に前記操作部に対する操作に基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさと、前記プレイヤキャラクタの進行方向と前記障害オブジェクトの法線とがなす角度とに基づいて、前記強さを設定する請求項２記載のゲームシステム。
【請求項４】
前記振動制御部は、前記プレイヤキャラクタが前記障害オブジェクトに接触する直前の前記プレイヤキャラクタの速度または加速度に基づいて振動の強さを設定する、請求項１から３のいずれか記載のゲームシステム。
【請求項５】
前記振動制御部は、前記プレイヤキャラクタの速度または加速度と、前記プレイヤの進行方向と前記障害オブジェクトの法線とがなす角度とに基づいて前記振動の強さを設定する請求項４記載のゲームシステム。
【請求項６】
前記障害オブジェクトは、仮想空間内の地形オブジェクトである、請求項１から５のいずれか記載のゲームシステム。
【請求項７】
操作部と、
指定された強さで振動をする振動部と、
前記操作部に対する操作に基づいて、仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ制御部と、
前記プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定し、かつ前記操作部に対する操作が、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作であるときに、前記障害オブジェクトがないと仮定した場合に前記操作部に対する操作に基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさに応じて前記振動部を振動させる、振動制御部と、
を備える、ゲームシステム。
【請求項８】
操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続されたコンピュータによってゲーム処理を制御するゲームプログラムであって、前記コンピュータに、
前記操作部に対してなされた操作の操作データを取得するステップと、
プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定すると共に、前記操作データに基づいて、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作がなされたか否かを判定するステップと、
前記プレイヤキャラクタを前記障害オブジェクトに向かわせる操作がなされたと判定されたときに、当該障害オブジェクトに対する前記プレイヤキャラクタの進行方向に応じた強さで前記振動部を振動させる振動データを生成するステップと、
を実行させるゲームプログラム。
【請求項９】
前記振動データを生成するステップは、前記プレイヤキャラクタの進行しようとする方向と、前記プレイヤキャラクタと前記障害オブジェクトとの接触位置における前記障害オブジェクトの法線とのなす角度が小さくなるほど前記振動の強さが強くなる振動データを生成する、請求項８記載のゲームプログラム。
【請求項１０】
前記振動データを生成するステップは、前記障害オブジェクトがないと仮定した場合に前記操作データに基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさと、前記プレイヤの進行方向と前記障害オブジェクトの法線とがなす角度とに基づいて前記振動データを生成する、請求項９記載のゲームプログラム。
【請求項１１】
前記振動データを生成するステップは、前記プレイヤキャラクタが前記障害オブジェクトに接触する直前の前記プレイヤキャラクタの速度または加速度に基づいて、振動データを生成する、請求項８から１０のいずれか記載のゲームプログラム。
【請求項１２】
前記振動データを生成するステップは、前記プレイヤキャラクタの速度または加速度と、前記プレイヤの進行方向と前記障害オブジェクトの法線とがなす角度とに基づいて前記振動データを生成する請求項１１記載のゲームプログラム。
【請求項１３】
前記障害オブジェクトは、仮想空間内の地形オブジェクトである、請求項８から１２のいずれか記載のゲームプログラム。
【請求項１４】
操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続されたコンピュータによってゲーム処理を制御するゲームプログラムであって、前記コンピュータに、
前記操作部に対してなされた操作の操作データを取得するステップと、
プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定すると共に、前記操作データに基づいて、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作がなされたか否かを判定するステップと、
前記プレイヤキャラクタを前記障害オブジェクトに向かわせる操作がなされたと判定されたときに、前記障害オブジェクトがないと仮定した場合に前記操作データに基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさに応じた強さで前記振動部を振動させる振動データを生成するステップと、
を実行させる、ゲームプログラム。
【請求項１５】
操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続された情報処理装置であって、
前記操作部に対する操作に基づいて、仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ制御部と、
前記プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定し、かつ前記操作部に対する操作が、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作であるときに、当該障害オブジェクトに対する前記プレイヤキャラクタの進行方向に応じた強さで前記振動部を振動させる、振動制御部と、
を備える、情報処理装置。
【請求項１６】
操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続された情報処理装置であって、
前記操作部に対する操作に基づいて、仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ制御部と、
前記プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定し、かつ前記操作部に対する操作が、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作であるときに、前記障害オブジェクトがないと仮定した場合に前記操作部に対する操作に基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさに応じて前記振動部を振動させる、振動制御部と、
を備える、情報処理装置。
【請求項１７】
操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続された情報処理装置によってゲーム処理を制御するゲーム制御方法であって、
前記情報処理装置が、前記操作部に対してなされた操作の操作データを取得するステップと、
前記情報処理装置が、プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定すると共に、前記操作データに基づいて、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作がなされたか否かを判定するステップと、
前記情報処理装置が、前記プレイヤキャラクタを前記障害オブジェクトに向かわせる操作がなされたと判定されたときに、当該障害オブジェクトに対する前記プレイヤキャラクタの進行方向に応じた強さで前記振動部を振動させる振動データを生成するステップと、
を備えるゲーム制御方法。
【請求項１８】
操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続された情報処理装置によってゲーム処理を制御するゲーム制御方法であって、
前記情報処理装置が、前記操作部に対してなされた操作の操作データを取得するステップと、
前記情報処理装置が、プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定すると共に、前記操作データに基づいて、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作がなされたか否かを判定するステップと、
前記情報処理装置が、前記プレイヤキャラクタを前記障害オブジェクトに向かわせる操作がなされたと判定されたときに、前記障害オブジェクトがないと仮定した場合に前記操作データに基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさに応じた強さで前記振動部を振動させる振動データを生成するステップと、
を備えるゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、触覚によるフィードバック機能を有するゲームシステム及びゲームプログラム等に関する。
【背景技術】
【０００２】
従来から、触覚によるフィードバック機能を有するゲームシステムが知られていた。特許文献１は、モニタに接続されたゲーム装置と、ゲーム装置に操作指示を与えるコントローラからなるゲームシステムを開示している。コントローラには、バイブレータが内蔵されており、バイブレータを駆動することによってコントローラを振動させる。この構成により、特許文献１では、モニタ上でオブジェクトを視認できない状態において、触覚刺激によって非表示のオブジェクトをユーザに推測させるゲームを実現している。
【０００３】
特許文献２は、モニタに接続されたゲーム装置と、ゲーム装置に操作指示を与えるコントローラからなるゲームシステムを開示している。コントローラに振動カードリッジを挿入することができ、振動カートリッジを挿入した状態においてコントローラを振動させることができる。特許文献２では、プレイヤオブジェクトとそれに対する影響物体ないし障害物（他の移動オブジェクト、地面、海面、壁等の静止オブジェクト、敵オブジェクト、攻撃オブジェクト等）とが当たった（衝突ないし接触）か否かを判断し、当たったと判断された場合に振動カートリッジを振動させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３４５号公報
【特許文献２】特開平１１−３３２２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したとおり、振動を利用したゲームが知られていたが、本発明は、ゲーム内の状況に応じた振動のフィードバックにより、ゲーム状況をより分かりやすくさせるゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のゲームシステムは、操作部と、指定された強さで振動をする振動部と、前記操作部に対する操作に基づいて、仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ制御部と、前記プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定し、かつ前記操作部に対する操作が、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作であるときに、当該障害オブジェクトに対する前記プレイヤキャラクタの進行方向に応じた強さで前記振動部を振動させる、振動制御部とを備える。
【０００７】
この構成により、プレイヤキャラクタが障害オブジェクトに接触し、さらに障害オブジェクトの方に向かおうとすると振動によるフィードバックがなされるので、ユーザは、プレイヤキャラクタが障害オブジェクトに接触してそれ以上進めないことを容易に把握できる。また、振動の強さは、プレイヤキャラクタの障害オブジェクトに対する角度で変化するので、障害オブジェクトの向きを分かりやすく知らせることができる。
【０００８】
本発明のゲームシステムにおいて、前記振動制御部は、前記プレイヤキャラクタの進行しようとする方向と、前記プレイヤキャラクタと前記障害オブジェクトとの接触位置における前記障害オブジェクトの法線とのなす角度が小さくなるほど前記振動の強さが強くなるよう、前記振動の強さを設定してもよい。この構成により、障害オブジェクトの法線に対する角度が小さくなるほど振動が強くなるので、現実に壁等の障害物に接触した場合と同じ感覚を持たせることができる。
【０００９】
本発明のゲームシステムにおいて、前記振動制御部は、前記障害オブジェクトがないと仮定した場合に前記操作部に対する操作に基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさと、前記プレイヤキャラクタの進行方向と前記障害オブジェクトの法線とがなす角度とに基づいて、前記強さを設定してもよい。この構成により、プレイヤキャラクタの推進力が大きくなるほど振動の強さが大きくなるので、現実に壁等の障害物に接触する場合と同じ感覚を持たせることができる。
【００１０】
本発明のゲームシステムにおいて、前記振動制御部は、前記プレイヤキャラクタが前記障害オブジェクトに接触する直前の前記プレイヤキャラクタの速度または加速度に基づいて振動の強さを設定してもよい。この構成により、障害オブジェクトに最初に接触したときの衝撃を振動としてフィードバックすることができる。
【００１１】
本発明のゲームシステムにおいて、前記振動制御部は、前記プレイヤキャラクタの速度または加速度と、前記プレイヤの進行方向と前記障害オブジェクトの法線とがなす角度とに基づいて前記振動の強さを設定してもよい。この構成により、障害オブジェクトの法線に対する角度が小さくなるほど、接触時の振動が強くなるので、現実に壁等の障害物にぶつかる場合と同じ感覚を持たせることができる。
【００１２】
本発明のゲームシステムにおいて、前記障害オブジェクトは、仮想空間内の地形オブジェクトであってもよい。この構成により、プレイヤキャラクタの行く手が地形オブジェクトによって阻まれている場合に、振動によってユーザに知らせることができる。「地形オブジェクト」とは、例えば、岩、壁、閉じられた扉、窓等である。
【００１３】
本発明の別の態様に係るゲームシステムは、操作部と、指定された強さで振動をする振動部と、前記操作部に対する操作に基づいて、仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ制御部と、前記プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定し、かつ前記操作部に対する操作が、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作であるときに、前記障害オブジェクトがないと仮定した場合に前記操作部に対する操作に基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさに応じて前記振動部を振動させる振動制御部と、を備える。
【００１４】
この構成により、プレイヤキャラクタが障害オブジェクトに接触し、さらに障害オブジェクトの方に向かおうとすると振動によるフィードバックがなされるので、ユーザは、プレイヤキャラクタが障害オブジェクトに接触してそれ以上進めないことを容易に把握できる。また、振動の強さは、キャラクタプレイヤの移動速度または加速度の大きさに応じて変化するので、無理に進もうとしても進めないことを分かりやすく知らせることができる。
【００１５】
本発明のゲームプログラムは、操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続されたコンピュータによってゲーム処理を制御するゲームプログラムであって、前記コンピュータに、前記操作部に対してなされた操作の操作データを取得するステップと、プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定すると共に、前記操作データに基づいて、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作がなされたか否かを判定するステップと、前記プレイヤキャラクタを前記障害オブジェクトに向かわせる操作がなされたと判定されたときに、当該障害オブジェクトに対する前記プレイヤキャラクタの進行方向に応じた強さで前記振動部を振動させる振動データを生成するステップとを実行させる。
【００１６】
この構成により、プレイヤキャラクタが障害オブジェクトに接触し、さらに障害オブジェクトの方に向かおうとすると振動によるフィードバックがなされるので、ユーザは、プレイヤキャラクタが障害オブジェクトに接触してそれ以上進めないことを容易に把握できる。また、振動の強さは、プレイヤキャラクタの障害オブジェクトに対する角度で変化するので、障害オブジェクトの向きを分かりやすく知らせることができる。
【００１７】
本発明のゲームプログラムにおいて、前記振動データを生成するステップは、前記プレイヤキャラクタの進行しようとする方向と、前記プレイヤキャラクタと前記障害オブジェクトとの接触位置における前記障害オブジェクトの法線とのなす角度が小さくなるほど前記振動の強さが強くなる振動データを生成してもよい。この構成により、障害オブジェクトの法線に対する角度が小さくなるほど振動が強くなるので、現実に壁等の障害物に接触した場合と同じ感覚を持たせることができる。
【００１８】
本発明のゲームプログラムにおいて、前記振動データを生成するステップは、前記障害オブジェクトがないと仮定した場合に前記操作データに基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさと、前記プレイヤの進行方向と前記障害オブジェクトの法線とがなす角度とに基づいて前記振動データを生成してもよい。この構成により、プレイヤキャラクタの推進力が大きくなるほど振動の強さが大きくなるので、現実に壁等の障害物に接触する場合と同じ感覚を持たせることができる。
【００１９】
本発明のゲームプログラムにおいて、前記振動データを生成するステップは、前記プレイヤキャラクタが前記障害オブジェクトに接触する直前の前記プレイヤキャラクタの速度または加速度に基づいて、振動データを生成してもよい。この構成により、障害オブジェクトに最初に接触したときの衝撃を振動としてフィードバックすることができる。
【００２０】
本発明のゲームプログラムにおいて、前記振動データを生成するステップは、前記プレイヤキャラクタの速度または加速度と、前記プレイヤの進行方向と前記障害オブジェクトの法線とがなす角度とに基づいて前記振動データを生成してもよい。この構成により、障害オブジェクトの法線に対する角度が小さくなるほど、接触時の振動が強くなるので、現実に壁等の障害物にぶつかる場合と同じ感覚を持たせることができる。
【００２１】
本発明のゲームプログラムにおいて、前記障害オブジェクトは、仮想空間内の地形オブジェクトであってもよい。この構成により、プレイヤキャラクタの行く手が地形オブジェクトによって阻まれている場合に、振動によってユーザに知らせることができる。
【００２２】
本発明の別の態様に係るゲームプログラムにおいて、操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続されたコンピュータによってゲーム処理を制御するゲームプログラムであって、前記コンピュータに、前記操作部に対してなされた操作の操作データを取得するステップと、プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定すると共に、前記操作データに基づいて、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作がなされたか否かを判定するステップと、前記プレイヤキャラクタを前記障害オブジェクトに向かわせる操作がなされたと判定されたときに、前記障害オブジェクトがないと仮定した場合に前記操作データに基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさに応じた強さで前記振動部を振動させる振動データを生成するステップとを実行させる。
【００２３】
この構成により、プレイヤキャラクタが障害オブジェクトに接触し、さらに障害オブジェクトの方に向かおうとすると振動によるフィードバックがなされるので、ユーザは、プレイヤキャラクタが障害オブジェクトに接触してそれ以上進めないことを容易に把握できる。また、振動の強さは、キャラクタプレイヤの移動速度または加速度の大きさに応じて変化するので、無理に進もうとしても進めないことを分かりやすく知らせることができる。
【００２４】
本発明の情報処理装置は、操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続された情報処理装置であって、前記操作部に対する操作に基づいて、仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ制御部と、前記プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定し、かつ前記操作部に対する操作が、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作であるときに、当該障害オブジェクトに対する前記プレイヤキャラクタの進行方向に応じた強さで前記振動部を振動させる、振動制御部とを備える。
【００２５】
この構成により、プレイヤキャラクタが障害オブジェクトに接触し、さらに障害オブジェクトの方に向かおうとすると振動によるフィードバックがなされるので、ユーザは、プレイヤキャラクタが障害オブジェクトに接触してそれ以上進めないことを容易に把握できる。また、振動の強さは、プレイヤキャラクタの障害オブジェクトに対する角度で変化するので、障害オブジェクトの向きを分かりやすく知らせることができる。
【００２６】
本発明の別の態様に係る情報処理装置は、操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続された情報処理装置であって、前記操作部に対する操作に基づいて、仮想空間内においてプレイヤキャラクタを移動させるプレイヤキャラクタ制御部と、前記プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定し、かつ前記操作部に対する操作が、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作であるときに、前記障害オブジェクトがないと仮定した場合に前記操作部に対する操作に基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさに応じて前記振動部を振動させる、振動制御部とを備える。
【００２７】
この構成により、プレイヤキャラクタが障害オブジェクトに接触し、さらに障害オブジェクトの方に向かおうとすると振動によるフィードバックがなされるので、ユーザは、プレイヤキャラクタが障害オブジェクトに接触してそれ以上進めないことを容易に把握できる。また、振動の強さは、キャラクタプレイヤの移動速度または加速度の大きさに応じて変化するので、無理に進もうとしても進めないことを分かりやすく知らせることができる。
【００２８】
本発明のゲーム制御方法は、操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続された情報処理装置によってゲーム処理を制御するゲーム制御方法であって、前記情報処理装置が、前記操作部に対してなされた操作の操作データを取得するステップと、前記情報処理装置が、プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定すると共に、前記操作データに基づいて、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作がなされたか否かを判定するステップと、前記情報処理装置が、前記プレイヤキャラクタを前記障害オブジェクトに向かわせる操作がなされたと判定されたときに、当該障害オブジェクトに対する前記プレイヤキャラクタの進行方向に応じた強さで前記振動部を振動させる振動データを生成するステップとを備える。
【００２９】
この構成により、プレイヤキャラクタが障害オブジェクトに接触し、さらに障害オブジェクトの方に向かおうとすると振動によるフィードバックがなされるので、ユーザは、プレイヤキャラクタが障害オブジェクトに接触してそれ以上進めないことを容易に把握できる。また、振動の強さは、プレイヤキャラクタの障害オブジェクトに対する角度で変化するので、障害オブジェクトの向きを分かりやすく知らせることができる。
【００３０】
本発明の別の態様に係るゲーム制御方法は、操作部および指定された強さで振動をする振動部を備えた装置に内蔵または接続された情報処理装置によってゲーム処理を制御するゲーム制御方法であって、前記情報処理装置が、前記操作部に対してなされた操作の操作データを取得するステップと、前記情報処理装置が、プレイヤキャラクタと侵入不可能な障害オブジェクトとの接触を判定すると共に、前記操作データに基づいて、前記プレイヤキャラクタを当該障害オブジェクトに向かわせる操作がなされたか否かを判定するステップと、前記情報処理装置が、前記プレイヤキャラクタを前記障害オブジェクトに向かわせる操作がなされたと判定されたときに、前記障害オブジェクトがないと仮定した場合に前記操作データに基づいて計算される前記プレイヤキャラクタの移動速度または加速度の大きさに応じた強さで前記振動部を振動させる振動データを生成するステップとを備える。
【００３１】
この構成により、プレイヤキャラクタが障害オブジェクトに接触し、さらに障害オブジェクトの方に向かおうとすると振動によるフィードバックがなされるので、ユーザは、プレイヤキャラクタが障害オブジェクトに接触してそれ以上進めないことを容易に把握できる。また、振動の強さは、キャラクタプレイヤの移動速度または加速度の大きさに応じて変化するので、無理に進もうとしても進めないことを分かりやすく知らせることができる。
【発明の効果】
【００３２】
本発明によれば、プレイヤキャラクタが障害オブジェクトに接触し、さらに障害オブジェクトの方に向かおうとすると振動によるフィードバックがなされるので、ユーザは、プレイヤキャラクタが障害オブジェクトに接触してそれ以上進めないことを容易に把握できる。
【図面の簡単な説明】
【００３３】
【図１】本体装置２に左コントローラ３および右コントローラ４を装着した状態を示す図
【図２】本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図
【図３】本体装置２の一例を示す六面図
【図４】左コントローラ３の一例を示す六面図
【図５】右コントローラ４の一例を示す六面図
【図６】本体装置２の内部構成の一例を示すブロック図
【図７】本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図
【図８】左コントローラ３および右コントローラ４を本体装置２に外した状態でゲームを行う様子の一例を示す図
【図９】左コントローラ３から出力される操作データの一例を示す図
【図１０】右コントローラ４から出力される操作データの一例を示す図
【図１１】本実施形態で例として取り上げるゲームの画面を示す図
【図１２】本実施形態のゲームシステム１の処理を実行するゲーム制御部を示す図
【図１３】（ａ）壁（障害オブジェクト）に対するキャラクタの進行方向と仮想の加速度の大きさを示す図、（ｂ）壁（障害オブジェクト）に対するキャラクタの進行方向と仮想の加速度の大きさを示す図
【図１４】（ａ）波形データ記憶部１３５に記憶された波形データの例であって、プレイヤキャラクタが障害オブジェクトに接触しているときの振動データの元となる波形を示す図、（ｂ）波形データ記憶部１３５に記憶された波形データの例であって、プレイヤキャラクタが障害オブジェクトに衝突するときの振動データの元となる波形を示す図
【図１５】本実施形態の本体装置２の処理を示すフローチャート
【発明を実施するための形態】
【００３４】
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム１の一例は、本体装置（情報処理装置；本実施形態ではゲーム装置本体として機能する）２と左コントローラ３および右コントローラ４とを含む。本体装置２は、左コントローラ３および右コントローラ４がそれぞれ着脱可能である。つまり、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として利用できる。また、本体装置２と左コントローラ３および右コントローラ４とを別体として利用することもできる（図２参照）。以下では、まず本実施形態のゲームシステムのハードウェア構成について説明し、その後に本実施形態のゲームシステムの制御について説明する。
【００３５】
（本体装置、左コントローラ、右コントローラの説明）
図１は、本体装置２に左コントローラ３および右コントローラ４を装着した状態を示す図である。図１に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、ゲームシステム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００３６】
図２は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図１および図２に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。
【００３７】
図３は、本体装置２の一例を示す六面図である。図３に示すように、本体装置２は、略板状のハウジング１１を備える。本実施形態において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。
【００３８】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００３９】
図３に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が生成した画像を表示する。本実施形態においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００４０】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。本実施形態においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００４１】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図６に示すスピーカ８８）を備えている。図３に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００４２】
また、本体装置２は、本体装置２が左コントローラ３と有線通信を行うための端子である左側端子１７と、本体装置２が右コントローラ４と有線通信を行うための右側端子２１を備える。
【００４３】
図３に示すように、本体装置２は、スロット２３を備える。スロット２３は、ハウジング１１の上側面に設けられる。スロット２３は、記憶媒体を装着可能な形状を有する。記憶媒体は、例えば、ゲームシステム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。
【００４４】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。本実施形態において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。上記一体型装置または本体装置２単体をクレードルに載置した場合、ゲームシステム１は、本体装置２が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００４５】
図４は、左コントローラ３の一例を示す六面図である。図４に示すように、左コントローラ３は、ハウジング３１を備える。本実施形態においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図１に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００４６】
左コントローラ３は、アナログスティック３２を備える。図４に示すように、アナログスティック３２が、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック３２を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック押下する入力が可能である。
【００４７】
左コントローラ３は、各種操作ボタンを備える。まず、左コントローラ３は、ハウジング３１の主面上に４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および、左方向ボタン３６）を備える。さらに、録画ボタン３７、−（マイナス）ボタン４７を備える。左コントローラ３は、ハウジング３１の側面の左上に第１Ｌボタン３８およびＺＬボタン３９を備える。また、左コントローラ３は、ハウジング３１の側面の、本体装置２に装着される際に装着される側の面に第２Ｌボタン４３および第２Ｒボタン４４を備える。これらの操作ボタンは、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。
【００４８】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。
【００４９】
図５は、右コントローラ４の一例を示す六面図である。図５に示すように、右コントローラ４は、ハウジング５１を備える。本実施形態においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００５０】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。本実施形態においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ４は、左コントローラ３と同様、ハウジング５１の主面上に４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、および、Ｙボタン５６）を備える。さらに、＋（プラス）ボタン５７、ホームボタン５８を備える。また、右コントローラ４は、右コントローラ４は、ハウジング５１の側面の右上に第１Ｒボタン６０およびＺＲボタン６１を備える。また、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。
【００５１】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。
【００５２】
図６は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図３に示す構成の他、図６に示す各構成要素８１〜９８を備える。これらの構成要素８１〜９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００５３】
本体装置２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８１を備える。ＣＰＵ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部であって、厳密にはＣＰＵ機能、ＧＰＵ機能等の複数の機能を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）である。ＣＰＵ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、スロット２３に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００５４】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、ＣＰＵ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００５５】
本体装置２は、スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）９１を備える。スロットＩ／Ｆ９１は、ＣＰＵ８１に接続される。スロットＩ／Ｆ９１は、スロット２３に接続され、スロット２３に装着された記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、ＣＰＵ８１の指示に応じて行う。
【００５６】
ＣＰＵ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００５７】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、ＣＰＵ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施形態においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００５８】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、ＣＰＵ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、本実施形態においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００５９】
ＣＰＵ８１は、上述の左側端子１７、右側端子２１、および、下側端子２７に接続される。ＣＰＵ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、ＣＰＵ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、ＣＰＵ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００６０】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、ユーザは、複数の左コントローラ３および複数の右コントローラ４を用いて本体装置２に対する入力を行うことができる。
【００６１】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とＣＰＵ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、ＣＰＵ８１へ出力する。
【００６２】
また、ディスプレイ１２は、ＣＰＵ８１に接続される。ＣＰＵ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００６３】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、ＣＰＵ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。
【００６４】
また、本体装置２は、加速度センサ８９を備える。本実施形態においては、加速度センサ８９は、所定の３軸（例えば、図１に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ８９は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。
【００６５】
また、本体装置２は、角速度センサ９０を備える。本実施形態においては、角速度センサ９０は、所定の３軸（例えば、図１に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ９０は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。
【００６６】
上記の加速度センサ８９および角速度センサ９０は、ＣＰＵ８１に接続され、加速度センサ８９および角速度センサ９０の検出結果は、ＣＰＵ８１へ出力される。ＣＰＵ８１は、上記の加速度センサ８９および角速度センサ９０の検出結果に基づいて、本体装置２の動きおよび／または姿勢に関する情報を算出することが可能である。
【００６７】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびＣＰＵ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、ＣＰＵ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。
【００６８】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００６９】
図７は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図６で示しているため図７では省略している。
【００７０】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図７に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。本実施形態においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００７１】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００７２】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、４６、４７）を備える。また、左コントローラ３は、アナログスティック（図７では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００７３】
左コントローラ３は、慣性センサを備える。具体的には、加速度センサ１０４を備える。また、角速度センサ１０５を備える。本実施形態においては、加速度センサ１０４は、所定の３軸（例えば、図４に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ１０５は、所定の３軸（例えば、図４に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【００７４】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、または、センサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００７５】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【００７６】
左コントローラ３は、振動によってユーザに通知を行うための振動子１０７を備える。本実施形態においては、振動子１０７は、本体装置２からの指令によって制御される。すなわち、通信制御部１０１は、本体装置２からの上記指令を受け取ると、当該指令に従って振動子１０７を駆動させる。ここで、左コントローラ３は、コーデック部１０６を備える。通信制御部１０１は、上記指令を受け取ると、指令に応じた制御信号をコーデック部１０６へ出力する。コーデック部１０６は、通信制御部１０１からの制御信号から振動子１０７を駆動させるための駆動信号を生成して振動子１０７へ与える。これによって振動子１０７が動作する。
【００７７】
振動子１０７は、より具体的にはリニア振動モータである。リニア振動モータは、回転運動をする通常のモータと異なり、入力される電圧に応じて所定方向に駆動されるため、入力される電圧の波形に応じた振幅、周波数で振動をさせることができる。本実施形態において、本体装置２から左コントローラ３に送信される振動制御信号は、単位時間ごとに周波数と振幅とを表すデジタル信号であってよい。別の実施形態においては、波形そのものを示す情報を送信するようにしてもよいが、振幅と周波数だけを送信することで通信データ量を削減することができる。また、さらにデータ量を削減するため、そのときの振幅と周波数の数値に替えて、前回の値からの差分だけを送信するようにしてもよい。この場合、コーデック部１０６は、通信制御部１０１から取得される振幅と周波数の値を示すデジタル信号をアナログの電圧の波形に変換し、当該波形に合わせて電圧を入力することで振動子１０７を駆動させる。したがって、本体装置２は、単位時間ごとに送信する振幅および周波数を変えることによって、そのときに振動子１０７を振動させる振幅と周波数を制御することができる。なお、本体装置２から左コントローラ３に送信される振幅と周波数は、１つに限らず、２つ以上送信するようにしてもよい。その場合、コーデック部１０６は、受信された複数の振幅と周波数それぞれが示す波形を合成することで、振動子１０７を制御する電圧の波形を生成することができる。
【００７８】
左コントローラ３は、電力供給部１０８を備える。本実施形態において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。
【００７９】
図７に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【００８０】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部を備える。具体的には、各ボタン１１３、アナログスティック５２、慣性センサ（加速度センサ１１４および角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【００８１】
また、右コントローラ４は、振動子１１７およびコーデック部１１６を備える。振動子１１７および増幅器１１６は、左コントローラ３の振動子１０７およびコーデック部１０６と同様に動作する。すなわち、通信制御部１１１は、本体装置２からの指令に従って、コーデック部１１６を用いて振動子１１７を動作させる。
【００８２】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。
【００８３】
（各コントローラを用いたゲーム制御）
本実施形態では、ユーザは、ゲームシステム１を用いて所定のゲームを行う。例えば、ユーザは、本体装置２のディスプレイ１２に表示されたプレイヤキャラクタをゲーム空間内で移動させ、所定の敵キャラクタと対戦するゲームを行う。なお、本実施形態では、ユーザは、１人でゲームを行うこともできるし、複数人でゲームを行うこともできる。ユーザが１人でゲームを行う場合、ユーザは、自身のプレイヤキャラクタＰをゲーム空間内で移動させ、本体装置２によって制御される敵キャラクタ（ノンプレイヤキャラクタ）と対戦する。
【００８４】
本実施形態においては、ユーザは、左コントローラ３及び右コントローラ４を本体装置２から外した状態でゲームシステム１を利用することが可能である。図８は、１人のユーザが左コントローラ３を左手に把持して、右コントローラ４を右手に把持してゲームシステム１を利用する様子の一例を示す図である。この場合、図８に示すように、左コントローラ３と右コントローラ４との位置関係が固定されておらず、両コントローラ３，４を自由に動かすことができる。なお、ユーザは、図１に示すように、左コントローラ３および右コントローラ４を本体装置２に装着してゲーム操作を行うことももちろん可能である。
【００８５】
（各コントローラから出力される操作データ）
次に、各コントローラから出力される操作データについて説明する。これらのコントローラから出力される操作データは、本体装置２によって取得され、例えばＤＲＡＭ８５等のメモリに格納される。図９は、左コントローラ３から出力される操作データの一例を示す図である。図１０は、右コントローラ４から出力される操作データの一例を示す図である。
【００８６】
図９に示されるように、左コントローラ３から出力される操作データＤ３００には、加速度データＤ３０１と、角速度データＤ３０２と、左スティックデータＤ３０３と、各ボタンデータＤ３０４とが含まれる。図９に示される操作データＤ３００は、所定の時間間隔（例えば、１／２００秒間隔）で左コントローラ３から本体装置２に出力される。なお、左コントローラ３が携帯機コントローラ１００として構成される場合も、無線コントローラ３００として構成される場合も、図９に示される操作データＤ３００が本体装置２に出力される。
【００８７】
加速度データＤ３０１は、加速度センサ１０４によって検出された加速度の値を示すデータである。角速度データＤ３０２は、角速度センサ１０５によって検出された角速度の値を示すデータである。
【００８８】
左スティックデータＤ３０３は、アナログスティック３２に対する操作に応じたデータであり、スティック部材の傾倒方向に応じた方向を示すデータと、スティック部材の傾倒量を示すデータとを含む。また、上述のように、アナログスティック３２は、スティック部材に対する押下入力も行うことができる入力部である。左スティックデータＤ３０３には、アナログスティック３２に対して押下入力が行われたか否かを示すデータも含まれる。
【００８９】
各ボタンデータＤ３０４には、左コントローラ３の各ボタンに対する操作が行われたか否かを示すデータ（ＯＮ又はＯＦＦを示すデータ）が含まれる。例えば、各ボタンデータ３０４には、操作ボタン３３〜３６が押下されたか否かを示すデータ、録画ボタン３７が押下されたか否かを示すデータ、第１Ｌボタン３８が押下されたか否かを示すデータ、ＺＬボタン３９が押下されたか否かを示すデータ、及び、−ボタン４７が押下されたか否かを示すデータが含まれる。
【００９０】
また、図１０に示されるように、右コントローラ４から出力される操作データＤ４００には、加速度データＤ４０１と、角速度データＤ４０２と、右スティックデータＤ４０３と、各ボタンデータＤ４０４とが含まれる。図１０に示される操作データＤ４００は、所定の時間間隔（例えば、１／２００秒間隔）で右コントローラ４から本体装置２に出力される。なお、右コントローラ４が、携帯機コントローラ１００として構成される場合も、無線コントローラ３００として構成される場合も、図１０に示される操作データＤ４００が本体装置２に出力される。
【００９１】
加速度データＤ４０１は、加速度センサ１１４によって検出された加速度の値を示すデータである。角速度データＤ４０２は、角速度センサ１１５によって検出された角速度の値を示すデータである。
【００９２】
右スティックデータＤ４０３は、アナログスティック５２に対する操作に応じたデータであり、スティック部材の傾倒方向に応じた方向を示すデータと、スティック部材の傾倒量を示すデータとを含む。また、上述のように、アナログスティック５２は、スティック部材に対する押下入力も行うことができる入力部である。右スティックデータＤ４０３には、アナログスティック５２に対して押下入力が行われたか否かを示すデータも含まれる。
【００９３】
各ボタンデータＤ４０４には、右コントローラ４の各ボタンに対する操作が行われたか否かを示すデータ（ＯＮ又はＯＦＦを示すデータ）が含まれる。例えば、各ボタンデータＤ４０４には、操作ボタン５３〜５６が押下されたか否かを示すデータ、ホームボタン５８が押下されたか否かを示すデータ、第１Ｒボタン６０が押下されたか否かを示すデータ、ＺＲボタン６１が押下されたか否かを示すデータ、及び、＋ボタン５７が押下されたか否かを示すデータが含まれる。
【００９４】
（操作データに基づくゲーム処理）
以下、本実施形態のゲーム制御について説明する。図１１は、プレイヤキャラクタ１２０が仮想空間を移動する際に、前方に壁１２１が立ちはだかっていて、壁１２１の上の平地１２２に出ないと前に進めない状況を示している。壁１２１は、プレイヤキャラクタ１２０の進行を妨げる障害オブジェクトである。図１１では、壁１２１と平地１２２との色彩、明度、テクスチャが似通っていって、すぐには壁１２１があると視認できない例を示している。壁１２１と平地１２２との色相の違いは、例えば、色相環において６０度以下である。このようにプレイヤキャラクタ１２０の進行が妨げられていることが、画面を注意深く観察しなければ分からない場合に、本実施形態のゲームシステム１は、ユーザにゲームの状況を分かりやすく知らせることができる。具体的には、本実施形態のゲームシステム１は、プレイヤキャラクタ１２０が壁１２１に向かって進行しようとしているときコントローラの振動子を振動させ、それによってユーザに状況を知らせることができる。さらに、本実施形態においては、プレイヤキャラクタ１２０が進行しようとしている方向と、壁１２１とのなす角度に応じて当該振動の強さを変えることで、より詳細に状況を知らせることができる。
【００９５】
図１２は、本実施形態のゲームシステム１の処理を実行するゲーム制御部１３０を示す図である。ゲーム制御部１３０は、ＣＰＵ８１がフラッシュメモリ８４に記憶されたプログラムを実行することにより実現される。なお、図１２には、本実施形態で説明するゲーム制御に必要な構成のみを示すが、実際には、ゲームの内容に応じた制御を行うための機能を有している。
【００９６】
ゲーム制御部１３０は、操作データ取得部１３１と、振動強さ計算部１３２と、振動データ生成部１３３と、プレイヤキャラクタ制御部１３４と、画像処理部１３５とを有している。操作データ取得部１３１は、コントローラ通信部８３を通じて左コントローラ３及び右コントローラ４の操作データＤ３００，Ｄ４００を取得し、取得した操作データを振動強さ計算部１３２、及びプレイヤキャラクタ制御部１３４に渡す。なお、左コントローラ３及び右コントローラ４が本体装置２に装着されている場合には、左側端子１７及び右側端子２１を通じて、操作データＤ３００，Ｄ４００を取得する。
【００９７】
振動強さ計算部１３２は、プレイヤキャラクタ１２０が障害オブジェクトに衝突したとき、また接触して障害オブジェクトを押しているときに、コントローラ３，４に発生させる振動の強さを計算する機能を有している。振動強さは、プレイヤキャラクタ１２０が障害オブジェクトに向かって進行しようとしている仮想の加速度に応じた大きさとする。ここで、「仮想の加速度」とは、実際には、プレイヤキャラクタ１２０は障害オブジェクトに阻まれて自由に移動することができないが、障害オブジェクトがないとした場合にプレイヤキャラクタ１２０に発生すると計算される加速度である。
【００９８】
振動強さ計算部１３２は、ゲーム状況に関するデータを記憶したゲーム状況データ記憶部１３６に接続されている。ゲーム状況に関するデータとは、ゲームを進行するために必要なデータであり、例えば、仮想空間におけるプレイヤキャラクタ１２０の現在位置、進行方向、進行速度、プレイヤキャラクタ１２０の周囲に存在するオブジェクト（障害オブジェクト、敵キャラクタオブジェクト等）の存在、プレイヤキャラクタ１２０の体力、能力等である。
【００９９】
振動強さ計算部１３２は、ゲーム状況データ記憶部１３６からゲーム状況のデータとして、プレイヤキャラクタ１２０の現在位置、進行方向、進行速度と、プレイヤの周囲にある障害オブジェクトのデータを読み出す。振動強さ計算部１３２は、プレイヤキャラクタ１２０が障害オブジェクトに衝突するか、あるいは接触しているか否かを判定し、衝突あるいは接触している場合にコントローラ３，４に与える振動の強さを計算する。まず、図１３を参照して、接触時における振動の強さについて説明する。
【０１００】
図１３（ａ）及び図１３（ｂ）は、壁１２１（障害オブジェクト）に対するキャラクタの進行方向と仮想の加速度の大きさを示す図である。図１３（ａ）及び図１３（ｂ）において、点線は、壁１２１（障害オブジェクト）の法線を示す。図１３（ａ）及び図１３（ｂ）では、壁１２１を平面として描いているが、壁１２１が凸凹している場合には、キャラクタオブジェクトが接触している箇所における壁１２１の微小平面における法線を規定すればよい。壁１２１がポリゴンで規定されている場合には、キャラクタオブジェクト１２０に接触するポリゴンの法線によって壁１２１の法線を規定する。なお、壁１２１の凸凹が小さい場合には、映像としての壁１２１の凸凹とは関係なく、仮想平面を規定してもよい。
【０１０１】
図１３（ａ）に示す例では、プレイヤキャラクタ１２０は、壁１２１に向かって垂直に加速度Ａ１で進行しようとしている。実際には壁１２１があるのでプレイヤキャラクタ１２０は動かないが、もし壁１２１がないとした場合には、加速度Ａ１で移動するということを意味している。図１３（ａ）に示す例では、壁１２１の法線に対するプレイヤキャラクタ１２０の進行方向の角度は０°であるので、壁１２１を加速度Ａ１に相当する力で押しているとして、振動強さ計算部１３２は、加速度Ａ１に対応する振動強さを決定する。
【０１０２】
振動強さ計算部１３２は、振動強さを加速度Ａ１に比例させてもよいし、加速度Ａ１の２乗や累乗に比例させてもよく、様々なバリエーションが考えられるが、本実施形態では、加速度Ａ１の２乗に比例させるものとする。加速度が小さいときの振動の増加割合を小さく、加速度が大きくなったときの振動の増加量を大きくすることで、壁１２１に接触している感覚を与えることができると考えられる。
【０１０３】
図１３（ｂ）に示す例では、プレイヤキャラクタ１２０は、壁１２１に向かって左斜めに加速度Ａ２で進行しようとしている。プレイヤキャラクタ１２０の壁１２１の法線に対する進行方向はθである。この場合、プレイヤキャラクタ１２０は、Ａ２ｃｏｓθに対応する力で壁１２１を押しているとして、振動強さ計算部１３２は、Ａ２ｃｏｓθに対応する振動強さを決定する。なお、図１３（ｂ）に示す例では、加速度Ａ２は、壁１２１に対して平行な方向（法線に対して垂直方向）に、Ａ２ｓｉｎθの成分を有するので、プレイヤキャラクタ１２０はＡ２ｓｉｎθの加速度で壁１２１に沿って移動する。図１３（ｂ）に示す例では、プレイヤキャラクタ１２０は壁１２１をこすりながら移動し、ユーザはコントローラ３，４に発生する振動を感じることで、壁１２１をこすっていることを実感できる。
【０１０４】
ここまでは、プレイヤキャラクタ１２０が壁１２１に接触して、壁１２１に向かおうとしているときの振動強さについて説明したが、振動強さ計算部１３２は、プレイヤキャラクタ１２０が壁１２１に衝突するときの振動強さも計算する。振動強さ計算部１３２は、プレイヤキャラクタ１２０が壁１２１に衝突する直前のプレイヤキャラクタ１２０の速度Ｖに応じて振動の強さを計算する。この場合も壁１２１の法線に対するプレイヤキャラクタ１２０の進行方向の角度が小さくなるほど振動の強さを大きくし、法線に対する進行方向の角度が大きくなるほど振動の強さを小さくする。具体的には、図１３（ｂ）に示した例と同様に、角度をθとすると速度Ｖにｃｏｓθを乗じて、速度Ｖの法線方向の速度成分を求め、速度Ｖの２乗に比例する振動強さを決定する。ここでも、速度Ｖと振動強さの関係は様々なバリエーションがあり得ることは、接触の場合と同じである。
【０１０５】
次に、振動データ生成部１３３について説明する。振動データ生成部１３３は、振動強さ計算部１３２にて計算された振動強さに従って振動データを生成する機能を有している。生成された振動データは、コントローラ通信部からコントローラに対して送信される。振動データを生成する際には、周波数と振幅を計算によって算出してもよいし、予め記憶されたパターンの波形に基づいて生成するようにしてもよい。本実施形態においては、振動データ生成部１３３は、波形データ記憶部１３７に記憶された波形データを読み出し、振動強さに応じて波形データの振幅を変えて、振動データを生成する。
【０１０６】
図１４（ａ）及び図１４（ｂ）は、波形データ記憶部１３７に記憶された波形データの例を示す図である。図１４（ａ）は、プレイヤキャラクタ１２０が障害オブジェクトに接触しているときの振動データの元となる波形を示す図である。プレイヤキャラクタ１２０が障害オブジェクトに接しているときに用いる波形は、持続的な振動を有する波形であり、振動データ生成部１３３は、この波形を繰り返し用いて振動データを生成する。このとき、振動強さ計算部１３２において決定された強さに基づいて、読み出された波形の振幅を変更する。また、コントローラ通信部８３から出力されるデータが、単位時間ごとの振幅と周波数を示すデータである場合、当該波形の出力すべきタイミングの部分の波形を周波数と振幅の情報に変換をして出力を行う。
【０１０７】
図１４（ｂ）は、プレイヤキャラクタ１２０が障害オブジェクトに衝突するときの振動データの元となる波形を示す図である。この波形データは、最初に強く振動し、０．１〜０．２秒で減衰して振動が０になるようなデータである。障害オブジェクトに衝突したときに用いる波形の方が、障害オブジェクトに接触しているときに用いる波形よりも振幅が大きい。キャラクタオブジェクトが障害オブジェクトに衝突し、そのまま障害オブジェクトに向かって進行しようとした場合には、振動強さ計算部１３２及び振動データ生成部１３３によって振動データを逐次生成する結果として、最初に大きな振動があってその後小さい振動が持続することになる。なお、以上に説明した振動強さ計算部１３２及び振動データ生成部１３３を含む構成１３８は、振動データによって振動子１０７，１１７の振動を制御する「振動制御部」に相当する。
【０１０８】
プレイヤキャラクタ制御部１３４は、操作データ取得部１３１にて取得した操作データに基づいてプレイヤキャラクタ１２０の挙動を決定する。左コントローラデータＤ３００，右コントローラデータＤ４００に基づいて、仮想空間内でプレイヤキャラクタ１２０を移動させ、移動方向に障害オブジェクトがある場合には、プレイヤの移動を制限する。
【０１０９】
画像処理部１３５は、プレイヤキャラクタ制御部１３４で決定されたプレイヤキャラクタ１２０を含む仮想空間の画像を生成して、ディスプレイ１２に表示させる機能を有する。
【０１１０】
図１５は、本実施形態の本体装置２の処理を示すフローチャートである。本体装置２は、図１５に示すフローチャートを所定の時間間隔（例えば、１／６０秒）で実行し、ゲーム処理を実現する。
【０１１１】
本体装置２の操作データ取得部１３１は、左コントローラ３及び右コントローラ４から送信された操作データを記憶したバッファから操作データを取得し（Ｓ１０）、取得した操作データを振動強さ計算部１３２およびプレイヤキャラクタ制御部１３４に渡す。振動強さ計算部１３２は、ゲーム状況データ記憶部１３６からゲーム状況データを読み出し（Ｓ１２）、プレイヤキャラクタ１２０の現在位置、進行方向、移動速度や、プレイヤキャラクタ１２０の周囲にあるオブジェクトを把握する。
【０１１２】
振動強さ計算部１３２は、操作データ取得部１３１から渡された操作データと現在の進行方向及び移動速度とに基づいて、プレイヤキャラクタ１２０の速度および移動方向を計算する（Ｓ１４）。振動強さ計算部１３２は、プレイヤキャラクタ１２０と障害オブジェクトとが衝突または接触するか否かを判定する（Ｓ１６）。この判定の結果、プレイヤキャラクタ１２０と障害オブジェクトとが衝突も接触もしないと判定された場合には（Ｓ１６でＮＯ）、振動データに関する制御をスキップしてプレイヤキャラクタ１２０の制御に遷移する（Ｓ２２）。
【０１１３】
この判定の結果、プレイヤキャラクタ１２０と障害オブジェクトが衝突または接触すると判定された場合には（Ｓ１６でＹＥＳ）、振動の強さを計算する。プレイヤキャラクタ１２０が障害オブジェクトに衝突すると判定された場合には、プレイヤキャラクタ１２０が障害オブジェクトに衝突する直前の障害オブジェクトの法線方向に対する移動速度に基づいて振動強さを計算する。プレイヤキャラクタ１２０が障害オブジェクトに接触していると判定された場合には、もし障害オブジェクトがないとした場合のプレイヤキャラクタ１２０の障害オブジェクトの法線方向に対する加速度に基づいて振動強さを計算する（図１３（ａ）及び図１３（ｂ）参照）。
【０１１４】
振動強さ計算部１３２は計算結果を振動データ生成部１３３に渡し、振動データ生成部１３３は、計算された振動強さに基づいて振動データを生成する。上述したとおり、プレイヤキャラクタ１２０が障害オブジェクトに接触しているときには、図１４（ａ）に示す波形データを用いて振動データを生成し、プレイヤキャラクタ１２０が障害オブジェクトに衝突したときには、図１４（ｂ）に示す波形データを用いて振動データを生成する。なお、図１５に示すフローチャートは、所定の時間間隔（例えば、１／６０秒）で実行されるので、１回のループにおいては、衝突か接触かいずれかの判定結果が得られ、そのループにおける振動強さが計算され、振動データが生成される。図１５に示すループが繰り返し実行されることにより、コントローラ３，４に連続的な振動が発生する。
【０１１５】
振動データ生成部１３３は、生成した振動データを、左コントローラ３及び右コントローラ４に送信するための送信バッファに出力する。送信バッファに入れられた振動データは、所定のタイミングで読み出されて、コントローラ通信部８３を通じて、左コントローラ３及び右コントローラ４に送信される。
【０１１６】
一方、プレイヤキャラクタ制御部１３４は、入力された操作データに基づいて、プレイヤキャラクタ１２０に行わせるアニメーションを決定するプレイヤキャラクタ制御を行う（Ｓ２２）。そして、決定された制御に基づいて、プレイヤキャラクタ１２０を含む仮想空間の画像処理を行うことにより（Ｓ２４）、画像がディスプレイ１２に表示される。以上、本実施の形態のゲームシステム１およびゲーム制御方法について説明した。
【０１１７】
本実施形態のゲームシステム１によれば、プレイヤキャラクタ１２０が、壁１２１等の障害オブジェクトに衝突または接触すると振動によるフィードバックがなされるので、ユーザは、プレイヤキャラクタ１２０が障害オブジェクトに衝突したこと、または接触していることを容易に把握できる。また、振動の強さは、プレイヤキャラクタ１２０の障害オブジェクトに対する角度で変化するので、障害オブジェクトの向きを分かりやすく知らせることができる。特に、障害オブジェクトが視認しづらい場合に有効である。
【０１１８】
上記した実施形態では、振動強さ計算部１３２は、プレイヤキャラクタ１２０が障害オブジェクトに接触しているときに、プレイヤキャラクタ１２０の仮想の加速度に基づいて振動強さを計算する例を挙げたが、プレイヤキャラクタ１２０の加速度ではなく、プレイヤキャラクタ１２０の仮想の速度に基づいて振動強さを計算することとしてもよい。なお、仮想の速度は、仮想の加速度を積分することで求められる。また、振動強さ計算部１３２は、プレイヤキャラクタ１２０が障害オブジェクトに衝突したときに、衝突直前のプレイヤキャラクタ１２０の速度に基づいて振動強さを計算する例を挙げたが、衝突直前のプレイヤキャラクタ１２０の速度ではなく、加速度に基づいて振動強さを計算することとしてもよい。
【０１１９】
また、上記した実施形態では、振動強さ計算部１３２は、プレイヤキャラクタ１２０が障害オブジェクトに接触しているときに、障害オブジェクトの法線に対するプレイヤキャラクタ１２０の進行方向がなす角度θを考慮して、振動強さを決定することとしたが、角度θを用いないで、仮想の加速度のみに基づいて振動強さを計算してもよい。また、逆に、仮想の加速度の大きさを考慮せずに、プレイヤキャラクタ１２０の進行方向が障害オブジェクトの法線に対してなす角度θのみに基づいて振動強さを決定することとしてもよい。プレイヤキャラクタ１２０が障害オブジェクトに衝突するときにも同様に、衝突直前のプレイヤキャラクタ１２０の速度のみ、あるいは、角度のみに基づいて振動強さを決定することとしてもよい。
【０１２０】
また、上記した実施形態において、波形データ記憶部１３７に複数種類の波形データを記憶しておき、障害オブジェクトの材質等に応じて、用いる波形データを変えてもよい。ここで材質とは、岩１２１のようにごつごつしているとか、ガラス窓のようにつるつるしている等である。このように材質によって波形データを変えることにより、壁１２１に衝突または接触しているときの感覚を現実に近づけ、ゲームのリアリティを高めることができる。
【０１２１】
また、上記した実施の形態において、例えば、図１３（ｂ）に示すように、プレイヤキャラクタ１２０が壁１２１に接触しながら移動する場合には、プレイヤキャラクタ１２０が壁１２０に接触している側のコントローラ（図１３（ｂ）に示す例では右のコントローラ４）に振動を発生させ、接触していない側のコントローラは振動させない構成としてもよい。これにより、ユーザは、プレイヤキャラクタ１２０のどちら側が接触しているかを容易に判断できる。
【符号の説明】
【０１２２】
１  ゲームシステム
２  本体装置
３  左コントローラ
４  右コントローラ
１１  ハウジング
１２  ディスプレイ
１７  左側端子
２１  右側端子
４２，６４  端子
８１  ＣＰＵ
８３  コントローラ通信部
８９  加速度センサ
９０  角速度センサ
１００  携帯機コントローラ
１０４、１１４  加速度センサ
１０５、１１５  角速度センサ
１３０  ゲーム制御部
１３１  操作データ取得部
１３２  振動強さ計算部
１３３  振動データ生成部
１３４  プレイヤキャラクタ制御部
１３５  画像処理部
１３６  ゲーム状況データ記憶部
１３７  波形データ記憶部
１３８  振動制御部
【図１】
2018110625.tif 000003
【図２】
2018110625.tif 000004
【図３】
2018110625.tif 000005
【図４】
2018110625.tif 000006
【図５】
2018110625.tif 000007
【図６】
2018110625.tif 000008
【図７】
2018110625.tif 000009
【図８】
2018110625.tif 000010
【図９】
2018110625.tif 000011
【図１０】
2018110625.tif 000012
【図１１】
2018110625.tif 000013
【図１２】
2018110625.tif 000014
【図１３】
2018110625.tif 000015
【図１４】
2018110625.tif 000016
【図１５】
2018110625.tif 000017