JP6800464B2 - プログラム及び情報処理装置 - Google Patents

プログラム及び情報処理装置 Download PDF

Info

Publication number
JP6800464B2
JP6800464B2 JP2017095015A JP2017095015A JP6800464B2 JP 6800464 B2 JP6800464 B2 JP 6800464B2 JP 2017095015 A JP2017095015 A JP 2017095015A JP 2017095015 A JP2017095015 A JP 2017095015A JP 6800464 B2 JP6800464 B2 JP 6800464B2
Authority
JP
Japan
Prior art keywords
image
virtual controller
attribute
operation target
display
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
JP2017095015A
Other languages
English (en)
Other versions
JP2018187289A (ja
JP2018187289A5 (ja
Inventor
邦典 堂野
邦典 堂野
Original Assignee
株式会社アルヴィオン
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 株式会社アルヴィオン filed Critical 株式会社アルヴィオン
Priority to JP2017095015A priority Critical patent/JP6800464B2/ja
Priority to US15/974,162 priority patent/US10642487B2/en
Priority to EP18171761.2A priority patent/EP3400993A1/en
Publication of JP2018187289A publication Critical patent/JP2018187289A/ja
Publication of JP2018187289A5 publication Critical patent/JP2018187289A5/ja
Application granted granted Critical
Publication of JP6800464B2 publication Critical patent/JP6800464B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、操作入力部を含む表示装置に接続される或いは当該表示装置を備えるコンピュータで実行されるプログラムに関し、より特定的には、仮想コントローラを用いて、画面上の操作対象画像を操作するためのプログラムに関する。
タッチパネルは、スマートフォンやタブレット端末、ノートパソコン、ディスプレイ装置等に、使用されている。たとえば、タッチパネルを使用したスマートフォンやタブレット端末で、プログラムを実行して、アプリケーションを楽しむ場合、タッチパネルを指やタッチペン等で操作することで、操作対象の移動速度や移動方向を制御することができる。タッチパネルを使用したアプリケーションにおいては、直感的な操作が求められるところ、ゲームに関する例とはなるが、特許文献1及び特許文献2に記載されているような発明が従来提案されている。
特許文献1に記載のプログラムでは、入力操作領域に対する摺動操作を検出し、検出した摺動操作に基づいて、操作対象となるキャラクタの移動を制御し、キャラクタの移動方向及び移動速度を表す回転する仮想トラックボールを表示し、回転方向を矢印で示すことで、仮想空間におけるキャラクタの移動方向や移動速度を、ユーザに、視覚的に把握しやすくさせている。これにより、ユーザは、把握した移動方向や移動速度を参照しながら、摺動操作を行なうことができ、それにより、キャラクタの操作性を向上させることが可能となっている。
特許文献2に記載のプログラムでは、ユーザのスワイプ方向に、回転コントローラを回転させて、当該回転コントローラと連動するように、仮想空間内において、当該スワイプ方向に操作対象となるキャラクタが移動する(特許文献2の段落0026参照)。これによって、3Dゲームでの仮想的なコントローラを実現している。
特許第4420730号公報 特許第5876600号公報
特許文献1及び2に記載されているように、従来、回転する仮想トラックボールや回転コントローラを用いて、操作対象となるキャラクタの移動方向や移動速度を表現するゲームプログラムは存在していた。
しかし、特許文献1のゲームプログラムにおいては、あくまでも、ユーザの摺動操作によって、キャラクタが移動するに過ぎず、仮想トラックボールは、キャラクタの移動方向や移動速度を表示しているに過ぎない。
言い換えるならば、特許文献1のプログラム上での処理は、「摺動操作の認識」→「キャラクタの移動」→「仮想トラックボールの回転」という順で行なわれており、あくまでも、仮想トラックボールは、キャラクタの移動方向や移動速度を表現しているに過ぎない(特許文献1の段落0074参照)。すなわち、特許文献1のプログラムでは、仮想トラックボールの動きに連動して、キャラクタが移動するのではない。
特許文献1において、摺動操作に直接連動しているのはキャラクタの移動であるので、ユーザが仮想トラックボールを所望の方向や速度で回転させながらキャラクタを操作しようとしても、所望通りにキャラクタが移動しないと感じることとなる。特許文献1では、仮想トラックボールが用いられてはいるものの、仮想トラックボールは、キャラクタの移動方向や移動速度を表している指標に過ぎないこととなる。結果、ユーザとしては、あくまでも、キャラクタを摺動操作で直接移動させているとの感覚を得ることしかできない。逆を言えば、仮想トラックボールを操作することで、キャラクタの移動をコントロールしているとの印象をユーザは得ることはできず、仮想トラックボールの存在により却って、所望通りに操作対象を操作できないとの印象を与えてしまう結果となる。このように、特許文献1に記載の仮想トラックボールは、仮想的なコントローラとしては不十分であると言わざるを得ない。
特許文献2のプログラムにおいては、ユーザのスワイプ方向に回転コントローラを回転させて、当該回転コントローラと連動するように、キャラクタが仮想空間内を移動することとなるため、特許文献1のプログラムに比べて、回転コントローラを操作している感覚でキャラクタが移動しているとの印象をユーザは受けることとなる。
しかし、特許文献2のプログラムでは、単に、回転コントローラの回転方向や回転量、回転速度などとキャラクタの移動とが連動しているとされているに過ぎず(特許文献2の図4のS7等参照)、具体的に、どのようにして連動しているのかが不明である。また、特許文献2では、スワイプ動作による連動のみが想定されているに過ぎず、スワイプ以外の操作が行なわれた場合に、どのように、回転コントローラとキャラクタの移動とが連動するのかについて、一切開示されていない。さらに、特許文献2のプログラムにおいては、回転コントローラの回転方向や回転速度で、キャラクタの移動方向や移動速度を表すこととなるが、特許文献2の図2や図5に示されている回転コントローラの回転方向や回転速度は、直感的には分かりにくい。このように、特許文献2に記載の回転コントローラであっても、仮想的なコントローラとしては不十分であると言わざるを得ない。
このように、従来、仮想的なコントローラとして、特許文献1及び特許文献2に記載のものが提案されているが、実際に、特許文献1の仮想トラックボール及び特許文献2の回転コントローラを使用したとしても、キャラクタを精度良く操作することができない。
また、このような従来の仮想的なコントローラは、ゲームプログラムだけに使用されるものではなく、画面上の何らかの操作対象を操作する場合にも適用可能である。しかし、ゲーム以外のアプリケーションに、従来の仮想的なコントローラを適用したとしても、操作対象を精度良く操作することはできないことに違いはない。
それゆえ、本発明は、精度良く操作対象を操作することができる仮想コントローラを、コンピュータ上に実現することができるプログラムを提供することを目的とする。
上記課題を解決するために、本発明は、以下のような特徴を有する。本発明は、接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備えるコンピュータであって、表示装置に表示される仮想コントローラ画像の属性に関する情報を記憶する仮想コントローラ属性記憶部と、表示装置に表示される操作対象の属性に関する情報を記憶する操作対象属性記憶部とを備えるコンピュータを、仮想コントローラ画像の表示領域外における操作入力部におけるユーザの操作対象に対する操作に応じて、仮想コントローラ属性記憶部に記憶されている仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段、及び、仮想コントローラ属性変更手段によって変更された仮想コントローラ画像の属性に基づいて、仮想コントローラ画像を生成すると共に、仮想コントローラ画像の属性に連動して、操作対象属性記憶部に記憶されている操作対象の属性を変更し、操作対象が移動していくように、表示装置に表示する操作対象の画像を生成する表示画像生成手段、として機能させることを特徴とする、プログラムである。
また、本発明は、接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備えるコンピュータを、仮想コントローラ画像の表示領域外における操作入力部におけるユーザの操作対象に対する操作に応じて、仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段、及び、仮想コントローラ属性変更手段によって変更された仮想コントローラ画像の属性に基づいて、仮想コントローラ画像を生成すると共に、仮想コントローラ画像の属性に連動して、操作対象が移動していくように、表示装置に表示する操作対象の画像を生成する表示画像生成手段、として機能させることを特徴とする、プログラムである。
仮想コントローラ画像には、強度を示す第1の画像及び方向を示す第2の画像の少なくとも一つが含まれているとよい。
第1の画像は、操作対象の移動速度を表し、第2の画像は、操作対象の移動方向を表すとよい。
仮想コントローラ画像には、操作モードを示す第3の画像が含まれているとよい。
仮想コントローラ画像には、基準面を示す第4の画像が含まれているとよい。
仮想コントローラ画像には、高さを示す第5の画像が含まれているとよい。
仮想コントローラ画像には、仰俯角を示す第6の画像が含まれているとよい。
仮想コントローラ画像には、操作対象の状態を示す第7の画像が含まれているとよい。
操作入力部へのユーザによる操作が行なわれた場合、仮想コントローラ属性変更手段が、ユーザによる操作方向に基づいて、仮想コントローラ画像における方向に関する属性を変更するとよい。
操作入力部へのユーザによる操作として、タッチアンドホールドが行なわれている間、仮想コントローラ属性変更手段が、タッチアンドホールドの動きに合せて、仮想コントローラ画像における方向に関する属性を変更するとよい。
操作入力部へのユーザによる操作が行なわれた場合、仮想コントローラ属性変更手段が、ユーザによる操作の距離に基づいて、仮想コントローラ画像における強度に関する属性を変更するとよい。
操作入力部へのユーザによる操作として、スワイプが行なわれた場合、仮想コントローラ属性変更手段が、スワイプの距離に基づいて、仮想コントローラ画像における強度に関する属性を変更するとよい。
操作入力部へのユーザによる操作として、フリックが行なわれた場合、仮想コントローラ属性変更手段が、フリックに基づいて、仮想コントローラ画像における強度に関する属性を変更するとよい。
操作入力部へのユーザによる操作として、タップが行なわれた場合、操作対象が所定の動作をするようにするとよい。
操作入力部へのユーザによる操作として、タップが行なわれた場合、仮想コントローラ属性変更手段が、操作対象が停止するように、仮想コントローラ画像における強度に関する属性を変更するとよい。
操作入力部へのユーザによる操作によって、視点の変更の指示が行なわれた場合、表示画像生成手段が、視点を変更した画像を生成するとよい。
操作入力部へのユーザによる操作によって、操作モードの変更の指示が行なわれた場合、表示画像生成手段が、変更後の操作モードを示す画像を生成するとよい。
操作入力部へのユーザによる操作によって、操作対象をピックアップして移動させる指示が検出された場合、表示画像生成手段が、操作対象を移動させるとよい。
操作入力部へのユーザによる操作が行なわれていない間、仮想コントローラ属性変更手段が、仮想コントローラ画像の強度に関する属性を、予め決められた規則に従って、自動的に変更していくとよい。
操作モードとして、対象物を探索するモードが指定されている場合、表示画像生成手段が、対象物を表示するような画像を生成するとよい。
操作モードとして、対象物を選択するモードが指定されている場合、操作入力部へのユーザの操作に基づいて、表示画像生成手段が、対象物を選択するような画像を生成するとよい。
操作入力部に対して、ユーザが接触又は近接の操作を行なっている間、仮想コントローラ属性変更手段が、仮想コントローラ画像における強度に関する属性を固定するとよい。
操作モードとして、操作対象が自動的に移動するモードが指定されている場合、仮想コントローラ属性変更手段が、予め決められた規則に従って、仮想コントローラ画像の属性を、自動的に変更していくとよい。
表示画像生成手段が、表示装置に画像を表示するためのフレーム単位で、仮想コントローラ属性変更手段によって生成されている仮想コントローラ画像の属性を参照して、仮想コントローラ画像及び操作対象の画像を生成するとよい。
操作入力部に対するユーザの操作に対する仮想コントローラ画像の強度に関する属性の変化率が調整可能なように、コンピュータを制御するとよい。
操作入力部へのユーザによる操作によって、操作対象の高度の変更の指示が行なわれた場合、表示画像生成手段が、操作対象の高度を変更した画像を生成するとよい。
操作入力部へのユーザによる操作によって、操作対象の仰俯角の変更の指示が行なわれた場合、表示画像生成手段が、操作対象の仰俯角を変更した画像を生成するとよい。
操作入力部へのユーザによる操作を検出する操作検出手段として、コンピュータをさらに機能させ、
操作検出手段操作入力部を二以上の領域に分割し、当該各領域に対して、仮想コントローラ画像の属性を割り当て、仮想コントローラ属性変更手段が、当該各領域に対するユーザの操作に応じて、対応する仮想コントローラ画像の属性を変化させるとよい。
本発明は、接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備える情報処理装置であって、
表示装置に表示される仮想コントローラ画像の属性に関する情報を記憶する仮想コントローラ属性記憶部と、
表示装置に表示される操作対象の属性に関する情報を記憶する操作対象属性記憶部と、
仮想コントローラ画像の表示領域外における操作入力部におけるユーザの操作対象に対する操作に応じて、仮想コントローラ属性記憶部に記憶されている仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段と、
仮想コントローラ属性変更手段によって変更された仮想コントローラ画像の属性に基づいて、仮想コントローラ画像を生成すると共に、仮想コントローラ画像の属性に連動して、操作対象属性記憶部に記憶されている操作対象の属性を変更し、操作対象が移動していくように、表示装置に表示する操作対象の画像を生成する表示画像生成手段とを備えることを特徴とする。
また、本発明は、接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備える情報処理装置であって、
仮想コントローラ画像の表示領域外における操作入力部におけるユーザの操作対象に対する操作に応じて、仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段と、
仮想コントローラ属性変更手段によって変更された仮想コントローラ画像の属性に基づいて、仮想コントローラ画像を生成すると共に、仮想コントローラ画像の属性に連動して、操作対象が移動していくように、表示装置に表示する操作対象の画像を生成する表示画像生成手段とを備えることを特徴とする。
また、本発明は、接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備えるコンピュータであって、前記表示装置に表示される仮想コントローラ画像の属性に関する情報を記憶する仮想コントローラ属性記憶部と、前記表示装置に表示される操作対象の属性に関する情報を記憶する操作対象属性記憶部とを備える前記コンピュータを、
前記操作入力部におけるユーザの前記操作対象に対する操作に応じて、前記仮想コントローラ属性記憶部に記憶されている前記仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段、及び、
前記仮想コントローラ属性変更手段によって変更された前記仮想コントローラ画像の属性に基づいて、前記仮想コントローラ画像を生成すると共に、前記仮想コントローラ画像の属性に連動して、前記操作対象属性記憶部に記憶されている前記操作対象の属性を変更し、操作対象が移動していくように、前記表示装置に表示する前記操作対象の画像を生成する表示画像生成手段、
として機能させることを特徴とする、プログラムである。
また、本発明は、接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備える情報処理装置であって、
表示装置に表示される仮想コントローラ画像の属性に関する情報を記憶する仮想コントローラ属性記憶部と、
表示装置に表示される操作対象の属性に関する情報を記憶する操作対象属性記憶部と、
操作入力部におけるユーザの操作対象に対する操作に応じて、仮想コントローラ属性記憶部に記憶されている仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段と、
仮想コントローラ属性変更手段によって変更された仮想コントローラ画像の属性に基づいて、仮想コントローラ画像を生成すると共に、仮想コントローラ画像の属性に連動して、操作対象属性記憶部に記憶されている操作対象の属性を変更し、操作対象が移動していくように、表示装置に表示する操作対象の画像を生成する表示画像生成手段とを備えることを特徴とする、情報処理装置。
本発明によれば、ユーザの操作に応じて、仮想コントローラ画像の属性を変更していくことができ、仮想コントローラ画像の属性に基づいて、仮想コントローラ画像が表示されていくことなる。したがって、ユーザの操作と仮想コントローラ画像とが連動しているため、ユーザは、仮想コントローラ画像を操作するという印象を受けることができる。そして、仮想コントローラ画像の属性と連動して、操作対象が移動していくように、表示装置に表示する操作対象の画像が生成されていくので、ユーザは、自身が操作している仮想コントローラ画像が示す操作通りに、精度良く、操作対象が移動しているとの印象を受けることができる。結果、従来の技術と比較して、精度良く操作対象を操作することができる仮想コントローラを、コンピュータ上に実現することができるプログラムが提供されることとなる。
仮想コントローラ画像として、強度を示す第1の画像を用いれば、操作対象の移動速度や強さ、重さ、大きさなどの強度を認識しながら、ユーザは、仮想コントローラ画像を操作することができ、さらに、精度の高い操作が可能となる。
仮想コントローラ画像として、方向を示す第2の画像を用いれば、操作対象の移動方向や攻撃方向、防御方向などの方向を認識しながら、ユーザは、仮想コントローラ画像を操作することができ、さらに、精度の高い操作が可能となる。
典型的には、第1の画像が操作対象の移動速度を表すものとし、第2の画像が操作対象の移動方向を表すものとすることによって、本発明のプログラムを、仮想空間上での仮想的なコントローラとして使用することが可能となる。
仮想コントローラ画像に、操作モードを示す第3の画像を含めることで、操作モードに応じた操作環境をユーザに提供することができる。
仮想コントローラ画像に、水平面又は地面、大気圏、雲、有光層との境界面などの基準面を示す第4の画像を含めることで、ユーザに、基準面と操作対象との位置関係を認識させることができる。
仮想コントローラ画像に、高さを示す第5の画像を含めることで、ユーザに、操作対象の高さを認識させることができる。
仮想コントローラ画像に、仰俯角を示す第6の画像を含めることで、ユーザに、操作対象の仰俯角を認識させることができる。
仮想コントローラ画像に、操作対象の状態を示す第7の画像を含めることで、ユーザに、操作対象の状態を認識させることができる。
仮想コントローラ属性変更手段が、ユーザによる操作方向に基づいて、仮想コントローラ画像における方向に関する属性を変更することで、操作方向に応じて、操作対象を移動させることができる。
タッチアンドホールドの動きに合せて、仮想コントローラ画像における方向に関する属性を変更することで、操作対象の移動方向を微調整しながら操作対象を移動させることができるので、操作対象を精度良く移動させることができる。
ユーザによる操作の距離に基づいて、仮想コントローラ画像における強度に関する属性を変更することで、操作の距離に応じて、操作対象の速度などの強度を変更することができる。
スワイプの距離に基づいて、仮想コントローラ画像における強度に関する属性を変更することで、スワイプ距離に応じた操作対象の速度などの強度の変更が可能となり、操作対象の速度などの強度を微調整することができる。
フリックに基づいて、仮想コントローラ画像における強度に関する属性を変更することで、フリックの回数や速度、その他のフリックに関する情報などに応じて操作対象の速度などの強度の増加又は減少を行なうことができ、操作対象の速度などの強度を微調整することができる。
タップが行なわれた場合、操作対象が所定の動作をするようにする。ここで、所定の動作としては、たとえば、停止や攻撃、防御、変身、ジャンプ、回転、ワープ、分身などのアクションの他、減速や急減速などの予め決められた動作とするが、特に限定されるものではない。
タップが行なわれた場合、操作対象が停止するように、仮想コントローラ画像における強度に関する属性を変更することで、操作対象の停止が可能となる。
視点の変更の指示が行なわれた場合、表示画像生成手段が、視点を変更した画像を生成することで、視点変更後の画像の表示が可能となる。
操作モードの変更の指示が行なわれた場合、表示画像生成手段が、変更後の操作モードを示す画像を生成することで、操作モードをユーザに認識させることが可能となる。
操作対象をピックアップして移動させる指示が検出された場合、表示画像生成手段が、操作対象を移動させることで、操作対象の移動をユーザに認識させることができる。
操作入力部へのユーザによる操作が行なわれていない間、仮想コントローラ属性変更手段が、仮想コントローラ画像の強度に関する属性を、予め決められた規則に従って、自動的に変更していくことで、操作対象の自動的な減速又は加速などが可能となる。また、後述の強度属性の固定と組み合わせることで、好みの強度で、操作対象を操作することが可能となる。
対象物を探索するモードが指定されている場合、表示画像生成手段が、対象物を表示するような画像を生成することで、ユーザに、探索物を認識させることができる。
ユーザが接触又は近接の操作を行なっている間、仮想コントローラ属性変更手段が、仮想コントローラ画像における強度に関する属性を固定することで、たとえば、操作対象を等速で移動させることが可能となり、好みの強度で操作対象を移動させることができる。
操作対象が自動的に移動するモードが指定されている場合、仮想コントローラ画像の属性を、自動的に変更していくことで、操作対象が自動的に移動するように、表示することが可能となる。
フレーム単位で、仮想コントローラ画像の属性が参照されて、仮想コントローラ画像及び操作対象の画像が生成されることで、仮想コントローラ画像と操作対象とが、シームレスに、連動しているとの印象をユーザに与え、自然で精度の高い操作対象のコントロールが実現される。
強度属性の変化率を調整可能とすることで、表示装置の大きさに合わせて、自然な操作感を実現することができる。また、ユーザの好みに応じた操作感を実現することができる。
操作対象の高度の変更の指示が行なわれた場合、表示画像生成手段が、操作対象の高度を変更した画像を生成することで、操作対象の高度の変更を表示することができる。
操作検出手段が操作入力部を二以上の領域に分割して、当該各領域に対して、仮想コントローラ画像の属性を割り当てることで、たとえば、右指や左指で、別々の操作を行なうことができ、操作のバリエーションが増加することとなる。
本発明のこれら、及び他の目的、特徴、局面、効果は、添付図面と照合して、以下の詳細な説明から一層明らかになるであろう。
図1は、本発明の実施形態に係るプログラムを実行するコンピュータ1のハードウエア的構成を示すブロック図である。 図2は、本発明のプログラムを実行しているコンピュータ1が備えることとなる機能を示す機能ブロック図である。 図3は、本発明のプログラムで使用するデータの内容をまとめた一覧表である。 図4は、本発明のプログラムを実行している際のコンピュータ1の動作の流れを示すフローチャートである。 図5は、図4におけるS104での処理の詳細を示すフローチャートである。 図6は、操作入力部9に対する操作があった場合のコンピュータ1の動作を示すフローチャートである。 図7は、図6のS302における領域内操作処理でのコンピュータ1の動作を示すフローチャートである。 図8は、図6のS303における領域外操作処理の内、一本の指で操作された場合のコンピュータ1の動作を示すフローチャートである。 図9は、図6のS303における領域外操作処理の内、二本の指で操作された場合のコンピュータ1の動作を示すフローチャートである。 図10は、操作モードが自動移動モードの場合のフレーム間での動作を示すフローチャートである。 図11は、機能状態表示部属性15a及び水平・方向表示部属性15bの表示内容の一例を示す図である。 図12は、領域内で、タップされた場合の仮想コントローラ画像10aにおける機能状態表示部10eの遷移の一例を示す概念図である。 図13は、領域内で、ダブルタップされた場合の画面の遷移の一例を示す概念図である。 図14は、領域内で、長押しがされて、操作対象がピックアップされ、タッチアンドホールドによって、操作対象が移動された場合の画面の遷移の一例を示す概念図である。 図15は、方向属性15fを変更するルールの一例を示す図である。 図16は、タッチアンドホールドによって、操作対象の移動方向が変更されるときの様子を示した画面の例である。 図17は、スワイプ時の画面の例を示す図である。 図18は、フリック時の画面の例を示す図である。 図19は、スワイプによる方向変更、移動速度の変更、及び減速処理までの一連の処理が行なわれた場合の表示画面の一例を示す図である。 図20は、二本指でスワイプしたときの画面の一例を示す図である。 図21は、通常モードの際の機能状態表示部10eの画像の変形例を示す図である。 図22は、機能状態表示部10eの画像の他の変形例を示す図である。 図23は、機能状態表示部10eの画像の他の変形例を示す図である。 図24は、ガンシューティングゲームに本発明の仮想コントローラを用いた場合の画面の遷移の例を示す図である 図25は、二つの仮想コントローラを用いる場合の原理を説明するための図である。 図26は、二つの仮想コントローラを用いる場合に、接触操作があった場合の処理を示すフローチャートである。 図27は、二つの仮想コントローラ画像を用いる場合の画面の一例を示す図である。 図28は、機能状態表示部10eと水平・方向表示部10fとの位置関係を変更して高さを示す一例を示す図である。 図29は、仰俯角・高さ表示部の一例を示す図である。
図1は、本発明の実施形態に係るプログラムを実行するコンピュータ1のハードウエア的構成を示すブロック図である。コンピュータ1は、たとえば、スマートフォン、タブレット端末、ノートパソコン、パソコン、デジタルオーディオプレーヤー等の情報処理端末である。図1において、コンピュータ1は、表示装置2と、入力部3と、記憶部4と、通信部5と、CUP(Central Processing Unit)6と、ROM(Read only memory)7と、RAM(Random access memory)8とを備える。
以下の説明では、コンピュータ1が実行するプログラムは、ゲームプログラムであるとしているが、本発明は、ゲームプログラムに限定されるものではない。操作対象となる画像をユーザが操作するようなプログラムであれば、ゲームプログラム以外の操作に本発明のプログラムを用いることができ、本発明を適用するプログラムのジャンルやカテゴリーは、全く限定されない。たとえば、全面がモニタ化しているミーティングテーブルで、大人数が操作対象を同時操作するようなアプリケーションなどに本発明を使うことができるし、その他、地図情報や交通情報の表示プログラム、広告の表示プログラム、3次元画像の表示プログラム、CADデータのビューアープログラム、各種シミュレーションプログラムなど、プログラムのジャンルやカテゴリーは多岐におよび、本発明の適用範囲は広い。
表示装置2は、たとえば、タッチパネル等であり、操作入力部9と、表示部10とを含む。コンピュータ1は、スマートフォンやタブレット端末のように、表示装置2を内蔵していてもよいし、表示装置2に対して有線、無線、又はネットワーク等の通信手段で接続可能なパソコン等であってもよい。
操作入力部9は、指やタッチペン等による接触操作や近接操作を検知することができる装置であり、抵抗膜方式や、静電容量方式、表面型静電容量方式、投影型静電容量方式、超音波表面弾性波方式、光学方式、電磁誘導方式など、いかなる方式を用いるものであってもよい。なお、以下の説明では、代表して指での操作について説明することとするが、タッチペン等で操作した場合も、指での操作と同様に動作するものとする。なお、操作入力部9としては、画面全体が操作可能な領域となっている場合の他、画面の一部のみが操作可能な領域となっていてもよい。
表示部10は、液晶パネルや有機ELパネル等、いかなる方式を用いるものであってもよい。好ましくは、表示部10上に、操作入力部9が構成されているとよいが、それに限られるものではなく、表示部10と操作入力部9とが別々に構成されていてもよい。たとえば、表示部10と操作入力部9とが分かれていて、表示領域と操作領域とが分かれている場合や、物理的に二画面に分かれている場合なども、表示装置2の概念に含まれるものとする。すなわち、表示装置2とは、接触又は近接操作を受け付ける操作入力部を含むものであれば、いかなる装置であってもよい。
入力部3は、操作入力部9以外の入力を受け付けるためのボタンや各種装置である。記憶部4は、ROM7やRAM8以外の記憶装置であり、たとえば、ハードディスクやリムーバブルメモリなどである。通信部5は、外部と通信するための有線又は無線の通信装置である。
記憶部4又はROM7に記憶されているプログラムをCPU6が読み込んで、コンピュータ1全体の動作を制御することで、本発明のプログラムは実行される。図2は、本発明のプログラムを実行しているコンピュータ1が備えることとなる機能を示す機能ブロック図である。図3は、本発明のプログラムで使用するデータの内容をまとめた一覧表である。以下、図2及び図3を参照しながら、本発明のプログラムを実行することによって、コンピュータ装置が備えることとなる機能について説明することとする。なお、以下の説明において、「〜部」と表現されている箇所は、「〜手段」と置き換えて理解してもよいことは言うまでもない。
制御部12は、コンピュータ1の全体の動作を制御しており、プログラムを実行中の場合、仮想コントローラ属性変更部14に仮想コントローラ画像の属性を変更させたり、フレーム単位で、必要な画像を表示画像生成部13に生成させたりして、ハードウエアとしての表示部10に必要な画像を表示させている。
表示部10に表示される画像は、仮想コントローラ画像10aと、操作対象画像10bと、背景画像10cと、表示物画像10dとであるとしているが、あくまでも一例である。
仮想コントローラ画像10aは、機能状態表示部10eと、水平・方向表示部10fとによって構成される。機能状態表示部10eは、強度を示す画像と、操作モードを示す画像とからなる。水平・方向表示部10fは、方向を示す画像と、水平面又は地面に平行な面を示す画像とからなる。
強度を示す画像を第1の画像とする。強度を示す第1の画像は、機能状態表示部10eの一部として、メータ値やカウント値、数値、色、大きさ、形、回転の速さなどによって表現されているものとする。ここで、強度とは、操作対象の移動速度だけではなく、強さ、重さ、大きさなどであるが、例示したものに限られるものではない。
方向を示す画像を第2の画像とする。方向を示す第2の画像は、水平・方向表示部10fの一部、方向表示部10f−2とし、矢印や指し示すような形状、色などによって表現されているものとする。ここで、方向とは、操作対象の移動方向だけではなく、攻撃方向や防御方向などであるが、例示したものに限られるものではない。
本発明においては、最低限、第1の画像若しくは第2の画像の少なくともどちらか一方が仮想コントローラ画像に含まれているものとするが、本発明の実施形態では、第1及び第2の画像が仮想コントローラ画像に含まれているとしている。
操作モードを示す画像を第3の画像とする。操作モードが一つしかない場合は、第1の画像が第3の画像を兼ねることとなる。一方、複数の操作モードが存在する場合、各操作モードを示す第3の画像が仮想コントローラ画像に含まれることとなる。操作モードを示す第3の画像は、その形状や色などによって、各操作モードの違いが分かるように表現されているものとする。
水平面又は地面に平行な面を示す画像を第4の画像とする。水平面又は地面に平行な面を示す必要がない場合は、仮想コントローラ画像において、第4の画像を表示する必要がないため、第4の画像は、必須ではない。ただし、仮想画面が3次元空間によって表現されている場合、第4の画像が表示された方が、どの視点からの表示であるかが分かりやすくなるため、以下の説明では第4の画像を用いることとする。第4の画像は、水平・方向表示部10fの一部、水平表示部10f−1とし、リング状や円形状、平面状、多角形状等の形によって、水平面又は地面と平行な面を表現している。
なお、第4の画像としては、ここでは、水平面又は地面に平行な面を示すと例示しているが、それに限られるものではない。水平面や地面の他、大気圏、雲、有光層との境界面などを第4の画像によって示すことも可能である。したがって、第4の画像は、水平面又は地面、大気圏、雲、有光層との境界面などの基準面を示す画像であるといえ、第4の画像によって、ユーザに、基準面と操作対象との位置関係を認識させることが可能となる。以下の説明において、水平面や水平属性という用語を用いて説明を行なっているが、基準面の概念を使用した第4の画像を用いる場合は、適宜、基準面や基準面に関する属性として読み替えることで、基準面を使用した場合の発明についても、その技術的内容を理解することができる。
なお、本発明の仮想コントローラ画像については、いかなる形状の画像であるかについては、本発明を限定するものではなく、図面及び明細書に記載した画像に限定されるものではない。
操作対象画像10bは、操作対象となるキャラクタ、オブジェクトなどである。背景画像10cは、背景の画像である。表示物画像10dは、操作対象以外の表示物に関する画像データであり、仮想コントローラ画像10a、操作対象画像10b、及び背景画像10c以外の画像ある。
制御部12は、ハードウエアとしての操作入力部9が指で操作された場合に、操作検出部11から、操作内容に関する情報を受け取り、操作内容に応じた必要な動作を、仮想コントローラ属性変更部14及び表示画像生成部13に実行させる。
操作入力部9が指で操作されると、操作検出部11は、操作入力部9によって操作された内容を制御部12に送る。たとえば、操作検出部11は、フレーム単位では、タッチしている位置に関する情報を制御部12に送り、また、フレーム間では、操作内容がタップであったのか、スワイプであったのか、フリックであったのか、ダブルタップであったのか、長押しであったのか、タッチアンドホールドであったのか等の情報を、向きや長さ等の属性と共に、制御部12に送る。
ハードウエアとしての記憶部4は、予め、設定情報4a、仮想コントローラ画像データ4b、操作対象画像データ4c、背景画像データ4d、及び表示物画像データ4eを格納している。設定情報4aは、初期設定に関する情報や前回のプログラム終了時に使用されていた設定(後述の事前設定情報15gや操作強度情報15h、表示位置情報15iなど)に関するデータなどである。仮想コントローラ画像データ4bは、仮想コントローラ画像10aの表示に必要なデータである。操作対象画像データ4cは、操作対象画像10bの表示に必要なデータである。背景画像データ4dは、背景画像10cの表示に必要なデータである。表示物画像データ4eは、表示物画像10dの表示に必要なデータである。
表示画像生成部13は、記憶部4に予め格納されている各種データを利用して、表示部10に表示する画像を生成することとなるが、プログラムの進行に合わせて、表示すべき画像を変更していく必要がある。そのため、図2では、ゲームの進行と合わせて変更していく情報を管理するために、RAM8内に実現される仮想コントローラ属性記憶部15、操作対象属性記憶部16、及び視点属性記憶部17を図示している。
ゲームが進行していくことによって、仮想空間上の視点は、変化していくこととなる。そのため、視点属性記憶部17は、2次元仮想空間又は3次元仮想空間上の視点カメラの位置を視点属性17aとして記憶している。
ゲームが進行していくことによって、操作対象となるキャラクタ等の位置や速度、方向が変化し、また、操作対象のオブジェクトが複数ある場合、現時点で操作対象となっているオブジェクトが変化していくこととなる。そのため、操作対象属性記憶部16は、操作対象の位置を定義する位置情報16bや、操作対象の移動速度を定義する速度情報16c、操作対象の移動方向を定義する方向情報16d、操作対象がどのオブジェクトであるかを定義する対象情報16eを、操作対象属性16aとして記憶している。
ゲームが進行していくことによって、仮想コントローラ画像が変化していく。機能状態表示部10eに関する属性は、機能状態表示部属性15aとして、仮想コントローラ属性記憶部15に格納されており、機能状態表示部属性15aは、操作モードに関する属性(操作モード属性15c)と、強度を定義する属性(強度属性15d)とを含む。本実施形態では、操作モード属性として、通常モード、自動移動モード、自動攻撃モード、探索モード、又は選択モードを定義しているが、これに限られるものではない。
操作モードは、用途に応じて、変更、増加、削除、拡張等ができるものであり、プログラム開発者側だけでなく、適宜、ユーザ設定によっても変更、増加、削除、拡張等ができるものである。たとえば、プログラムの進行に合せて、レベルがアップした場合、自動的に、操作モードが増加するようなプログラムが提供されていてもよいし、また、ユーザが適宜、操作モードを変更したり、増加したり、削除したりすることができるようになっていてもよい。ユーザによる操作モードの増加、変更等は、アイテムの獲得や購入等と連携していてもよい。
通常モードとは、操作対象をマニュアル操作で移動させるモードである。通常モードの場合、操作入力部9に対する指の移動に連動して、機能状態表示部属性15a及び水平・方向表示部属性15bが変化する。
自動移動モードとは、操作対象が自動で移動するモードである。自動移動モードの場合、操作入力部9に対する指の操作とは関係なく、自動的に機能状態表示部属性15a及び水平・方向表示部属性15bが変化する。
自動攻撃モードとは、自動で攻撃アクションをしつつ、操作対象をマニュアル操作で移動させるモードである。自動攻撃モードの場合、通常モードのように、操作入力部9に対する指の移動に連動して、機能状態表示部属性15a及び水平・方向表示部属性15bが変化するが、同時に、自動的に、攻撃アクションが行なわれる。
探索モードとは、仮想空間上の対象(表示物の弱点や隠れた表示物など)を探索するモードであり、探索結果を、表示部10に表示するモードである。
選択モードとは、探索モードで探索された対象を、操作入力部9に対する指の移動に合わせて、選択するモードである。
水平・方向表示部10fに関する属性は、水平・方向表示部属性15bとして、仮想コントローラ属性記憶部15に格納されており、水平・方向表示部属性15bは、水平面に対する位置関係を定義する水平属性15eと、水平・方向表示部が示す方向を定義する方向属性15fとを含む。
また、仮想コントローラ属性記憶部15は、事前設定情報15g、操作強度情報15h、及び表示位置情報15iを記憶している。
事前設定情報15gは、前回終了時の操作強度情報、表示位置情報、機能表示部属性、水平・方向表示部属性、操作対象属性、及び視点属性である。事前設定情報15gは、処理の終了時に、記憶部4に設定情報4aとして格納され、処理の開始時に、設定情報4aから読み込まれた値であるとよいが、それに限られるものではない。
操作強度情報15hは、指の移動と強度属性の変化率との関係を定義した情報である。たとえば、画面が小さい場合は、画面の大きな場合に比べて、小さな指の移動でも、強度の上昇率が大きくなるなどして、表示装置2の画面サイズに合わせて、操作強度情報を自動で設定してもよい。指の移動と強度属性の変化率との関係については、本発明において、どのような定義が用いられてもよいが、たとえば、スワイプの場合、少しの指の移動でも、強度の上昇が大きくなったり、逆に、指を大きく移動しても強度の上昇が小さくなったりするように、自動又は手動で設定した内容が、操作強度情報15hである。また、フリックの場合、たとえば、フリック時の指の移動の変化率(加速度)が、強度属性の変化率とすることができる。また、指の移動と強度属性との間の変化率は、適宜、ユーザが調整可能である。
表示位置情報15iは、仮想コントローラ画像の表示位置を定義した情報である。たとえば、固定位置に仮想コントローラ画像を表示するという設定の場合は、その固定位置が表示位置情報15iとして定義されている。その他、表示位置情報15iにおいて、タッチ位置の近傍に仮想コントローラ画像を表示すると定義したり、操作対象の上に仮想コントローラ画像を表示すると定義したりしておくことも可能である。また、仮想コントローラ画像が移動していくのであれば、仮想コントローラ画像の位置情報を表示位置情報15iに格納しておく。
処理の開始時には、仮想コントローラ属性変更部14は、記憶部4に格納されている設定情報4aを読み出して、仮想コントローラ属性記憶部15の事前設定情報15g、操作強度情報15h、及び表示位置情報15iを設定する。処理の終了時には、仮想コントローラ属性変更部14は、終了時の前設定情報15g、操作強度情報15h、及び表示位置情報15iを読み出して、記憶部4に設定情報4aとして、格納する。なお、設定情報4aには、初期値が登録されており、ユーザは必要に応じて、初期値を設定情報4aとして用いることができる。
なお、図3に示した情報や属性は、あくまでも定義の一例であり、その他の定義がなされていてもよい。当然、ゲームの進行には、図3以外の情報が必要となるが、図3では、本発明を実現するために必要な情報を示している。
操作検出部11によって、操作入力部9への指の操作が検出されると、制御部12は、操作内容を仮想コントローラ属性変更部14に送る。仮想コントローラ属性変更部14は、操作内容に応じて、仮想コントローラ属性記憶部15に記憶されているデータを適宜変更すると共に、必要に応じて、視点属性記憶部17に記憶されている視点属性17aを変更する。
このように、操作入力部9での操作が行なわれると、仮想コントローラ属性記憶部15の内容がリアルタイムで書き換えられていくこととなる。詳しくは、後述のフローチャートを参照しながら説明するが、たとえば、スワイプの操作が行なわれた場合、スワイプの距離に応じて、強度属性15dが変更されることとなり、また、フリックの操作が行なわれた場合、フリックの回数や速度に応じて、強度属性15dが変更(増加又は減少)されることとなる。一例であるが、フリックの回数や速度に応じて、強度属性15dが増加するとは、操作対象の速度が加速していくことであり、強度属性15dが減少するとは、操作対象の速度が減速していくことである。また、スワイプやフリックの方向に応じて、方向属性15fが変更されたり、タッチアンドホールドの際に、指の移動方向と連動して、方向族性15fが変更されたりする。
表示画像生成部13は、制御部12から、フレームの到来など表示タイミングが指示された場合、仮想コントローラ属性記憶部15に記憶されている各種情報及び属性並びに視点属性記憶部17に記憶されている視点属性17aに基づいて、表示すべき仮想コントローラ画像を生成して表示する。
たとえば、表示画像生成部13は、強度属性15dによって、レベル5の強度が示されている場合、表示画像生成部13は、状態機能表示部10eが示す強度をレベル5とするような画像(たとえば、メータ値を5とするような画像)を生成する。
たとえば、方向属性15fによって、絶対座標に対して北東の方向が示されている場合、表示画像生成部13は、視点属性17aが示す視点から見たときの北東方向を示す画像を、水平・方向表示部10fの画像として生成する。
このように、表示画像生成部13は、仮想コントローラ画像10aを、仮想コントローラ属性記憶部15に記憶されている内容に基づいて、リアルタイムで画面上に表示させることとなる。よって、ユーザは、自身の操作内容が、リアルタイムで、仮想コントローラ画像10aに反映されているとの印象を受けることとなる。
また、表示画像生成部13は、制御部12から、フレームの到来など表示タイミングが指示された場合、仮想コントローラ属性記憶部15に記憶されている各種情報及び属性に基づいて、操作対象属性記憶部16に記憶されている各種情報を変更する。
具体的には、表示画像生成部13は、方向属性15f及び強度属性15dに基づいて、現在記憶されている位置情報16bを書き換える。すなわち、方向属性15f及び強度属性15dが示す方向及び強度で、一フレームの間に、操作対象が仮想空間上を移動したとして、表示画像生成部13は、位置情報16bが示す操作対象の位置を書き換える。
また、書き換え前の位置情報16bと書き換え後の位置情報とを比較するか、若しくは、強度属性15dに基づいて、表示画像生成部13は、操作対象の移動速度を認識し、速度情報16cを書き換える。
さらに、書き換え前の位置情報16bと書き換え後の位置情報とを比較するか、若しくは、方向属性15dに基づいて、表示画像生成部13は、操作対象の移動方向を認識し、方向情報16dを書き換える。そして、表示画像生成部13は、書き換え後の位置情報16b、速度情報16c、及び方向情報16d並びに視点属性17aに基づいて、次のフレームでの操作対象画像10bを生成して、表示部10に、表示させる。
なお、ここでは、操作対象属性16aとして、速度情報16c及び方向情報16dを用いたが、これは、操作対象の速度や方向に応じて、操作対象の形状や色などが変化したりすることを想定しているからである。操作対象が、速度や方向に応じて、形状や色などを変化しないものであれば、位置情報16bを書き換えるだけで、表示画像生成部13は、次のフレームの操作対象画像10bを生成することができる。
なお、操作対象がユーザによって変更された場合は、表示画像生成部13は、新たに選択された操作対象に、対象情報16eを書き換えて、新たな操作対象画像10bを、位置情報16b、速度情報16c、及び方向情報16d並びに視点属性17aに基づいて、生成し、表示部10に、表示させる。
以上が、本発明のプログラムを実行したコンピュータ1において実現される機能の概説である。以下の説明では、具体的な画面の例を挙げながら、本発明のプログラムの動作の流れを説明する。ただし、以下に示すプログラムの流れは、あくまでも本発明を実現するための一例に過ぎず、本発明を限定するものではない。本発明のプログラムによって、コンピュータを本発明で定義される手段として機能させる限りにおいては、下記に示すフローチャートによる流れ以外のプログラムが用いられたとしても、本発明のプログラムに含まれることは言うまでもない。
なお、以下のフローチャートの説明において、動作の主体は、基本的には、コンピュータ1ということとなるが、図2に示す仮想的な機能ブロックが動作の主体であることと明示することにより、説明が分かりやすくなる場合は、図2に示す機能ブロックを動作の主体として用いることとする。
図4は、本発明のプログラムを実行している際のコンピュータ1の動作の流れを示すフローチャートである。まず、アプリケーションの処理が開始されると、仮想コントローラ属性変更手段14は、仮想コントローラに関する事前設定情報15gを読み出し(S101)、読み出した事前設定情報15gに基づいて、操作強度情報15h及び表示位置情報15iを設定する(S102)。また、仮想コントローラ属性変更手段14は、事前設定情報15gに基づいて、機能状態表示部属性15a及び水平・方向表示部属性15bを設定する(S103)。このようにして、処理の開始直後に、コンピュータ1は、仮想コントローラ属性記憶部15での初期設定を実行する。その後、コンピュータ1は、フレーム単位で、背景画像、操作対象画像、表示物画像及び仮想コントローラ画像を表示するための処理を実行していく(S104)。
図5は、図4におけるS104での処理の詳細を示すフローチャートである。まず、コンピュータ1は、フレームタイミングが到来したか否かを判断する(S201)。当該フレームタイミングの判断は、フレームタイミングの割り込み処理などで実行されるとよいが、限定されるものではない。
フレームタイミングが到来したら、表示画像生成部13は、表示位置情報15i、機能状態表示部属性15a、及び水平・方向表示部属性15bを読み込む(S202)。次に、表示画像生成部13は、機能状態表示部属性15aに基づいて、機能状態表示部10eの表示内容を決定する(S203)。次に、表示画像生成部13は、水平・方向表示部属性15bに基づいて、水平・方向表示部10fの表示内容を決定する(S204)。
ここで、S203及びS204において決定される機能状態表示部属性15a及び水平・方向表示部属性15bの表示内容について、具体例を挙げて説明することとする。
図11は、機能状態表示部属性15a及び水平・方向表示部属性15bの表示内容の一例を示す図である。図11において、10aは、仮想コントローラ画像を示し、10eは、機能状態表示部(第1の画像及び第3の画像)を示し、10f−1及び10f−2は、水平・方向表示部10fを示しており、そのうち、10f−1は、水平面と平行な面を示す水平表示部(第4の画像)であり、10f−2は、方向を示す方向表示部(第3の画像)であり、10bは、操作対象である。なお、仮想空間において、操作対象が載っている地面が水平面に対して、上下しているのであれば、水平・方向表示部10fにおいて、水平表示部10f−1は、操作対象の下の地面と平行となるように、適宜、水平属性の角度が変更されていくとよい。
図11(a)は、操作モード属性が通常モードの場合の表示例である。図11(b)は、操作モード属性が自動移動モードの場合の表示例である。図11(c)は、操作モード属性15cが自動攻撃モードの場合の表示例である。図11(d)は、操作モード属性が探索モードの場合の表示例である。図11(e)は、操作モード属性が選択モードの場合の表示例である。図11(a)ないし(e)を比較すれば分かるように、操作モード属性に応じて、機能状態表示部10eの画像(第3の画像)が変更となる。言い換えるならば、操作モード毎に、第3の画像が変更となっている。
また、機能状態表示部10eは、メータ式になっており、たとえば、図11(a)に示すように、強度属性15dに応じて、色が変化するようになっている。このメータの変化が第1の画像である。図11(a)では、メータ値が3まで変化している。
また、方向表示部10f−2の色が変っている方向が、方向属性によって示されている方向を示す。水平・方向表示部10fが回転することで、色が変っている方向表示部10f−2の部分が、方向を示すこととなる。
図5において、S204の後、表示画像生成部13は、方向属性15f及び強度属性15dに基づいて、操作対象属性16aの位置情報16b、速度情報16c、及び方向情報16dを決定する(S205)。具体的には、一つ前のフレームで示されていた位置情報16aを、方向属性15f及び強度属性15dに基づいて、変更して、次のフレームでの位置情報16aを算出する。算出方法は、特に限定されないが、たとえば、方向属性15f及び強度属性15dに基づいて、移動方向のベクトルを算出して、当該ベクトルの方向と大きさによって、位置情報16aを変更し、次のフレームでの位置情報16aを算出するようにするとよい。
次に、表示画像生成部13は、操作対象属性16aの位置情報16bに基づいて、次のフレームでの視点属性17aを決定する(S206)。具体的には、視点が操作対象と連動して変更する場合は、位置情報16bとの相対的な関係(たとえば、操作対象と一定の距離及び角度を離した地点を視点位置とするなど)を考慮して、視点属性17aを決定する。なお、視点が固定の場合は、視点属性17aは、変更せずにそのままにしておく。なお、視点属性は、フレーム単位での操作対象の移動に連動して変更になる他、後述の図9に示す2本指操作の場合でも変更されるが、図9の動作が行なわれた場合でも、適宜、視点属性17aは変更になっているため、変更後の視点属性17aを用いて、S206の動作を実行することができる。
次に、表示画像生成部13は、S206で決定した視点属性17aに基づいて、その視点からの背景画像及び表示物画像を生成して、表示部10に表示する(S207)。その際、ゲームの進行に合わせて、適宜、背景画像や表示物の内容が変更されることとなる。あわせて、表示画像生成部13は、操作モードが自動攻撃モード又は探索モードの場合には、そのモードに必要な表示物(たとえば、攻撃の画像や探索後の画像など)を表示する(S207)。
次に、表示画像生成部13は、表示位置情報15iで定義されている位置に、S203及びS204で決定した仮想コントローラ画像10aの機能状態表示部10e及び水平・方向表示部10fを表示部10に表示する(S208)。たとえば、表示位置情報15iにおいて、操作対象の上に、仮想コントローラ画像10aを表示することが定義されている場合、表示画像生成部13は、位置情報16bで定義されている操作対象の位置に基づいて、仮想コントローラ画像10aの表示位置を決定し、さらに、視点属性17aで定義されている視点から見たときの仮想コントローラ画像10aを、表示部10に表示することとなる。その他、たとえば、表示位置情報15iにおいて、仮想コントローラ画像10aの表示位置として、固定位置(たとえば、画面の左上や左下など)が定義されている場合、表示画像生成部13は、当該固定位置に仮想コントローラ画像10aを表示することとなる。
仮想コントローラ画像10aの表示に際しては、表示画像生成部13は、視点属性17aで定義されている視点から見たときに、水平部10f−1が仮想空間の水平面若しくは地面などの基準面と平行になるように、水平・方向表示部10fを生成する。また、機能状態表示部10eは、ユーザに対して、常に、正面を向くように表示した方が、現在の強度が分かりやすいため、機能状態表示部10eを生成する際、表示画像生成部13は、機能状態表示部10eが正面を向くように、画像を生成する。
次に、表示画像生成部13は、S205で決定した操作対象属性に基づいて、操作対象画像10bを生成して、表示部10に表示する(S209)。その後、処理の終了指示があるまで、S201ないしS209の動作は、フレーム毎に継続して行われる(S210)。
図5の動作で示すように、本発明のプログラムを実行中のコンピュータ1は、フレーム毎に、最新の仮想コントローラ属性を読み込み、仮想コントローラ画像10aの表示内容を決定して、仮想コントローラ画像10aを表示する。あわせて、コンピュータ1は、最新の仮想コントローラ属性に基づいて、操作対象属性を決定し、最新の操作対象属性に基づいて、操作対象画像10bの表示内容を決定して、操作対象画像10bを表示する。詳細は後述するが、仮想コントローラ属性は、ユーザの操作に応じて、フレーム毎に細かく決定していくこととなり、フレーム毎に決定された仮想コントローラ属性に基づいて、フレーム毎に操作対象画像が決定していくこととなる。したがって、仮想コントローラ画像の状態に連動して、操作対象が移動していくようになり、仮想コントローラ画像を操作することで、操作対象の移動を操作しているとの印象をユーザに与えることとなる。したがって、仮想コントローラ属性をユーザ操作に応じて、細かく制御することができれば、高精度に、操作対象の移動を操作することができることとなる。以下、どのようにして、仮想コントローラ属性をユーザの操作に応じて、細かく制御していくことができるのかについて説明していくこととする。
図6は、操作入力部9に対する操作があった場合のコンピュータ1の動作を示すフローチャートである。図6に示す動作は、操作入力部9に対する操作が行われたときに立ち上がるイベントであり、図4及び図5に示すメインの処理と並行して実行される処理である。
まず、操作があった場合、仮想コントローラ属性変更部14は、操作された範囲が仮想コントローラ画像10aの表示領域内での操作であるか、それとも、仮想コントローラ画像10aの表示領域外での操作であるかを判断する(S301)。仮想コントローラ画像10aの表示領域内での操作とは、たとえば、図13に示されているように、仮想コントローラ画像10aの上で、指で触られた場合の操作のことである。表示領域としては、たとえば、仮想コントローラ画像10aが表示されている画素を用いたり、仮想コントローラ画像10aを近似する円形や矩形、多角形などの領域を用いたりするとよいが、限定されるものではない。
表示領域内での操作の場合、仮想コントローラ属性変更部14は、S302の領域内操作処理(図7)を実行する。一方、表示領域外での操作の場合は、仮想コントローラ属性変更部14は、S303の領域外操作処理(図8及び図9)を実行する。
図7は、図6のS302における領域内操作処理でのコンピュータ1の動作を示すフローチャートである。
図7において、まず、仮想コントローラ属性変更部14は、操作入力部9に入力された操作がどのような操作であったかを認識する(S401)。
タップの操作が行われていた場合(S402)、コンピュータ1は、予め設定情報4aに設定されている操作モードの順にしたがって、次の操作モードを読み込み(S403)、仮想コントローラ属性記憶部15に記憶されている操作モード15cを変更する(S404)。なお、予め設定されている操作モードの順番は、ユーザによって、変更することが可能であるとよい。
このようなS402ないしS404の動作は、図4及び図5に示す動作とは並行して実行されており、操作モード15cが変更された場合、図5に示すフレーム単位での表示処理において、次のフレームの際に、S203において、新しい操作モードに基づいて、機能状態表示部10eの表示内容が決まることとなるので、S208において、新しい操作モードに対応する機能状態表示部10eの画像が画面に表示されることとなる。
S404の後、処理は、リターンすることとなるが、再度、領域内での操作によって、タップがなされた場合、再度、S402ないしS404の動作が実行されて、次の操作モードに切り替えられることとなる。操作モードを切り替える順番は、循環するようになっているとよい。
図12は、領域内で、タップされた場合の仮想コントローラ画像10aにおける機能状態表示部10eの遷移の一例を示す概念図である。図12に示すように、予め設定されている順番(ここでは、通常モード→自動移動モード→自動攻撃モード→探索モード→選択モード→通常モード)の順に従って、機能状態表示部10eの表示内容が変更されていくこととなる。
S401において、ダブルタップであると認識された場合(S405)、仮想コントローラ属性変更部14は、予め設定情報4aに設定されている視点属性の順序にしたがって、次の視点属性を読み込み(S406)、視点属性記憶部17に記憶されている視点属性17aを変更する(S407)。なお、予め設定されている視点属性の順番は、ユーザによって、変更することが可能であるとよい。
S407の後、処理は、リターンすることとなるが、再度、領域内での操作によって、ダブルタップがなされた場合、再度、S405ないしS407の動作が実行されて、次の視点属性に切り替えられることとなる。
このようなS405ないしS407の動作は、図4及び図5に示す動作とは並行して実行されており、視点属性17aが変更された場合、図5に示すフレーム単位での表示処理において、次のフレームの際に、S207、S208、及びS209において、新しい視点属性に基づいて、背景画像や表示物画像、仮想コントローラ画像、操作対象画像の表示内容が決まることとなるので、新しい視点属性に対応する画像が画面に表示されることとなる。
図13は、領域内で、ダブルタップされた場合の画面の遷移の一例を示す概念図である。予め視点属性としては、操作対象の斜め上方からの視点、操作対象の真上からの視点、及び操作対象の正面からの視点の順で、設定されているとする。この場合、図13に示すように、ダブルタップによって、操作対象の斜め上方からの視点が真上からの視点に切り替わり、次のダブルタップによって、真上からの視点が正面からの視点に切り替わり、次のダブルタップによって、正面からの視点が斜め上方からの視点に切り替わることとなる。
S401において、長押しであると認識された場合(S408)、仮想コントローラ属性変更部14は、操作対象をピックアップして移動する処理であると認識して、操作対象のピックアップを示す機能状態表示部10e(たとえば、操作対象と摘むような画像)を表示部10に表示する(S409)。操作対象をピックアップして移動する処理とは、たとえば、ユーザが操作可能なキャラクタ等の操作対象が複数ある場合に、長押しとタッチアンドホールドによって、操作対象を選択して、位置関係を移動させるような処理のことである。
タッチアンドホールドによって、仮想コントローラ画像10a及び操作対象画像10bが指の移動に合わせて、移動され(S410)、ユーザが離した位置に、仮想コントローラ画像10a及び操作対象画像10bが配置されて、それに合わせて、操作対象属性の位置情報16bが変更される(S411)。
図14は、領域内で、長押しがされて、操作対象がピックアップされ、タッチアンドホールドによって、操作対象が移動された場合の画面の遷移の一例を示す概念図である。まず、長押しによって、図14(a)に記載の通常モードの機能状態表示部10eの画像から、図14(b)に記載の操作対象選択モードの画像に切り替わる。その後、タッチアンドホールドによって、表示画像生成部13は、仮想コントローラ画像10a及び操作対象画像10bの表示位置を、指の移動と連動させて、移動させて表示する。そして、図14(c)に示すように、操作入力部9から指が離れたら、表示画像生成部13は、指が離れた位置に仮想コントローラ画像10aの及び操作対象画像を表示する。
図8は、図6のS303における領域外操作処理の内、一本の指で操作された場合のコンピュータ1の動作を示すフローチャートである。図8を参照しながら、領域外で一本の指で操作された場合のコンピュータ1の動作について説明する。なお、図8の動作において、操作モードが自動移動モードの場合は、コンピュータ1は、操作を受け付けずに、そのままリターンとする。
まず、仮想コントローラ属性変更部14は、操作モードを判断する(S501)。操作モードが通常モード又は自動攻撃モードの場合、仮想コントローラ属性変更部14は、操作入力部9での指の接触位置(操作入力部9が指の近接でも動作する場合は近接位置も含む。以下同様。)を認識する(S502)。後述のS511のように、強度属性の変化処理が実行されているため、強度は徐々に変化(たとえば、減少又は増加)していくが、操作入力部9に指が接触した時点で、強度の変化を停止するために、強度属性を固定する(S503)。次のフレームのタイミングが到来したら(S504のYES)、仮想コントローラ属性変更部14は、現時点の接触位置を認識する(S505)。ここで、仮想コントローラ属性変更部14は、接触位置が前回認識した位置から変更されているか否かを判断する(S506)。なお、過敏な反応をさけるため、接触位置の変更があったか否かの判断においては、ある程度の範囲内での変更の場合は、接触位置の変更はなかったとして扱うようにするとよい。
変更されている場合(S506のYES)、それは、接触しながら指が移動したことを意味し、タッチアンドホールドの操作が行なわれたことを意味する。
タッチアンドホールドがなされた場合、仮想コントローラ属性変更部14は、一つ前の接触位置と現在の接触位置とに基づいて、方向属性15fを変更する(S507)。なお、S507において、もし、強度属性15dが0であるなど、停止状態を示している場合は、一定の速度で操作対象が移動するように、方向属性15fの変更と合わせて、強度属性15dを予め設定されている数値まで上昇させるとよい。若しくは、停止状態の場合に方向転換のみを行なうような場合は、仮想コントローラ属性変更部14は、方向属性15fのみを変更することとしてもよい。すなわち、方向転換の場合は、強度属性15dが0の場合も許容されていることとなる。その他、強度属性15dが0である場合は、適宜、予め決められた動作が実現されるように、仮想コントローラ属性変更部14は、仮想コントローラ属性を変更すればよい。
ここで、方向属性15fを変更するためのルールとしては、種々考えられるが、図15を用いて、方向属性15fを変更するためのルールの一例を説明する。
たとえば、図15(a)に示すように、接触位置の移動方向が右方向になった場合、方向表示部10f−2が示す方向は、右方向となるように、方向属性15fが変更される。
また、同(b)に示すように、接触位置の移動方向が左方向となった場合、方向表示部10f−2が示す方向は、左方向となるように、方向属性15fが変更される。同(c)に示すように、接触位置の移動方向が右上方向となった場合、方向表示部10f−2が示す方向は、右上方向となるように、方向属性15fが変更される。同(d)に示すように、接触位置の移動方向が左下方向となった場合、方向表示部10f−2が示す方向は、左下方向となるように、方向属性15fが変更される。
なお、1フレームの間で、一瞬にして、右から左に方向表示部10f−2が示す向きが変更すると不自然と感じる場合、方向属性15fを複数のフレームの間で、徐々に変更しながら、最終的には所望の方向となるように、方向属性15fの変更を補完する処理を行なうとよい。
S507の後、仮想コントローラ属性変更部14は、指が離れたか否かを判断する(S508)。指が離れた場合、仮想コントローラ属性変更部14は、S509の動作に進む。
一方、指が離れずに、接触したままの場合、フレームタイミングの到来毎に、接触位置が変更となっているのであれば(すなわち、S506のYESへの進行であり、タッチアンドホールドの状態である)、S504ないしS507の動作によって、方向属性15fが変更されて、水平・方向表示部10fの表示内容が変更され続ける。さらに、それに合わせて、操作対象の位置情報16bが、S503で固定された強度属性15dに基づいた速度及び変更されていく方向属性15fに追随して変更していくこととなるので、フレーム毎に、操作対象が移動していくように、画面に表示されることとなる。なお、タッチアンドホールド中に、S503において、強度属性10dが固定されているので、固定された強度属性15dによって、操作対象は移動することとなる。また、タッチアンドホールド中に、一端、操作入力部9に接触した状態で、指の移動が止まったとしても、S503において、強度属性10dが固定されているので、固定された強度属性15dによって、方向属性15fが示す方向に、操作対象は移動していくこととなる。
図16は、タッチアンドホールドによって、操作対象の移動方向が変更されるときの様子を示した画面の例である。まず、図16(a)に示すように、画面が接触されると、図16(b)に示すようにメータ値(強度属性15d)が固定され、接触している間、操作対象は、固定されたメータ値に基づいて、移動を行なう。その後、図16(c)に示すように、指が移動されて接触位置が変更となった場合、図16(d)に示すように、メータ値が固定された状態で、方向属性15fが変更となり、それに合わせて、水平・方向表示部10fの表示が変更され、あわせて、操作対象が方向表示の方向に移動することとなる。
このようなタッチアンドホールドによって、仮想コントローラ画像10aの水平・方向表示部10fが示す方向を微調整しながら、指を動かすことで、操作対象の移動方向を細かくコントロールすることができる。従来の特許文献1に記載の発明では、仮想トラックボールは、あくまでも、キャラクタの移動方向を示している指標に過ぎず、トラックボールを操作して、キャラクタを移動させているという感覚をユーザに与えることはできなかった。また、従来の特許文献2に記載の発明では、スワイプしている方向にキャラクタを移動させるだけであり、回転コントローラの回転方向を微調整しながら、キャラクタを移動させるという動作はできなかった。しかし、本発明では、仮想コントローラが示す方向をタッチアンドホールドによって、微調整しながら、操作対象を細かく移動させることができるため、精度の高いコントロールが可能となる。
また、S503において、接触している間は、強度属性15dを固定することができるので、メータ値を見ながら、好みの速度で接触して、強度属性15dを固定し、その状態で、方向属性15fを変更することができるので、方向だけでなく、速度についても、精度よくコントロールすることが可能となる。さらに、後述のS511において、強度属性15dが自動的に変化(減少又は増加)するため、好みの強度属性15dにまで変化した時点で、接触することで、強度属性15dを固定することができ、その点においても、精度よく速度をコントロールすることが可能と言える。
図8に戻り、S509以降の動作について説明する。指が離れた後、仮想コントローラ属性変更部14は、S509において、最終的な操作の内容を認識する。なお、S509において、タッチアンドホールドであると認識するか、タップであると認識するか、スワイプであると認識するか、フリックであると認識するかについては、予め条件を定義付けしておいて、定義付けされた条件に合致する場合に、仮想コントローラ属性変更部14は、操作結果を分類するものとする。たとえば、予め定義している第1の時間までに指が離れたらタップ、第1の時間から予め定義している第2の時間までに指が離れた場合がフリック、第2の時間から予め定義している第3の時間までに指が離れた場合はスワイプ、第3の時間以降に指が離れた場合はタッチアンドホールドというように定義することも可能であるし、その他、指の移動速度を判断材料として、所定の移動速度以上の場合は、フリックであると判断し、それ以外は、スワイプであると判断し、指が離れない場合は、タッチアンドホールドであると判断することも可能であり、限定されるものではない。
S509において、仮想コントローラ属性変更部14が、最終的な操作の内容がタッチアンドホールドであったと認識した場合(S510)、強度属性の変化処理(S511)に進む。
S511の強度属性の変化処理では、予め決められた規則(たとえば、時間進行に沿って、強度属性を徐々に変化させてなど)に従って、強度属性15dの変更が行なわれる。たとえば、強度を示すメータ値を、時間進行に沿って、徐々に小さな値にすることで、1フレームの間に進む距離を徐々に減少させていくことが可能となるので、操作対象が減速していくように、表示させることが可能となる。また、強度を示すメータ値を、時間進行に沿って、徐々に大きな値にすることで、1フレームの間に進む距離を徐々に増加させていくことが可能となるので、操作対象が加速していくように、表示させることが可能となる。
S509において、仮想コントローラ属性変更部14が、最終的な操作の内容がタッチであったと認識した場合(S512)、操作対象が移動中であった場合は、強度属性を0に変更する。強度属性が0となれば、その後のフレームにおいて、操作対象属性16aの位置情報16bが変更しないこととなるので、操作対象が停止することとなる(S513)。また、S512において、操作対象が既に停止中であった場合は、コンピュータ1は、操作対象がアクションを行なうような表示を、表示させる(S513)。その他、タップがあった場合の処理としては、種々考えられ、タップがあった場合の動作は、停止だけに限られない。すなわち、タップがあった場合、コンピュータ1は、操作対象が所定の動作としては、たとえば、停止や攻撃、防御、変身、回転、ワープ、分身などのアクションの他、減速や急減速などの予め決められた動作をするように、操作対象の画像や各種属性を変更するとよい。
S509において、仮想コントローラ属性変更部14が、最終的な操作の内容がスワイプであったと認識した場合(S514)、仮想コントローラ属性変更部14は、スワイプ距離に応じて、強度属性15dを変更する(S515)。
図17は、スワイプ時の画面の例を示す図である。図17(a)に示すように、小さくスワイプされた場合、強度属性15dのメータの振れ幅を小さくする(すなわち、強度属性15dが小さく増加する)ことで、操作対象の移動速度を小さくすることができる。一方、図17(b)に示すように、大きくスワイプされた場合、強度属性15dのメータの振れ幅を大きくする(すなわち、強度属性15dが大きく増加する)ことで、操作対象の移動速度を大きくすることができる。強度属性15dが変化すれば、1フレームの間に進む距離を変化させることができるので、操作対象を早く移動させたり、遅く移動させたりするように、表示させることが可能となる。
S515の後、強度属性の変化処理(S511)に進む。そのため、スワイプによって、スワイプ距離に応じた速度で、操作対象が移動することとなるが、その後、予め設定されている変化率に応じて、減速するように、操作対象が表示されることとなる。
S509において、仮想コントローラ属性変更部14が、最終的な操作の内容がフリックであったと認識した場合(S516)、仮想コントローラ属性変更部14は、現在設定されている強度属性15dに対して、強度属性を加算する処理を行なう(S517)。加算する量は、予め設定されているものとする。たとえば、フリック1回毎に、強度属性15の値が3増加するというように、予め決めておく。フリックの回数に基づいて、強度属性の増減を算出してもよいが、クリックの速度などによって、強度属性の増減を算出してもよい。その他、フリックに関する情報に基づいて、強度属性の増減を算出してもよく、発明としては、フリックに基づいて、強度属性を変更すると定義づけることができる。
図18は、フリック時の画面の例を示す図である。図18(a)に示すように、フリックが1回行なわれると、機能状態表示部10eの示すメータ値が1フリック分上昇するように表示される(図18(b))。さらに、図18(b)の後、再度フリックがなされると(図8のフローチャートとしては、S511の後、再度、S501からの動作が始まることを意味する)、さらに、機能状態表示部10eの示すメータ値が1フリック分上昇するように表示される(図18(c))。このようにして、強度属性15dがフリック毎に増加することとなるので、たとえば、操作対象を徐々に加速させていくような表示を行なうことが可能となる。
図19は、スワイプによる方向変更、移動速度の変更、及び減速処理までの一連の処理が行なわれた場合の表示画面の一例を示す図である。図19(a)において、メータ値が3の時に、画面に指を触れたとして、右上にスワイプされたとする。指が触れた時点で、図8の動作が立ち上がり、S503の処理によって、強度属性15aが固定される。そして、S506において、指の移動が検出されるので、方向族性15fが変更となるため、方向表示部10f−2の示す方向が変更されて、その方向に、操作対象が移動することとなる。その後、複数のフレーム間で、方向変更が行なわれた後、指が離れたことがS508において検出される。すると、S509において、スワイプによる操作であったことが認識されて、図19(a)の右図に示すように、仮想コントローラ画像10aの機能状態表示部10eのメータ値が上昇し、それに合わせて、操作対象の移動速度も上昇することとなる。
その後、図19(b)に示すように、指が離れた状態では、強度属性15dが徐々に変化(ここでは、減少)していき、それに合わせて、機能状態表示部10eのメータ値が徐々に減少していくように表示される。その結果、操作対象も、徐々に減速するように表示されることとなる。
このように、スワイプの距離に応じて、強度属性15dの値を変更することができるだけでなく、フリックによって、段階的に強度属性15dを変更させることが可能である。したがって、ユーザは、スワイプやフリックによって、操作対象の移動速度を微調整することが可能となるので、移動方向だけでなく、移動速度も精度良くコントロールすることが可能となる。
図8の動作説明に戻る。図8のS501において、操作モードが探索モードであると判断された場合、表示画像生成部13は、探索ポイントを画面上に表示させる(S518)。
次に、図8のS501において、操作モードが選択モードであると判断された場合、仮想コントローラ属性変更部14がフリックを検出した場合(S519)、仮想コントローラ属性変更部14がフリックの方向を認識して、フリックの方向に応じて、表示画像生成部13が対象物を選択して表示する(S520)。たとえば、対象物とは、弱点表示などである。S520では、フリックを複数回受け付けることができ、ユーザが適宜、所望の対象物を選択することができるようになっているとする。選択モードで対象物が選択された後、たとえば、その後、タップがなされたとしたら、その対象物に対して攻撃アクションを行なうように、処理がされるとよい。
図9は、図6のS303における領域外操作処理の内、二本の指で操作された場合のコンピュータ1の動作を示すフローチャートである。図9を参照しながら、領域外で二本の指で操作された場合のコンピュータ1の動作について説明する。なお、二本指での操作としては、ピンチ、二本指でのスワイプ、二本指での回転があるとする。
まず、仮想コントローラ属性変更部14は、二本指での操作結果を認識する(S601)。ピンチである場合(S602)、仮想コントローラ属性変更部14は、拡大又は縮小のために、視点属性を変更する(S603)。
S601において、2本指でのスワイプであったと認識された場合(S604)、仮想コントローラ属性変更部14は、アングル変更のために、視点属性を変更する(S605)。この点に付き、図20を参照しながら具体例で説明する。図20は、二本指でスワイプしたときの画面の一例を示す図である。図20(a)に示すように、二本指で下方向にスワイプした場合、視点を上げていき、上げた視点から操作対象及び仮想コントローラを見たとき視線となるように、仮想コントローラ属性変更部14は、視点属性17aを変更する。この際、図20(a)の反時計回りの回転矢印で示したように、水平・方向表示部10fは、水平面に合わせて回転するように表示されることとなるが、状態機能表示部10eについては、メータ値がはっきり分かるようにするために、画面と平行な状態の表示が維持されているとする。ただし、本発明が、それに、限定されるものではない。
一方、図20(b)に示すように、二本指で上方向にスワイプした場合、視点を下げていき、下げた視点から操作対象及び仮想コントローラを見たとき視線となるように、仮想コントローラ属性変更部14は、視点属性17aを変更する。この際、図20(b)の時計回りの回転矢印で示したように、水平・方向表示部10fは、水平面に合わせて回転するように表示されることとなるが、状態機能表示部10eについては、メータ値がはっきり分かるようにするために、画面と平行な状態の表示が維持されているとする。ただし、本発明が、それに、限定されるものではない。
S601において、2本指での回転であったと認識された場合(S606)、仮想コントローラ属性変更部14は、視点向き変更のために、視点属性17aを変更する(S607)。たとえば、2本指で、時計回りに回転された場合、仮想コントローラ属性変更部14は、視点も時計回りの方向に移動するように、視点属性17aを変更する。逆に、2本指で、反時計回りに回転された場合、仮想コントローラ属性変更部14は、視点も反時計回りの方向に移動するように、視点属性17aを変更する。
図10は、操作モードが自動移動モードの場合のフレーム間での動作を示すフローチャートである。自動移動モードに設定されている場合、ユーザの操作とは別に、仮想コントローラ属性が自動で変更されていくこととなる。仮想コントローラ属性が自動で変更すれば、図5で示したS205において、操作対象属性も自動で変更されていくこととなるので、操作対象の画像が自動で変更されていき、結果、操作対象が自動で移動していくこととなる。
図10の動作において、まず、仮想コントローラ属性変更部14は、自動移動モードに関する設定情報4aを読み込む(S701)。自動移動モードに関する設置情報4aとしては、たとえば、移動速度や移動方向などに関する情報がある。移動方向は、一定方向の移動だけではなく、背景画像に追随して移動方向が時間と共に変化する定義なども用いられる。これらの自動移動に関する規則は、予め決められており、予め決められた規則に従って、自動的に仮想コントローラ画像の属性が変更していく。
次に、フレームタイミングが到来した場合(S702のYES)、仮想コントローラ属性変更部14は、自動移動モードの設定情報4aに基づいて、強度属性15d及び方向属性15fを変更する(S703)。これにより、図5のS205の処理において、操作対象属性16aが連動して変更されることとなるので、操作対象の自動移動が実現される。
なお、ここでは、自動移動モードの場合は、仮想コントローラ属性を自動的に変更していくことで、操作対象属性を連動して自動的に変更することとしたが、仮想コントローラ属性の変更を介さずに、直接、操作対象属性を自動的に変更するようにしてもよい。
ここまでで、本発明のプログラムの一実施形態を説明したが、以下、いくつかの変形例について説明する。
(仮想コントローラ画像の変形例)
仮想コントローラ画像の変形例について説明する。図21は、通常モードの際の機能状態表示部10eの画像の変形例を示す図である。機能状態表示部10eにおいては、強度が視覚的に分かるようになっていればよいため、図21に示すように、強度に応じて、上下に色や模様が変化する画像を用いてもよい。また、左右に色や模様が変化する画像であってよい。その他、強度が視覚的に分かるような画像であれば、今まで説明した例に限定されるものではない。たとえば、強度として、赤色、黄色、青色のように、色を変化させることで、強度を表すような機能状態表示部10eが用いられてもよい。
図22は、機能状態表示部10eの画像の他の変形例を示す図である。図22に示すように、機能状態表示部10eとして、球体の画像を用いてもよい。この場合、強度は、第1の画像である球体の回転速度の速度で表すことができる。また、機能モードは、図22に示すように、球体の色や模様の変化等によって、表すことができる。
図21及び図22では、機能状態表示部10eの画像の変形例を示したが、水平・方向表示部10fの画像についても、水平面との位置関係が分かる画像として、たとえば、リング状の形状の他、楕円状や多角形状の形状を用いることができ、また、方向の分かる画像として、4つの矢印の他、少なくとも一つの矢印が用いられていればよく、矢印の形状についても、適宜、選択すればよい。また、矢印の他、指の形状やその他の模試的な形状によって、方向を示すようにしてもよい。
図23は、機能状態表示部10eの画像の他の変形例を示す図である。たとえば、画面を押下した際、押下したことをユーザに示すために、図23に示すように、機能状態表示部10eの画像の色を変更(ここでは、グラデーションによる色合いとしている)することによって、押下感をユーザに与えるようにしてもよい。
(仮想コントローラの使用方法の変形例)
上記までの説明では、仮想コントローラは、仮想空間上で操作対象の移動をコントロールするために用いられることとしたが、仮想空間上で操作対象としては、今までに示したキャラクタ以外にも、たとえば、画面の方が自動スクロールし、操作対象の方が大きく移動しないようなオブジェクトも操作対象となりうる。たとえば、ガンシューティングゲームなどのように、仮想の銃火器はほとんど動かないが、銃撃方向をコントロールするような場合にも、本発明の仮想コントローラを用いることができる。
図24は、ガンシューティングゲームに本発明の仮想コントローラを用いた場合の画面の遷移の例を示す図である。図24(a)及び同(e)に示すように、通常モードの場合は、スワイプによって得られる方向属性15fや強度属性15dに基づいて、所望の方向と強度で敵キャラクタを攻撃しているとする。その際、探索モードに変更されたとすると、図24(b)に示すように、弱点が探索されて、弱点が表示される。そして、選択モードが選択されたとすると、図24(c)に示すように、フリックの方向で、弱点を選択することが可能となる。その際、方向属性15fが変更される。そして、図24(d)に示すように、変更された方向属性15fが示す方向に、通常モードで攻撃を加えることができる。
このように、本発明の仮想コントローラは、操作対象が二次元又は三次元仮想空間上で移動するような場合にのみ限定して使用されるものではなく、何らかの操作対象(図24の例では、銃火器や弾丸など)が画面上を移動するような場合の仮想のコントローラとしても使用することができる。そのような場合であっても、仮想コントローラの操作によって方向属性15f及び強度属性15dを変更し、さらに、銃火器や弾丸の位置情報16bや速度情報16c、方向情報16d、対象情報16e等の操作対象情報16aを方向属性15f及び強度属性15dに基づいて変更し、画面上に、表示させることができる。
その他、種々のゲームやアプリケーション等で仮想コントローラを利用することが可能である。ゲーム以外のアプリケーションの例については、冒頭で述べた通りであるが、何らかの操作対象を有するアプリケーションに本仮想コントローラを適用することが可能である。
(仮想コントローラが二つ以上の場合)
上記実施形態では、仮想コントローラが1つであるとしていたが、仮想コントローラは、画面上、二つ以上表示されていてもよい。以下、仮想コントローラが二つ以上表示される場合のコンピュータ1の動作について説明する。
図25は、二つの仮想コントローラを用いる場合の原理を説明するための図である。二つの仮想コントローラを用いる場合、操作入力部9を、仮想境界線を境に、左指領域と右指領域とに分けることで、左指の操作であるか、右指の操作であるかを操作検出部11が認識できるようにしておく。すなわち、左指領域に指が接触した場合は、左指での操作であるとして、左指での操作用の仮想コントローラ属性を制御していき、右指領域に指が接触した場合は、右指での操作であるとして、右指での操作用の仮想コントローラ属性を制御していく。これによって、左指用及び右指用の二つの仮想コントローラを制御していくことが可能となる。
なお、操作入力部の分割範囲は、図25に示す例に限られるものではなく、上下の分割でもよいし、斜めの分割でもよいし、多角形や曲線による分割でもよく、二つに分割されているのであれば、どのような分割方法であってもよい。また、三つ以上に分割してもよく、その場合、三つ以上の仮想コントローラを利用するようにしてもよい。また、操作入力部の分割については、プログラム全般に渡って2領域に分割されている場合の他、基本を1領域として、必要に応じて、2領域以上に分割するような場合も、本発明に含まれる。
図26は、二つの仮想コントローラを用いる場合に、接触操作があった場合の処理を示すフローチャートである。図26において、操作検出部11は、操作範囲を判断する(S801)。
仮想コントローラの表示領域内での操作の場合は、二つの仮想コントローラの内、操作された方の仮想コントローラについて、領域内操作処理(S802)を実行する。領域内操作処理(S802)は、図7に示した動作と同様である。
一方、表示領域外での操作の場合であって、左指領域での操作の場合は、領域外操作処理(S803)を実行し、右指領域での操作の場合は、領域外操作処理(S804)を実行する。いずれの領域外操作処理も、図8及び図9における処理と同様である。
仮想コントローラが三つ以上の場合も、領域に応じて、領域外操作処理がそれぞれ実行されればよい。
図27は、二つの仮想コントローラ画像を用いる場合の画面の一例を示す図である。図27(a)において、左指の仮想コントローラ10a−1を探索モードに変更し、右指の仮想コントローラ10a−2を通常モードに変更したとする。これにより、同(b)に示すように、弱点が探索されて表示され、右指で、攻撃を避けつつ通常モードで敵キャラに攻撃を加えることが可能となる。
図27(c)に示すように、左指の仮想コントローラ10a−1を選択モードに変更することで、右指で攻撃を避けつつ左指のフリックで弱点を選択して、攻撃を加えることが可能となる。
さらに、図27(d)に示すように、右指の仮想コントローラ10a−2を自動攻撃モードとすれば、弱点を自動的に攻撃することが可能となる。
なお、左指の仮想コントローラ10a−1及び右指の仮想コントローラ10a−2の表示位置は、左右に分かれている必要はなく、どこに表示されていてもよい。
このように、操作検出部11が操作入力部9を二以上の領域に分割して、各領域に対して、仮想コントローラ画像の属性を割り当て、仮想コントローラ属性変更部14が、各領域に対するユーザの操作に応じて、対応する仮想コントローラ画像の属性を変化させることで、二以上の仮想コントローラ画像を用いて、二以上の異なる動作を同時に行なうことが可能となる。
領域の分割についても、ゲームだけに限られるものではない。たとえば、ミーティングテーブルや大画面のディスプレイなどを用いて、一以上の操作対象を複数の者が操作することを目的として、仮想コントローラを各ユーザにそれぞれ割り当てて、各自が仮想コントローラを用いて、一以上の操作対象を操作するようにしてもよい。たとえば、ゲーム以外の使用方法としては、工場や店舗内の画像、CAD画像などを表示装置に表示して、各自に割り当てられた操作領域を操作して、仮想コントローラをコントロールし、操作対象を操作しながら、会議や打ち合わせなどを行なうといったアプリケーションも可能である。繰り返しになるが、これらの用途は、あくまでも一例に過ぎない点、付言しておく。
また、上記では、領域を分割しているため、画面上、全ての領域が何らかの領域に割り当てられているとの誤解が生じる可能性があるが、ここでいう領域の分割とは、画面を全て、操作ができる領域に割り当てる場合に限らず、画面の一部のみ操作ができる領域に分割し、操作ができない領域も画面上に設けられているということも含むものである。それは、2領域以上を用いる場合に限らず、1領域しか用いない場合も、画面の一部のみが操作が可能な領域として割り当てられていることも、当然、本発明に含まれるものである。
(仮想空間上の上下方向への移動に関する変形例)
上記実施形態では、水平・方向表示部10fにおいて、水平表示部10f−1は、仮想空間上の水平面若しくは地面などの基準面を示すように表示することとした。そのため、たとえば、操作対象がジャンプするような動作を行なった場合、仮想コントローラにおける水平・方向表示部10fは、水平面若しくは地面などの基準面と平行となるように、水平表示部10f−1を表示しているに過ぎず、ジャンプの高さを仮想コントローラの表示内容で確認することはできなかった。なお、ジャンプアクションは、たとえば、図5のS202〜S209の間の動作中でシェイクを受け付けることでシェイクが行なわれた際に行なわれたり、図8のS509の操作結果認識でタップが認識されたとき行なわれたりすることで実現できるが、特に限定されない。
ジャンプアクションに応じて、仮想コントローラ画像の表示内容を変更するような実施形態においては、図28に示すように、機能状態表示部10eと水平・方向表示部10fとの位置関係を変更することで、ジャンプの高さを視覚的に分かるようにすることが可能である。ここで、機能状態表示部10eと水平・方向表示部10fとの位置関係が高さを示す第5の画像となる。なお、この際、水平属性15eには、高さ属性が含まれることとなり、当該高さ属性に応じて、表示画像生成部13が、水平・方向表示部10fの高さを調整した仮想コントローラ画像(第5の画像)を生成することとなる。
また、水平属性において、水平表示部10f−1の仰府角に関する属性(仰府角属性)を定義しておき、表示画像生成部13は、水平属性の仰府角属性に基づいて、水平・方向表示部10fの仰府角が変更するように、仮想コントローラ画像(第6の画像)を生成することで、操作対象の上下方向での動きの向きなどを表現することができる。たとえば、飛行機の上昇や下降を、このような仰府角での表示によって表現することが可能である。
また、図29に示すように、仰府角や高度を示すために、さらに、仮想コントローラ画像に、仰府角・高さ表示部(第6の画像)を設けて、仰府角や高度を表示するようにしてもよい。
(画像についての変形例)
上記実施形態では、第1ないし第6の画像を提案したが、その他の画像が仮想コントローラ画像に表示されてよい。たとえば、第7の画像として、操作対象の状態(ゲームプログラムで言えば、毒や麻酔状態となった際の操作ペナルティの状態や、無敵となった時の状態、時間限定でレベルがアップしたときの状態など)を示す画像が、仮想コントローラ画像に含まれていてもよい。
その他、仮想コントローラ画像には、上記に示した例以外の画像が含まれていてもよく、第1ないし第7の画像は、本発明を限定するものではない。
なお、本発明は、上記で説明したプログラムを実行するパーソナルコンピューターやワークステーション、スマートフォン、タブレット端末、デジタルオーディオプレーヤー、その他のコンピュータ装置など、情報処理装置であってもよい。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本明細書に開示されている発明の構成要件は、それぞれ独立に単独した発明として成立するものとする。各構成要件をあらゆる組み合わせ方法で組み合わせた発明も、本発明に含まれることとする。
本発明は、プログラムに関し、産業上利用可能である。
1 コンピュータ
2 表示装置
3 入力部
4 記憶部
4a 設定情報
4b 仮想コントローラ画像データ
4c 操作対象画像データ
4d 背景画像データ
4e 表示物画像データ
5 通信部
6 CUP
7 ROM
8 RAM
9 操作入力部
10 表示部
10a 仮想コントローラ画像
10b 操作対象画像
10c 背景画像
10d 表示物画像
10e 機能状態表示部
10f 水平・方向表示部
10f−1 水平表示部
10f−2 方向表示部
12 制御部
13 表示画像生成部
14 仮想コントローラ属性変更部
11 操作検出部
12 制御部
13 表示画像生成部
15 仮想コントローラ属性記憶部
15a 機能状態表示部属性
15b 水平・方向表示部属性
15c 操作モード属性
15d 強度属性
15e 水平属性
15f 方向属性
15g 事前設定情報
15h 操作強度情報
15i 表示位置情報
16 操作対象属性記憶部
16a 操作対象属性
16b 位置情報
16c 速度情報
16d 方向情報
16e 対象情報
17 視点属性記憶部
17a 視点属性

Claims (33)

  1. 接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備えるコンピュータであって、前記表示装置に表示される仮想コントローラ画像の属性に関する情報を記憶する仮想コントローラ属性記憶部と、前記表示装置に表示される操作対象の属性に関する情報を記憶する操作対象属性記憶部とを備える前記コンピュータを、
    前記仮想コントローラ画像の表示領域外における前記操作入力部におけるユーザの前記操作対象に対する操作に応じて、前記仮想コントローラ属性記憶部に記憶されている前記仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段、及び、
    前記仮想コントローラ属性変更手段によって変更された前記仮想コントローラ画像の属性に基づいて、前記仮想コントローラ画像を生成すると共に、前記仮想コントローラ画像の属性に連動して、前記操作対象属性記憶部に記憶されている前記操作対象の属性を変更し、操作対象が移動していくように、前記表示装置に表示する前記操作対象の画像を生成する表示画像生成手段、
    として機能させることを特徴とする、プログラム。
  2. 接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備えるコンピュータを、
    想コントローラ画像の表示領域外における前記操作入力部におけるユーザの操作対象に対する操作に応じて、前記仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段、及び、
    前記仮想コントローラ属性変更手段によって変更された前記仮想コントローラ画像の属性に基づいて、前記仮想コントローラ画像を生成すると共に、前記仮想コントローラ画像の属性に連動して、前記操作対象が移動していくように、前記表示装置に表示する前記操作対象の画像を生成する表示画像生成手段、
    として機能させることを特徴とする、プログラム。
  3. 前記仮想コントローラ画像には、強度を示す第1の画像及び方向を示す第2の画像の少なくとも一つが含まれていることを特徴とする、請求項1又は2に記載のプログラム。
  4. 前記第1の画像は、前記操作対象の移動速度を表し、
    前記第2の画像は、前記操作対象の移動方向を表すことを特徴とする、請求項3に記載のプログラム。
  5. 前記仮想コントローラ画像には、操作モードを示す第3の画像が含まれていることを特徴とする、請求項1〜4のいずれかに記載のプログラム。
  6. 前記仮想コントローラ画像には、基準面を示す第4の画像が含まれていることを特徴とする、請求項1〜5いずれかに記載のプログラム。
  7. 前記仮想コントローラ画像には、高さを示す第5の画像が含まれていることを特徴とする、請求項1〜6のいずれかに記載のプログラム。
  8. 前記仮想コントローラ画像には、仰俯角を示す第6の画像が含まれていることを特徴とする、請求項1〜7のいずれかに記載のプログラム。
  9. 前記仮想コントローラ画像には、操作対象の状態を示す第7の画像が含まれていることを特徴とする、請求項1〜8のいずれかに記載のプログラム。
  10. 前記操作入力部への前記ユーザによる操作が行なわれた場合、前記仮想コントローラ属性変更手段が、前記ユーザによる操作方向に基づいて、前記仮想コントローラ画像における方向に関する属性を変更するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜9のいずれかに記載のプログラム。
  11. 前記操作入力部への前記ユーザによる操作として、タッチアンドホールドが行なわれている間、前記仮想コントローラ属性変更手段が、タッチアンドホールドの動きに合せて、前記仮想コントローラ画像における方向に関する属性を変更するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜10のいずれかに記載のプログラム。
  12. 前記操作入力部への前記ユーザによる操作が行なわれた場合、前記仮想コントローラ属性変更手段が、前記ユーザによる操作の距離に基づいて、前記仮想コントローラ画像における強度に関する属性を変更するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜11のいずれかに記載のプログラム。
  13. 前記操作入力部への前記ユーザによる操作として、スワイプが行なわれた場合、前記仮想コントローラ属性変更手段が、スワイプの距離に基づいて、前記仮想コントローラ画像における強度に関する属性を変更するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜12のいずれかに記載のプログラム。
  14. 前記操作入力部への前記ユーザによる操作として、フリックが行なわれた場合、前記仮想コントローラ属性変更手段が、フリックに基づいて、前記仮想コントローラ画像における強度に関する属性を変更するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜13のいずれかに記載のプログラム。
  15. 前記操作入力部への前記ユーザによる操作として、タップが行なわれた場合、前記操作対象が所定の動作をするように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜14のいずれかに記載のプログラム。
  16. 前記操作入力部への前記ユーザによる操作として、タップが行なわれた場合、前記仮想コントローラ属性変更手段が、前記操作対象が停止するように、前記仮想コントローラ画像における強度に関する属性を変更するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜15のいずれかに記載のプログラム。
  17. 前記操作入力部への前記ユーザによる操作によって、視点の変更の指示が行なわれた場合、前記表示画像生成手段が、視点を変更した画像を生成するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜16のいずれかに記載のプログラム。
  18. 前記操作入力部への前記ユーザによる操作によって、操作モードの変更の指示が行なわれた場合、前記表示画像生成手段が、変更後の操作モードを示す画像を生成するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜17のいずれかに記載のプログラム。
  19. 前記操作入力部への前記ユーザによる操作によって、前記操作対象をピックアップして移動させる指示が検出された場合、前記表示画像生成手段が、前記操作対象を移動させるように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜18のいずれかに記載のプログラム。
  20. 前記操作入力部への前記ユーザによる操作が行なわれていない間、前記仮想コントローラ属性変更手段が、前記仮想コントローラ画像の強度に関する属性を、予め決められた規則に従って、自動的に変更していくように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜19のいずれかに記載のプログラム。
  21. 操作モードとして、対象物を探索するモードが指定されている場合、前記表示画像生成手段が、対象物を表示するような画像を生成するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜20のいずれかに記載のプログラム。
  22. 操作モードとして、対象物を選択するモードが指定されている場合、前記操作入力部への前記ユーザの操作に基づいて、前記表示画像生成手段が、対象物を選択するような画像を生成するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜21のいずれかに記載のプログラム。
  23. 前記操作入力部に対して、前記ユーザが接触又は近接の操作を行なっている間、前記仮想コントローラ属性変更手段が、前記仮想コントローラ画像における強度に関する属性を固定するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜22のいずれかに記載のプログラム。
  24. 操作モードとして、前記操作対象が自動的に移動するモードが指定されている場合、前記仮想コントローラ属性変更手段が、予め決められた規則に従って、前記仮想コントローラ画像の属性を、自動的に変更していくように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜23のいずれかに記載のプログラム。
  25. 前記表示画像生成手段が、前記表示装置に画像を表示するためのフレーム単位で、前記仮想コントローラ属性変更手段によって生成されている前記仮想コントローラ画像の属性を参照して、前記仮想コントローラ画像及び前記操作対象の画像を生成するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜24のいずれかに記載のプログラム。
  26. 前記操作入力部に対する前記ユーザの操作に対する前記仮想コントローラ画像の強度に関する属性の変化率が調整可能なように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜25のいずれかに記載のプログラム。
  27. 前記操作入力部への前記ユーザによる操作によって、前記操作対象の高度の変更の指示が行なわれた場合、前記表示画像生成手段が、前記操作対象の高度を変更した画像を生成するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜26のいずれかに記載のプログラム。
  28. 前記操作入力部への前記ユーザによる操作によって、前記操作対象の仰俯角の変更の指示が行なわれた場合、前記表示画像生成手段が、前記操作対象の仰俯角を変更した画像を生成するように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜27のいずれかに記載のプログラム。
  29. 前記操作入力部への前記ユーザによる操作を検出する操作検出手段として、前記コンピュータをさらに機能させ、
    前記操作検出手段前記操作入力部を二以上の領域に分割し、当該各領域に対して、前記仮想コントローラ画像の属性を割り当て、前記仮想コントローラ属性変更手段が、当該各領域に対する前記ユーザの操作に応じて、対応する前記仮想コントローラ画像の属性を変化させるように、前記コンピュータを制御するようにしたことを特徴とする、請求項1〜28のいずれかに記載のプログラム。
  30. 接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備える情報処理装置であって、
    前記表示装置に表示される仮想コントローラ画像の属性に関する情報を記憶する仮想コントローラ属性記憶部と、
    前記表示装置に表示される操作対象の属性に関する情報を記憶する操作対象属性記憶部と、
    前記仮想コントローラ画像の表示領域外における前記操作入力部におけるユーザの前記操作対象に対する操作に応じて、前記仮想コントローラ属性記憶部に記憶されている前記仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段と、
    前記仮想コントローラ属性変更手段によって変更された前記仮想コントローラ画像の属性に基づいて、前記仮想コントローラ画像を生成すると共に、前記仮想コントローラ画像の属性に連動して、前記操作対象属性記憶部に記憶されている前記操作対象の属性を変更し、操作対象が移動していくように、前記表示装置に表示する前記操作対象の画像を生成する表示画像生成手段とを備えることを特徴とする、情報処理装置。
  31. 接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備える情報処理装置であって、
    想コントローラ画像の表示領域外における前記操作入力部におけるユーザの操作対象に対する操作に応じて、前記仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段と、
    前記仮想コントローラ属性変更手段によって変更された前記仮想コントローラ画像の属性に基づいて、前記仮想コントローラ画像を生成すると共に、前記仮想コントローラ画像の属性に連動して、前記操作対象が移動していくように、前記表示装置に表示する前記操作対象の画像を生成する表示画像生成手段とを備えることを特徴とする、情報処理装置。
  32. 接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備えるコンピュータであって、前記表示装置に表示される仮想コントローラ画像の属性に関する情報を記憶する仮想コントローラ属性記憶部と、前記表示装置に表示される操作対象の属性に関する情報を記憶する操作対象属性記憶部とを備える前記コンピュータを、
    前記操作入力部におけるユーザの前記操作対象に対する操作に応じて、前記仮想コントローラ属性記憶部に記憶されている前記仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段、及び、
    前記仮想コントローラ属性変更手段によって変更された前記仮想コントローラ画像の属性に基づいて、前記仮想コントローラ画像を生成すると共に、前記仮想コントローラ画像の属性に連動して、前記操作対象属性記憶部に記憶されている前記操作対象の属性を変更し、操作対象が移動していくように、前記表示装置に表示する前記操作対象の画像を生成する表示画像生成手段、
    として機能させることを特徴とする、プログラム。
  33. 接触又は近接操作を受け付ける操作入力部を含む表示装置に接続される或いは当該表示装置を備える情報処理装置であって、
    前記表示装置に表示される仮想コントローラ画像の属性に関する情報を記憶する仮想コントローラ属性記憶部と、
    前記表示装置に表示される操作対象の属性に関する情報を記憶する操作対象属性記憶部と、
    前記操作入力部におけるユーザの前記操作対象に対する操作に応じて、前記仮想コントローラ属性記憶部に記憶されている前記仮想コントローラ画像の属性を変更していく仮想コントローラ属性変更手段と、
    前記仮想コントローラ属性変更手段によって変更された前記仮想コントローラ画像の属性に基づいて、前記仮想コントローラ画像を生成すると共に、前記仮想コントローラ画像の属性に連動して、前記操作対象属性記憶部に記憶されている前記操作対象の属性を変更し、操作対象が移動していくように、前記表示装置に表示する前記操作対象の画像を生成する表示画像生成手段とを備えることを特徴とする、情報処理装置。
JP2017095015A 2017-05-11 2017-05-11 プログラム及び情報処理装置 Active JP6800464B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017095015A JP6800464B2 (ja) 2017-05-11 2017-05-11 プログラム及び情報処理装置
US15/974,162 US10642487B2 (en) 2017-05-11 2018-05-08 Non-transitory memory medium storing information processing program, and information processing apparatus
EP18171761.2A EP3400993A1 (en) 2017-05-11 2018-05-11 Program and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017095015A JP6800464B2 (ja) 2017-05-11 2017-05-11 プログラム及び情報処理装置

Publications (3)

Publication Number Publication Date
JP2018187289A JP2018187289A (ja) 2018-11-29
JP2018187289A5 JP2018187289A5 (ja) 2020-02-27
JP6800464B2 true JP6800464B2 (ja) 2020-12-16

Family

ID=62814769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017095015A Active JP6800464B2 (ja) 2017-05-11 2017-05-11 プログラム及び情報処理装置

Country Status (3)

Country Link
US (1) US10642487B2 (ja)
EP (1) EP3400993A1 (ja)
JP (1) JP6800464B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109568956B (zh) * 2019-01-10 2020-03-10 网易(杭州)网络有限公司 游戏中的显示控制方法、装置、存储介质、处理器及终端
JP7041363B2 (ja) * 2019-06-27 2022-03-24 株式会社カプコン ゲームプログラム、およびゲームシステム
CN110507993B (zh) * 2019-08-23 2020-12-11 腾讯科技(深圳)有限公司 控制虚拟对象的方法、装置、设备及介质
CN111338557B (zh) * 2020-02-25 2021-07-09 网易(杭州)网络有限公司 一种游戏技能的取消释放方法和装置
JP7194953B1 (ja) 2022-06-03 2022-12-23 株式会社アルヴィオン オブジェクト操作用のプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4420730B2 (ja) 2004-05-10 2010-02-24 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び電子機器
JP4163193B2 (ja) * 2005-05-13 2008-10-08 株式会社ソニー・コンピュータエンタテインメント ゲーム装置及びゲーム制御方法
JP5237325B2 (ja) * 2010-04-28 2013-07-17 株式会社スクウェア・エニックス ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
JP5487262B2 (ja) * 2012-08-03 2014-05-07 株式会社コナミデジタルエンタテインメント 操作端末、操作制御方法、操作制御プログラム
JP5563633B2 (ja) 2012-08-31 2014-07-30 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP5480347B2 (ja) * 2012-08-31 2014-04-23 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP5735472B2 (ja) * 2012-10-26 2015-06-17 株式会社 ディー・エヌ・エー ゲーム提供装置
JP6427414B2 (ja) 2014-12-26 2018-11-21 株式会社バンダイナムコエンターテインメント 入力処理装置及びプログラム
JP5876600B1 (ja) 2015-02-26 2016-03-02 株式会社Cygames 情報処理プログラム、及び情報処理方法
JP5865535B1 (ja) 2015-04-16 2016-02-17 株式会社コロプラ ユーザ・インタフェース・プログラム
JP5953418B1 (ja) * 2015-11-10 2016-07-20 株式会社Cygames ユーザ入力の操作性を向上させるプログラム、電子装置、システム及び方法

Also Published As

Publication number Publication date
EP3400993A1 (en) 2018-11-14
US10642487B2 (en) 2020-05-05
JP2018187289A (ja) 2018-11-29
US20190129612A1 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
JP6800464B2 (ja) プログラム及び情報処理装置
EP2917818B1 (en) Mutli-stage gesture
US11833421B2 (en) Program, game control method, and information processing apparatus
CN108196765A (zh) 显示控制方法、电子设备及存储介质
US20150067603A1 (en) Display control device
JP2022518465A (ja) 仮想対象の移動制御方法及びその装置、端末並びにコンピュータプログラム
CN110448904B (zh) 游戏视角的控制方法及装置、存储介质、电子装置
JP2018027231A (ja) プログラム、制御方法、及び情報処理装置
CN109999493B (zh) 游戏中的信息处理方法、装置、移动终端及可读存储介质
CN112044067A (zh) 界面显示方法、装置、设备以及存储介质
CN111880715A (zh) 界面中虚拟控件编辑的方法、装置、移动终端及存储介质
CN113680048B (zh) 一种游戏中摇杆控件的调整方法及装置
US10073609B2 (en) Information-processing device, storage medium, information-processing method and information-processing system for controlling movement of a display area
JP2016095716A (ja) 情報処理装置、情報処理方法、ならびに、プログラム
US20200293155A1 (en) Device and method for providing reactive user interface
CN113440835B (zh) 虚拟单位的控制方法、装置、处理器及电子装置
US11061557B2 (en) Dynamic single touch point navigation
CN114385061A (zh) 操作方法、装置、电子设备和计算机可读存储介质
FI127452B (en) Device for controlling an object shown on a display, method for controlling an object shown on a display and computer software product
JP6480520B2 (ja) プログラム、制御方法、及び情報処理装置
KR20140101276A (ko) 깊이 정보 및 사용자의 공간 제스처에 기초하여 메뉴를 표시하는 방법
US12128301B2 (en) Program, game control method, and information processing apparatus
KR102540798B1 (ko) 사용자 인터페이스 제공 방법 및 모바일 단말
WO2021172092A1 (ja) 情報処理装置、情報処理方法、及びプログラム
KR20160126848A (ko) 사용자의 제스처 입력을 처리하는 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200117

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200117

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200923

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: 20201111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201116

R150 Certificate of patent or registration of utility model

Ref document number: 6800464

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150