(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-29
(45)【発行日】2024-11-07
(54)【発明の名称】仮想環境の画面表示方法、装置、機器及びコンピュータプログラム
(51)【国際特許分類】
A63F 13/5258 20140101AFI20241030BHJP
A63F 13/5255 20140101ALI20241030BHJP
A63F 13/5372 20140101ALI20241030BHJP
A63F 13/837 20140101ALI20241030BHJP
G06F 3/01 20060101ALI20241030BHJP
G06T 19/00 20110101ALI20241030BHJP
【FI】
A63F13/5258
A63F13/5255
A63F13/5372
A63F13/837
G06F3/01 510
G06T19/00 300A
【外国語出願】
(21)【出願番号】P 2023182711
(22)【出願日】2023-10-24
(62)【分割の表示】P 2021564608の分割
【原出願日】2021-03-11
【審査請求日】2023-10-25
(31)【優先権主張番号】202010275544.4
(32)【優先日】2020-04-09
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
【氏名又は名称原語表記】TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
【住所又は居所原語表記】35/F,Tencent Building,Kejizhongyi Road,Midwest District of Hi-tech Park,Nanshan District, Shenzhen,Guangdong 518057,CHINA
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】魏 嘉城
(72)【発明者】
【氏名】胡 ▲勳▼
(72)【発明者】
【氏名】粟 山▲東▼
(72)【発明者】
【氏名】▲張▼ 翔宇
(72)【発明者】
【氏名】▲張▼ 勇
(72)【発明者】
【氏名】▲張▼ 康
【審査官】宇佐田 健二
(56)【参考文献】
【文献】特開2010-252932(JP,A)
【文献】中国特許出願公開第107754308(CN,A)
【文献】特許第5767378(JP,B1)
【文献】特開2016-093361(JP,A)
【文献】特開2016-126514(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98,9/24
G06F 3/01,3/048-3/04895
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
クライアントによって実行される仮想環境の画面表示方法であって、
第1仮想環境画面を表示するステップであって、前記第1仮想環境画面は、第1観察位置を観察中心として前記仮想環境を観察して得られた画面であり、前記第1仮想環境画面には、前記仮想環境にあるマスター仮想キャラクターが表示されているステップと、
第1指向操作によって生成された第1指向命令を受信したことに応答して、第1方向を指す方向型スキルインジケーターを表示するステップであって、前記方向型スキルインジケーターは、前記マスター仮想キャラクターの位置を起点として前記第1方向を指す指向マークであるステップと、
第2仮想環境画面を表示するステップであって、前記第2仮想環境画面は、第2観察位置を観察中心として前記仮想環境を観察して得られた画面であり、前記方向型スキルインジケーターを含むものであり、前記第2観察位置は、前記第1観察位置の前記第1方向にあるか、または、前記第1方向の周辺領域にあるものであるステップと、を含
み、
前記方向型スキルインジケーターの端部は、スキルの最遠作用距離であり、
前記第2仮想環境画面は、前記方向型スキルインジケーターの前記端部を表示するものである、
ことを特徴とする仮想環境の画面表示方法。
【請求項2】
前記第1仮想環境画面及び前記第2仮想環境画面が、前記仮想環境に設定されたカメラモデルによって得られる前記仮想環境の画面であり、第1のカメラ位置に位置する前記カメラモデルの観測中心が第1の観測位置であり、第2のカメラ位置に位置する前記カメラモデルの観測中心が第2の観測位置であり、前記第2のカメラ位置は、前記仮想環境における前記カメラモデルの水平座標位置のみを変更することにより得られることを特徴とする、請求項1に記載の方法。
【請求項3】
第2仮想環境画面を表示する前記ステップは、
前記方向型スキルインジケーターの長さが距離閾値よりも大きいときに応答して、前記第2仮想環境画面を表示するステップであって、前記距離閾値は、前記第1仮想環境画面内で前記マスター仮想キャラクターの位置を起点とする前記第1方向における視野閾値であるステップを含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記第1仮想環境画面及び前記第2仮想環境画面は、前記仮想環境に配置されているカメラモデルにより取得された画面であり、前記観察中心は、前記カメラモデルの位置から観察方向に延びている半直線と前記仮想環境との交点であり、
前記方向型スキルインジケーターの長さが距離閾値よりも大きいときに応答して、前記第2仮想環境画面を表示する前記ステップは、
前記方向型スキルインジケーターの長さが前記距離閾値よりも大きいときに応答して、前記カメラモデルのオフセット量を取得するステップであって、前記オフセット量は、前記カメラモデルの移動方向及び移動距離を決定するためのものであるステップと、
前記オフセット量に応じて前記カメラモデルを第1カメラ位置から第2カメラ位置に移動させるように制御するステップであって、前記第1カメラ位置にある前記カメラモデルの観察中心は、前記第1観察位置であり、前記第2カメラ位置にある前記カメラモデルの観察中心は、前記第2観察位置であるステップと、
前記第2カメラ位置にある前記カメラモデルにより、前記方向型スキルインジケーターを含む前記第2仮想環境画面を表示するステップと、を含むことを特徴とする請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記オフセット量は、前記カメラモデルの視野を示すための視野判定ボックスにより算出されるものであり、
前記方向型スキルインジケーターの長さが前記距離閾値よりも大きいときに応答して、前記カメラモデルのオフセット量を取得する前記ステップは、
前記方向型スキルインジケーターが第1視野判定ボックスを超えたことに応答して、前記方向型スキルインジケーターが前記第1視野判定ボックスを超えた距離により前記カメラモデルの前記オフセット量を取得するステップであって、前記第1視野判定ボックスは、前記第1観察位置を中心点とする視野判定ボックスであるステップを含むことを特徴とする請求項4に記載の方法。
【請求項6】
前記方向型スキルインジケーターが第1視野判定ボックスを超えたことに応答して、前記方向型スキルインジケーターが前記第1視野判定ボックスを超えた距離により前記カメラモデルの前記オフセット量を取得する前記ステップは、
前記方向型スキルインジケーターのオフセット計算点を取得するステップであって、前記オフセット計算点は、前記方向型スキルインジケーターの端部に基づいて決定されるものであるステップと、
前記オフセット計算点が前記第1視野判定ボックス外にあることに応答して、前記オフセット計算点が前記第1視野判定ボックスを超えた超過距離を算出するステップと、
前記超過距離を前記カメラモデルの前記オフセット量として決定するステップと、を含むことを特徴とする請求項5に記載の方法。
【請求項7】
第2指向操作によって生成された第2指向命令を受信したことに応答して、前記第1方向を指す状態から第2方向を指す状態に変更するように前記方向型スキルインジケーターを表示するステップと、
前記第2方向を指す前記方向型スキルインジケーターの前記オフセット計算点が第2視野判定ボックス内にあることに応答して、前記カメラモデルを前記第2カメラ位置からデフォルトカメラ位置の方向へ移動して第3カメラ位置に到達するように制御するステップであって、前記第2視野判定ボックスは、前記第2観察位置を中心点とする視野判定ボックスであり、前記デフォルトカメラ位置は、前記カメラモデルがオフセットしないときの前記カメラモデルの前記仮想環境における位置であるステップと、
前記第3カメラ位置にある前記カメラモデルにより、前記方向型スキルインジケーターを含む第3仮想環境画面を表示するステップと、をさらに含み、
前記第3カメラ位置にある前記カメラモデルの観察中心は第3観察位置であり、前記第3仮想環境画面内の前記方向型スキルインジケーターの前記オフセット計算点は第3視野判定ボックスの境界線と交差し、前記第3視野判定ボックスは前記第3観察位置を中心点とする視野判定ボックスである
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記オフセット量は、前記第1方向に応じて算出されるものであり、
前記方向型スキルインジケーターの長さが距離閾値よりも大きいときに応答して、前記カメラモデルのオフセット量を取得する前記ステップは、
前記方向型スキルインジケーターの長さが前記距離閾値よりも大きいときに応答して、前記第1方向及び固定オフセット距離により前記カメラモデルのオフセット量を取得するステップであって、前記固定オフセット距離は、任意の値であるステップを含むことを特徴とする請求項4に記載の方法。
【請求項9】
前記第1方向及び固定オフセット距離により前記カメラモデルのオフセット量を取得する前記ステップは、
前記第1方向と地面座標系のx軸との第1角度を取得するステップであって、前記地面座標系は、前記マスター仮想キャラクターの位置を原点として前記カメラモデルの観察方向に基づいて作成された地面に平行な直角座標であるステップと、
前記地面座標系で前記第1方向が位置する象限又は座標軸に基づいて、前記第1方向に対応する固定オフセット距離を決定するステップと、
前記第1角度及び前記第1方向に対応する前記固定オフセット距離に基づいて、前記カメラモデルの前記オフセット量を決定するステップと、を含むことを特徴とする請求項8に記載の方法。
【請求項10】
前記固定オフセット距離は、縦方向の固定オフセット距離及び横方向の固定オフセット距離のうちの少なくとも1つを含み、
前記第1角度及び前記第1方向に対応する前記固定オフセット距離に基づいて、前記カメラモデルの前記オフセット量を決定する前記ステップは、
前記第1方向に対応する前記固定オフセット距離が前記横方向の固定オフセット距離を含むことに応答して、前記横方向の固定オフセット距離と前記第1角度のコサイン値との積を横方向のオフセット距離として決定するステップと、
前記第1方向に対応する前記固定オフセット距離が前記縦方向の固定オフセット距離を含むことに応答して、前記縦方向の固定オフセット距離と前記第1角度のサイン値との積を縦方向のオフセット距離として決定するステップと、
前記横方向のオフセット距離及び前記縦方向のオフセット距離のうちの少なくとも1つのオフセット距離を前記カメラモデルの前記オフセット量として決定するステップと、を含むことを特徴とする請求項9に記載の方法。
【請求項11】
前記オフセット量に応じて前記カメラモデルを第1カメラ位置から第2カメラ位置に移動させるように制御する前記ステップは、
前記オフセット量に応じて、前記カメラモデルを所定の移動方式で前記第1カメラ位置から前記第2カメラ位置に移動させるように制御するステップであって、前記所定の移動方式は、等速運動、差動運動、平滑化減衰運動のいずれか1つを含むステップを含むことを特徴とする請求項4に記載の方法。
【請求項12】
前記カメラモデルのオフセット量を取得する前記ステップは、
前記カメラモデルのスキルオフセット量、及びグローバルオフセット量を取得するステップであって、前記スキルオフセット量は、方向型スキルインジケーターの制御命令に基づいて決定されるものであり、前記グローバルオフセット量は、マップドラッグ命令、ミニマップチェック命令、仮想ユニット視点指定命令のうちの少なくとも1つのカメラ制御命令に基づいて決定されるものであるステップと、
前記スキルオフセット量と前記グローバルオフセット量との和を前記カメラモデルのオフセット量として決定するステップと、をさらに含むことを特徴とする請求項4に記載の方法。
【請求項13】
請求項1~12のいずれか1項に記載の方法を実行する、仮想環境の画面表示装置。
【請求項14】
プロセッサと、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶されたメモリと、を含むコンピュータ機器であって、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットが前記プロセッサによってロードされ実行されることにより、請求項1~12のいずれか1項に記載の仮想環境の画面表示方法を実現することを特徴とするコンピュータ機器。
【請求項15】
プロセッサに、請求項1~12のいずれか1項に記載の仮想環境の画面表示方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2020年04月09日に提出された出願番号が202010275544.4で、発明の名称が「仮想環境の画面表示方法、装置、機器及び媒体」である中国特許出願の優先権を要求し、その全ての内容は、引用により本願に組み込まれる。
【0002】
本願の実施例は、マンマシンインタラクションの分野に関し、特に、仮想環境の画面表示方法、装置、機器及び媒体に関する。
【背景技術】
【0003】
対戦ゲームは、複数のユーザーアカウントが同一のシーン内で競技するゲームである。任意的に、対戦ゲームは、マルチプレイヤーオンラインバトルアリーナゲーム(Multiplayer Online Battle Arena Games、MOBA)であってもよい。
【0004】
典型的なMOBAゲームでは、クライアントに表示されている仮想環境画面は、マスター仮想キャラクターを観察中心として仮想環境を観察して得られた画面である。ユーザーは、所定の方向へスキルを解放して所定の方向におけるライバル仮想キャラクターを攻撃するようにマスター仮想キャラクターを制御することができる。ユーザーが所定の方向に照準を合わせるようにマスター仮想キャラクターを制御するときに、仮想環境画面には、スキル解放後の作用範囲をユーザーに示すための方向型スキルインジケーターが表示されている。ライバル仮想キャラクターが方向型スキルインジケーターで示される作用範囲内にある場合に、ユーザーがスキルを解放するようにマスター仮想キャラクターを制御すると、マスター仮想キャラクターがライバル仮想キャラクターを攻撃することができる。
【0005】
マスター仮想キャラクターのスキル作用距離が非常に長く、仮想環境画面に完全な方向型スキルインジケーターを表示できない場合に、方向型スキルインジケーターがターゲットを正確に照準できず、ターゲット照準を実現するために照準操作を数回行う必要があるため、クライアントが無効な演算を数回行い、演算リソースが無駄になってしまう。
【発明の概要】
【課題を解決するための手段】
【0006】
本願の実施例は、スキルインジケーターで示される方向に応じて仮想環境画面の観察位置を変更することにより、方向型スキルインジケーターをより完全に表示し、ユーザーによるターゲット照準時の精度を向上させることができる仮想環境の画面表示方法、装置、機器及び媒体を提供する。上記の技術方案は、以下のとおりである。
【0007】
本願の1つの側面によれば、クライアントによって実行される仮想環境の画面表示方法であって、
第1仮想環境画面を表示するステップであって、前記第1仮想環境画面は、第1観察位置を観察中心として前記仮想環境を観察して得られた画面であり、前記第1仮想環境画面には、前記仮想環境にあるマスター仮想キャラクターが表示されているステップと、
第1指向操作によって生成された第1指向命令を受信したことに応答して、第1方向を指す方向型スキルインジケーターを表示するステップであって、前記方向型スキルインジケーターは、前記マスター仮想キャラクターの位置を起点として前記第1方向を指す指向マークであるステップと、
第2仮想環境画面を表示するステップであって、前記第2仮想環境画面は、第2観察位置を観察中心として前記仮想環境を観察して得られた画面であり、前記方向型スキルインジケーターを含むものであり、前記第2観察位置は、前記第1観察位置の前記第1方向にあるか、または、前記第1方向の周辺領域にあるものであるステップと、を含む仮想環境の画面表示方法を提供する。
【0008】
本願の別の側面によれば、
第1仮想環境画面を表示するための表示モジュールであって、前記第1仮想環境画面は、第1観察位置を観察中心として前記仮想環境を観察して得られた画面であり、前記第1仮想環境画面には、前記仮想環境にあるマスター仮想キャラクターが表示されている表示モジュールと、
第1指向操作によって生成された第1指向命令を受信するためのインタラクションモジュールと、を含む仮想環境の画面表示装置であって、
前記表示モジュールは、第1指向操作によって生成された第1指向命令を受信したことに応答して、第1方向を指す方向型スキルインジケーターを表示するためのものでもあり、前記方向型スキルインジケーターは、前記マスター仮想キャラクターの位置を起点として前記第1方向を指す指向マークであり、
前記表示モジュールは、第2仮想環境画面を表示するためのものでもあり、前記第2仮想環境画面は、第2観察位置を観察中心として前記仮想環境を観察して得られた画面であり、前記方向型スキルインジケーターを含むものであり、前記第2観察位置は、前記第1観察位置の前記第1方向にあるか、または、前記第1方向の周辺領域にあるものである仮想環境の画面表示装置を提供する。
【0009】
本願の別の側面によれば、プロセッサと、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶されたメモリと、を含むコンピュータ機器であって、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットが前記プロセッサによってロードされ実行されることにより、上記のような側面に記載の仮想環境の画面表示方法を実現するコンピュータ機器を提供する。
【0010】
本願の別の側面によれば、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶されたコンピュータ読み取り可能な記憶媒体であって、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットが前記プロセッサによってロードされ実行されることにより、上記のような側面に記載の仮想環境の画面表示方法を実現するコンピュータ読み取り可能な記憶媒体を提供する。
【0011】
本願の別の側面によれば、コンピュータ読み取り可能な記憶媒体に記憶されたコンピュータ命令を含むコンピュータプログラム製品又はコンピュータプログラムを提供する。コンピュータ機器のプロセッサは、前記コンピュータ読み取り可能な記憶媒体から前記コンピュータ命令を読み取り、前記コンピュータ命令を実行することにより、前記コンピュータ機器に上記のような側面に記載の仮想環境の画面表示方法を実行させる。
【0012】
本願の実施例により提供される技術方案は、少なくとも次の有益な効果を与える。
【0013】
観察中心を方向型スキルインジケーターが指す方向に移動させるように制御することにより、仮想環境画面ではマスター仮想キャラクターが観察中心でなくなるため、仮想環境画面に方向型スキルインジケーターをより完全に表示でき、方向型スキルインジケーターが長すぎて完全に表示できないことに起因してターゲットを正確に照準できないことを回避する。よって、方向型スキルインジケーターがターゲットを正確に攻撃でき、さらに、ターゲット照準時間を減らし、クライアントが照準中に多くの無効な演算を行うことを回避し、クライアントの動作効率を高めるとともに、方向型スキルインジケーターがターゲットを照準するときのマンマシンインタラクション効率を向上させる。
【図面の簡単な説明】
【0014】
【
図1】本願の1つの例示的な実施例により提供されるコンピュータシステムの構造のブロック図である。
【
図2】本願の1つの例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図3】本願の1つの例示的な実施例により提供される仮想環境画面の模式図である。
【
図4】本願の1つの例示的な実施例により提供されるスキルウィジェットの使用方法の模式図である。
【
図5】本願の1つの例示的な実施例により提供される方向型スキルインジケーターの模式図である。
【
図6】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図7】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図8】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図9】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図10】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図11】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図12】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図13】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図14】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図15】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図16】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図17】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図18】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図19】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図20】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図21】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図22】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図23】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図24】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図25】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図26】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図27】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図28】本願の別の例示的な実施例により提供される仮想環境画面の模式図である。
【
図29】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図30】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図31】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図32】本願の別の例示的な実施例により提供される仮想環境の画面表示方法の方法フローチャートである。
【
図33】本願の1つの例示的な実施例により提供される仮想環境の画面表示装置の装置ブロック図である。
【
図34】本願の1つの例示的な実施例により提供される端末のブロック図である。
【発明を実施するための形態】
【0015】
まず、本願の実施例に関わる用語を簡単に紹介する。
仮想環境は、アプリケーションが端末上で実行されるときに表示(又は提供)される仮想環境である。当該仮想環境は、現実世界のシミュレーション世界であってもよく、セミシミュレーションとセミフィクションとを組み合わせた3次元世界であってもよく、完全なフィクションの3次元世界であってもよい。仮想環境は、2次元の仮想環境、2.5次元の仮想環境及び3次元の仮想環境のいずれか1つであってもよい。いくつかの実施例において、当該仮想環境は、少なくとも2つの仮想キャラクターの間の仮想環境での対戦にも使用され、当該仮想環境には、少なくとも2つの仮想キャラクターが使用する仮想リソースがある。いくつかの別の実施例において、当該仮想環境には、対称的な左下隅の領域及び右上隅の領域が含まれ、2つの敵対陣営に属する仮想キャラクターは、それぞれ上記の領域のうちの1つを占拠し、相手の領域の奥にある目標建物/拠点/基地/クリスタルの破壊を勝利目標とする。
【0016】
仮想キャラクターは、仮想環境内での可動オブジェクトを指す。この可動オブジェクトは、仮想人物、仮想動物、アニメキャラクターのうちの少なくとも1つであってもよい。いくつかの実施例において、仮想環境が3次元仮想環境である場合に、仮想キャラクターは、3次元の仮想モデルであってもよく、各仮想キャラクターは、それぞれ3次元仮想環境内で独自の形状及び体積を持ち、3次元仮想環境内の空間の一部を占める。いくつかの別の実施例において、仮想キャラクターは、3次元の人体骨格技術に基づいて構築された3次元のキャラクターであり、異なるスキンを装着することで異なる外見を実現する。いくつかの実施形態において、仮想キャラクターは、2.5次元又は2次元モデルによって実現されてもよいが、本願の実施例では、これを限定しない。
【0017】
マルチプレイヤーオンラインバトルアリーナは、仮想環境において、少なくとも2つの敵対陣営に属する異なる仮想チームがそれぞれ各々のマップエリアを占拠し、一定の勝利条件を目標として競技することを意味する。当該勝利条件は、拠点の占領や敵対陣営の拠点の破壊、敵対陣営の仮想キャラクターのキル、所定のシーン及び時間内での自分の生存の確保、あるリソースの争奪、所定の時間内の相手のスコアの超過のうちの少なくとも1つを含むが、これらに限られない。バトルアリーナは、ラウンド単位で行われてもよく、各ラウンドのバトルアリーナのマップは、同じであってもよく、異なってもよい。各仮想チームは、1つまたは複数の仮想キャラクターを含み、1つ、2つ、3つ又は5つなどであってもよい。
【0018】
MOBAゲームは、仮想環境内で複数の拠点を提供し、異なる陣営に属するユーザーが、仮想環境で対戦し、拠点を占領するか敵対陣営の拠点を破壊するように仮想キャラクターを制御するゲームである。例えば、MOBAゲームでは、ユーザーを2つの敵対陣営に分け、ユーザーによって制御される仮想キャラクターが仮想環境に散らばって競い合い、敵の全ての拠点の破壊又は占領を勝利条件としてもよい。MOBAゲームは、ラウンド単位で行われ、MOBAゲームの1ラウンドの持続時間は、ゲームの開始時刻から勝利条件を満たした時刻までの時間である。
【0019】
ユーザーインタフェース(User Interface、UI)ウィジェットは、アプリケーションのユーザーインタフェースに表示される任意の可視ウィジェット又は要素であり、例えば、ピクチャー、入力ボックス、テキストボックス、ボタン、タグなどが挙げられる。UIウィジェットの一部は、ユーザーの操作に応答するものであり、例えば、スキルウィジェットは、スキルを解放するようにマスター仮想キャラクターを制御する。ユーザーは、スキルウィジェットをトリガすることで、スキルを解放するようにマスター仮想キャラクターを制御する。本願の実施例に係るUIウィジェットは、スキルウィジェット、移動ウィジェットを含むが、これらに限られない。
【0020】
図1には、本願の1つの例示的な実施例により提供されるコンピュータシステムの構造のブロック図が示されている。当該コンピュータシステム100は、第1端末110、サーバ120、及び第2端末130を含む。
【0021】
第1端末110には、仮想環境をサポートするクライアント111がインストールされ、実行されており、当該クライアント111は、マルチプレイヤーオンラインバトルプログラムであってもよい。第1端末がクライアント111を実行するときに、第1端末110の画面には、クライアント111のユーザーインタフェースが表示されている。当該クライアントは、軍事シミュレーションプログラム、バトルロイヤルシューティングゲーム、仮想現実(Virtual Reality、VR)アプリケーション、拡張現実(Augmented Reality、AR)プログラム、3次元マッププログラム、仮想現実ゲーム、拡張現実ゲーム、ファーストパーソンシューティングゲーム(First-Person Shooting Game、FPS)、サードパーソンシューティングゲーム(Third-Personal Shooting Game、TPS)、マルチプレイヤーオンラインバトルアリーナゲーム(Multiplayer Online Battle Arena Games、MOBA)、シミュレーションゲーム(Simulation Game、SLG)のいずれか1つであってもよい。本実施例において、当該クライアントがMOBAゲームである場合を例として説明する。第1端末110は、第1ユーザー112が使用する端末であり、第1ユーザー112は、第1端末110を使用して、仮想環境にある第1仮想キャラクターを活動するように制御し、第1仮想キャラクターは、第1ユーザー112のマスター仮想キャラクターと呼ばれてもよい。第1仮想キャラクターの活動は、体の姿勢の調整、這う、歩く、走る、サイクリング、飛行、ジャンプ、運転、ピックアップ、ショット、攻撃、投擲のうちの少なくとも1つを含むが、これらに限られない。例示的に、第1仮想キャラクターは、シミュレーションキャラクター又はアニメキャラクターのような第1仮想人物である。
【0022】
第2端末130には、仮想環境をサポートするクライアント131がインストールされ、実行されており、当該クライアント131は、マルチプレイヤーオンラインバトルプログラムであってもよい。第2端末130がクライアント131を実行するときに、第2端末130の画面には、クライアント131のユーザーインタフェースが表示されている。当該クライアントは、軍事シミュレーションプログラム、バトルロイヤルシューティングゲーム、VRアプリケーション、ARプログラム、3次元マッププログラム、仮想現実ゲーム、拡張現実ゲーム、FPS、TPS、MOBA、SLGのいずれか1つであってもよい。本実施例において、当該クライアントがMOBAゲームである場合を例として説明する。第2端末130は、第2ユーザー113が使用する端末であり、第2ユーザー113は、第2端末130を使用して、仮想環境にある第2仮想キャラクターを活動するように制御し、第2仮想キャラクターは、第2ユーザー113のマスター仮想キャラクターと呼ばれてもよい。例示的に、第2仮想キャラクターは、シミュレーションキャラクター又はアニメキャラクターのような第2仮想人物である。
【0023】
いくつかの実施例において、第1仮想人物と第2仮想人物は、同一の仮想環境にある。いくつかの別の実施例において、第1仮想人物と第2仮想人物は、同一の陣営、同一のチーム、同一の組織に属し、友好関係にあり、又は一時的な通信権限を持つ。いくつかの別の実施例において、第1仮想人物と第2仮想人物は、異なる陣営、異なるチーム、異なる組織に属し、又は敵対関係にある。
【0024】
いくつかの実施例において、第1端末110及び第2端末130にインストールされているクライアントは、同じであるか、または、異なるオペレーティングシステムプラットフォーム(アンドロイド(登録商標)又はIOS)における同種のクライアントである。第1端末110は、複数の端末のうちの一方を広く指してもよく、第2端末130は、複数の端末のうちの他方を広く指してもよく、本実施例において、第1端末110及び第2端末130のみを例として説明する。第1端末110及び第2端末130のデバイスタイプは、同じであってもよいし、異なってもよい。当該デバイスタイプは、スマートフォン、タブレットPC、電子書籍リーダー、MP3プレーヤー、MP4プレーヤー、ラップトップポータブルコンピュータ及びデスクトップコンピュータのうちの少なくとも1つを含む。
【0025】
図1には、2つの端末のみが示されているが、他の実施例において、サーバ120にアクセス可能な複数の他の端末140が存在する。任意的に、開発者に対応する1つまたは複数の端末140がさらに存在する。端末140には、仮想環境をサポートするクライアントの開発・編集プラットフォームがインストールされており、開発者は、端末140でクライアントを編集及び更新し、更新されたクライアントインストールパッケージを有線又は無線ネットワークを介してサーバ120に伝送してもよい。第1端末110及び第2端末130は、サーバ120からクライアントインストールパッケージをダウンロードしてクライアントの更新を実現してもよい。
【0026】
第1端末110、第2端末130及び他の端末140は、無線ネットワーク又は有線ネットワークを介してサーバ120に接続されている。
【0027】
サーバ120は、1つのサーバ、複数のサーバ、クラウドコンピューティングプラットフォーム及び仮想化センターのうちの少なくとも1つを含む。サーバ120は、3次元仮想環境をサポートするクライアントにバックグラウンドサービスを提供するためのものである。いくつかの実施例において、サーバ120は、一次コンピューティング作業を担当し、端末は、二次コンピューティング作業を担当する。或いは、サーバ120は、二次コンピューティング作業を担当し、端末は、一次コンピューティング作業を担当する。或いは、サーバ120と端末とは、分散コンピューティングアーキテクチャによりコラボレーティブコンピューティングを行う。
【0028】
1つの例示的な例において、サーバ120は、プロセッサ122、ユーザーアカウントデータベース123、対戦サービスモジュール124、ユーザー向けの入力/出力インタフェース(Input/Output Interface、I/Oインタフェース)125を含む。プロセッサ122は、サーバ121に記憶された命令をロードし、ユーザーアカウントデータベース123及び対戦サービスモジュール124におけるデータを処理するためのものである。ユーザーアカウントデータベース123は、第1端末110、第2端末130及び他の端末140で使用される、ユーザーアカウントのアバター、ユーザーアカウントのニックネーム、ユーザーアカウントの戦闘力指数、ユーザーアカウントが位置するサービスエリアのようなユーザーアカウントのデータを記憶するためのものである。対戦サービスモジュール124は、ユーザーが1V1対戦、3V3対戦、5V5対戦などの対戦を行う複数の対戦ルームを提供するためのものである。ユーザー向けのI/Oインタフェース125は、無線ネットワーク又は有線ネットワークを介して第1端末110及び/又は第2端末130と通信してデータを交換するためのものである。
【0029】
例示的に、本願により提供される仮想環境の画面表示方法がMOBAゲームに適用される場合を例示する。
【0030】
MOBAゲームでは、ユーザーは、スキルウィジェットを制御することにより、スキルを解放するようにマスター仮想キャラクターを制御することができる。その中で、ユーザーがスキルウィジェットを押すことでスキルウィジェットのホイール型仮想ジョイスティックを呼び出し、ユーザーがホイール型仮想ジョイスティックをスワイプすることでスキル解放方向(照準方向)に照準を合わせ、ユーザーの手がホイール型仮想ジョイスティックから離れることでスキル解放方向にスキルを解放するようにマスター仮想キャラクターを制御するというスキル解放方式がある。ユーザーがスキルウィジェットのホイール型仮想ジョイスティックを呼び出すときに、仮想環境画面には方向型スキルインジケーターが表示され、方向型スキルインジケーターは、マスター仮想キャラクターの位置を起点として照準方向を指す矢印型ウィジェットであり、矢印の長さは、スキルを解放可能な距離に応じて決定される。方向型スキルインジケーターは、スキル解放後の作用範囲を示すためのものである。
【0031】
例示的に、スキルを解放可能な距離が長すぎて、マスター仮想キャラクターの位置をカメラモデルの観察中心として取得された仮想環境画面に完全な方向型スキルインジケーターを表示できない場合に、ユーザーは、方向型スキルインジケーターを観察することでスキルの作用範囲を知ることができない。
【0032】
したがって、本願は、方向型スキルインジケーターが仮想環境画面を超えた場合に、カメラモデルを照準方向にオフセットするように制御することで、仮想環境画面に完全な方向型スキルインジケーターを表示する仮想環境の画面表示方法を提供する。例示的に、本願は、枠当接オフセットと直接オフセットとの2つのカメラモデルのオフセット方法を提供する。
【0033】
枠当接オフセットでは、仮想環境内に視野判定ボックスが画定されている。視野判定ボックスは、その形状が端末のディスプレイの形状(及び他の要素)に応じて決定され、その中心がカメラモデルの仮想環境内での照準位置である。端末のスクリーンが長方形である場合を例として、カメラモデルの仮想環境内での照準位置を視野判定ボックスの中心とし、スクリーンの長さと幅により視野判定ボックスの長さと幅を決定する。視野判定ボックスのサイズがスクリーンよりもやや小さい。視野判定ボックスは、長辺がカメラモデルの観察方向に垂直であり、短辺がカメラモデルの観察方向に平行であるか、または、短辺がカメラモデルの観察方向に垂直であり、長辺がカメラモデルの観察方向に平行である。例示的に、視野判定ボックスがカメラモデルの仮想環境内での移動に伴って移動する。例示的に、カメラモデルがオフセットしないときに、視野判定ボックスの中心は、マスター仮想キャラクターの位置にある。
【0034】
ユーザーは、方向型スキルインジケーターの端部が視野判定ボックスを超えるようにスキルウィジェットを制御するときに、クライアントは、方向型スキルインジケーターの縁が視野判定ボックス内に収まるまでカメラモデルを方向型スキルインジケーターの照準方向へ移動させるように制御する。例示的に、クライアントは、方向型スキルインジケーター上の任意の点(通常は端部)をオフセット計算点として決定する。オフセット計算点が視野判定ボックスを超えたときに、クライアントは、オフセット計算点から視野判定ボックスの上下枠又は左右枠までの垂直オフセット距離を算出し、オフセット計算点の、少なくとも1つの方向及び多くとも2つの方向における垂直オフセット距離に基づいて、カメラモデルのオフセット量を決定し、オフセット量に応じてカメラモデルのオフセットを制御することによって、方向型スキルインジケーターの端部が視野判定ボックス内に収まる。
【0035】
カメラモデルがオフセットするときに、方向型スキルインジケーターの端部が視野判定ボックスの枠に当接する(即ち、方向型スキルインジケーターの端部と視野判定ボックスの枠に交点がある)。このとき、ユーザーは、方向型スキルインジケーターを他の方向に移動させるように制御することで、方向型スキルインジケーターの端部が視野判定ボックス内に位置し、視野判定ボックスの枠に当接しなくなると、クライアントは、カメラモデルがデフォルト位置に戻るまで、カメラモデルをデフォルト位置(マスター仮想キャラクターを観察中心とする位置)へ移動させるように制御することによってインジケーターの端部を再び視野判定ボックスの枠に当接させる。
【0036】
例示的に、枠当接オフセットによりカメラモデルのオフセットを制御する場合に、カメラモデルに最大オフセット距離がある。つまり、オフセット計算点及び視野判定ボックスにより算出された垂直オフセット距離が最大オフセット距離を超えた場合に、垂直オフセット距離ではなく、最大オフセット距離に基づいてカメラモデルのオフセット量を決定する。よって、過度のオフセットによりユーザーがめまいを感じることを回避する。
【0037】
直接オフセットでは、方向型スキルインジケーターと水平方向とがなす角度αに基づいてカメラモデルのオフセット量を決定する。例示的に、開発者は、直接オフセットの方式でオフセットするスキルごとに上オフセット距離、下オフセット距離、左オフセット距離、右オフセット距離を設定する。上オフセット距離、下オフセット距離、左オフセット距離、右オフセット距離は、既定のデフォルト値である。ユーザーがある方向に照準を合わせるように方向型スキルインジケーターを制御した後に、クライアントは、方向型スキルインジケーターと水平方向との間の角度αを取得し、方向型スキルインジケーターの照準方向を判断する。方向型スキルインジケーターの照準方向が右上方向である場合に、カメラモデルの右へのオフセット量=cosα*右オフセット距離であり、カメラモデルの上へのオフセット量=sinα*上オフセット距離であり、次いで、カメラモデルのオフセット量に応じてカメラモデルをオフセットさせるように制御する。
【0038】
例示的に、クライアントは、上記の2つの方式のいずれか一方でカメラモデルをオフセットさせるように制御することにより、方向型スキルインジケーターを仮想環境画面により良好に表示することができる。
【0039】
例示的に、クライアントによって制御されるカメラモデルのオフセットの移動方式は、任意である。例えば、クライアントは、等速でオフセット終点へ移動させるようにカメラモデルを制御してもよく、オフセット終点へ差動運動又は平滑化減衰運動を行うようにカメラモデルを制御してもよい。例示的に、カメラモデルがオフセット位置からデフォルト位置に戻る方式は、等速運動、差動運動、平滑化減衰運動のいずれか1つであってもよい。
【0040】
例示的に、同一のマスター仮想キャラクターの異なるスキルには、異なるカメラモデルのオフセット方式又は移動方式を使用してもよい。
【0041】
図2には、本願の1つの例示的な実施例により提供される仮想環境の画面表示方法のフローチャートが示されている。当該方法は、上記の
図1におけるいずれか1つの端末上で動作するクライアントによって実行されてもよい。当該クライアントは、仮想環境をサポートするものである。当該方法は、以下のステップを含む。
ステップ201において、第1仮想環境画面を表示し、第1仮想環境画面は、第1観察位置を観察中心として仮想環境を観察して得られた画面であり、第1仮想環境画面には、仮想環境にあるマスター仮想キャラクターが表示されている。
【0042】
例示的に、仮想環境画面は、3次元仮想環境に対して画面キャプチャを行って得られたクライアントに表示される2次元画面である。例示的に、仮想環境画面の形状は、端末のディスプレイの形状に応じて決定されるか、または、クライアントのユーザーインタフェースの形状に応じて決定される。端末のディスプレイが長方形である場合を例として、仮想環境画面も、長方形の画面で表示される。
【0043】
第1仮想環境画面は、仮想環境内の第1観察位置を観察中心として得られた仮想環境画面である。観察中心は、仮想環境画面の中心である。観察中心は、仮想環境内で観察位置に対応する。仮想環境画面が長方形の画面である場合を例として、仮想環境画面における長方形の対角線の交点は観察中心である。仮想環境画面内でマスター仮想キャラクターが観察中心にあると仮定すると、マスター仮想キャラクターの仮想環境における位置は、観察位置である。観察位置は、仮想環境内の座標位置である。仮想環境が3次元仮想環境である場合に、観察位置は、3次元座標で示される座標位置である。例示的に、仮想環境内の地面が水平面であれば、観察位置の高さ座標は0であり、このため、観察位置を水平面上の2次元座標で近似的に示してもよい。
【0044】
異なる観察位置を観察中心とする場合に、仮想環境から異なる仮想環境画面を取得することができる。第1仮想環境画面は、第1観察位置を観察中心として取得された仮想環境画面である。第2仮想環境画面は、第2観察位置を観察中心として取得された仮想環境画面である。
【0045】
マスター仮想キャラクターは、クライアントによって制御される仮想キャラクターである。クライアントは、受信したユーザー操作により、マスター仮想キャラクターの仮想環境での活動を制御する。例示的に、マスター仮想キャラクターの仮想環境での活動は、歩行、走る、ジャンプ、登る、伏せる、攻撃、スキルの解放、アイテムのピックアップ、メーセッジの送信を含む。
【0046】
スキルは、仮想キャラクターが使用又は解放し、仮想キャラクター(他の仮想キャラクター及び自分を含む)を攻撃してデバフ効果又はバフ効果を与えるアビリティである。スキルは、アクティブスキル、パッシブスキルを含む。アクティブスキルは、仮想キャラクターがアクティブに使用又は解放するスキルであり、パッシブスキルは、パッシブ条件を満たしたときに自動的にトリガされるスキルである。例示的に、本実施例に述べたスキルは、ユーザーによって制御されるマスター仮想キャラクターがアクティブに使用し、解放するアクティブスキルである。
【0047】
例示的に、マスター仮想キャラクターの仮想環境における位置は、第1観察位置であってもよく、仮想環境内の他の位置であってもよい。例示的に、本実施例により提供される仮想環境画面の表示方法では、仮想環境画面は、デフォルト状況で常にマスター仮想キャラクターを観察中心とするように設定される。デフォルト状況とは、視点の移動又は切り替え動作を行わないときの仮想環境画面の表示状況を指し、例えば、視点の移動又は切り替え動作は、マップをドラッグして周囲の地形を見ること、ミニマップを押して所定の位置の地形を見ること、マスター仮想キャラクターの死亡後に他の仮想キャラクターを観察中心として仮想環境を観察すること、ユーザーが現在の視線範囲外の領域にスキルを解放するようにマスター仮想キャラクターを制御することのうちの少なくとも1つの動作を含む。例示的に、第1仮想環境画面がデフォルト状況で取得された仮想環境画面である場合に、マスター仮想キャラクターは第1観察位置にある。第1仮想環境画面内で視点の移動が行われた場合に、マスター仮想キャラクターが第1観察位置に位置しない可能性があり、さらに、第1仮想環境画面にマスター仮想キャラクターが存在しない可能性がある。
【0048】
例示的に、
図3に示すように、クライアントに表示されている第1ユーザーインタフェースを提供する。第1ユーザーインタフェースには、マスター仮想キャラクター302が表示されている第1仮想環境画面301が含まれる。第1仮想環境画面301は、長方形の形をしており、長方形の対角線の交点には、観察中心303が存在し、観察中心303は、仮想環境内で第1観察位置に対応し、マスター仮想キャラクター302は、第1観察位置にある。例示的に、第1仮想環境画面には、移動ウィジェット304、スキルウィジェット305、攻撃ウィジェット306のようなUIウィジェットが表示されることもあり、移動ウィジェット304は、マスター仮想キャラクターを移動させるように制御するためのものであり、スキルウィジェット305は、スキルを解放するようにマスター仮想キャラクターを制御するためのものであり、攻撃ウィジェット306は、攻撃を開始するようにマスター仮想キャラクターを制御するためのものである。例示的に、UIウィジェットは、第1仮想環境画面301の一部を覆い隠す。
【0049】
ステップ202において、第1指向操作によって生成された第1指向命令を受信したことに応答して、第1方向を指す方向型スキルインジケーターを表示し、方向型スキルインジケーターは、マスター仮想キャラクターの位置を起点として第1方向を指す指向マークである。
【0050】
第1指向操作は、クライアントが受信したユーザー操作であり、クライアントは、受信したユーザー操作に応じて第1指向命令を生成し、第1指向命令により方向型スキルインジケーターを表示する。例示的に、ユーザー操作は、UIウィジェットに対する操作、音声操作、動作操作、文字操作、マウス操作、キーボード操作、ゲームジョイスティック操作のうちの少なくとも1つの操作を含む。例えば、クライアントは、ユーザーの音声命令を認識することで第1指向命令を生成し、ユーザーの動作を認識することで第1指向命令を生成し、ユーザーが入力した文字を認識することで第1指向命令を生成する。例示的に、第1指向操作は、ユーザーのスキルウィジェットでの操作である。
【0051】
例示的に、スキルウィジェットは、ホイール型仮想ジョイスティックウィジェットである。
図4に示すように、第1ユーザーインタフェースには、円形のスキルウィジェット305が表示されており、ユーザーは、スキルウィジェット305を押すことでスキルウィジェットのホイール型仮想ジョイスティック307を呼び出す。ホイール型仮想ジョイスティックは、大円308(ホイール部)と小円309(ジョイスティック部)とからなり、大円308は、ホイール型仮想ジョイスティックの操作可能範囲であり、小円309は、ユーザーの指が現在押している位置であり、ユーザーは、大円308の範囲内で小円309を任意にスワイプすることができる。例示的に、当該ホイール型仮想ジョイスティックは、方向型ジョイスティックであり、小円309が仮想ジョイスティックの中心点310からオフセットする方向に基づいてユーザー操作の方向を決定し、当該方向に応じて、仮想環境内で同じ方向にスキルを解放するようにマスター仮想キャラクターを制御する。例示的に、ユーザーがスキルウィジェットを操作することによりスキルを解放するという操作とは、スキルウィジェットを押してホイール型仮想ジョイスティックを呼び出し、ホイール型仮想ジョイスティックを目標方向にスワイプし、ホイール型仮想ジョイスティックを離してスキルを解放することである。
【0052】
第1指向命令は、第1方向を含む。例示的に、ユーザーは、スキルウィジェットを第1方向に移動させることにより、第1方向を指すように方向型スキルインジケーターを制御する。
【0053】
方向型スキルインジケーターは、方向型スキルに対応するスキルインジケーターである。方向型スキルは、ユーザーの照準方向に応じて解放するスキルである。方向型スキルインジケーターは、仮想環境内に表示されている指向性補助マークである。方向型スキルインジケーターは、ユーザーが照準しやすいように、仮想環境内で現在のユーザー操作に対応するスキル解放方向をユーザーに示すためのものである。例示的に、方向型スキルインジケーターは、マスター仮想キャラクターを起点として仮想環境の地面に表示されている指向マークである。方向型スキルインジケーターが指す方向とユーザーの操作によりスキルウィジェットが指す方向とは、同じである。即ち、仮想環境内の方向型スキルインジケーターと現在ユーザーによって制御されるホイール型仮想ジョイスティックが指す方向とは、一致している。例示的に、仮想環境画面が仮想環境の投影画面であるので、仮想環境画面に表示されている方向型スキルインジケーターが指す方向とホイール型仮想ジョイスティックの方向とは、一致することがあり、わずかにずれることもある。
【0054】
例示的に、方向型スキルインジケーターは、方向に加えて、スキル解放後の作用範囲を示してもよい。例えば、方向型スキルインジケーターの幅及び長さは、スキル解放の幅及び最遠距離に応じて決定される。
【0055】
例示的に、方向型スキルによって、方向型スキルインジケーターのパターンも異なる。
図5に示すように、3つの異なる方向型スキルにそれぞれ対応する3つの方向型スキルインジケーターを提供し、3つの方向型スキルインジケーターが指す方向は、いずれも斜め上45°である。
図5(1)はスキル1に対応し、スキル1は、最遠作用距離を持ち且つユーザーの照準方向に解放するスキルである。スキル1の最遠作用距離は、円311の半径であり、円311の円心は、マスター仮想キャラクターの位置であり、方向型スキルインジケーターは、円311の円心から円311の境界線上のいずれか1つの点を指す。ユーザーがスキルを解放するようにマスター仮想キャラクターを制御するときに、クライアントは、ユーザーが現在照準している方向に応じて、スキルを解放するようにマスター仮想キャラクターを制御し、スキルの作用幅は、方向型スキルインジケーターの幅を参照できる。作用ターゲットは、スキル1の解放範囲内にある場合にスキル1の作用を受ける。
図5(2)はスキル2に対応し、スキル2は、最遠作用距離を持ち且つユーザーの照準方向を基準にして作用ターゲットを自動的にロックするスキルである。例えば、
図5(2)に示すように、ユーザーの現在の照準方向は、斜め上45°であり、方向型スキルインジケーターは、当該方向を中線とする扇形範囲312を示す。ユーザーが現在の照準方向にスキルを解放すると、クライアントは、扇形範囲312内にある作用ターゲットを自動的にロックし、スキル2を作用ターゲットに作用させる。例示的に、スキル2は、スキル1のように最遠作用距離を持ってもよいし、スキル3のように無限の作用距離を持ってもよい。
図5(3)はスキル3に対応し、スキル3は、無限の作用距離を持ち且つユーザーの照準方向に解放するスキルである。つまり、スキル3は、全マップで解放可能なスキルであり、マスター仮想キャラクターがスキルを解放した後に、当該スキルは、マスター仮想キャラクターの位置から照準方向に沿って仮想環境の外に飛び出すまで発射する。例示的に、
図6に示すように、左上隅のミニマップ321から分かるように、現在、仮想環境画面に表示されている仮想環境の範囲は、ミニマップにおける長方形ボックス322で示された範囲であり、仮想環境画面には、スキル3に対応する方向型スキルインジケーター313の一部が表示されており、ミニマップから完全な方向型スキルインジケーター313が見え、当該方向型スキルインジケーター313は、マスター仮想キャラクターの位置からミニマップの縁を指す。
【0056】
例示的に、スキルの作用ターゲットは、仮想環境内の任意の3次元モデルを含む。例えば、他のクライアントによって制御される仮想キャラクター(チームメート又は対戦相手)、クライアント又はサーバによって制御される仮想キャラクター(中立クリープ、動物、植物など)、建物(防御タワー、基地、クリスタルなど)、仮想乗り物(車、飛行機、オートバイなど)である。例示的に、マスター仮想キャラクターによるスキル解放の効果は、仮想アイテムの配置であってもよく、例えば、わな、地雷、視野検知機などの投擲である。
【0057】
例示的に、
図7に示すように、ユーザーインタフェースに表示されている方向型スキルインジケーターを提供する。ユーザーインタフェースの仮想環境画面には、マスター仮想キャラクター302の位置を起点としてスキルウィジェット305が現在照準している第1方向315を指す有向矢印である方向型スキルインジケーター313が表示されている。例示的に、方向型スキルインジケーター313が指す方向とスキルウィジェット305が指す方向とは、同じである。例示的に、方向型スキルインジケーター313の端部は、円314に位置し、円314の半径は、スキルの最遠作用距離である。
【0058】
例示的に、方向型スキルインジケーター313が指す第1方向は、
図8に示すように斜め上方である場合に、第1位置を観察中心として得られた仮想画面から、完全な方向型スキルインジケーター313が見え、ユーザーは、方向型スキルインジケーター313で示される範囲に基づいてスキル解放後の効果を決定することができる。しかし、方向型スキルインジケーターが指す第1方向は、
図9に示すように斜め下方である場合に、第1位置を観察中心として得られた仮想環境画面から、完全な方向型スキルインジケーター313が見えなく、ユーザーは、方向型スキルインジケーターで示される範囲に基づいてスキル解放後の効果を決定することができない。方向型スキルインジケーター313の端部にライバル仮想キャラクターが存在すると仮定すると、ユーザーはライバル仮想キャラクターが見えなければ、正確に照準してスキルを解放することができず、感覚だけでスキルを任意に解放することができる。したがって、ステップ203により、仮想環境画面の観察中心を第1方向に一定の距離移動させ、仮想環境画面により完全な方向型スキルインジケーターを表示できるようになる。
【0059】
ステップ203において、第2仮想環境画面を表示し、第2仮想環境画面は、第2観察位置を観察中心として仮想環境を観察して得られた画面であり、方向型スキルインジケーターを含むものであり、第2観察位置は、第1観察位置の第1方向にあるか、または、第1方向の周辺領域にあるものである。
【0060】
第2観察位置は、仮想環境内で第2仮想環境画面の中心点(観察中心)に対応する位置である。例示的に、第2観察位置は、第1観察位置から第1方向に一定の距離移動した後の位置である。例示的に、第2観察位置は、第1方向の周辺方向に移動したものであり、例えば、第1方向は45°であり、第2観察位置は、第1観察位置から50°の方向に移動したものである。即ち、第2観察位置は、第1観察位置の第1方向にあるか、または、第1観察位置の第1方向における周辺領域にある。第1観察位置を起点として第1方向を指す半直線が第1半直線であると仮定すると、第2観察位置が第2半直線に位置するか、または、第2観察位置から第1半直線までの距離が閾値よりも小さい。第1方向の周辺領域は、第1半直線までの距離が閾値よりも小さい点の集合である。
【0061】
例示的に、第1仮想環境画面から第2仮想環境画面まで、マスター仮想キャラクターの仮想環境における位置が変化していない。マスター仮想キャラクターが第1仮想環境画面内で第1観察位置にあると、第2仮想環境画面にマスター仮想キャラクターを表示できる場合に、マスター仮想キャラクターの位置は、相変わらず第1観察位置である。
【0062】
例示的に、第2仮想環境画面には、完全な方向型スキルインジケーター(方向型スキルインジケーターの端部を含む)が表示されているか、または、比較的に完全な方向型スキルインジケーター(方向型スキルインジケーターの大部分を含むが、その端部を含まない)が表示されている。例示的に、比較的に完全な方向型スキルインジケーターが表示されていることは、観察中心がオフセットしない(相変わらず第1観察位置を観察中心とする)場合と比べると、仮想環境画面により完全な方向型スキルインジケーターが表示されていることを意味している。
【0063】
例示的に、
図10に示すように、第2仮想環境画面317の観察中心は、第2観察位置316である。第1仮想環境画面内でマスター仮想キャラクターが第1観察位置318にあると仮定すると、第2観察位置316は、第1観察位置318の第1方向にあり、方向型スキルインジケーター313も第1方向を指し、このとき、第2仮想環境画面317に完全な方向型スキルインジケーター313を表示することができる。例示的に、
図9に示すように、第1観察位置を観察中心とする仮想環境画面において、ユーザーは、方向型スキルインジケーター313の端部が見えないが、
図10にするように、第2観察位置を観察中心とする第2仮想環境画面において、ユーザーは、方向型スキルインジケーター313の端部、及び、端部にある他の仮想キャラクター319が見え、ユーザーは、他の仮想キャラクター319を照準し、さらに、他の仮想キャラクター319にスキルを解放するように方向型スキルインジケーター313をより正確に制御することができる。
【0064】
以上をまとめると、本実施例に提供される方法では、観察中心を方向型スキルインジケーターが指す方向に移動させるように制御することにより、仮想環境画面ではマスター仮想キャラクターが観察中心でなくなるため、仮想環境画面に方向型スキルインジケーターをより完全に表示でき、方向型スキルインジケーターが長すぎて完全に表示できないことに起因してターゲットを正確に照準できないことを回避する。よって、方向型スキルインジケーターがターゲットを正確に攻撃でき、さらに、ターゲット照準時間を減らし、クライアントが照準中に多くの無効な演算を行うことを回避し、クライアントの動作効率を高めるとともに、方向型スキルインジケーターがターゲットを照準するときのマンマシンインタラクション効率を向上させる。
【0065】
例示的に、方向型スキルインジケーターの長さが現在の仮想環境画面に表示可能な範囲を超えた場合に、観察中心を第2観察位置にオフセットするように制御し、さらに、第2仮想環境画面を表示する。例示的に、観察中心のオフセットは、カメラモデルのオフセットを制御することで実現される。
【0066】
図11には、本願の別の例示的な実施例により提供される仮想環境の画面表示方法のフローチャートが表示されている。当該方法は、上記の
図1におけるいずれか1つの端末上で動作するクライアントによって実行されてもよい。当該クライアントは、仮想環境をサポートするものである。
図2に示す例示的な実施例により、ステップ203はステップ2031を含む。
【0067】
ステップ2031において、方向型スキルインジケーターの長さが距離閾値よりも大きいときに応答して、第2仮想環境画面を表示し、距離閾値は、第1仮想環境画面内のマスター仮想キャラクターの位置を起点とする第1方向における視野閾値である。
【0068】
例示的に、方向型スキルインジケーターは、端部を有し、その長さは、起点から端部までの距離、即ち、マスター仮想キャラクターの位置から端部までの距離、即ち、スキルの最遠作用距離である。例示的に、スキルが全マップで解放するスキルであれば、方向型スキルインジケーターは、端部を持たず、その長さが無限であるため、必ず距離閾値よりも大きい。例示的に、スキルが全マップで解放するスキルであれば、方向型スキルインジケーターとマップの縁との交点を、方向型スキルインジケーターの端部として決定してもよい。
【0069】
距離閾値は、現在の仮想環境画面の第1方向における視野範囲、即ち、第1仮想環境画面の第1方向における視野範囲に応じて決定される。距離閾値は、現在の仮想環境画面の視野範囲が完全又は比較的に完全な方向型スキルインジケーターを表示するのに十分であるか否かを判断するためのものである。例示的に、視野範囲とは、現在の仮想環境画面に表示されている仮想環境の領域範囲を指す。或いは、視野範囲とは、現在の仮想環境画面に表示可能な仮想環境の領域範囲を指す。例示的に、仮想環境画面上にUIウィジェットが重なって表示されているため、UIウィジェットも、現在の仮想環境画面の視野範囲を覆い隠す。そのため、距離閾値は、第1方向におけるUIウィジェットによる覆い隠しの要素を考慮して決定されてもよい。
【0070】
例示的に、距離閾値は、マスター仮想キャラクターの位置から、方向型スキルインジケーターが指す第1方向に沿って、仮想環境画面から見える最も遠い点までの距離である。
図8に示すように、マスター仮想キャラクターの位置から、第1方向に沿って、仮想環境画面の縁までの線分320の長さは、距離閾値である。例示的に、
図6に示すように、第1方向においてミニマップ321により覆い隠される場合に、ユーザーの第1方向における視野範囲は、小さくなり、距離閾値は、それに応じて小さくなる。
【0071】
例示的に、クライアントは、仮想環境に配置されたカメラモデルにより仮想環境を撮像して仮想環境画面を取得する。
図12に示すように、ステップ2031は、ステップ2031-1~ステップ2031-3をさらに含む。
【0072】
ステップ2031-1において、方向型スキルインジケーターの長さが距離閾値よりも大きいときに応答して、カメラモデルの移動方向及び移動距離を決定するためのカメラモデルのオフセット量を取得する。
【0073】
第1仮想環境画面及び第2仮想環境画面は、仮想環境に配置されているカメラモデルにより取得された仮想環境の画面であり、観察中心は、カメラモデルの位置から観察方向に延びている半直線と仮想環境との交点である。
【0074】
カメラモデルは、仮想環境に配置されており、仮想環境画面を取得するためのモデルである。例示的に、カメラモデルは、デフォルト状況で、様々な配置方式があり、例えば、カメラモデルの位置をマスター仮想キャラクターの3次元モデル(例えば、頭又は目)にバインドし、マスター仮想キャラクターの頭又は目の回転に伴ってカメラモデルの撮像方向(観察方向)を回転させ、マスター仮想キャラクターの位置の移動に伴ってカメラモデルの位置を移動させることによって、マスター仮想キャラクターの視点で仮想環境を撮像し、マスター仮想キャラクターの1人称視点での仮想環境画面を得ることができる。カメラモデルの位置をマスター仮想キャラクターの後ろ(背後)に一定の距離及び高さでバインドし、マスター仮想キャラクターの体の回転に伴ってカメラモデルの撮像方向(観察方向)を回転させ、マスター仮想キャラクターの位置の移動に伴ってカメラモデルの位置を移動させることによって、マスター仮想キャラクターの肩越し視点で仮想環境を撮像し、マスター仮想キャラクターの肩越し視点での仮想環境画面を得ることができる。カメラモデルの位置とマスター仮想キャラクターとの相対位置を固定する場合に、例えば、カメラモデルがマスター仮想キャラクターの真下(又は真南方向)に10メートル離れて10メートルの高さに位置する場合に、マスター仮想キャラクターの位置の移動に伴ってカメラモデルの位置を移動させるが、マスター仮想キャラクターの頭や体の回転に伴って撮像方向を変更しないことによって、3人称視点で仮想環境を撮像し、マスター仮想キャラクターを観察対象とする3人称視点での仮想環境画面を得ることができる。例示的に、本実施例のカメラモデルは、デフォルト状況でマスター仮想キャラクターを観察対象として3人称視点で仮想環境を撮像する。例えば、カメラモデルをマスター仮想キャラクターの位置の真南に10メートル離れて10メートルの高さに配置し、斜め下45°の観察方向でマスター仮想キャラクターを撮像する。マスター仮想キャラクターの位置が(0,0,0)であれば、カメラモデルの位置は、(0,-10,10)である。例えば、
図13に示すように、マスター仮想キャラクター302が仮想環境のどこに移動しても、カメラモデル323とマスター仮想キャラクター302との相対位置は、一定であり、カメラモデル323の撮像方向は、マスター仮想キャラクター302の向きによって変化しない。カメラモデル323の観察中心は、カメラモデルの位置から観察方向324に延びている半直線と仮想環境との交点325、即ち、マスター仮想キャラクター302の位置である。例示的に、
図13は、透視法で仮想環境から切り取られた画面であり、2つのカメラモデル323と透視点との距離の違いによって、画面に見えるカメラモデルの撮像方向(観察方向)は、わずかに異なるが、実際にカメラモデルの仮想環境における撮像方向(観察方向)は同じである。
【0075】
例示的に、デフォルト状況で、カメラモデルは、マスター仮想キャラクターを観察中心としてマスター仮想キャラクターを追従しながら撮像する。ユーザーが視点の移動又は変換を行うときに、ユーザーは、カメラモデルの仮想環境における位置を手動で変更してもよいか、または、クライアントは、ユーザーの操作(例えば、スキル解放操作)に応じてカメラモデルの位置を自動的に調整することにより、ユーザーの思い通りにクライアントに仮想環境画面を表示してもよい。例示的に、異なる仮想環境画面を取得するためにカメラモデルを変更する方式は、カメラモデルの水平座標の変更、カメラモデルの高さの変更、カメラモデルの観察方向の変更を含むが、これらに限られない。カメラモデルの水平座標の変更により、カメラモデルの観察位置(仮想環境画面における観察中心)が変化して別の仮想環境画面を取得することができる。水平座標の変更により、観察位置のみが変化し、仮想環境画面における視野範囲の大きさが変化しない。カメラモデルの高さの変更により、カメラモデルの観察位置(仮想環境画面における観察中心)が変化せず、その視野範囲の大きさが変化し、カメラモデルの高さが高いほど、視野範囲が広くなり、得られた仮想環境画面に表示されている仮想環境の範囲が大きくなる。カメラモデルのピッチ角(垂直方向における角度)の変更により、カメラモデルの観察位置及び視野範囲の大きさが同時に変化する。カメラモデルの偏向角(水平方向における角度)の変更により、カメラモデルの観察位置が変化し、視野範囲の大きさが変化しない。
【0076】
例示的に、本実施例は、カメラモデルの仮想環境における水平座標を制御することにより、異なる仮想環境画面を取得し、仮想環境画面により完全な方向型スキルインジケーターを表示する。
【0077】
例示的に、カメラモデルの水平座標を変更するとともに、カメラモデルの高さを上げることにより、仮想環境画面の視野範囲をさらに拡大してもよい。
【0078】
例示的に、カメラモデルの焦点距離、高さ、偏向角、ピッチ角のうちの少なくとも1つのパラメータを変更することによって、より完全な方向型スキルインジケーターを表示してもよい。例えば、カメラモデルの焦点距離によりカメラモデルの視野範囲を拡大し、カメラモデルの高さを上げることにより、カメラモデルの視野範囲を拡大し、カメラモデルのピッチ角や偏向角を制御することにより、方向型スキルインジケーターが指す方向へ偏向させる。例示的に、クライアントは、以上に提供されるカメラモデルの変更方式のいずれか1つ又は複数により、仮想環境画面により完全な方向型スキルインジケーターを表示してもよい。
【0079】
オフセット量は、カメラモデルの移動距離と方向である。オフセット量は、カメラモデルがデフォルト位置からオフセットする距離と方向であり、デフォルト位置は、デフォルト状況でのカメラモデルの位置である。例示的に、カメラモデルがマスター仮想キャラクターを撮像対象としてバインドされる(マスター仮想キャラクターの位置を観察中心とする)場合に、カメラモデルのデフォルト位置は、マスター仮想キャラクターの位置によって決定される。例示的に、水平面に平行な直角座標系を作成した場合、オフセット量は、デフォルト位置から、オフセット後の位置を指す方向ベクトルである。例えば、カメラモデルがデフォルト位置(0,0)から第2カメラ位置(1,1)に移動する場合に、オフセット量は(1,1)である。
【0080】
ステップ2031-2において、オフセット量に応じてカメラモデルを第1カメラ位置から第2カメラ位置に移動させるように制御し、第1カメラ位置にあるカメラモデルの観察中心は、第1観察位置であり、第2カメラ位置にあるカメラモデルの観察中心は、第2観察位置である。
【0081】
例示的に、クライアントは、オフセット量に応じてカメラモデルの仮想環境における水平座標位置を変更することによって、カメラモデルは第1カメラ位置から第2カメラ位置に移動する。例示的に、クライアントは、オフセット量に基づいてカメラモデルの今回のオフセット終点位置を決定する。例示的に、第1カメラ位置は、カメラモデルのデフォルト位置であってもよく、カメラモデルが1回オフセットした位置であってもよい。第1カメラ位置は、カメラモデルがオフセットした位置であれば、カメラモデルが第2カメラ位置にオフセットしたときの総オフセット量は、カメラモデルがデフォルト位置から第1カメラ位置にオフセットしたときの第1オフセット量と、第1カメラ位置から第2カメラ位置にオフセットしたときの第2オフセット量との和に等しい。
【0082】
例えば、
図14に示すように、方向型スキルインジケーター313は左方向を指しており、カメラモデルが第1カメラ位置326に位置するときに取得された第1仮想環境画面の第1視野範囲327に完全な方向型スキルインジケーター313を表示できない場合に、カメラモデルを第2カメラ位置328に移動させるように制御することで、第2カメラ位置328で取得された第2仮想環境画面の第2視野範囲329に完全な方向型スキルインジケーター313が表示される。
【0083】
第1仮想環境画面は、第1カメラ位置にあるカメラモデルで取得されたものであり、その観察中心が第1観察位置である。第2仮想環境画面は、第2カメラ位置にあるカメラモデルで取得されたものであり、その観察中心が第2観察位置である。
【0084】
例示的に、オフセット量に基づいてカメラモデルのオフセット終点を決定でき、次いで、予め設定された移動方式に応じてカメラモデルをオフセット起点からオフセット終点まで徐々に移動させるように制御することによって、クライアントに表示されている仮想環境画面は、瞬時にジャンプする画面ではなく、連続的に移動している画面である。
図15に示すように、ステップ2031-2は、ステップ2031-21をさらに含む。
【0085】
ステップ2031-21において、オフセット量に応じて、カメラモデルを所定の移動方式で第1カメラ位置から第2カメラ位置に移動させるように制御し、所定の移動方式は、等速運動、差動運動、平滑化減衰運動のいずれか1つを含む。
【0086】
例示的に、カメラモデルがオフセットしている中で、クライアントに表示されている仮想環境画面が連続性を有するために、カメラモデルは、第1カメラ位置から第2カメラ位置に直接ジャンプせず、第1カメラ位置から第2カメラ位置まで移動している中で複数フレームの画面を経るため、クライアントは、異なる移動方式によりカメラモデルが各フレームの画面で移動すべき位置を算出し、当該位置にあるカメラモデルにより当該フレームの画面を取得する。
【0087】
例示的に、移動方式は、カメラモデルを第2カメラ位置に一定の速度で移動させるように制御する等速移動であってもよい。例えば、カメラモデルのオフセット量が10メートルであり、クライアントがカメラモデルを100フレームの画面の後に目標位置に移動させるように制御する必要がある場合に、画面の1フレームごとにカメラモデルは、0.1メートル移動する必要がある。
【0088】
例示的に、移動方式は、差動運動であってもよい。差動運動は、カメラモデルの現在位置、目標位置及び移動比率に基づいてカメラモデルの各フレームの画面における位置を決定する。例えば、移動比率を0.1とすると、クライアントは、前のフレームの画面におけるカメラモデルの位置と目標位置との差を算出し、次いで、カメラモデルを目標位置に向かって当該差の0.1倍の距離で移動させるように制御する。目標位置が10であり、現在位置が0である場合に、カメラモデルは、次のフレームで10*0.1=1移動して1の位置に到達し、さらに次のフレームで(10-1)*0.1=0.9移動して1.9の位置に到達し、さらに次のフレームで(10-1.9)*0.1=0.81移動して2.71の位置に到達する。このような方法で移動する場合に、カメラモデルは、目標位置に到達することはなく、無限に近づくだけである。したがって、移動比率を0から1へと変化するように設定してもよく、移動比率を1にする場合に、カメラモデルは、目標位置に移動する。差動運動は、距離差及び移動比率に基づいて移動距離を決定する運動である。
【0089】
例示的に、移動方式は、平滑化減衰運動であってもよい。平滑化減衰運動は、既定の移動時間及び平滑化関数に基づいて移動距離を決定する運動である。平滑化関数は、ブラックボックス関数である。平滑化関数は、スプリングダンパーに類似する関数である。
【0090】
例示的に、クライアントは、異なるスキル(方向型スキルインジケーターの大きさ、オフセット量など)ごとに異なる移動方式でカメラモデルの移動を制御してもよいし、ユーザーが選択した移動方式でカメラモデルの移動を制御してもよい。
【0091】
ステップ2031-3において、第2カメラ位置にあるカメラモデルにより、方向型スキルインジケーターを含む第2仮想環境画面を表示する。
【0092】
例示的に、カメラモデルが第2カメラ位置に移動した後に、クライアントは、カメラモデルで取得された仮想環境の画面を第2仮想環境画面として決定する。
【0093】
以上をまとめると、本実施例により提供された方法では、方向型スキルインジケーターが仮想環境画面に完全に表示できない場合に、仮想環境画面の観察中心を移動させることによって、方向型スキルインジケーターをより完全に表示し、方向型スキルインジケーターがターゲットを正確に攻撃でき、さらに、ターゲット照準時間を減らし、クライアントが照準中に多くの無効な演算を行うことを回避し、クライアントの動作効率を高めるとともに、方向型スキルインジケーターがターゲットを照準するときのマンマシンインタラクション効率を向上させる。
【0094】
本実施例により提供される方法では、さらに、カメラモデルのオフセット量を算出することによって、カメラモデルの移動を正確に制御し、よって、カメラモデルが目標カメラ位置に正確に移動でき、仮想環境画面の観察中心の移動を制御し、仮想環境画面に完全な方向型スキルインジケーターを表示し、スキル解放の精度の向上に寄与し、クライアントの照準中の無効な演算を減らすとともに、スキル照準のマンマシンインタラクション効率を向上させる。
【0095】
本実施例により提供される方法では、さらに、異なる移動方式でカメラモデルを第1カメラ位置から第2カメラ位置に移動させるように制御することによって、クライアントに表示されている仮想環境画面は、連続的に移動している画面となり、仮想環境画面のジャンプが速すぎてユーザーがめまいを感じることを回避する。
【0096】
例示的に、本願の実施例では、2つのオフセット量の算出方法が含まれる。第1の方法では、視野判定ボックスに基づいてカメラモデルのオフセット量を算出する。
【0097】
図16には、本願の1つの例示的な実施例により提供される仮想環境の画面表示方法のフローチャートが示されている。当該方法は、上記の
図1におけるいずれか1つの端末上で動作するクライアントによって実行されてもよい。当該クライアントは、仮想環境をサポートするものである。
図12に示す例示的な実施例により、ステップ2031-1は、ステップ2031-11を含む。
【0098】
ステップ2031-11において、方向型スキルインジケーターが第1観察位置を中心点とする第1視野判定ボックスを超えたことに応答して、方向型スキルインジケーターが第1視野判定ボックスを超えた距離によりカメラモデルのオフセット量を取得する。
【0099】
オフセット量は、カメラモデルの視野を示すための視野判定ボックスにより算出される。
【0100】
例示的に、視野判定ボックスは、ユーザーインタフェースに表示されている仮想環境画面の視野範囲を示すためのものである。例示的に、視野判定ボックスは、端末のディスプレイに表示されている仮想環境画面の視野範囲に応じて画定されたものである。例示的に、視野判定ボックスは、仮想環境内で仮想環境に現在表示されている領域範囲を丸で囲むためのものである。計算しやすくするために、視野判定ボックスを長方形とすることが一般的であり、当該長方形のアスペクト比は、ユーザーインタフェースのアスペクト比又はディスプレイのアスペクト比に応じて決定される。例示的に、ユーザーインタフェースに仮想環境画面を覆い隠す一部のUIウィジェットがある場合に、当該UIウィジェットの形状に応じて視野判定ボックスの形状を設定してもよい。例えば、
図6に示すように、ミニマップ321が仮想環境画面の一部を覆い隠す場合に、長方形からミニマップの正方形を削除して多角形の視野判定ボックスを得てもよい。例示的に、視野判定ボックスは、ユーザーインタフェース又はディスプレイに比例して縮小された長方形ボックスであり、その縮小率は、任意に設定されてもよい。仮想環境画面よりも小さい視野判定ボックスを設定することにより、仮想環境画面におけるUIウィジェットが視野範囲から除外され、視野判定ボックスで記述される視野範囲の精度を向上させることができる。例えば、
図17に示すように、視野判定ボックス330は、仮想環境画面よりもやや小さい。
【0101】
例示的に、視野判定ボックスは、3次元仮想環境に配置されて仮想環境画面に表示されない長方形ボックスである。つまり、ユーザーは、仮想環境画面に視野判定ボックスが見えない。例示的に、視野判定ボックスは、現在のカメラモデルの観察位置を中心として水平面に平行であり、且つ枠線がカメラモデルの観察方向に垂直/平行である。つまり、視野判定ボックスは、仮想環境の地面に画定された仮想環境画面の投影領域である。
【0102】
例示的に、第1観察位置を中心点とする視野判定ボックスを第1視野判定ボックスと称し、第2観察位置を中心点とする視野判定ボックスを第2視野判定ボックスと称する。
【0103】
例示的に、方向型スキルインジケーターが第1視野判定ボックスを超えた場合に、クライアントは、仮想環境画面に完全な方向型スキルインジケーターを表示できないと決定し、さらに、方向型スキルインジケーターが第1視野判定ボックスを超えた距離に基づいてカメラモデルのオフセット量を決定する。例えば、方向型スキルインジケーターが視野判定ボックスを1メートル超えた場合に、クライアントがカメラモデルを第1方向に1メートル移動させるように制御することにより、方向型スキルインジケーターが視野判定ボックス内に含まれることができ、ユーザーは、仮想環境画面に完全な方向型スキルインジケーターが見える。
【0104】
例示的に、
図18に示すように、視野判定ボックスによるオフセット量の取得方法を提供し、ステップ2031-11は、ステップ401~ステップ403をさらに含む。視野判定ボックスにより、オフセットしたカメラモデルを戻すように制御する方法をさらに提供し、ステップ2031-3の後に、ステップ501~ステップ503をさらに含む。
【0105】
ステップ401において、方向型スキルインジケーターの端部に基づいて決定される方向型スキルインジケーターのオフセット計算点を取得する。
【0106】
オフセット計算点は、方向型スキルインジケーターと視野判定ボックスとの相対位置関係を判断するためのものである。例示的に、スキルインジケーター上から任意の点を、方向型スキルインジケーターが視野判定ボックスを超えたか否かを判断するための基準点(オフセット計算点)として選択する。オフセット計算点が視野判定ボックス外にある場合に、さらに、オフセット計算点に基づいて方向型スキルインジケーターが視野判定ボックスを超えた距離を算出する。例示的に、オフセット計算点は、方向型スキルインジケーターの端部又は端部付近にある点である。例示的に、方向型スキルインジケーターのスキルが全マップで解放するスキルである場合に、方向型スキルインジケーターが端部を持たず、起点(観察中心点)からの距離が固定値である点をオフセット計算点として選択してもよい。あるいは、当該方向型スキルインジケーターの端部が仮想環境の境界との交点であり、当該端部からの距離が固定値である点をオフセット計算点として選択すると理解してもよい。
【0107】
例示的に、
図17に示すように、方向型スキルインジケーター313の端部331をオフセット計算点として決定する。
【0108】
ステップ402において、オフセット計算点が第1視野判定ボックス外にあることに応答して、オフセット計算点が第1視野判定ボックスを超えた超過距離を算出する。
【0109】
例示的に、オフセット計算点が第1視野判定ボックス外にある場合に、第1仮想環境画面に比較的に完全な方向型スキルインジケーターを表示できない。
【0110】
オフセット計算点及び第1視野判定ボックスによりカメラモデルのオフセット量を算出する。例示的に、マスター仮想キャラクターの位置とオフセット計算点との連結線と、第1視野判定ボックスとの交点を取り、オフセット計算点から交点までの距離を算出し、方向型スキルインジケーターが視野判定ボックスを超えた距離を得てから、カメラモデルを第1方向に当該距離移動させる。
【0111】
例示的に、視野判定ボックスの枠線に平行/垂直な方向で地面に平行な直角座標系を作成すると、視野判定ボックスの枠線が直角座標系上でx=a、y=bという形式の4本の直線で示され、オフセット計算点の座標により、オフセット計算点から第1視野判定ボックスの枠線までの横方向の垂直距離及び縦方向の垂直距離を算出する。例えば、第1視野判定ボックスの4本の枠がx=-2、x=2、y=1、y=-1であり、オフセット計算点の座標が(3,4)である場合に、オフセット計算点から第1視野判定ボックスまでの縦方向のオフセット距離は、4-1=3であり、横方向のオフセット距離は、3-2=1であり、超過距離は、ベクトルで示されると(1,3)であり、この場合、クライアントは、カメラモデルを、(1,3)移動して第2カメラ位置に到達するように制御することができる。
【0112】
ステップ403において、超過距離をカメラモデルのオフセット量として決定する。
【0113】
クライアントは、ステップ402において算出された超過距離をカメラモデルのオフセット量として、第1カメラ位置及びオフセット量に応じて第2カメラ位置を算出する。例示的に、オフセット量が方向ベクトルである場合に、第1カメラ位置にオフセット量を加算して第2カメラ位置を得る。
【0114】
ステップ501において、第2指向操作によって生成された第2指向命令を受信したことに応答して、第1方向を指す状態から第2方向を指す状態に変更するように方向型スキルインジケーターを表示する。
【0115】
例示的に、カメラモデルが第1方向を指す方向型スキルインジケーターにより第2カメラ位置にオフセットしたら、ユーザーは、第2方向を指すように方向型スキルインジケーターを制御する。第1方向を指す方向型スキルインジケーターのオフセット計算点は、第2視野判定ボックスと交差し、第2方向を指す方向型スキルインジケーターは、第2視野判定ボックス内にある。つまり、方向型スキルインジケーターは、ユーザーの視野範囲の境界にちょうど当接しないときに、クライアントは、カメラモデルがデフォルト位置に戻るまで方向型スキルインジケーターが常にユーザーの視野範囲の境界にちょうど当接するように、カメラモデルの位置をデフォルト位置へ引き戻すように制御する必要がある。
【0116】
例えば、
図19に示すように、方向型スキルインジケーターがもともと第1方向333を指す状態から第2方向334を指す状態に変更されることによって、オフセット計算点は、第2視野判定ボックス332の枠線にちょうど当接している状態から、第2視野判定ボックス332内にある状態に変更された。或いは、方向型スキルインジケーターが方向335にリトラクトし、長さが短くなることにより、オフセット計算点は第2視野判定ボックス332内にあるようになる。このように、クライアントは、カメラモデルがデフォルト位置に戻るまでオフセット計算点が常に視野判定ボックスの枠線に位置するように、カメラモデルをデフォルト位置に戻すように制御する必要がある。
【0117】
ステップ502において、第2方向を指す方向型スキルインジケーターのオフセット計算点が第2視野判定ボックス内にあることに応答して、カメラモデルを第2カメラ位置からデフォルトカメラ位置の方向へ移動して第3カメラ位置に到達するように制御し、第2視野判定ボックスは、第2観察位置を中心点とする視野判定ボックスであり、デフォルトカメラ位置は、カメラモデルがオフセットしないときのカメラモデルの仮想環境における位置である。
【0118】
例示的に、第2方向を指す方向型スキルインジケーターのオフセット計算点が再び第2視野判定ボックス内にあることに応答して、カメラモデルを第2カメラ位置からデフォルトカメラ位置の方向へ移動して第3カメラ位置に到達するように制御する。つまり、方向型スキルインジケーターが第1方向を指す状態から第2方向を指す状態に変更された場合に、方向型スキルインジケーターの端部が第2視野判定ボックスに当接せず、第2視野判定ボックス内に戻ると、カメラモデルをデフォルトカメラ位置の方向に引き戻すように制御する。
【0119】
例示的に、デフォルトカメラ位置は、前記デフォルト位置である。オフセット計算点が第2視野判定ボックス内にある場合とは、オフセット計算点が第2視野判定ボックス内にあり、第2視野判定ボックスの枠線上にない場合である。
【0120】
例示的に、クライアントは、オフセット計算点が再び現在位置の視野判定ボックスの枠線に当接するまで、又は、カメラモデルがデフォルトカメラ位置に戻るまで、カメラ位置をデフォルトカメラ位置にリトラクトするように制御すると、カメラ位置の移動を停止する。
【0121】
例えば、
図19に示すように、オフセット計算点が第2視野判定ボックス内にある場合に、カメラモデルが第3カメラ位置に移動するまで、カメラモデルをデフォルト位置へ移動させるように制御する。よって、
図20に示すように、オフセット計算点は、再び第3視野判定ボックス336の枠線に当接する。
【0122】
ステップ503において、第3カメラ位置にあるカメラモデルにより、方向型スキルインジケーターを含む第3仮想環境画面を表示する。
【0123】
ここでは、第3カメラ位置にあるカメラモデルの観察中心は第3観察位置であり、第3仮想環境画面内の方向型スキルインジケーターのオフセット計算点は第3視野判定ボックスの境界線と交差し、第3視野判定ボックスは第3観察位置を中心点とする視野判定ボックスである。
【0124】
例示的に、第3方向を指す方向型スキルインジケーターのオフセット計算点が第2視野判定ボックスを超えた場合に、上記の方式によるカメラモデルのオフセット量の計算を続行する。カメラモデルを外へオフセットするように制御し続けることにより、オフセット計算点が視野判定ボックスを超えないようになる。
【0125】
例示的に、ユーザーがスキルを解放するようにマスター仮想キャラクターを制御するか、または、ユーザーが照準操作をキャンセルする場合に、クライアントは、カメラモデルのオフセット量をゼロとし、カメラモデルをデフォルトカメラ位置に戻るように制御する。
【0126】
以上をまとめると、本実施例により提供される方法では、仮想環境に視野判定ボックスを配置し、方向型スキルインジケーターが視野判定ボックスを超えた垂直距離に基づいてカメラモデルが移動するオフセット量を決定することによって、カメラモデルを目標カメラ位置に移動させるように正確に制御し、UIウィジェットに覆い隠されることにより方向型スキルインジケーターの表示に影響を与えることを回避し、方向型スキルインジケーターが仮想環境画面に完全に表示されるようになり、スキル解放の精度の向上に寄与し、ターゲット照準時間を減らし、クライアントが照準中に多くの無効な演算を行うことを回避するとともに、クライアントの動作効率を高め、さらに、スキル照準のマンマシンインタラクション効率を向上させる。
【0127】
本実施例により提供される方法では、さらに、視野判定ボックスを配置し、方向型スキルインジケーターと視野判定ボックスとの位置関係により、カメラモデルを移動させるように制御することにより、仮想環境画面の観察中心が方向型スキルインジケーターに応じてより柔軟に移動でき、仮想環境画面に完全な方向型スキルインジケーターを迅速に表示し、クライアントが照準中に多くの無効な演算を行うことを回避し、クライアントの動作効率を高める。
【0128】
本実施例により提供される方法では、さらに、方向型スキルインジケーターの端部が視野判定ボックス内にあり、かつ枠と交差していない場合に、カメラモデルをオフセットする前のデフォルトカメラ位置に移動させるように制御することにより、カメラモデルを引き戻す。よって、カメラモデルがデフォルトカメラ位置に戻るまで、方向型スキルインジケーターの端部が常に視野判定ボックスの縁と交差する。これによって、方向型スキルインジケーターのもとの仮想環境画面における位置に応じて、「バネ」のようなオフセット又はリトラクト効果を実現するようにカメラモデルを制御し、方向型スキルインジケーターの移動時に、カメラモデルがオフセットするときの一貫性を向上させる。
【0129】
第2の方法では、方向型スキルインジケーターが指す方向である第1方向に基づいて、カメラモデルのオフセット量を算出する。
【0130】
図21には、本願の1つの例示的な実施例により提供される仮想環境の画面表示方法のフローチャートが示されている。当該方法は、上記の
図1におけるいずれか1つの端末上で動作するクライアントによって実行されてもよい。当該クライアントは、仮想環境をサポートするものである。
図12に示す例示的な実施例により、ステップ2031-1は、ステップ2031-12を含む。
【0131】
ステップ2031-12において、方向型スキルインジケーターの長さが距離閾値よりも大きいときに応答して、第1方向及び固定オフセット距離によりカメラモデルのオフセット量を取得し、固定オフセット距離は、任意の値である。
【0132】
オフセット量は、第1方向により算出されたものである。固定オフセット距離は、予め設定されたオフセット距離である。例えば、固定オフセット距離が10メートルであれば、クライアントは、直接、方向型スキルインジケーターが指す第1方向に応じて、カメラモデルを第1方向に10メートル移動して第2カメラ位置に到達するように制御する。
【0133】
例示的に、カメラモデルの各方向におけるオフセット距離をより正確に制御するために、上下左右の4方向にそれぞれ各々の固定オフセット距離を設定する。
図22に示すように、ステップ2031-12は、ステップ601~ステップ603をさらに含む。
【0134】
ステップ601において、方向型スキルインジケーターの長さが距離閾値よりも大きいときに応答して、第1方向と地面座標系のx軸との第1角度を取得し、地面座標系は、マスター仮想キャラクターの位置を原点としてカメラモデルの観察方向に基づいて作成された地面に平行な直角座標である。
【0135】
例示的に、地面座標系は、マスター仮想キャラクターの位置を原点とし、カメラモデルの観察方向に垂直な右向きの方向をx軸の正の部分とし、観察方向に平行な前向きの方向をy軸の正の部分とし、仮想環境の地面(水平面)に平行である直角座標系である。
【0136】
例示的に、第1角度は、第1方向と水平方向との角度である。水平方向は、カメラモデルの観察方向に垂直でかつ水平面に平行な方向である。例示的に、第1角度の値は、0°~90°の範囲である。例示的に、第1角度の値は、0°~360°の範囲であってもよいが、対応するサイン値及びコサイン値は、絶対値を取る必要がある。
【0137】
例えば、
図23に示すように、仮想環境画面内に、方向型スキルインジケーター313が指す第1方向と水平方向との第1角度αがある。
【0138】
ステップ602において、地面座標系で第1方向が位置する象限又は座標軸に基づいて、第1方向に対応する固定オフセット距離を決定する。
【0139】
例示的に、地面座標系のy軸の正の部分を上方、y軸の負の部分を下方、x軸の正の部分を右方、x軸の負の部分を左方とする。第1方向が第1象限に位置すると、上オフセット距離及び右オフセット距離に対応する。第1方向が第2象限に位置すると、上オフセット距離及び左オフセット距離に対応する。第1方向が第3象限に位置すると、下オフセット距離及び左オフセット距離に対応する。第1方向が第4象限に位置すると、下オフセット距離及び右オフセット距離に対応する。第1方向がx軸の正の部分に位置すると、右オフセット距離に対応する。第1方向がx軸の負の部分に位置すると、左オフセット距離に対応する。第1方向がy軸の正の部分に位置すると、上オフセット距離に対応する。第1方向がy軸の負の部分に位置すると、下オフセット距離に対応する。
【0140】
ステップ603において、第1角度及び第1方向に対応する固定オフセット距離に基づいて、カメラモデルのオフセット量を決定する。
【0141】
例示的に、第1方向に対応する固定オフセット距離を取得した後に、クライアントは、直接、カメラモデルを当該固定オフセット距離移動させるように制御してもよい。例えば、第1方向に対応する固定オフセット距離が右オフセット距離10メートル及び上オフセット距離10メートルを含む場合に、オフセット量は、(10,10)である。
【0142】
例示的に、クライアントは、第1角度のサイン値及びコサイン値により当該オフセット量をさらに正確にしてもよい。
【0143】
例示的に、固定オフセット距離は、縦方向の固定オフセット距離及び横方向の固定オフセット距離のうちの少なくとも1つを含む。縦方向の固定オフセット距離は、上オフセット距離及び下オフセット距離のうちの少なくとも1つを含む。横方向の固定オフセット距離は、左オフセット距離及び右オフセット距離のうちの少なくとも1つを含む。
図24に示すように、ステップ603は、ステップ6031~ステップ6033をさらに含む。
【0144】
ステップ6031において、第1方向に対応する固定オフセット距離が縦方向の固定オフセット距離を含むことに応答して、縦方向の固定オフセット距離と第1角度のサイン値との積を縦方向のオフセット距離として決定する。
【0145】
第1方向に対応する固定オフセット距離に、上オフセット距離又は下オフセット距離のような縦方向の固定オフセット距離があると、クライアントは、縦方向の固定オフセット距離に第1角度のサイン値を乗じてカメラモデルの縦方向のオフセット距離を得る。
【0146】
ステップ6032において、第1方向に対応する固定オフセット距離が横方向の固定オフセット距離を含むことに応答して、横方向の固定オフセット距離と第1角度のコサイン値との積を横方向のオフセット距離として決定する。
【0147】
第1方向に対応する固定オフセット距離に、左オフセット距離又は右オフセット距離のような横方向の固定オフセット距離があると、クライアントは、横方向の固定オフセット距離に第1角度のコサイン値を乗じてカメラモデルの横方向のオフセット距離を得る。
【0148】
ステップ6033において、横方向のオフセット距離及び縦方向のオフセット距離のうちの少なくとも1つのオフセット距離をカメラモデルのオフセット量として決定する。
【0149】
例えば、
図23に示すように、第1角度が30°であり、第1方向が右上を指し、上オフセット距離が4として予め設定され、右オフセット距離が2として予め設定される場合に、横方向のオフセット距離=2*cos30°≒1.732であり、縦方向のオフセット距離=4*sin30°=2であり、よって、カメラモデルのオフセット量は、(1.732,2)である。
【0150】
また、例えば、
図25に示すように、第1角度が0°であり、第1方向が右を指し、右オフセット距離が4として予め設定される場合、横方向のオフセット距離=4*cos0°=4であり、縦方向のオフセット距離=4*sin0°=0であり、カメラモデルのオフセット量は、(4,0)である。
【0151】
以上をまとめると、本実施例により提供される方法では、スキルごとに所定の方向のオフセット距離を設定し、スキルの解放時に、スキル解放方向と水平方向との角度に対応する三角関数値(サイン値またはコサイン値)とオフセット距離との積に基づいてカメラモデルのオフセット量を決定することによって、カメラモデルがオフセット量に応じてスキル解放方向に正確にオフセットし、仮想画面により完全な方向型スキルインジケーターを表示でき、スキル解放の精度の向上に寄与する。同時に、クライアントの照準中の無効な演算を減らし、クライアントの動作効率を高める。
【0152】
例示的に、他の方式によるカメラモデルの位置の移動と、方向型スキルインジケーターに基づくカメラモデルの位置の移動との2つのオフセット方式の組み合わせにより、カメラモデルをオフセットさせる例示的な実施例を説明する。
【0153】
図26には、本願の1つの例示的な実施例により提供される仮想環境の画面表示方法のフローチャートが示されている。当該方法は、上記の
図1におけるいずれか1つの端末上で動作するクライアントによって実行されてもよい。当該クライアントは、仮想環境をサポートするものである。
図12に示すような例示的な実施例により、ステップ2031-1は、ステップ2031-13と、ステップ2031-14と、を含む。
【0154】
ステップ2031-13において、カメラモデルのスキルオフセット量、及びグローバルオフセット量を取得し、スキルオフセット量は、方向型スキルインジケーターの制御命令に基づいて決定されるものであり、グローバルオフセット量は、マップドラッグ命令、ミニマップチェック命令、仮想ユニット視点指定命令のうちの少なくとも1つのカメラ制御命令に基づいて決定されるものである。
【0155】
スキルオフセット量は、上記の実施例により提供される2つのオフセット量の計算方式のうちの少なくとも1つにより算出されたオフセット量である。スキルオフセット量は、仮想環境画面により完全な方向型スキルインジケーターを表示するときに生成されるオフセット量を測定するために使用される。例えば、
図27に示すように、スキルオフセット量は、枠当接オフセット701の方式で算出されたオフセット量、直接オフセット702の方式で算出されたオフセット量、指定オフセット703の方式で算出されたオフセット量を含む。枠当接オフセット701は、視野判定ボックスに基づいて算出されたオフセット量である。直接オフセット702は、第1方向及び固定オフセット距離に基づいて算出されたオフセット量である。指定オフセット703は、いくつかの特定のスキルに対して作成された特定のオフセット方式である。例えば、
図28に示すように、当該スキルの作用範囲が扇形である場合に、スキルインジケーター704は、扇形で表示されている。指定オフセットにより、ユーザーが当該スキルインジケーター704で照準するときに、扇形の境界線と仮想環境画面の境界線とを常に相接又は交差させてもよい。
【0156】
グローバルオフセット量は、カメラモデルの位置移動を制御可能な他の操作によって生成されるオフセット量である。例えば、
図29に示すように、グローバルオフセット量は、マップやミニマップのドラッグ705、死亡後のチームメートの視点への切り換え706、マップ内のあるユニットにおけるレンズの固定707、弾丸追従708を含む手段で生成される。例えば、ユーザーは、マップやミニマップをドラッグすることで視点を切り替える。マスター仮想キャラクターの死亡後にチームメートの視点で仮想環境を観察し続ける。視点を、防御タワー、クリスタルなど、草、地面のような仮想環境内のある3次元モデルにロックする。カメラモデルの視点が放たれた弾丸を追従するようにする。
【0157】
例示的に、クライアントは、2つの別体の計算モジュールを使用して、カメラモデルのスキルオフセット量及びグローバルオフセット量をそれぞれ算出し、最後に、2つの計算モジュールで算出された2つのオフセット量を合計してカメラモデルの最終的なオフセット量を得る。次いで、最終的に得られたオフセット量に応じてカメラモデルのオフセットを制御する。
【0158】
ステップ2031-14において、スキルオフセット量とグローバルオフセット量との和をカメラモデルのオフセット量として決定する。
【0159】
以上をまとめると、本実施例により提供される方法では、グローバルオフセット方式及びスキルオフセット方式に対応するカメラモデルのオフセット量の組み合わせに基づいて、カメラモデルの最終的なオフセット量、即ち、カメラモデルの最終的な位置を決定することにより、異なる操作によって生成されたカメラモデルのオフセット効果が別々に算出され、計算が簡単になり、計算エラーが発生する可能性が低くなる。同時に、異なるオフセット量に応じてカメラモデルの移動を制御することにより、クライアントの照準中の無効な演算を減らし、クライアントの動作効率を高める。
【0160】
図30には、本願の1つの例示的な実施例により提供される仮想環境の画面表示方法のフローチャートが示されている。当該方法は、上記の
図1におけるいずれか1つの端末上で動作するクライアントによって実行されてもよい。当該クライアントは、仮想環境をサポートするものである。まず、ステップ801において、ユーザーは、スキルを使用して仮想環境インタフェースに表示されている方向型スキルインジケーターに応じてアクティブに照準するようにマスター仮想キャラクターを制御する。次いで、ステップ802において、クライアントは、方向型スキルインジケーターに応じてレンズ照準点(カメラモデル)の移動を制御することにより、仮想環境画面により完全な方向型スキルインジケーターを表示する。最後に、ステップ803において、スキルの解放に成功するか、または、ユーザーがスキルの解放をキャンセルするときに、レンズを復帰するように制御する。
【0161】
図31には、本願の1つの例示的な実施例により提供された当該仮想環境の画面表示方法を実現するためのアルゴリズムモジュールの模式図が示されている。
【0162】
CameraActionUtils(カメラアクションツール)804は、レンズをそれぞれ操作するインタフェースを外部に提供するためのレンズモジュールツールセットであり、上記の操作は、移動、回転、レンズの持ち上げなどの操作を含む。
【0163】
CameraController(カメラコントローラ)805は、カメラ(レンズ)の様々なデータを管理し、レンズモジュールの内部における各々のインタフェースを提供するためのレンズコントローラである。
【0164】
CameraAction(カメラアクション)806は、カメラモデルのモーションスキームを提供するためのレンズスキームであり、差動移動、平滑化減衰運動、等速運動などが含まれる。
【0165】
MoveComponent(移動コンポーネント)は、レンズオフセットを処理し、CameraActionからスキームパラメータを取得し、終点に到達するまで1フレームごとにレンズ(カメラモデル)を移動させる。例示的に、MoveComponentは、LocalMoveComponent(軌跡移動コンポーネント)807と、GlobalMoveComponent(グローバル移動コンポーネント)808と、を含む。LocalMoveComponentは、スキルオフセット量の移動を制御するためのものであり、GlobalMoveComponentは、グローバルオフセット量の移動を制御するためのものである。
【0166】
SetLocalPosOff(軌跡復帰)809は、スキルオフセット量に基づくオフセットをデフォルトカメラ位置に戻るように制御するためのものである。
【0167】
SetGlobalPosOff(グローバル復帰)810は、グローバルオフセット量に基づくオフセットをデフォルトカメラ位置に戻るように制御するためのものである。
【0168】
例示的に、本実施例により提供される仮想環境画面の表示方法では、カメラモデルの位置が移動するたびに待ち時間が発生し、待ち時間が経過した後に、カメラモデルを移動させるように制御する。
図32には、本願の1つの例示的な実施例により提供される仮想環境の画面表示方法のフローチャートが示されている。当該方法は、上記の
図1におけるいずれか1つの端末上で動作するクライアントによって実行されてもよい。当該クライアントは、仮想環境をサポートするものである。ステップ811において、クライアントは、オフセットの入力を待ち、ユーザーによる方向型スキルインジケーターの呼び出し操作を待つ。ステップ812において、クライアントは、カメラモデルのオフセットを必要とすると確認し、オフセットの遅延時間を待つ。ステップ813において、遅延時間が経過した後に、カメラモデルをオフセットするように制御する。ステップ814において、クライアントは、カメラモデルの復帰を必要とすると確認し、復帰の遅延時間を待つ。ステップ815において、遅延時間が経過した後に、カメラモデルを復帰するように制御し、再びオフセットの入力を待つ。
【0169】
以上をまとめると、本実施例により提供される方法では、カメラモデルをオフセットするように制御する前に遅延時間を追加することにより、カメラモデルのオフセットを必要とする場合に、直ちにカメラモデルをオフセットするように制御せず、視覚的なバッファ時間を確保し、良好な画面効果を達成する。
【0170】
上記の実施例では、ゲームの応用シーンに基づいて上記の方法を説明したが、以下に、軍事シミュレーションの応用シーンにより上記の方法を例示的に説明する。
【0171】
シミュレーション技術は、ソフトウェア及びハードウェアを応用して現実世界をシミュレートする実験により、システムの動作やプロセスを反映するモデル技術である。
【0172】
軍事シミュレーションプログラムは、シミュレーション技術により、軍事用途向けに特別に構築されたプログラムである。海、陸、空などの作戦要素、武器装備の性能及び作戦行為などを数値化して分析することにより、戦場の環境を正確にシミュレートし、戦場の状況を示し、作戦システムの評価及び意思決定の補助を実現する。
【0173】
一例において、兵士は、軍事シミュレーションプログラムが配置された端末で仮想戦場を作成し、チームで対戦する。兵士は、戦場仮想環境内の仮想オブジェクトを、戦場仮想環境で立つ、しゃがむ、座る、仰臥、腹ばう、側臥、歩行、走る、登る、運転、ショット、投擲、攻撃、負傷、偵察、近接格闘などの動作のうちの少なくとも1つを行うように制御する。戦場仮想環境は、平地、山、高原、盆地、砂漠、川、湖、海、植生のうちの少なくとも1つの自然形態、及び、建物、車両、廃墟、訓練場などの場所形態を含む。仮想オブジェクトは、仮想人物、仮想動物、アニメキャラクターなどを含み、各仮想オブジェクトは、3次元仮想環境内で独自の形状及び体積を持ち、3次元仮想環境内の空間の一部を占める。
【0174】
上記の状況に基づいて、一例において、兵士Aは、マスター仮想キャラクターaを仮想環境内で活動するように制御し、兵士Aが第1方向に照準を合わせるようにマスター仮想キャラクターaを制御するときに、仮想環境画面に当該照準操作に対応する方向インジケーターを表示する。方向インジケーターが現在の仮想環境画面の表示範囲を超えた場合に、カメラモデルを照準方向に一定の距離移動させるように制御することで、仮想環境画面により完全な方向インジケーターを表示する。兵士Aが当該照準操作をキャンセルするか、または、スキルを解放すると、軍事シミュレーションプログラムは、カメラモデルをデフォルト位置に徐々に戻るように制御する。例示的に、当該デフォルト位置は、マスター仮想キャラクターaを観察中心とするときに観察中心に対応する位置である。
【0175】
以上をまとめると、本実施例において、前記仮想環境の画面表示方法を軍事シミュレーションプログラムに応用する場合に、仮想環境画面に完全な方向型スキルインジケーターを表示でき、照準の精度を向上させ、兵士のより良い訓練が可能となる。同時に、軍事シミュレーションプログラムのクライアントの照準中の無効な演算を減らし、クライアントの動作効率を高める。
【0176】
以下は、本願の装置の実施例を示し、装置の実施例において詳しく説明されていない細部について、上記の方法の実施例を参照できる。
【0177】
図33は、本願の1つの例示的な実施例により提供される仮想環境の画面表示装置のブロック図である。当該装置は、
第1仮想環境画面を表示するための表示モジュール901であって、第1仮想環境画面は、第1観察位置を観察中心として仮想環境を観察して得られた画面であり、第1仮想環境画面には、仮想環境にあるマスター仮想キャラクターが表示されている表示モジュール901と、
第1指向操作によって生成された第1指向命令を受信するためのインタラクションモジュール902と、を含み、
前記表示モジュール901は、第1指向操作によって生成された第1指向命令を受信したことに応答して、第1方向を指す方向型スキルインジケーターを表示するためのものであり、方向型スキルインジケーターは、マスター仮想キャラクターの位置を起点として第1方向を指す指向マークであり、
前記表示モジュール901は、第2仮想環境画面を表示するためのものであり、第2仮想環境画面は、第2観察位置を観察中心として仮想環境を観察して得られた画面であり、方向型スキルインジケーターを含むものであり、第2観察位置は、第1観察位置の第1方向にあるか、または、第1方向の周辺領域にあるものである。
【0178】
1つの任意の実施例において、前記表示モジュール901は、方向型スキルインジケーターの長さが距離閾値よりも大きいときに応答して、第2仮想環境画面を表示するためのものであり、距離閾値は、第1仮想環境画面内のマスター仮想キャラクターの位置を起点とする第1方向における視野閾値である。
【0179】
1つの任意の実施例において、第1仮想環境画面及び第2仮想環境画面は、仮想環境に配置されているカメラモデルにより取得された画面であり、観察中心は、カメラモデルの位置から観察方向に延びている半直線と仮想環境との交点であり、当該装置は、
方向型スキルインジケーターの長さが距離閾値よりも大きいときに応答して、カメラモデルのオフセット量を取得するための取得モジュール903であって、オフセット量は、カメラモデルの移動方向及び移動距離を決定するためのものである取得モジュール903と、
オフセット量に応じてカメラモデルを第1カメラ位置から第2カメラ位置に移動させるように制御するための制御モジュール904であって、第1カメラ位置にあるカメラモデルの観察中心は、第1観察位置であり、第2カメラ位置にあるカメラモデルの観察中心は、第2観察位置である制御モジュール904と、をさらに含み、
前記表示モジュール901は、第2カメラ位置にあるカメラモデルにより、方向型スキルインジケーターを含む第2仮想環境画面を表示するためのものである。
【0180】
1つの任意の実施例において、オフセット量は、カメラモデルの視野を示すための視野判定ボックスにより算出されるものであり、
前記取得モジュール903は、方向型スキルインジケーターが第1観察位置を中心点とする第1視野判定ボックスを超えたことに応答して、方向型スキルインジケーターが第1視野判定ボックスを超えた距離によりカメラモデルのオフセット量を取得するためのものである。
【0181】
1つの任意の実施例において、当該装置は、
方向型スキルインジケーターのオフセット計算点を取得するための前記取得モジュール903であって、オフセット計算点は、方向型スキルインジケーターの端部に基づいて決定されるものである取得モジュール903と、
オフセット計算点が第1視野判定ボックス外にあることに応答して、オフセット計算点が第1視野判定ボックスを超えた超過距離を算出するための計算モジュール905と、
超過距離をカメラモデルのオフセット量として決定するための決定モジュール906と、をさらに含む。
【0182】
1つの任意の実施例において、前記インタラクションモジュール902は、第2指向操作によって生成された第2指向命令を受信するためのものであり、
前記表示モジュール901は、第2指向操作によって生成された第2指向命令を受信したことに応答して、第1方向を指す状態から第2方向を指す状態に変更するように方向型スキルインジケーターを表示するためのものであり、
前記制御モジュール904は、第2方向を指す方向型スキルインジケーターのオフセット計算点が第2視野判定ボックス内にあることに応答して、カメラモデルを第2カメラ位置からデフォルトカメラ位置の方向へ移動して第3カメラ位置に到達するように制御するためのものであり、第2視野判定ボックスは、第2観察位置を中心点とする視野判定ボックスであり、デフォルトカメラ位置は、カメラモデルがオフセットしないときのカメラモデルの仮想環境における位置であり、
前記表示モジュール901は、第3カメラ位置にあるカメラモデルにより、方向型スキルインジケーターを含む第3仮想環境画面を表示するためのものであり、
第3カメラ位置にあるカメラモデルの観察中心は第3観察位置であり、第3仮想環境画面内の方向型スキルインジケーターのオフセット計算点は第3視野判定ボックスの境界線と交差し、第3視野判定ボックスは第3観察位置を中心点とする視野判定ボックスである。
【0183】
1つの任意の実施例において、オフセット量は、第1方向により算出されるものであり、
前記取得モジュール903は、方向型スキルインジケーターの長さが距離閾値よりも大きいときに応答して、第1方向及び固定オフセット距離によりカメラモデルのオフセット量を取得するためのものであり、固定オフセット距離は、任意の値である。
【0184】
1つの任意の実施例において、当該装置は、
第1方向と地面座標系のx軸との第1角度を取得するための前記取得モジュール903であって、地面座標系は、マスター仮想キャラクターの位置を原点としてカメラモデルの観察方向に基づいて作成された地面に平行な直角座標である取得モジュール903と、
地面座標系で第1方向が位置する象限又は座標軸に基づいて、第1方向に対応する固定オフセット距離を決定するための決定モジュール906と、をさらに含み、
前記決定モジュール906は、第1角度及び第1方向に対応する固定オフセット距離に基づいて、カメラモデルのオフセット量を決定するためのものである。
【0185】
1つの任意の実施例において、固定オフセット距離は、縦方向の固定オフセット距離及び横方向の固定オフセット距離のうちの少なくとも1つを含み、装置は、
第1方向に対応する固定オフセット距離が横方向の固定オフセット距離を含むことに応答して、横方向の固定オフセット距離と第1角度のコサイン値との積を横方向のオフセット距離として決定するための計算モジュール905をさらに含み、
前記計算モジュール905は、第1方向に対応する固定オフセット距離が縦方向の固定オフセット距離を含むことに応答して、縦方向の固定オフセット距離と第1角度のサイン値との積を縦方向のオフセット距離として決定するためのものであり、
前記決定モジュール906は、横方向のオフセット距離及び縦方向のオフセット距離のうちの少なくとも1つのオフセット距離をカメラモデルのオフセット量として決定するためのものである。
【0186】
1つの任意の実施例において、前記制御モジュール904は、オフセット量に応じて、カメラモデルを所定の移動方式で第1カメラ位置から第2カメラ位置に移動させるように制御するためのものであり、所定の移動方式は、等速運動、差動運動、平滑化減衰運動のいずれか1つを含む。
【0187】
1つの任意の実施例において、装置は、
カメラモデルのスキルオフセット量、及びグローバルオフセット量を取得するための前記取得モジュール903であって、スキルオフセット量は、方向型スキルインジケーターの制御命令に基づいて決定されるものであり、グローバルオフセット量は、マップドラッグ命令、ミニマップチェック命令、仮想ユニット視点指定命令のうちの少なくとも1つのカメラ制御命令に基づいて決定されるものである取得モジュール903と、
スキルオフセット量とグローバルオフセット量との和をカメラモデルのオフセット量として決定するための前記決定モジュール906と、をさらに含む。
【0188】
本願は、プロセッサと、少なくとも1つの命令が記憶されたメモリとを含む端末であって、少なくとも1つの命令がプロセッサによってロードされ実行されることにより、上記の各方法の実施例により提供される仮想環境の画面表示方法を実現する端末をさらに提供する。なお、当該端末は、
図34に示すような端末であってもよい。
【0189】
図34には、本願の1つの例示的な実施例により提供される端末2900の構造のブロック図が示されている。当該端末2900は、スマートフォン、タブレットPC、MP3(Moving Picture Experts Group Audio Layer III、ムービングピクチャーエキスパートグループオーディオレイヤー3)プレーヤー、MP4(Moving Picture Experts Group Audio Layer IV、ムービングピクチャーエキスパートグループオーディオレイヤー4)プレーヤー、ノートパソコン又はデスクトップコンピュータであってもよい。端末2900は、ユーザー機器、携帯型端末、ラップトップ型端末、デスクトップ端末などと呼ばれることもある。
【0190】
一般的には、端末2900は、プロセッサ2901と、メモリ2902と、を含む。
【0191】
プロセッサ2901は、1つまたは複数の処理コアを含んでもよく、例えば、4コアプロセッサ、8コアプロセッサなどであってもよい。プロセッサ2901は、DSP(Digital Signal Processing、デジタル信号処理)、FPGA(Field-Programmable Gate Array、フィールドプログラマブルゲートアレイ)、PLA(Programmable Logic Array、プログラマブルロジックアレイ)のうちの少なくとも1つのハードウェアの形態によって実現されてもよい。プロセッサ2901は、メインプロセッサ及びコプロセッサを含んでもよい。メインプロセッサは、ウェイクアップ状態でのデータを処理するためのプロセッサであり、CPU(Central Processing Unit、中央処理装置)とも呼ばれる。コプロセッサは、スタンバイ状態でのデータを処理するための低消費電力プロセッサである。いくつかの実施例において、プロセッサ2901には、ディスプレイに表示される必要のあるコンテンツのレンダリング及び描画を行うためのGPU(Graphics Processing Unit、グラフィックスプロセッシングユニット)が組み込まれてもよい。いくつかの実施例において、プロセッサ2901は、機械学習に関する計算操作を処理するためのAI(Artificial Intelligence、人工知能)プロセッサを含んでもよい。
【0192】
メモリ2902は、1つまたは複数のコンピュータ読み取り可能な記憶媒体を含んでもよい。当該コンピュータ読み取り可能な記憶媒体は、非一過性のものであってもよい。メモリ2902は、高速ランダムアクセスメモリ、1つまたは複数の磁気ディスク記憶装置、フラッシュメモリ記憶装置のような不揮発性メモリをさらに含んでもよい。いくつかの実施例において、メモリ2902における非一過性のコンピュータ読み取り可能な記憶媒体は、少なくとも1つの命令を記憶するためのものである。上記の少なくとも1つの命令は、プロセッサ2901によって実行されることにより、本願における方法の実施例により提供される仮想環境の画面表示方法を実現するためのものである。
【0193】
いくつかの実施例において、端末2900は、任意的に、周辺機器インタフェース2903及び少なくとも1つの周辺機器をさらに含んでもよい。プロセッサ2901と、メモリ2902と、周辺機器インタフェース2903とは、バス又は信号線を介して接続されてもよい。各周辺機器は、バス、信号線又は回路基板を介して周辺機器インタフェース2903と接続されてもよい。具体的に、周辺機器は、無線周波数回路2904、タッチディスプレイ2905、カメラユニット2906、オーディオ回路2907、測位ユニット2908及び電源2909のうちの少なくとも1つを含む。
【0194】
周辺機器インタフェース2903は、I/O(Input/Output、入力/出力)に関連する少なくとも1つの周辺機器をプロセッサ2901及びメモリ2902に接続するために用いられてもよい。いくつかの実施例において、プロセッサ2901、メモリ2902及び周辺機器インタフェース2903は、同一のチップ又は回路基板に組み込まれる。いくつかの他の実施例において、プロセッサ2901、メモリ2902及び周辺機器インタフェース2903のいずれか一方又は両方は、個別のチップ又は回路基板に実装されてもよいが、本実施例では、これを限定しない。
【0195】
無線周波数回路2904は、電磁信号とも呼ばれるRF(Radio Frequency、無線周波数)信号を送受信するためのものである。無線周波数回路2904は、電磁信号を介して通信ネットワーク及び他の通信機器と通信する。無線周波数回路2904は、電気信号を電磁信号に変換して送信するか、または、受信した電磁信号を電気信号に変換する。任意的に、無線周波数回路2904は、アンテナシステム、RF送受信機、1つまたは複数の増幅器、チューナ、発振器、デジタル信号プロセッサ、コーデックチップセット、シムカードなどを含む。無線周波数回路2904は、少なくとも1つの無線通信プロトコルを介して他の端末と通信してもよい。当該無線通信プロトコルは、ワールドワイドウェブ、メトロポリタンエリアネットワーク、イントラネット、各世代の移動体通信ネットワーク(2G、3G、4G及び5G)、無線LAN及び/又はWiFi(Wireless Fidelity、ワイヤレスフィディリティ)ネットワークを含むが、これらに限られない。いくつかの実施例において、無線周波数回路2904は、NFC(Near Field Communication、近距離無線通信)に関連する回路を含んでもよいが、本願では、これを限定しない。
【0196】
ディスプレイ2905は、UI(User Interface、ユーザーインタフェース)を表示するためのものである。当該UIは、グラフィック、テキスト、アイコン、ビデオ及びそれらの任意の組合せを含んでもよい。ディスプレイ2905がタッチディスプレイである場合に、ディスプレイ2905は、その表面又は表面の上方のタッチ信号を収集する機能も有する。当該タッチ信号は、制御信号としてプロセッサ2901に入力されて処理されてもよい。この場合、ディスプレイ2905は、ソフトボタン及び/又はソフトキーボードとも呼ばれる仮想ボタン及び/又は仮想キーボードを提供するために使用されてもよい。いくつかの実施例において、端末2900のフロントパネルに設けられる1つのディスプレイ2905を有してもよい。いくつかの別の実施例において、それぞれ端末2900の異なる表面に設けられるか、または、折り畳まれるように設計される少なくとも2つのディスプレイ2905を有してもよい。また別の実施例において、ディスプレイ2905は、端末2900の湾曲表面又は折り畳み面に設けられるフレキシブルディスプレイであってもよい。さらに、ディスプレイ2905は、非長方形の不規則な形状、即ち、異形のスクリーンにしてもよい。ディスプレイ2905は、LCD(Liquid Crystal Display、液晶ディスプレイ)、OLED(Organic Light-Emitting Diode、有機発光ダイオード)などの材料により製造されてもよい。
【0197】
いくつかの実施例において、コンピュータ機器2900は、1つまたは複数のセンサ2910をさらに含む。当該1つまたは複数のセンサ2910は、加速度センサ2911、ジャイロセンサ2912、圧力センサ2913、指紋センサ2914、光学センサ2915及び近接センサ2916を含むが、これらに限られない。
【0198】
圧力センサ2913は、コンピュータ機器2900の側枠及び/又はタッチディスプレイ2905の下層に設けられてもよい。圧力センサ2913がコンピュータ機器2900の側枠に設けられる場合に、ユーザーによるコンピュータ機器2900に対する把持信号を検出し、当該把持信号により左/右手の識別又はショートカット操作を行うことができる。圧力センサ2913がタッチディスプレイ2905の下層に設けられる場合に、ユーザーのタッチディスプレイ2905に対する圧力操作により、UIインタフェースにおける操作可能なウィジェットの制御を実現することができる。操作可能なウィジェットは、ボタンウィジェット、スクロールバーウィジェット、アイコンウィジェット、メニューウィジェットのうちの少なくとも1つを含む。
【0199】
当業者は、
図34に示す構造が端末2900を限定するものではなく、図に示されるよりも多い又は少ない構成要素を含んでもよく、或いは、いくつかの構成要素を組み合わせてもよく、異なる構成要素の配置を採用してもよいことを理解できる。
【0200】
前記メモリは、1つ以上のプログラムをさらに含み、当該1つ以上のプログラムは、メモリに記憶されており、本願の実施例により提供される仮想環境の画面表示方法を実行するためのものを含む。
【0201】
本願は、少なくとも1つの命令が記憶されたコンピュータ読み取り可能な記憶媒体であって、前記少なくとも1つの命令が前記プロセッサによってロードされ実行されることにより、上記の各方法の実施例により提供される仮想環境の画面表示方法を実現するコンピュータ読み取り可能な記憶媒体を提供する。
【0202】
本願は、コンピュータ読み取り可能な記憶媒体に記憶されたコンピュータ命令を含むコンピュータプログラム製品又はコンピュータプログラムを提供する。コンピュータ機器のプロセッサは、当該コンピュータ読み取り可能な記憶媒体から当該コンピュータ命令を読み取り、当該コンピュータ命令を実行することにより、当該コンピュータ機器に上記の各方法の実施例により提供される仮想環境の画面表示方法を実行させる。
【符号の説明】
【0203】
901 表示モジュール
902 インタラクションモジュール
903 取得モジュール
904 制御モジュール
905 計算モジュール
906 決定モジュール