【文献】
[YouTube]Unityでバーチャルジョイスティックでアニメーションを操作,[online],2015年 8月26日,公開日:2015年2月12日,URL,https://www.youtube.com/watch?v=isbtD2gKgzk
(58)【調査した分野】(Int.Cl.,DB名)
前記所定の距離が、前記タッチパネルの縦方向および/または横方向の長さに基づいて決定されることを特徴とする、請求項1から3のいずれか一項記載のUIプログラム。
【発明を実施するための形態】
【0009】
これより
図2以降を参照して、本発明の実施形態による、ユーザ・インタフェース(UI)プログラムについて説明する。図中、同一の構成要素には同一の符号を付してある。本発明の実施の形態によるUIプログラムは、主に、スマートフォン・ゲームとしてのゲーム・プログラムの一部を構成する。より詳しくは、本UIプログラムは、ゲーム・プログラムの一部として、仮想空間内においてゲーム・キャラクタの動作を制御するために用いられるものである。
【0010】
図2に示すように、スマートフォン1は、タッチパネル2を備えており、ユーザは当該タッチパネル2上でのタッチ操作を含むユーザ操作を介してゲーム・キャラクタの動作を制御することができる。なお、本実施の形態によるUIプログラムを実行するための携帯端末は、
図2のスマートフォン1に限定さられず、例えば、PDA、タブレット型コンピュータのデバイスなど、タッチパネルを備える端末であれば如何なるデバイスともできることが理解される。
【0011】
図3に示すように、スマートフォン1は、互いにバス接続されたCPU3、主記憶4、補助記憶5、送受信部6、表示部7および入力部8を備える。このうち主記憶4は例えばDRAMなどで構成され、補助記憶5は例えばHDDなどで構成されている。補助記憶5は、本実施の形態によるUIプログラムを記録可能な記録媒体である。補助記憶5に格納されたUIプログラムは、主記憶4上に展開されてCPU3によって実行される。なお、主記憶4上には、CPU3がUIプログラムに従って動作している間に生成したデータやCPU3によって利用されるデータも一時的に格納される。送受信部6はCPU3の制御によりスマートフォン1とネットワークとの間の接続(無線接続および/または有線接続)を確立して各種情報の送受信を行う。表示部7は、CPUでの制御の下でユーザに提示することになる各種情報を表示する。入力部8は、ユーザのタッチパル2に対する入力操作(主に、タッチ操作、スライド(スワイプ)操作およびタップ操作等の物理的接触操作)を検知する。
【0012】
表示部7及び入力部8は、上述したタッチパネル2に相当する。
図4に示すように、タッチパネル2は、入力部8に相当するタッチセンシング部301と表示部7に相当する液晶表示部302とを有する。タッチパネル2は、CPU3による制御の下で、画像を表示して、プレイヤによるインタラクティブなタッチ操作(タッチパネル2における物理的接触操作等)を受け、制御部303での制御に基づいてそれに対応するグラフィックを液晶表示部302に表示する。
【0013】
より具体的には、上記タッチセンシング部301は、ユーザによるタッチ操作に応じた操作信号を制御部303に出力する。タッチ操作は、何れの物体によるものとすることができ、例えば、ユーザの指によりなされてもよいし、スタイラス等を用いてもよい。また、タッチセンシング部301として、例えば、静電容量タイプのものを採用することができるが、これに限定されない。制御部303は、タッチセンシング部301からの操作信号を検出すると、ユーザのキャラクタへの操作指示として判断し、当該指示操作に応じたグラフィック(図示せず)を液晶表示部へ表示信号として送信する処理を行う。液晶表示部302は、表示信号に応じたグラフィックを表示する。
【0014】
これより
図5を参照して、本実施の形態によるUIプログラムとして実装され、携帯端末に機能させる主要な機能のセットについて説明する。当該機能セットを通じて、操作信号としての入力を処理して、表示信号としての出力を生成することになる。当該機能セットは、タッチパネルを通じたユーザ入力操作およびオブジェクト形成に関連するユーザ操作部800、並びに当該ユーザ入力操作に応じてゲームでの仮想空間内のキャラクタの動作を制御してユーザがキャラクタを操作するためのキャラクタ動作制御部900を含む。ユーザ操作部800は、主に、接触判定部810、基準位置・位置合わせ部820、初期形状オブジェクト形成部830、スライド操作判定部840、第1変形オブジェクト形成部850、および第2変形オブジェクト形成部860を含む。
【0015】
接触判定部810では、タッチ操作、即ちタッチパネル上で物体による接触があるかを判定する。接触判定部810で物体による接触が判定されると、初期形状オブジェクト形成部830では、タッチパネル上の接触点の周囲に初期形状を有する初期オブジェクトを表示する。その際、基準位置・位置合わせ部820によってオブジェクトの基準位置がタッチパネル上の接触点に位置合わせされ、これを受けて、初期形状オブジェクト形成部830では、基準位置に関連付けられる初期オブジェクトの初期形状を形成して表示する。
【0016】
スライド操作判定部840では、タッチパネル上で、物体による接触位置からスライド位置までスライド操作が行われたかを判定する。接触位置からスライド位置までスライド操作が判定されると、これに応じて、第1変形オブジェクト形成部850では、初期形状オブジェクト形成部830で生成した初期オブジェクトの形状を変形して第1変形オブジェクトを形成する。初期オブジェクトの形状の変形は、オブジェクトの基準位置およびスライド位置に関連付けることで行われる(後記)。
【0017】
第2変形オブジェクト形成部860では、上記スライド操作により第1変形オブジェクト形成部850で変形オブジェクトを形成する間、スライド操作の距離(即ち、基準位置とスライド位置との距離)を経時的に測定する。そして、スライド移動距離が所定の距離を超えると判断した場合には、当該所定の距離以下となるように上記基準位置をスライド方向に向けて移動させる。より詳細には、基準位置とスライド位置との距離を所定の距離以下に保つように、スライド操作と同時に、またはスライド操作終了後に基準位置を移動させ、その際、第1変形オブジェクト形成部850で形成した第1変形オブジェクトの形状を更に変形させて第2変形オブジェクトを形成する。当該更なる変形は、やはり移動した基準位置およびスライド位置に関連付けることで行われる(後記)。
【0018】
ユーザ操作部800で形成される各種オブジェクト(初期オブジェクト、第1変形オブジェクト、および第2変形オブジェクト)の形状に応じて、キャラクタ動作制御部900では、ゲーム・キャラクタの動作(アクション)が決定される。以下の実施形態では、一例として、スライド操作に伴うオブジェクト生成に関連し、ゲーム・キャラクタを移動させるアクション例を想定するが、これに限定されないことは言うまでもない。
【0019】
本実施の形態によるUIプログラムで実装される上記機能に基づいて、ユーザによるスライド操作に伴いオブジェクトを変形させるための一連の情報処理について
図6のフローチャートを参照して説明する。図示のとおり、フローチャートは、ステップS101で開始し、ステップS102で、接触判定部810によりタッチパネルへの接触判定がなされる。接触判定部810で物体(指)による接触があると判定されると、ステップS103に進み、基準位置・位置合わせ部820によりオブジェクトの基準位置を接触点に位置合わせすると共に、初期形状オブジェクト形成部830により基準位置に関連付けられる初期オブジェクトの初期形状を形成して表示する。
【0020】
次いで、ステップS104に進み、スライド操作判定部840により、タッチパネル上で物体によるスライド操作が行われたかを判定する。スライド操作判定部840でスライド操作がなされたと判定されると、ステップS105に進む。ステップS105では、スライド操作に応じて、第1変形オブジェクト形成部850により、初期形状オブジェクト形成部830で生成した初期オブジェクトの形状を変形させて第1変形オブジェクトを形成および表示する。この変形は、オブジェクトの基準位置およびスライド位置に関連付けられることで行われる(後記)。
【0021】
引き続き、ステップS106に進み、第2変形オブジェクト形成部860によって、基準位置とスライド位置との距離を経時的に測定し、距離が所定の距離以上かについて判定される。その場合、第2変形オブジェクト形成部860は、基準位置とスライド位置との距離を所定の距離以下となるように基準位置を移動させると共に、第1変形オブジェクト形成部850で形成した第1変形オブジェクトの形状を更に、移動した基準位置およびスライド位置に関連付けて変形させることで第2変形オブジェクトを形成する。最後に本処理フローはステップS108で終了する。
【0022】
図5の機能ブロック図および
図6のフローチャートのようにして実装されるUIプログラムを実行した場合のオブジェクト変形に関する実施例について、次に
図7および
図8を参照して説明する。
図7は、
図1に示したバーチャル・ジョイスティックを改良したものに相当する第1実施例を示し、
図8は、別の種別のオブジェクト、即ち弾性アイコンの形成に基づく第2実施例を示したものである。
【0023】
第1実施例(改良バーチャル・ジョイスティック)
図7に示した第1実施例では、
図7(a)から(c)のようにタッチパネル上でオブジェクト100およびゲーム・キャラクタ150が移動する。つまり、
図7(a)では、ゲーム・キャラクタ150−aが画面左上部に表示されており、ユーザはゲーム・キャラクタ150−aを移動させようとして、タッチパネルの任意の位置(ここでは画面左下部)への接触操作を行う(
図6のステップS102)。ここで、タッチパネル上のxy座標における接触位置を(x0,y0)とする。
【0024】
図示のように、接触位置(x0,y0)の周囲に初期オブジェクト(バーチャル・ジョイスティック)100−aが形成および表示される(ステップS103)。初期オブジェクト形成部830において形成される初期バーチャル・ジョイスティック100−aは、初期オブジェクトの周囲に配置される内側オブジェクトおよび外側オブジェクトを含む。より詳細には、接触位置(x0,y0)を中心とした小円C1と該小円の外側の大円C2を含む同心円形状を有し、初期バーチャル・ジョイスティック100−aの2重円の中心を基準位置として接触位置(x0,y0)に関連付けられる。なお、内側オブジェクトおよび外側オブジェクトの形状は円形状に限定されず、多角形等の如何なる形状にもすることができる点が理解されるべきである。
【0025】
初期バーチャル・ジョイスティック100−aが表示された状態で、ユーザがタッチパネル上のスライド操作により、右下方向のスライド位置(x1,y1)までスライドした場合(ステップS104)、
図7(b)のように、第1変形オブジェクト形成部850により、外側オブジェクト(大円)C2の位置を接触位置(x0,y0)に固定したまま、内側オブジェクト(小円)C1’の配置のみを、その中心が接触位置(x0,y0)からスライド位置(x1,y1)に向けてスライド移動させて表示する(ステップS105)。このようにして、初期バーチャル・ジョイスティック100−aの形状が変形されて第1変形バーチャル・ジョイスティック100−bが形成される。なお、当該右下方向へのスライドと連携してゲーム・キャラクタ150−bも右下方向に移動されていることが視認される。
【0026】
引き続き、
図7(c)のように、ユーザがタッチパネル上の更なるスライド操作により右下方向のスライド位置(x2,y2)まで指をスライドした場合であって、スライド操作距離D1が所定の距離dより以上となる場合(ステップS106)、第1変形オブジェクト形成部850により、小円C1’’の配置を更に(x1,y1)からスライド位置(x2,y2)に向けてスライド移動させて表示する。これと共に、第2オブジェクト変形部860により、スライド位置(x2,y2)との距離が所定の距離dを保つように基準位置を(x3,y3)に関連付け、スライド操作と同時に外側オブジェクト(大円)C2’が追従するように(x3,y3)までスライド移動させる(点線矢印)。このようにして、第1変形バーチャル・ジョイスティック100−bの形状を更に変形して第2変形バーチャル・ジョイスティック100−cを形成する(ステップS107)。なお、当該右下方向へのスライドと連携してゲーム・キャラクタ150−cも右下方向に移動されていることが視認される。
【0027】
上記所定の距離は、第1実施例では、外側オブジェクト(大円)C2の半径としてよく、または大円の大きさに基づいて決定するのがよい。これ以外にも、内側オブジェクトの領域が移動した結果、外側オブジェクトの外側にはみ出ることのないように外側オブジェクトを追従させてもよい。また、第2オブジェクト変形部860における基準位置の移動(
図7(c)の点線矢印)は、ユーザによるスライド操作の経路方向に沿って行ってもよいし、スライド位置に向けた直線方向に沿って行ってもよい。
【0028】
第1実施例では、
図1の従来型のバーチャル・ジョイスティックと比べ、ユーザの最初の接触動作が任意の位置でよい点、そして、任意の方向に任意の距離だけスライド操作してバーチャル・ジョイスティックの小円をスライド移動させたとしても、大円もこれに追従することになるため、結果として、表示上の制約を受けず画面全体を使ってダイナミックにユーザ操作可能な点において有利なものとなる。
【0029】
第2実施例(弾性アイコン)
次に、
図8に示した第2実施例では、
図8(a)から(c)のようにタッチパネル上でオブジェクト200およびゲーム・キャラクタ250が移動する。(本実施例のオブジェクトは、弾性体の如く弾性変形するアイコンとして振る舞うことから「弾性アイコン」と称する。)つまり、
図8(a)では、ゲーム・キャラクタ250−aが画面左上部に表示されており、ユーザはゲーム・キャラクタ250−aを移動させようとして、タッチパネルの任意の位置(ここでは、画面中央左部)への接触操作を行う(
図6のステップS102)。ここで、タッチパネル上のxy座標における接触位置を(X0,Y0)とする。
【0030】
図示のように、接触位置(X0,Y0)の周囲に初期弾性アイコン200−aが表示される(ステップS103)。初期オブジェクト形成部830において形成される初期弾性アイコン200−aは、接触位置(x0,y0)を中心とした円形状を有し、初期弾性アイコン200−aの円の中心を基準位置として接触位置(X0,Y0)に関連付けられる。
【0031】
この状態で、ユーザがタッチパネル上でスライド操作を行うことにより、右方向のスライド位置(X1,Y1)までスライド操作した場合(ステップS104)、
図8(b)のように、第1変形オブジェクト形成部850により、接触位置(X0,Y0)からスライド位置(X1,Y1)に向けて円形状を伸張させるように初期オブジェクトの形状を弾性変形して第1変形弾性アイコン200−bを形成および表示する(ステップS105)。なお、当該右方向へのスライドと連携してゲーム・キャラクタ250−bも右方向に移動されていることが視認される。
【0032】
引き続き、ユーザがタッチパネル上で
図8(b)から更に右方向に(X2,Y2)までスライド操作した場合であって、
図8(c)のように、スライド操作距離D2が所定の距離d以上となる場合(ステップS106)、第2オブジェクト変形部860により、スライド位置(X1,Y1)との距離が所定の距離dとなるように基準位置を(X2,Y2)に関連付け、弾性アイコンの後部が(X0,Y0)から基準位置(X3,Y3)に向けて弾性アイコンが萎縮するように追従する。このようにして、弾性アイコン200−bの形状を更に変形させた第2変形弾性アイコン200−cを形成する(ステップS107)。なお、当該右方向へのスライドと連携してゲーム・キャラクタ250−cも右方向に移動されていることが視認される。
【0033】
上記所定の距離dは、第2実施例ではタッチパネルの縦方向の長さおよび/または横方向の長さに基づいて決定するのがよい。また、第2オブジェクト変形部860における基準位置の移動(
図8(c)の点線矢印)は、ユーザによるスライド操作の経路方向に沿って行ってもよいし、スライド位置に向けた直線方向に沿って行ってもよい。
【0034】
第2実施例の弾性アイコンは、第1実施例と同様、ユーザの最初の接触動作が任意の位置でよい点、そして、任意の方向に任意の距離だけスライド操作して、弾性アイコンをスライド移動させたとしても弾性アイコンの後部を追従させることができるため、結果として、表示上の制約を受けず画面全体を使ってダイナミックにユーザ操作可能な点において有利なものとなる。
【0035】
第2実施例における弾性アイコンUIの構成
上記第2実施例で適用する弾性アイコンUIの基本構成について
図9以降を参照して説明する。
図9に示すように、第2実施例による弾性アイコン400は、より詳細には、固定円410、および当該固定円410の内部に位置する弾性オブジェクト420を備えている。先に説明したように、弾性アイコン400は、接触操作判定部810でユーザの指がタッチパネル2に接触したことが検知されるのをトリガにしてタッチパネル2に表示される。弾性オブジェクト420は、図示のように、指接触時の初期形状として、タッチパネル2上の接触点の周囲に円形状を有するように形成される。
【0036】
また、
図10に示すように、第2実施例による弾性オブジェクト420は、タッチパネル上におけるユーザの操作に応じて、弾性体の如く弾性変形を伴って挙動するものである。具体的には、ユーザがタッチパネル2上でスライド操作を行うと、弾性オブジェクト420は、ユーザの指に引っ張られるような弾性変形を伴う。図示のように、弾性オブジェクト420は、スライド操作の接触位置に位置しその位置が固定されている基部430と、スライド操作のスライド位置(注:指は接触した状態である。)付近に位置する先端部450と、基部430と先端部450との間を接続する接続部440とを含むように構成される。(なお、本明細書では基部430、接続部440および先端部450を総称して弾性オブジェクト420と記載することもある。)
このように、弾性アイコンは、スライド操作がされた方向に弾性的に引き延ばすように形成される。即ち、初期円形状をアイコン位置に向けて伸張させることにより、弾性的に変形した弾性オブジェクト420を形成して表示する。なお、
図10では、基部430を先端部450よりも大きくするように弾性オブジェクト420を形成しているが、これに限定されず、逆に、先端部450を基部430よりも大きく形成してもよい。また、ユーザがタッチパネル上において更にスライド移動した場合、先端部450もそれに更に追従して移動し弾性オブジェクト420の延びる向きも変化させるように構成することも可能である。
【0037】
図11は、タッチパネル2への指の接触時に形成される、初期円形状を有する弾性アイコンのUI画像を模式的に示したものである。
図11(a)に示すように、第2実施例による弾性アイコンは、表示される際、略正方形状のUI画像750として画像生成がなされ、ゲーム画像の一部として重畳される。UI画像750は、半透明領域760および透明領域770から成り、半透明領域760が弾性アイコンの基本表示領域として画面表示される。
【0038】
より詳細には、
図11(b)に示すように、第2実施例の弾性アイコンは、略正方形のメッシュ領域に収容され、複数のメッシュ710に分割されたポリゴンとして形成される。
図10(b)では、一例として、UI画像750を4×4=16メッシュに分割して、弾性アイコンを収容しているものの、メッシュに分割する数は限定的でないことが当業者に理解される。そして、本実施の形態によるUIプログラムを通じた弾性アイコンの伸張による変形は、UI画像750をゴムシートの如く伸張する処理、特に、メッシュ毎に伸張する物理演算処理を仮想的に実施することにより実現される。
【0039】
次に
図12および
図13を参照して、上記のメッシュ毎に伸張する物理演算処理について説明する。
図12および
図13は、弾性アイコンの一部を一例として模式的に示したものである。第2実施例による弾性アイコンは、複数のメッシュ710に分割された板状のポリゴン700の各頂点720の座標を動かすことによって弾性変形を表現する。各頂点720はメッシュ状に配置されており、任意の頂点720Aの座標がスライド操作によって移動された場合、その他の頂点720も頂点720Aに関する移動ベクトル(例えば、移動方向および移動距離)に応じて座標が変更される。例えば、頂点720A以外の頂点720の移動距離は、頂点720Aからの距離によって重み付けをしてもよい。即ち、
図12に表すように、頂点720Aからの距離が大きくなるにつれて(頂点720Aから離れるにつれて)座標の変化量が小さくなるようにしてもよい。なお、
図13における白丸は、移動前の(即ち、
図12の)頂点の位置を表している。
【0040】
更に
図14を参照して、これら第2実施例の弾性アイコンの変形処理の基本原理に基づくオブジェクト変形処理例について具体的に説明する。
図14は、第2実施例に基づいて変形される弾性オブジェクト420aの一例を模式的に示したものである。第2実施例では、第1変形オブジェクト形成部850において、スライド操作の方向に沿って、初期形状オブジェクト形成部830で生成した初期円形状をスライド位置に向けて伸張させることにより、変形した弾性オブジェクト420a’を形成する。特に、
図14の例では、分割された複数のメッシュの各頂点の座標を移動させる際に、当該複数のメッシュの各々は、列(#1〜#4)ごとに同一の長方形状を維持したまま(例えばメッシュ#1A〜#1Dは全て同一の長方形状を有している。)、接触終了点に近い列(#1)のメッシュほど、遠い列(#4)のメッシュと比べて累進的に長く伸張させる。
【0041】
一例として、スライド操作による移動距離Lに応じて、各列の伸張率を加重配分するように構成してもよい。
図14の例では、各列について、#4が10%、#3が15%、#2が30%、#1が45%となるように配分している(合計で100%)。更に例えば移動距離を2Lとした場合には、#4が1%、#3が4%、#2が35%、#1が60%といった具合に#1を更に大きくするように加重配分してもよい。
【0042】
なお、上記は弾性アイコンを伸張する例であるが、萎縮させる場合も同様の手法で構成可能であることが当業者にとって理解されるべきである。
図15に模式的に示すように、初期円形状の弾性アイコン(
図15(a))に対し、スライド操作により弾性オブジェクトの先端部を伸張させ(
図15(b)および
図15(c))、スライド操作完了後(
図15(c))、スライド操作の距離が一定距離を超えた場合には、基準位置をスライド移動させることにより基部を移動させ弾性アイコンを萎縮させることができる。このように、第2実施例による弾性アイコンは、スライド操作におけるタッチパネルへの接触位置およびスライド位置に関連付けることで、即ちスライド移動量とスライド方向を決定することにより、弾性アイコンを自在に伸張/萎縮するように形成可能である。
【0043】
第2実施例によるオブジェクト変形処理は、
図16に示すような連続的なスライド操作をユーザが実施する場合に特に有利なものとなる。つまり、
図16(a)のようにユーザが始点1から終点1まで右方向に距離D3ほどスライド操作を実施すると、ゲーム・キャラクタは、弾性アイコンのための有効距離D3に対応した距離だけゲーム内で移動することになる。そして、スライド操作距離D3が所定の距離d以上のときは
図16(b)のように基準位置(始点)が右方向にスライド移動して追従することになる。
【0044】
次いで、ユーザが今度は逆方向(左方向)に距離D4ほどスライド移動操作を実施することを想定する。
図16(b)で基準位置(始点)が右方向にスライド移動して追従したために、
図16(c)のように弾性アイコンのための有効距離D5を確保することができ、ゲーム・キャラクタは、当該距離D5に対応した距離だけ、ゲーム内で移動させる事が可能となることが理解される。仮に、このような基準位置(始点)の追従が構成されない場合には、始点1から左の部分しか弾性アイコンの弾性変形用に確保できず、事実上、弾性アイコン生成は困難であり、ゲーム・キャラクタをゲーム内で左方向に移動させる事は不可能であることが理解される。
【0045】
以上、本発明の実施形態によるUIプログラムについて、各種実施例と共に説明した。上述した実施の形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
【解決手段】本発明によるUIプログラムは、タッチパネル上の任意の接触位置への接触に応じて、基準位置を接触位置に位置合わせして、基準位置に関連付けられる初期オブジェクトを形成して表示する初期オブジェクト形成部、タッチパネル上での接触位置からスライド位置までスライド操作が行われた場合、初期オブジェクトの形状を変形した、基準位置およびスライド位置に関連付けられる第1変形オブジェクトを表示する第1オブジェクト変形部、スライド操作に伴い、スライド位置との距離を所定の距離以下となるように基準位置を移動させ、第1変形オブジェクトの形状を更に変形した、移動した基準位置およびスライド位置に関連付けられる第2変形オブジェクトを表示する第2オブジェクト変形部として携帯端末に機能させる。