JP6034928B1 - ゲームシステム、制御方法、及びプログラム - Google Patents
ゲームシステム、制御方法、及びプログラム Download PDFInfo
- Publication number
- JP6034928B1 JP6034928B1 JP2015155201A JP2015155201A JP6034928B1 JP 6034928 B1 JP6034928 B1 JP 6034928B1 JP 2015155201 A JP2015155201 A JP 2015155201A JP 2015155201 A JP2015155201 A JP 2015155201A JP 6034928 B1 JP6034928 B1 JP 6034928B1
- Authority
- JP
- Japan
- Prior art keywords
- ball
- touch
- flick
- target area
- information
- 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
Links
Images
Abstract
【課題】ボールの飛翔条件設定をフリック動作を用いて簡便に行うこと。【解決手段】理想ラインを参酌してスライド操作を実行するとタッチ情報が順次取得され、スライド反転時のタッチ情報も取得される(S103)。タッチ情報の解析によりフリック動作が検出され、フリック動作の速度及び方向が取得されてフリック情報として出力される(S104)。前記フリック情報に基づき、飛翔軌道計算を行うための初期条件(ボールの初速度(ベクトル)、回転軸の方向、スピン量)の少なくとも1つが演算・設定され(S105)、それに基づいて、ボールの飛翔軌道計算が逐次実行される(S106)。次に、ボールが着地した後のラン(距離、方向)が演算される(S107)。【選択図】図3
Description
本発明は、ボールに打撃やスピンを与えて飛翔させ、3次元飛翔軌道をシミュレートするゲームシステム、制御方法、及びプログラムに関し、特に、ボールの3次元飛翔軌道計算に必要な初期条件(ボールの初速度(ベクトル)、回転軸の方向、スピン量)の設定手法に特徴を有するゲームシステム、制御方法、及びプログラムに関するものである。
操作画面上に、プレイヤに打撃操作(スライド操作)を実行させるためのガイド軌跡を表示し、ガイド軌跡をトレースするように、時計回りの方向にスライド操作を実行すると、プレイヤキャラクタにバックスイングさせ、端点を超えない範囲で、スライド操作の方向を反転し、反時計回りの方向にスライド操作を実行すると、プレイヤキャラクタにダウンスイングさせるようにしたゴルフゲーム装置が提案されている(特許文献1参照)。
また、特許文献1には、スライド操作の速さ及び滑らかさがボールの飛距離に影響し、スライド操作の正確さがボールの移動方向に影響することなども開示されている。
上記特許文献1のゴルフゲーム装置は、スライド操作の速さ、滑らかさ、及び正確さの度合いによりボールの飛距離や移動方向に影響を与えるものであるが、ボールの飛距離や移動方向は、スライド操作の速さ、滑らかさ、及び正確さの度合いを変数とする所与の関数を用いて算出するものであり、ボールの飛距離や移動方向に関して正確なシミュレーションを実現することや、ボールの飛距離や移動方向の設定を簡便に行うことが困難であった。
本発明は上記事情に着目してなされたものであって、その目的とするところは、ボールの3次元飛翔軌道計算に必要な初期条件(ボールの初速度(ベクトル)、回転軸の方向、スピン量)を与えて正確なボールの飛距離や移動方向を取得可能であるとともに、前記初期条件の設定を簡便に行うことができるゲームシステム、制御方法、及びプログラムを提供することにある。
上記課題を解決するための本発明の基本形態は、ボールに打撃やスピンを与えて飛翔させ、飛翔経路をシミュレートするゲームシステムであって、プレイヤによるタッチ位置を所定時間ごとに取得し、タッチ位置とタッチ時刻の組合せをタッチ情報として記憶するタッチ情報取得手段と、前記タッチ情報を解析してフリック動作を検出し、該フリック動作の速度及び方向をフリック情報として出力するタッチ情報解析手段と、前記フリック情報に基づいて飛翔条件の少なくとも一部を演算・設定する飛翔条件演算・設定手段と、前記飛翔条件に基づいてボールの飛翔経路を演算する飛翔経路演算手段と、を備えたことを特徴とするゲームシステムに係るものである。
本発明によれば、ボールの飛距離や移動方向に関して正確なシミュレーションを実現できるとともに、ボールの3次元飛翔軌道計算に必要な初期条件(ボールの初速度(ベクトル)、回転軸の方向、スピン量)の設定を簡便に行うことができる。
本発明の実施の形態の概要を例示的に列挙すると以下のとおりである。
〔形態1〕
ボールに打撃やスピンを与えて飛翔させ、飛翔経路をシミュレートするゲームシステムであって、
プレイヤによるタッチ位置を所定時間ごとに取得し、タッチ位置とタッチ時刻の組合せをタッチ情報として記憶するタッチ情報取得手段と、
前記タッチ情報を解析してフリック動作を検出し、該フリック動作の速度及び方向をフリック情報として出力するタッチ情報解析手段と、
前記フリック情報に基づいて飛翔条件の少なくとも一部を演算・設定する飛翔条件演算・設定手段と、
前記飛翔条件に基づいてボールの飛翔経路を演算する飛翔経路演算手段と、
を備えたことを特徴とするゲームシステム。
〔形態1〕
ボールに打撃やスピンを与えて飛翔させ、飛翔経路をシミュレートするゲームシステムであって、
プレイヤによるタッチ位置を所定時間ごとに取得し、タッチ位置とタッチ時刻の組合せをタッチ情報として記憶するタッチ情報取得手段と、
前記タッチ情報を解析してフリック動作を検出し、該フリック動作の速度及び方向をフリック情報として出力するタッチ情報解析手段と、
前記フリック情報に基づいて飛翔条件の少なくとも一部を演算・設定する飛翔条件演算・設定手段と、
前記飛翔条件に基づいてボールの飛翔経路を演算する飛翔経路演算手段と、
を備えたことを特徴とするゲームシステム。
〔形態2〕
また、上記形態1において、更に、ボール着地後のランを演算するラン演算手段を備えするようにしてもよい。
本形態2によれば、ボール着地後のランを考慮してボールの停止位置に関して正確なシミュレーションを実現することができる。
また、上記形態1において、更に、ボール着地後のランを演算するラン演算手段を備えするようにしてもよい。
本形態2によれば、ボール着地後のランを考慮してボールの停止位置に関して正確なシミュレーションを実現することができる。
〔形態3〕
また、上記形態1又は2において、前記飛翔条件が、ボールの初速度(ベクトル)、回転軸の方向、スピン量で与えられてもよい。
本形態3によれば、ボールを剛体として取り扱った場合のボールの3次元飛翔軌道を正確にシミュレートすることができる。
また、上記形態1又は2において、前記飛翔条件が、ボールの初速度(ベクトル)、回転軸の方向、スピン量で与えられてもよい。
本形態3によれば、ボールを剛体として取り扱った場合のボールの3次元飛翔軌道を正確にシミュレートすることができる。
〔形態4〕
また、上記形態3において、ボールの初速度(ベクトル)が初速度の大きさ、初期横ブレ角、打出角で決定され、該初速度の大きさ、初期横ブレ角、打出角の少なくとも1つは、前記フリック情報に基づいて決定されるようにしてもよい。
本形態4によれば、ボールの初速度(ベクトル)を球座標表示で与えることができ、ボールの初速度(ベクトル)を設定に当たり、フリック動作との相性を良くすることができる。
また、上記形態3において、ボールの初速度(ベクトル)が初速度の大きさ、初期横ブレ角、打出角で決定され、該初速度の大きさ、初期横ブレ角、打出角の少なくとも1つは、前記フリック情報に基づいて決定されるようにしてもよい。
本形態4によれば、ボールの初速度(ベクトル)を球座標表示で与えることができ、ボールの初速度(ベクトル)を設定に当たり、フリック動作との相性を良くすることができる。
〔形態5〕
また、上記形態1〜4において、最適な飛翔条件を与えるタッチ軌跡を理想ラインとして表示する理想ライン表示手段を設け、前記タッチ情報から得られるタッチ軌跡と前記理想ラインとの偏差に基づき前記飛翔条件の残りの条件を決定するようにしてもよい。
本形態5によれば、飛翔条件の設定に当たり理想ラインを参酌することにより一層正確な設定を実現することができる。
また、上記形態1〜4において、最適な飛翔条件を与えるタッチ軌跡を理想ラインとして表示する理想ライン表示手段を設け、前記タッチ情報から得られるタッチ軌跡と前記理想ラインとの偏差に基づき前記飛翔条件の残りの条件を決定するようにしてもよい。
本形態5によれば、飛翔条件の設定に当たり理想ラインを参酌することにより一層正確な設定を実現することができる。
〔形態6〕
また、上記形態1〜5において、ターゲット領域を表示するターゲット表示手段を設け、前記飛翔条件演算・設定手段は、前記フリック動作により該フリック動作の速度及び方向でアイコンを前記ターゲット領域に向けて飛翔させることにより取得された該アイコンの前記ターゲット領域又は前記ターゲット領域の外側の領域に対する衝突位置の情報に基づき前記飛翔条件の少なくとも一部を設定するようにしてもよい。
本形態6によれば、フリック動作の方向が容易に視認できるとともに、飛翔条件を簡便に設定することができる。
また、上記形態1〜5において、ターゲット領域を表示するターゲット表示手段を設け、前記飛翔条件演算・設定手段は、前記フリック動作により該フリック動作の速度及び方向でアイコンを前記ターゲット領域に向けて飛翔させることにより取得された該アイコンの前記ターゲット領域又は前記ターゲット領域の外側の領域に対する衝突位置の情報に基づき前記飛翔条件の少なくとも一部を設定するようにしてもよい。
本形態6によれば、フリック動作の方向が容易に視認できるとともに、飛翔条件を簡便に設定することができる。
〔形態7〕
また、形態6において、前記ターゲット領域の外側の領域に補助ターゲット領域を設定し、該補助ターゲット領域に衝突した場合には空振りとはならないようにしてもよい。
本形態7によれば、空振りとなる確率を減少させることができる。
また、形態6において、前記ターゲット領域の外側の領域に補助ターゲット領域を設定し、該補助ターゲット領域に衝突した場合には空振りとはならないようにしてもよい。
本形態7によれば、空振りとなる確率を減少させることができる。
〔形態8〕
また、形態6において、前記ターゲット領域は円形の領域であり、前記衝突位置は該円形の領域に固定された円座標系の動径及び偏角で表されるようにしてもよい。
本形態8によれば、飛翔条件を簡便に設定することができるとともに、ボールの飛翔結果を簡便に予測できる。
また、形態6において、前記ターゲット領域は円形の領域であり、前記衝突位置は該円形の領域に固定された円座標系の動径及び偏角で表されるようにしてもよい。
本形態8によれば、飛翔条件を簡便に設定することができるとともに、ボールの飛翔結果を簡便に予測できる。
また、形態7において、前記補助ターゲット領域は内円と外円に挟まれた領域であるようにしてもよい。
本形態9によれば、補助ターゲット領域を容易に把捉できる。
本形態9によれば、補助ターゲット領域を容易に把捉できる。
〔形態10〕
形態1〜9において、ゲームがゴルフゲームであってもよい。
本形態10によれば、ゴルフボールの3次元飛翔軌道やランの正確なシミュレーションを簡便に実現することができる。
形態1〜9において、ゲームがゴルフゲームであってもよい。
本形態10によれば、ゴルフボールの3次元飛翔軌道やランの正確なシミュレーションを簡便に実現することができる。
本発明の他の実施の形態は、上記各システムと略同様の内容を有する制御方法、及び、該方法をコンピュータにより実現するためのプログラムに係るものである。
そして、前記方法、及び、プログラムにおいても、前記システムと同様の作用効果を奏するものである。
そして、前記方法、及び、プログラムにおいても、前記システムと同様の作用効果を奏するものである。
本発明を理解する上で、ボールの3次元飛翔軌道計算に係る技術的背景を理解することが重要である。そこで、ゴルフボールの3次元飛翔軌道計算を例にとり、本発明の理解に必要な範囲でその概略を説明する。なお、以下の説明は、基本的に、「ながれ23(2004)203-211」に掲載された論文「ゴルフボールの空気力測定と3次元飛翔軌道解析」に基づくものであるが、当該論文は本願発明の技術的背景の一例を説明するものであり、本願発明は当該論文により限定的に解釈されるべきではないことに留意されたい。
まず、ゴルフボール3次元飛翔軌道の定式化のために、図5のように座標系および各記号を定義する。図5は、ゴルフボールが、X軸に対して打ち出されたケース(β0=0)を示すものであり、図5ではボールがスライスして右に曲がる場合を表しており、ボールの初期飛び出し方向をX−Y面内とし、鉛直方向をY軸、横ぶれ方向をZ軸に取っている。
ゴルフボールは、初期速度U0、X軸からα0の仰角で打ち出され、回転軸ZRはθだけZ軸から傾いているとする。飛翔中、回転速度Nで回転しているボールに力は、抗力D、揚力L、重力mg、トルクT(D、L、mg、Tはベクトル)が作用しているが、揚力LがY軸方向に対して傾いているために,ボールは時々刻々、横ぶれ角度βを変化させながら曲がる。なお、図中の(Xt,Yt,Zt)座標は時刻tにボール中心を原点とする移動座標である。
次に、ボールがスライスするメカニズムを図6の模式図を用いて説明する。ボールの飛球線方向の水平成分をX軸、水平直交軸方向をZ軸、鉛直重力方向をY軸とすると、ボールは飛翔中、ある回転軸ZR周りにバックスピンで回転している(回転速度N(rps))。なお、回転軸の方向はボールがクラブから離れたときに決定し、スライスの場合は右に傾いている(回転軸傾き角度θ(deg))。
ボールは回転速度Nによって、揚力Lが生じる。この揚力Lは、回転軸に対して直角方向であるため、鉛直方向に対して角度θ右に傾いていることになる。そのため、飛球線方向に対して直角方向、右への横ぶれ方向にLsinθの力が働き、この力がボールを右に曲げる原動力となる。そして、この回転軸の傾きは、飛球方向に対して、常に直角の断面内で傾いていると考えられる。
また、ゴルフボールの回転軸周りの回転速度Nは流体トルクTにより減衰するものの、ゴルフボールは高速で回転しているため、回転慣性により回転軸の方向を一定に保とうとすることから、回転軸の傾きθは、ボールが着地するまで一定に維持されると考えられる。
抗力Dの大きさ|D|、揚力Lの大きさ|L|、トルクTの大きさの大きさ|T|は、空気力係数である、抗力係数CD、揚力係数CL、流体トルク係数Cmを用いてそれぞれ次のように表される。
|D|=0.5ρ|U|2A*CD (1)
|L|=0.5ρ|U|2A*CL (2)
|T|=0.5ρ|U|2Ad*Cm (3)
但し、ρ:空気の密度、|U|:ボールの飛翔速度の大きさ、A:ゴルフボール直径断面積、d:ゴルフボール直径である。
|D|=0.5ρ|U|2A*CD (1)
|L|=0.5ρ|U|2A*CL (2)
|T|=0.5ρ|U|2Ad*Cm (3)
但し、ρ:空気の密度、|U|:ボールの飛翔速度の大きさ、A:ゴルフボール直径断面積、d:ゴルフボール直径である。
ここで、抗力係数CD、揚力係数CL、流体トルク係数Cmの空気力パラメータは、近似的にボールの回転速度と飛翔速度の関数として表すことができる。なお、上記各空気力パラメータは、ゴルフボールに付されたディンプルの形状や配置・配列にも依存するものである。
抗力(ベクトル)Dは、ボールの速度(ベクトル)Uと逆方向であること、揚力(ベクトル)Lは、ボールの速度(ベクトル)Uと回転軸ZRに直交すること等を考慮すれば、飛翔中のボールの運動方程式(微分方程式)を容易に導出することができ、ボールの初速度(ベクトル)、回転軸の方向、スピン量を初期条件として与えれば、ボールの飛翔軌跡やボールの回転速度を数値計算(例えば、オイラー法)等により求めることができる。
以下、本発明に係る実施の一形態を図面に基づいて詳細に説明する。なお、本発明は、以下において説明する実施の形態に限定されるべきではなく、特許請求の範囲の記載に基き解釈されるべきである。また、当業者であれば、他の類似する実施形態を使用することができること、また、本発明から逸脱することなく適宜形態の変更又は追加を行うことができることに留意すべきである。
図1は、本発明の実施の一形態に係るシステム1の構成を示すブロック図である。システム1は、「理想ライン表示手段2」、「タッチ情報取得手段3」、「飛翔条件演算・設定手段4」、「飛翔経路演算手段5」を具備している。
なお、システム1は、「ラン演算手段6」、「理想ライン表示手段7」、「ターゲット表示手段8」を具備してもよい。
システム1の各構成要素2〜6の果たす機能の詳細については、以下において詳述する。
システム1の各構成要素2〜6の果たす機能の詳細については、以下において詳述する。
図2は、本発明の実施の一形態に係るシステム1を実現するためのハードウェア構成10の一例を示すブロック図である。ハードウェア構成10は、CPU11と、GPU(グラフィックプロセッサユニット)12と、インターフェース13と、記憶部14とを備えている。CPU11、GPU12、インターフェース13、および記憶部14は、バス15によって接続されている。
インターフェース13には、例えば、不図示の操作ボタン群およびタッチ・スクリーンを含む操作部16が接続されている。また、インターフェース13には、例えば、ゲーム音声などを出力するための音出力部17が接続されている。
GPU12には、表示部19が接続されると共に、メモリバス21を介してVRAM(ビデオRAM)20が接続されている。なお、操作部16と表示部19とを一体化しタッチパネルとして構成してもよい。
CPU11は、例えば、外部よりダウンロードされたプログラムを実行することにより、ゲームの制御のための処理等を行う。
GPU12は、CPU11からの指示により描画処理を行い、表示部19にゲーム画像を表示させる。また、GPU12は、ユーザによる操作部16の操作入力に応じたCPU11からの指示により、描画処理を行い、表示部19に表示する。
インターフェース13は、CPU11と、操作部16あるいは不図示の周辺装置との間のデータのやりとりを制御する。
次に、本発明の実施の形態に係るシステム1の処理の一例の概略を、図3、図4A、図4Bに示されるようなゴルフゲームの例に基づき説明する。
メインメニュー画面(不図示)に表示される実行可能なゲームの中からゴルフゲームの実行が指示されると、ゴルフゲームが開始され(S101)、ゲーム画面100中にプレイヤキャラクタ102が表示される。不図示の初期画面において、プレイヤキャラクタ102はゴルフクラブ(以下、単に「クラブ」という)104を持っており、ゴルフボール(以下、単に「ボール」という)106を打撃する体勢に入った状態(アドレスの状態)にある。
また、ゲーム画面100の上部に、打撃位置からカップまでの距離(ここでは、ヤード(Y))が表示されるとともに、ゴルフコースをプレイヤキャラクタ102の後方から仮想カメラで撮影した画像が背景画像として表示される。なお、広範囲にホールの状況を確認できるように、仮想カメラの視点を遠距離からの視点や俯瞰的な視点にしてもよい。
次に、図4Aに示すように、ゲーム画面100には、プレイヤに理想的なスライド操作を実行させるための軌跡(理想ライン)110が演算・表示される(S102)。なお、理想ライン110は、プレイヤが選択したゴルフクラブの種類に応じて異なる軌跡を描くようにしてもよい。
図4Aに示すように、プレイヤがゲーム画面100中の理想ライン110の一端点近傍の適宜の位置をタッチオンすることによりスイング操作の開始位置を指定し、バックスイングに相当する所定方向へのスライド操作を継続するとタッチ情報が順次取得され、理想ライン110の他端点近傍の適宜の位置でスライド操作の方向を反転する(フリック動作;図4B参照)と反転時のタッチ情報も取得される(S103)。そして、タッチ情報に基づいてゲーム画面100上にタッチ軌跡120が表示される。なお、最新のタッチ位置を表す弧状のタッチ指標130も表示されるが、このタッチ指標130は、スライド操作時にタッチ位置が指等により隠蔽されているため、タッチ位置の目安を与えるために用いられるものである。また、理想ライン110、タッチ軌跡120、タッチ指標130を区別するために、線の太さや色を変えるようにするとよい。
また、プレイヤの上記スライド操作に連動して、プレイヤキャラクタ102のバックスイング動作が行われ、画面上にアニメーションが表示される(図4A参照)。なお、後述するフリック動作後、ダウンスイング、フォロースルーの動作を行うように、画面上にアニメーションが表示される(図4B参照)。
次に、タッチ情報の解析によりフリック動作が検出され、フリック動作の速度及び方向が取得されてフリック情報として出力される(S104)。その際、必要に応じて、理想ラインとタッチ軌跡との比較を行い、それらの間の偏差を求めるようにしてもよい。なお、詳細は後述する。
次に、前記フリック情報に基づき、ボールの飛翔条件(例;ボールの初速度(ベクトル)、回転軸の方向、スピン量)の少なくとも1つが演算・設定される(S105)。なお、飛翔条件の演算・設定手法の詳細は後述する。
次に、設定された飛翔条件に基づいてボールの飛翔が開始され、ボール106の飛翔経路を逐次演算する(S106)。なお、飛翔経路演算(3次元飛翔軌道計算)の原理は先に説明したとおりである。
次に、ボール106が着地した後のラン(距離、方向)を演算する(S107)。そして、求められたランを含むボールの総飛距離を、必要に応じてゲーム画面100の中央に表示する。
以下、タッチ情報の取得、タッチ情報の解析とフリック情報の取得、理想ラインとタッチ軌跡との比較、フリック情報等に基づく飛翔条件(ボールの初速度(ベクトル)、回転軸の方向、スピン量)の演算・設定の詳細について説明する。
タッチ情報の取得
プレイヤが画面にタッチ操作を行うと、タッチ・スクリーンへの物体の接触が検知され、スイング操作の開始位置に相当するタッチ操作の始点位置が指定される。そして、所定周期(例えば、30fbpsのフレーム・レート)で、タッチ・スクリーン上でのタッチ位置を検知し記憶する。
プレイヤが画面にタッチ操作を行うと、タッチ・スクリーンへの物体の接触が検知され、スイング操作の開始位置に相当するタッチ操作の始点位置が指定される。そして、所定周期(例えば、30fbpsのフレーム・レート)で、タッチ・スクリーン上でのタッチ位置を検知し記憶する。
このようにして、バックスイングに相当する所定方向へのスライド操作を継続すると、タッチ位置の情報が順次取得され、フレーム毎に記録されたタッチ位置の情報に基づいて、タッチ開始点からのスライド操作に対応した軌跡が画面上に表示される。これにより、プレイヤは当該軌跡を確認できる。
上記軌跡は、前フレームのタッチ位置(座標位置)と現フレームのタッチ位置(座標位置)とを線で結ぶことにより描画されるが、前フレームのタッチ位置(座標位置)と現フレームのタッチ位置(座標位置)との間の距離を算出し、算出した距離をフレームレートで割ることにより、スライド操作の速さが算出される。このスライド操作の速さの情報もタッチ情報として記憶する。
タッチ情報の解析とフリック情報の取得
上記タッチ情報を解析するとフリック動作を検出できる。フリック動作の検出には、スライド操作の反転位置を特定する必要があるが、例えば、以下のようにすればよい。即ち、前フレームのタッチ位置(座標位置)と現フレームのタッチ位置(座標位置)とを線で結ぶと、前フレームのタッチ位置(座標位置)を始点、現フレームのタッチ位置(座標位置)を終点とする2次元ベクトルが各フレームごとに得られることになるが、前フレームのベクトルに対して現フレームのベクトルの射影(射影ベクトル)を計算し、前フレームのベクトルの方向と現フレームの射影ベクトルの方向が180°異なった場合に前フレームのタッチ位置をタッチ操作の反転位置とすればよい。この場合、前記タッチ操作の始点位置から反転位置に至る軌跡がバックスイングに相当することになる。
上記タッチ情報を解析するとフリック動作を検出できる。フリック動作の検出には、スライド操作の反転位置を特定する必要があるが、例えば、以下のようにすればよい。即ち、前フレームのタッチ位置(座標位置)と現フレームのタッチ位置(座標位置)とを線で結ぶと、前フレームのタッチ位置(座標位置)を始点、現フレームのタッチ位置(座標位置)を終点とする2次元ベクトルが各フレームごとに得られることになるが、前フレームのベクトルに対して現フレームのベクトルの射影(射影ベクトル)を計算し、前フレームのベクトルの方向と現フレームの射影ベクトルの方向が180°異なった場合に前フレームのタッチ位置をタッチ操作の反転位置とすればよい。この場合、前記タッチ操作の始点位置から反転位置に至る軌跡がバックスイングに相当することになる。
そして、スライド操作の反転位置を始点、フリック動作によるスライド操作の終点位置を終点とする2次元ベクトルが決定されることから、フリック動作の方向が取得されるとともに、フリック動作に相応するスライド操作の速さからフリック動作の速度が取得される。また、バックスイング量に相当するタッチ操作の始点位置から反転位置に至る軌跡の長さの情報も取得される。
理想ラインとタッチ軌跡との比較
理想ラインの軌跡を、所定の球面上の曲線を画面上に投影して得られる曲線であるとした場合に、前記所定の球の中心を画面上に投影した仮想中心点と各フレームごとのタッチ位置とを通る直線と理想ラインとの交点を求め、各フレームごとにタッチ位置と前記交点との距離を計算して、各フレームごとに理想ラインからのズレ量を求める。これらのズレ量の平均を理想ラインからのズレ量とする。なお、ズレ量は、タッチ位置が理想ラインよりも前記仮想中心点に近い位置にある場合には正、遠い位置にある場合に負とする。
理想ラインの軌跡を、所定の球面上の曲線を画面上に投影して得られる曲線であるとした場合に、前記所定の球の中心を画面上に投影した仮想中心点と各フレームごとのタッチ位置とを通る直線と理想ラインとの交点を求め、各フレームごとにタッチ位置と前記交点との距離を計算して、各フレームごとに理想ラインからのズレ量を求める。これらのズレ量の平均を理想ラインからのズレ量とする。なお、ズレ量は、タッチ位置が理想ラインよりも前記仮想中心点に近い位置にある場合には正、遠い位置にある場合に負とする。
なお、タッチ位置の軌跡が蛇行し理想ラインと交差してS字型を描くようなケースも想定されるが、このようなケースにおいてはズレ量が正負の値を取ることになる。このような場合には、例えば、正のズレ量の総計が、負のズレ量の絶対値の総計よりも大きいときは、負のズレ量を無視して、正のズレ量の平均を理想ラインからのズレ量として採用するようにしてもよい。また、負のズレ量の絶対値の総計が、正のズレ量の総計よりも大きいときは、正のズレ量を無視して、負のズレ量の平均を理想ラインからのズレ量として採用するようにしてもよい。
フリック情報等に基づく飛翔条件(ボールの初速度(ベクトル)、回転軸の方向、スピン量)の演算・設定
プレイヤのタッチ操作の情報を用いて飛翔条件を設定する手法を説明する前に、フリック情報等に基づく飛翔条件パラメータの取得手法について、図4A及び図4Bに基づき説明する。
プレイヤのタッチ操作の情報を用いて飛翔条件を設定する手法を説明する前に、フリック情報等に基づく飛翔条件パラメータの取得手法について、図4A及び図4Bに基づき説明する。
図4A及び図4Bの右上部にターゲット領域140が表示されている。ターゲット領域140は、図4A及び図4Bに示されるような円形の領域として表示されており、該円形の領域に固定された円座標により動径及び偏角を指定することにより、衝突位置情報が取得できる。また、該円形の領域の半径は、例えば、クラブの種類等に依存して変化させることができる。なお、ターゲット領域140の外側には、補助ターゲット領域(不図示)が設けられており、この補助ターゲット領域に衝突した場合であっても、前記円座標を利用して衝突位置情報(動径及び偏角)が取得できる。
フリック動作により、該フリック動作の速度及び方向でアイコン150を前記ターゲット領域140に向けて飛翔させる。アイコン150を、例えば、該フリック動作の速度及び方向を、それぞれ、初速度の大きさ及び方向として飛行する質点と考え、該質点が円形のターゲット領域140に衝突する場合を想定すれば、該アイコン150が前記ターゲット領域140に衝突する位置を円座標の動径及び偏角として取得できる。なお、アイコン150がターゲット領域140に衝突しない場合であっても、その外側に設けた補助ターゲット領域(不図示)に衝突した場合には、同様に衝突位置情報が取得できる。したがって、補助ターゲット領域(不図示)に衝突した場合であっても、ミスショットにはなるものの空振りにはならない。但し、補助ターゲット領域をも外した場合には空振りとしてもよい。
以上の前提の下で、フリック動作等の情報を用いて飛翔条件を設定する手法の一例を説明する。
フリック動作等により取得される情報をまとめると以下のとおりである。
(あ)タッチ操作の始点位置から反転位置に至る軌跡の長さ(バックスイング量に相当)
(い)アイコンが円形のターゲット領域又は補助ターゲット領域に衝突する衝突位置の円座標の動径及び偏角(フリック動作の速度及び方向により決定される)
(う)理想ラインとタッチ軌跡との偏差(ズレ量)
(あ)タッチ操作の始点位置から反転位置に至る軌跡の長さ(バックスイング量に相当)
(い)アイコンが円形のターゲット領域又は補助ターゲット領域に衝突する衝突位置の円座標の動径及び偏角(フリック動作の速度及び方向により決定される)
(う)理想ラインとタッチ軌跡との偏差(ズレ量)
これに対し、飛翔のための初期条件として設定されるべきパラメータは、前述のように、以下のとおりのものである。
(ア)初速度の大きさ
(イ)初期横ブレ角
(ウ)打出角(仰角)
(エ)回転軸の方向
(オ)スピン量
(ア)初速度の大きさ
(イ)初期横ブレ角
(ウ)打出角(仰角)
(エ)回転軸の方向
(オ)スピン量
そこで、飛翔のための初期条件として設定されるべきパラメータ(ア)〜(オ)とフリック動作等により取得される情報(あ)〜(う)との対応関係の一例を以下詳細に説明する。なお、以下の説明は、あくまで例示であってこれに限られるものではないことに留意されたい。
(1)ボールの初速度(ベクトル)
ボールの初速度(ベクトル)は、初速度の大きさ、初期横ブレ角、打出角(仰角)で決まる。
初速度の大きさは、クラブのヘッドスピードとボールの反発性能によって決定されるが、クラブのヘッドスピードはバックスイング量との相関が高いことから、初速度の大きさは、タッチ操作の始点位置から反転位置に至る軌跡の長さの関数として設定される。なお、初速度の設定に当たり、フリック操作の速さの情報を加味してもよい。
初期横ブレ角は、理想ラインからのズレ量の関数として設定されるが、前述のように、ズレ量が正負の値を取り得ることから、それに応じて、初期横ブレ角も正負の値を取り得る。
打出角(仰角)は、使用されるクラブのロフト角に依存しており、クラブごとに決められる基準打出角に第1の補正量を加えて設定される。この場合、第1の補正量は、例えば、衝突位置の動径及び偏角を変数とする所定の評価関数(評価関数1)の出力値にクラブごとに決められる係数をかけることにより算出される。
ボールの初速度(ベクトル)は、初速度の大きさ、初期横ブレ角、打出角(仰角)で決まる。
初速度の大きさは、クラブのヘッドスピードとボールの反発性能によって決定されるが、クラブのヘッドスピードはバックスイング量との相関が高いことから、初速度の大きさは、タッチ操作の始点位置から反転位置に至る軌跡の長さの関数として設定される。なお、初速度の設定に当たり、フリック操作の速さの情報を加味してもよい。
初期横ブレ角は、理想ラインからのズレ量の関数として設定されるが、前述のように、ズレ量が正負の値を取り得ることから、それに応じて、初期横ブレ角も正負の値を取り得る。
打出角(仰角)は、使用されるクラブのロフト角に依存しており、クラブごとに決められる基準打出角に第1の補正量を加えて設定される。この場合、第1の補正量は、例えば、衝突位置の動径及び偏角を変数とする所定の評価関数(評価関数1)の出力値にクラブごとに決められる係数をかけることにより算出される。
(2)回転軸の方向
回転軸の方向は、例えば、所定の方向(例えば、X軸正方向)を基準方向として、該基準方向を衝突位置の動径及び偏角を変数とする別の評価関数(評価関数2)の出力値分だけZ軸の周りに回転させて決定する。
回転軸の方向は、例えば、所定の方向(例えば、X軸正方向)を基準方向として、該基準方向を衝突位置の動径及び偏角を変数とする別の評価関数(評価関数2)の出力値分だけZ軸の周りに回転させて決定する。
(3)スピン量
スピン量は、使用されるクラブごとに決められる基準スピン量に第2の補正量を加えて設定される。この場合、第2の補正量は、衝突位置の動径及び偏角を変数とする更に別の評価関数(評価関数3)の出力値にクラブごとに決められる係数をかけることにより算出される。
スピン量は、使用されるクラブごとに決められる基準スピン量に第2の補正量を加えて設定される。この場合、第2の補正量は、衝突位置の動径及び偏角を変数とする更に別の評価関数(評価関数3)の出力値にクラブごとに決められる係数をかけることにより算出される。
なお、上記評価関数1〜3の関数形は適宜設定すればよい。また、関数を用いる代わりに、評価関数1〜3に対応するテーブルを用意しておき、所謂テーブル演算により出力を取得するようにしてもよい。
また、ボールが飛翔後に着地してランする場合のラン方向及び距離に関しては、例えば、ボールの着地時の速度(ベクトル)や回転速度、着地点の傾斜や動摩擦係数等に基づいて、ボールのバウンドや転がりを数値計算することで、ラン方向及び距離をシミュレーションすることができる。なお、ドライバーで打った場合のラン距離は、打出角が支配的な要素と考えられていることから、簡便な手法としては、打出角の関数として設定することもできる。
なお、ボールのバウンド挙動に関しては、地面の動摩擦係数により、ボールのスピンと速度が互いにエネルギーを与え合うことや、地面上方向の反射には反発係数がかかり減衰すること等を考慮する必要がある。また、ボールの転がりに関しては、重力による坂下への加速度と地面の転がり抵抗による加速度を計算した上でボールの角速度を求め、角速度に基づいてボールの転がる距離を求めることができる。
以上、ゴルフゲームを例に説明したが、本発明は、これに限られるものではなく、ボールに打撃やスピンを与えて飛翔させるゲーム、例えば、野球ボールやサッカーボールを用いたゲームにも適用可能であることはいうまでもない。
なお、前記システムを構成する各手段は、専用のハードウェアであってもよいが、コンピュータがプログラムを実行することにより各処理段階ごとに実現される仮想的手段(所謂、機能実現手段)であってもよい。
また、前記システムは、ゲーム専用の装置に搭載されるものであってもよいが、ユーザが所持する携帯電話機、スマートフォン、PDA(Personal Digital Assistant)、携帯型パーソナル・コンピュータ等の携帯端末に搭載されるものであってもよい。
さらに、前記システムは、ゲームを実行するための各処理が複数のコンピュータ等によって分散処理されるようなゲームシステムとしても構成できる。
1 システム
2 タッチ情報取得手段
3 タッチ情報解析手段
4 飛翔条件演算・設定手段
5 飛翔経路演算手段
6 ラン演算手段
7 理想ライン表示手段
8 ターゲット表示手段
10 ハードウェア構成
11 CPU
12 GPU
13 インターフェース
14 記憶部
15 バス
16 操作部
19 表示部
20 VRAM
21 メモリバス
100 ゲーム画面
102 プレイヤキャラクタ
104 ゴルフクラブ
106 ゴルフボール
110 理想ライン
120 タッチ軌跡
130 タッチ指標
140 ターゲット領域
150 アイコン
2 タッチ情報取得手段
3 タッチ情報解析手段
4 飛翔条件演算・設定手段
5 飛翔経路演算手段
6 ラン演算手段
7 理想ライン表示手段
8 ターゲット表示手段
10 ハードウェア構成
11 CPU
12 GPU
13 インターフェース
14 記憶部
15 バス
16 操作部
19 表示部
20 VRAM
21 メモリバス
100 ゲーム画面
102 プレイヤキャラクタ
104 ゴルフクラブ
106 ゴルフボール
110 理想ライン
120 タッチ軌跡
130 タッチ指標
140 ターゲット領域
150 アイコン
Claims (19)
- ボールに打撃やスピンを与えて飛翔させ、飛翔経路をシミュレートするゲームシステムであって、
プレイヤによるタッチ位置を所定時間ごとに取得し、タッチ位置とタッチ時刻の組合せをタッチ情報として記憶するタッチ情報取得手段と、
前記タッチ情報を解析して1つのフリック動作を検出し、該フリック動作の速度及び方向をフリック情報として出力するタッチ情報解析手段と、
前記フリック情報に基づいて、ボールの初動に関する飛翔条件の少なくとも一部を演算・設定する飛翔条件演算・設定手段と、
前記飛翔条件に基づいてボールの飛翔経路を演算する飛翔経路演算手段と、
ターゲット領域を表示するターゲット表示手段と
を備え、
前記飛翔条件演算・設定手段において、前記フリック動作により該フリック動作の速度及び方向でアイコンを前記ターゲット領域に向けて飛翔させることにより取得された、前記アイコンの前記ターゲット領域又は前記ターゲット領域の外側の領域に対する衝突位置の情報に基づいて、前記飛翔条件の少なくとも一部が設定されることを特徴とするゲームシステム。 - 請求項1に記載のゲームシステムであって、更に、ボール着地後のランを演算するラン演算手段を備えたことを特徴とするゲームシステム。
- 請求項1又は2に記載のゲームシステムにおいて、前記飛翔条件が、ボールの初速度(ベクトル)、回転軸の方向、スピン量で与えられることを特徴とするゲームシステム。
- 請求項3に記載のゲームシステムにおいて、ボールの初速度(ベクトル)が初速度の大きさ、初期横ブレ角、打出角で決定され、該初速度の大きさ、初期横ブレ角、打出角の少なくとも1つが、前記フリック情報に基づいて決定されることを特徴とするゲームシステム。
- 請求項1〜4のいずれか1項に記載のゲームシステムであって、更に、最適な飛翔条件を与えるタッチ軌跡を理想ラインとして表示する理想ライン表示手段を設け、前記タッチ情報から得られるタッチ軌跡と前記理想ラインとの偏差に基づき前記飛翔条件の残りの条件を決定することを特徴とするゲームシステム。
- 請求項1〜5のいずれか1項に記載のゲームシステムにおいて、前記ターゲット領域の外側の領域に補助ターゲット領域を設定し、該補助ターゲット領域に衝突した場合には空振りとはならないようにしたことを特徴とするゲームシステム。
- 請求項1〜6のいずれか1項に記載のゲームシステムにおいて、前記ターゲット領域は円形の領域であり、前記衝突位置は該円形の領域に固定された円座標系の動径及び偏角で表されることを特徴とするゲームシステム。
- 請求項6に記載のゲームシステムにおいて、前記補助ターゲット領域は内円と外円に挟まれた領域であることを特徴とするゲームシステム。
- 請求項1〜8のいずれか1項に記載のゲームシステムにおいて、ゲームが、ゴルフゲームであることを特徴とするゲームシステム。
- ボールに打撃やスピンを与えて飛翔させ、飛翔経路をシミュレートするゲームの制御方法であって、
プレイヤによるタッチ位置を所定時間ごとに取得し、タッチ位置とタッチ時刻の組合せをタッチ情報として記憶するステップと、
前記タッチ情報を解析して1つのフリック動作を検出し、該フリック動作の速度及び方向をフリック情報として出力するステップと、
前記フリック情報に基づいて、ボールの初動に関する飛翔条件の少なくとも一部を演算・設定するステップと、
前記飛翔条件に基づいてボールの飛翔経路を演算するステップと、
を備え、
前記飛翔条件の少なくとも一部を演算・設定するステップにおいて、前記フリック動作により該フリック動作の速度及び方向でアイコンを、表示されたターゲット領域に向けて飛翔させることにより取得された、前記アイコンの前記ターゲット領域又は前記ターゲット領域の外側の領域に対する衝突位置の情報に基づいて、前記飛翔条件の少なくとも一部が設定される備えことを特徴とする制御方法。 - 請求項10に記載の制御方法であって、更に、ボール着地後のランを演算するステップを備えたことを特徴とする制御方法。
- 請求項10又は11に記載の制御方法において、前記飛翔条件が、ボールの初速度(ベクトル)、回転軸の方向、スピン量で与えられることを特徴とする制御方法。
- 請求項12に記載の制御方法において、ボールの初速度(ベクトル)が初速度の大きさ、初期横ブレ角、打出角で決定され、該初速度の大きさ、初期横ブレ角、打出角の少なくとも1つが、前記フリック情報に基づいて決定されることを特徴とする制御方法。
- 請求項10〜13のいずれか1項に記載の制御方法であって、更に、最適な飛翔条件を与えるタッチ軌跡を理想ラインとして表示するステップを設け、前記タッチ情報から得られるタッチ軌跡と前記理想ラインとの偏差に基づき前記飛翔条件の残りの条件を決定することを特徴とする制御方法。
- 請求項10〜14のいずれか1項に記載の制御方法において、前記ターゲット領域の外側の領域に補助ターゲット領域を設定し、該補助ターゲット領域に衝突した場合には空振りとはならないようにしたことを特徴とする制御方法。
- 請求項10〜15のいずれか1項に記載の制御方法において、前記ターゲット領域は円形の領域であり、前記衝突位置は該円形の領域に固定された円座標系の動径及び偏角で表されることを特徴とする制御方法。
- 請求項15に記載の制御方法において、前記補助ターゲット領域は内円と外円に挟まれた領域であることを特徴とする制御方法。
- 請求項10〜17のいずれか1項に記載の制御方法において、ゲームが、ゴルフゲームであることを特徴とする制御方法。
- コンピュータに請求項10〜18のいずれか1項に記載の制御方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015155201A JP6034928B1 (ja) | 2015-08-05 | 2015-08-05 | ゲームシステム、制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015155201A JP6034928B1 (ja) | 2015-08-05 | 2015-08-05 | ゲームシステム、制御方法、及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016208882A Division JP2017029799A (ja) | 2016-10-25 | 2016-10-25 | ゲームシステム、制御方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6034928B1 true JP6034928B1 (ja) | 2016-11-30 |
JP2017029576A JP2017029576A (ja) | 2017-02-09 |
Family
ID=57419864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015155201A Active JP6034928B1 (ja) | 2015-08-05 | 2015-08-05 | ゲームシステム、制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6034928B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114779564A (zh) * | 2022-03-31 | 2022-07-22 | 南通理工学院 | 一种数字媒体用课自动调节镜头方向的投影设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004267763A (ja) * | 2003-11-20 | 2004-09-30 | Nintendo Co Ltd | ゴルフゲーム装置及びゴフルゲームプログラム |
JP2006192246A (ja) * | 2004-12-13 | 2006-07-27 | Nintendo Co Ltd | ゲーム装置およびゲームプログラム |
JP2012070960A (ja) * | 2010-09-29 | 2012-04-12 | Nintendo Co Ltd | ゲーム装置、ゲームプログラム、ゲームシステムおよびゲーム制御方法 |
-
2015
- 2015-08-05 JP JP2015155201A patent/JP6034928B1/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004267763A (ja) * | 2003-11-20 | 2004-09-30 | Nintendo Co Ltd | ゴルフゲーム装置及びゴフルゲームプログラム |
JP2006192246A (ja) * | 2004-12-13 | 2006-07-27 | Nintendo Co Ltd | ゲーム装置およびゲームプログラム |
JP2012070960A (ja) * | 2010-09-29 | 2012-04-12 | Nintendo Co Ltd | ゲーム装置、ゲームプログラム、ゲームシステムおよびゲーム制御方法 |
Non-Patent Citations (2)
Title |
---|
JPN6016001543; 'Flick Golf! Free' [online] , 20130528 * |
JPN6016001544; 'ゴルフボールの空気力測定と3次元飛翔軌道解析' [online] , 20160113, 第207、208頁, 一般社団法人 日本流体力学会 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114779564A (zh) * | 2022-03-31 | 2022-07-22 | 南通理工学院 | 一种数字媒体用课自动调节镜头方向的投影设备 |
CN114779564B (zh) * | 2022-03-31 | 2023-06-30 | 南通理工学院 | 一种数字媒体用课自动调节镜头方向的投影设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2017029576A (ja) | 2017-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9802117B2 (en) | Game device, game control program, and method for controlling golf game | |
JP5436772B2 (ja) | プログラム及びゲーム装置 | |
US10576382B2 (en) | Golf game apparatus, storage medium, golf game system and golf game control method | |
TWI600456B (zh) | Battle-type game control methods and programs | |
JP2016093360A (ja) | ゲームプログラム | |
JP2012249879A (ja) | ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム | |
JP5017381B2 (ja) | ゲームシステム及びゲーム端末 | |
JP6034928B1 (ja) | ゲームシステム、制御方法、及びプログラム | |
JP2008119211A (ja) | 移動オブジェクトの予測軌道に情報を持たせて表示するコンピュータプログラム | |
JP3194699U (ja) | ゴルフシミュレーション装置 | |
JP2017029799A (ja) | ゲームシステム、制御方法、及びプログラム | |
JP6054483B1 (ja) | ゲームシステム、制御方法、及びプログラム | |
JP2017029577A (ja) | ゲームシステム、制御方法、及びプログラム | |
TWI603768B (zh) | 遊戲系統、控制方法及程式 | |
JP2016093361A (ja) | ゲームプログラム | |
JP2017023756A (ja) | ゲームシステム、制御方法、及びプログラム | |
JP6652789B2 (ja) | 選択支援方法及び選択支援装置 | |
JP2011056140A (ja) | プログラム、情報記憶媒体及びゲーム装置 | |
JP6088030B1 (ja) | ゲームシステム、制御方法、及びプログラム | |
JP2012249880A (ja) | 携帯端末、制御方法、及びプログラム | |
JP2012249881A (ja) | ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム | |
JP5043224B2 (ja) | プログラム、情報記憶媒体及びゲーム装置 | |
JP2016083049A (ja) | ゲームプログラム | |
JP2016083050A (ja) | ゲームプログラム | |
JP2016083047A (ja) | ゲームプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20160930 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161028 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6034928 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 |