IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特許7206398ユーザインターフェース表示方法、ユーザインターフェース表示装置、端末、コンピュータ装置、およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-06
(45)【発行日】2023-01-17
(54)【発明の名称】ユーザインターフェース表示方法、ユーザインターフェース表示装置、端末、コンピュータ装置、およびプログラム
(51)【国際特許分類】
   A63F 13/53 20140101AFI20230110BHJP
   A63F 13/58 20140101ALI20230110BHJP
   A63F 13/5378 20140101ALI20230110BHJP
   A63F 13/57 20140101ALI20230110BHJP
【FI】
A63F13/53
A63F13/58
A63F13/5378
A63F13/57
【請求項の数】 35
(21)【出願番号】P 2021540363
(86)(22)【出願日】2020-01-14
(65)【公表番号】
(43)【公表日】2022-01-04
(86)【国際出願番号】 CN2020071976
(87)【国際公開番号】W WO2020168863
(87)【国際公開日】2020-08-27
【審査請求日】2021-03-24
(31)【優先権主張番号】201910125801.3
(32)【優先日】2019-02-20
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】▲陳▼ 嘉濠
(72)【発明者】
【氏名】蒲 胤
【審査官】前地 純一郎
(56)【参考文献】
【文献】特開2011-024638(JP,A)
【文献】中国特許出願公開第107913521(CN,A)
【文献】中国特許出願公開第107398071(CN,A)
【文献】中国特許出願公開第108057243(CN,A)
【文献】[Jerry Chu]カメラに何を映すか,4Gamer.net[online],2016年12月17日,インターネット<URL:https://www.4gamer.net/games/999/G999905/20161213113/>,[2022年 4月27日検索]
【文献】BTOOOM!オンライン[ゲームレビュー],ApplivGames[online],2017年03月02日,インターネット<URL:https://games.app-liv.jp/archives/241047>,[2022年 4月27日検索]
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
(57)【特許請求の範囲】
【請求項1】
端末によって実行されるユーザインターフェース表示方法であって、
ユーザインターフェースを表示するステップであって、前記ユーザインターフェースには、目標仮想オブジェクトに対応する視角から見た仮想環境の画面が表示される、ステップと、
サーバから送信された表示コマンドを受信するステップであって、前記表示コマンドは、第1類オブジェクトのデータおよび第2類オブジェクトのデータを含み、前記第1類オブジェクトは、取得した仮想リソース数が前記目標仮想オブジェクトよりも多い仮想オブジェクトであり、前記第2類オブジェクトは、取得した仮想リソース数が前記目標仮想オブジェクト以下の仮想オブジェクトであり、前記第1類オブジェクトおよび前記第2類オブジェクトは、前記目標仮想オブジェクトと異なる陣営に属する、ステップと、
前記第1類オブジェクトが前記視角の視野範囲内に位置していない場合、前記第1類オブジェクトのデータに基づいて前記ユーザインターフェースに第1の可視情報を表示し、または、前記第1類オブジェクトのデータおよび前記第2類オブジェクトのデータに基づいて、前記ユーザインターフェースに第1の可視情報および第2の可視情報を表示するステップであって、前記第1の可視情報の情報量は、前記第2の可視情報の情報量よりも多い、ステップと、を含み、
前記端末に送信すべきデータが、各仮想オブジェクトの前記仮想リソース数のみに基づいて前記サーバによって決定される、
ことを特徴とするユーザインターフェース表示方法。
【請求項2】
前記仮想環境の画面には、不透明な第1の物体が表示され、
前記ユーザインターフェースに第1の可視情報を表示する前記ステップは、前記第1類オブジェクトが前記第1の物体の後方に位置する場合、前記第1の物体を透過して前記第1の可視情報を表示するステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記第1の物体を透過して前記第1の可視情報を表示する前記ステップは、前記第1の物体を透過して前記仮想環境における前記第1類オブジェクトの身体モデル情報を表示するステップを含む、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記第1の物体を透過して前記第1の可視情報を表示する前記ステップは、前記第1の物体を透過して前記第1類オブジェクトの第1の状態情報を表示するステップを含み、
前記第1の状態情報は、前記第1類オブジェクトの体力値または耐久値、前記第1類オブジェクトの仮想リソース数、前記第1類オブジェクトの防御値、および前記第1類オブジェクトのアイテム情報のうちの少なくとも1つを含む、
ことを特徴とする請求項2または3に記載の方法。
【請求項5】
前記第1類オブジェクトの身体モデル情報は、前記第1類オブジェクトの輪郭、または前記第1類オブジェクトの輪郭および前記第1類オブジェクトの姿勢を含む、
ことを特徴とする請求項3に記載の方法。
【請求項6】
前記第1の物体を透過して前記仮想環境における前記第1類オブジェクトの身体モデル情報を表示する前記ステップは、
前記第1類オブジェクトのデータに基づいて、シルエット特殊効果によって前記第1の物体に重畳される身体モデル情報を生成するステップであって、前記身体モデル情報は、前記仮想環境における前記第1類オブジェクトの身体モデル情報である、ステップと、
前記第1の物体と、前記第1の物体に重畳された前記身体モデル情報とを表示するステップと、を含む、
ことを特徴とする請求項3に記載の方法。
【請求項7】
前記ユーザインターフェースには、前記仮想環境の地図も表示されており、
前記ユーザインターフェースに前記第1の可視情報を表示する前記ステップは、前記地図における第1の領域に前記第1類オブジェクトの標識を表示するステップであって、前記第1の領域は、前記仮想環境における前記第1類オブジェクトの位置に対応する、ステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項8】
前記ユーザインターフェースに前記第1の可視情報を表示する前記ステップは、前記ユーザインターフェースに情報ウィンドウを表示するステップであって、前記情報ウィンドウには前記第1の可視情報が表示されている、ステップを含み、
前記第1の可視情報は、前記第1類オブジェクトの位置および前記第1類オブジェクトの第1の状態情報のうちの少なくとも1つを含み、
前記第1の状態情報は、前記第1類オブジェクトの体力値または耐久値、前記第1類オブジェクトの仮想リソース数、前記第1類オブジェクトの防御値、および前記第1類オブジェクトのアイテム情報のうちの少なくとも1つを含む、
ことを特徴とする請求項1に記載の方法。
【請求項9】
サーバから送信された表示コマンドを受信する前記ステップの前に、
前記サーバから送信された第1の生成コマンドを受信するステップと、
前記第1の生成コマンドに含まれる前記仮想リソースの初期位置および前記仮想リソースの初期速度に基づいて、前記仮想リソースの運動軌跡を算出するステップと、
前記ユーザインターフェースに前記仮想リソースの運動軌跡を表示するステップと、をさらに含む、
ことを特徴とする請求項1乃至8のいずれか1項に記載の方法。
【請求項10】
前記初期位置および前記運動軌跡に基づいて、前記仮想リソースの最終位置を算出するステップと、
前記最終位置に前記仮想リソースを表示するステップと、をさらに含む、
ことを特徴とする請求項9に記載の方法。
【請求項11】
サーバから送信された表示コマンドを受信する前記ステップの前に、
前記目標仮想オブジェクトの目標状態情報を前記サーバに送信するステップであって、前記目標状態情報は、前記仮想環境における前記目標仮想オブジェクトの位置を指示するためのものである、ステップと、
前記サーバから送信されたピックアップコマンドを受信するステップであって、前記ピックアップコマンドは、前記サーバが前記目標状態情報に基づいて、前記目標仮想オブジェクトが目標仮想リソースをピックアップするピックアップ条件を満足していると確定したときに前記端末に送信するコマンドである、ステップと、
前記ピックアップコマンドに応じて、前記目標仮想リソースをピックアップするように前記目標仮想オブジェクトを制御するステップと、
前記目標仮想オブジェクトの仮想リソース数を更新するステップと、をさらに含む、
ことを特徴とする請求項1乃至8のいずれか1項に記載の方法。
【請求項12】
前記ユーザインターフェースに前記第1の可視情報を表示する前記ステップの後、または前記ユーザインターフェースに前記第1の可視情報および前記第2の可視情報を表示する前記ステップの後に、
サーバから送信された勝利表示コマンドを受信するステップであって、前記勝利表示コマンドは、前記仮想環境におけるn(nは、3以上の正の整数である)個の仮想オブジェクトの活動時間が予定時間を超えた場合に、前記サーバが前記n個の仮想オブジェクトの仮想リソース数を取得して、前記仮想リソース数が最も多い仮想オブジェクトを勝利者として決定した後に前記端末に送信するコマンドである、ステップと、
前記勝利表示コマンドに応じて、前記ユーザインターフェースに前記勝利者の情報を表示するステップと、をさらに含む、
ことを特徴とする請求項1乃至8のいずれか1項に記載の方法。
【請求項13】
サーバから送信された勝利表示コマンドを受信する前記ステップの前に、
前記目標仮想オブジェクトの生命値または耐久値がゼロである場合、前記サーバから送信された復活位置を受信するステップであって、前記復活位置は、前記サーバが前記仮想環境において決定しかつ復活条件を満足する位置である、ステップと、
前記復活位置に前記目標仮想オブジェクトを復活させるステップと、をさらに含む、
ことを特徴とする請求項12に記載の方法。
【請求項14】
前記復活条件は、
目標位置を中心とし、第1の距離を半径とする第1の範囲内に他の仮想オブジェクトが存在していないことと、
前記目標位置を中心とし、第2の距離を半径とする第2の範囲内に他の仮想オブジェクトが存在していることと、を含み、
前記第1の距離は、前記第2の距離よりも小さい、
ことを特徴とする請求項13に記載の方法。
【請求項15】
前記サーバから送信された更新コマンドを受信するステップであって、前記更新コマンドは、前記サーバが前記目標仮想オブジェクトの生命値または耐久値がゼロであるときに、前記目標仮想オブジェクトの仮想リソース数を予定割合で減少させて、更新後の仮想リソース数を得た後に前記端末に送信するコマンドである、ステップと、
前記更新コマンドに含まれる前記更新後の仮想リソース数に基づいて、前記目標仮想オブジェクトの仮想リソース数を更新するステップと、をさらに含む、
ことを特徴とする請求項13に記載の方法。
【請求項16】
前記サーバから送信された第2の生成コマンドを受信するステップであって、前記第2の生成コマンドは、前記サーバが前記目標仮想オブジェクトの生命値または耐久値がゼロであるときに、前記目標仮想オブジェクトの生命値または耐久値がゼロと低下した消失位置を取得した後に前記端末に送信するコマンドである、ステップと、
前記第2の生成コマンドに応じて、前記消失位置に仮想リソースを生成するステップと、をさらに含む、
ことを特徴とする請求項13に記載の方法。
【請求項17】
仮想環境におけるn(nは、3以上の正の整数である)個の仮想オブジェクトの仮想リソース数を取得するステップと、
前記n個の仮想オブジェクトを前記仮想リソース数の降順にソートして、前記n個の仮想オブジェクトの順序番号を得るステップと、
前記n個の仮想オブジェクトの順序番号に基づいて、前記n個の仮想オブジェクトにおける目標仮想オブジェクトの第1類オブジェクトおよび第2類オブジェクトを確定するステップであって、前記第1類オブジェクトは、前記順序番号が前記目標仮想オブジェクトよりも前の仮想オブジェクトであり、前記第2類オブジェクトは、前記順序番号が前記目標仮想オブジェクトと同じであり、または前記順序番号が前記目標仮想オブジェクトよりも後の仮想オブジェクトであり、前記第1類オブジェクトおよび第2類オブジェクトは、前記目標仮想オブジェクトと異なる陣営に属する、ステップと、
前記目標仮想オブジェクトに対応する端末に表示コマンドを送信するステップであって、前記表示コマンドは、前記第1類オブジェクトが前記目標仮想オブジェクトに対応する視角の視野範囲内に位置していない場合に、ユーザインターフェースに第1の可視情報を表示し、または前記ユーザインターフェースに前記第1の可視情報および第2の可視情報を表示するように前記端末を指示するためのものであり、前記第1の可視情報の情報量は、前記第2の可視情報の情報量よりも多い、ステップと、を含み、
前記第1の可視情報は、前記端末が前記表示コマンドにおける第1類オブジェクトのデータから生成されたものであり、前記第2の可視情報は、前記端末が前記表示コマンドにおける前記第2類オブジェクトのデータから生成されたものであり、
各仮想オブジェクトの前記仮想リソース数のみに基づいて前記端末に送信すべきデータを決定するステップをさらに含む、
ことを特徴とするユーザインターフェース表示方法。
【請求項18】
仮想環境におけるn個の仮想オブジェクトの仮想リソース数を取得する前記ステップの前に、
前記端末から送信された目標状態情報を受信するステップであって、前記目標状態情報は、前記仮想環境における前記仮想オブジェクトの位置を指示するためのものである、ステップと、
前記目標状態情報に基づいて、前記目標仮想オブジェクトが目標仮想リソースのピックアップ範囲内に位置すると確定し、かつ前記目標仮想オブジェクトが前記目標仮想リソースをピックアップするピックアップ条件を満足していると確定した場合に、前記目標仮想オブジェクトの仮想リソース数を更新して、更新後の仮想リソース数を得るステップと、 前記端末にピックアップコマンドを送信するステップであって、前記ピックアップコマンドは、前記目標仮想リソースをピックアップするように前記目標仮想オブジェクトを制御した後、前記目標仮想オブジェクトの仮想リソース数を更新するように端末を指示するためのものである、ステップと、をさらに含む、
ことを特徴とする請求項17に記載の方法。
【請求項19】
前記目標状態情報は、前記目標仮想オブジェクトの識別情報を含み、
前記目標状態情報に基づいて前記目標仮想オブジェクトが前記目標仮想リソースをピックアップするピックアップ条件を満足していると確定する前記ステップは、前記識別情報に基づいて、前記目標仮想オブジェクトが生きていると確定するとともに、前記目標仮想オブジェクトと前記目標仮想リソースとの間に第2の物体が存在していないと確定した場合に、前記目標仮想オブジェクトが前記ピックアップ条件を満足していると確定するステップを含む、
ことを特徴とする請求項18に記載の方法。
【請求項20】
前記目標仮想オブジェクトが生きていると確定するとともに、前記目標仮想オブジェクトと前記目標仮想リソースとの間に前記第2の物体が存在していないと確定する前記ステップは、前記目標仮想オブジェクトが生きており、かつ前記目標仮想リソースの存在時間が存在周期を超えていないと確定した場合に、前記目標仮想オブジェクトと前記目標仮想リソースとの間に前記第2の物体が存在していないと確定するステップを含む、
ことを特徴とする請求項19に記載の方法。
【請求項21】
前記目標状態情報は、前記仮想環境における前記目標仮想オブジェクトの第1の基準座標を含み、
前記目標仮想オブジェクトと前記目標仮想リソースとの間に第2の物体が存在していないと確定する前記ステップは、
前記第1の基準座標と前記仮想環境における前記目標仮想オブジェクトの第2の基準座標とに基づいて、前記目標仮想オブジェクトと前記目標仮想リソースとの間の連結線を取得するステップと、
前記連結線に前記第2の物体が存在していない場合、前記目標仮想オブジェクトと前記目標仮想リソースとの間に前記第2の物体が存在していないと確定するステップと、を含む、
ことを特徴とする請求項19または20に記載の方法。
【請求項22】
前記目標仮想オブジェクトは、目標仮想人物であり、前記目標仮想リソースは、目標仮想硬貨であり、
前記第1の基準座標は、前記目標仮想人物の基準点の座標であり、前記基準点は、前記仮想人物の腰部よりも上方に位置し、
前記第2の基準座標は、前記目標仮想硬貨の中心点である、
ことを特徴とする請求項21に記載の方法。
【請求項23】
前記目標仮想オブジェクトと前記目標仮想リソースとの間に前記第2の物体が存在していないと確定した場合、前記目標仮想オブジェクトが前記ピックアップ条件を満足していると確定する前記ステップは、前記目標仮想オブジェクトと前記目標仮想リソースとの間に前記第2の物体が存在していなく、かつ前記ピックアップ範囲に他の仮想オブジェクトが含まれていると確定した場合、前記目標仮想オブジェクトが前記ピックアップ範囲に入った第1の時刻と、前記他の仮想オブジェクトが前記ピックアップ範囲に入った第2の時刻とを取得するステップと、
前記第1の時刻が前記第2の時刻よりも早い場合、前記目標仮想オブジェクトが前記ピックアップ条件を満足していると確定するステップと、を含む、
ことを特徴とする請求項19に記載の方法。
【請求項24】
仮想環境におけるn個の仮想オブジェクトの仮想リソース数を取得する前記ステップの前に、
前記仮想リソースの初期位置および初期速度をランダムに生成するステップと、
端末に第1の生成コマンドを送信するステップであって、前記第1の生成コマンドは、前記初期位置と前記初期速度とを含み、前記初期位置と前記初期速度とに基づいて前記仮想リソースの運動軌跡を算出した後に、前記ユーザインターフェースに前記仮想リソースの運動軌跡を表示するように前記端末に指示するためのものである、ステップと、をさらに含む、
ことを特徴とする請求項17乃至23のいずれか1項に記載の方法。
【請求項25】
前記仮想リソースの初期位置および初期速度をランダムに生成する前記ステップの後に、
前記初期位置および前記初期速度に基づいて、前記仮想リソースの運動軌跡を算出するステップと、
前記初期位置および前記運動軌跡に基づいて、前記仮想リソースの最終位置を算出するステップと、をさらに含む、
ことを特徴とする請求項24に記載の方法。
【請求項26】
前記端末に表示コマンドを送信する前記ステップの後に、
前記仮想環境における前記n個の仮想オブジェクトの活動時間が予定時間を超えた場合、前記n個の仮想オブジェクトの仮想リソース数を再度取得するステップと、
前記仮想リソース数が最も多い仮想オブジェクトを勝利者として決定するステップと、
前記端末に勝利表示コマンドを送信するステップであって、前記勝利表示コマンドは、前記ユーザインターフェースに前記勝利者の情報を表示するように前記端末を指示するためのものである、ステップと、をさらに含む、
ことを特徴とする請求項17乃至22のいずれか1項に記載の方法。
【請求項27】
前記n個の仮想オブジェクトの仮想リソース数を再度取得する前記ステップの前に、
前記目標仮想オブジェクトの生命値または耐久値がゼロである場合、前記仮想環境において復活条件を満足する復活位置を決定するステップと、
前記端末に前記復活位置を送信するステップであって、前記復活位置は、そこで前記目標仮想オブジェクトを復活させるように前記端末をトリガするためのものである、ステップと、をさらに含む、
ことを特徴とする請求項26に記載の方法。
【請求項28】
前記仮想環境において復活条件を満足する復活位置を決定する前記ステップは、前記仮想環境における目標位置を中心とし、第1の距離を半径とする第1の範囲内に他の仮想オブジェクトが存在していないと確定し、かつ、前記目標位置を中心とし、第2の距離を半径とする第2の範囲内に前記他の仮想オブジェクトが存在していると確定した場合、前記目標位置を復活位置として決定するするステップであって、前記第1の距離は、前記第2の距離よりも小さい、ステップを含む、
ことを特徴とする請求項27に記載の方法。
【請求項29】
前記目標仮想オブジェクトの生命値または耐久値がゼロである場合、前記目標仮想オブジェクトの仮想リソース数を予定割合で減少させて、更新後の仮想リソース数を得るステップと、
前記端末に更新コマンドを送信するステップであって、前記更新コマンドは、前記目標仮想オブジェクトの仮想リソース数を更新するように前記端末を指示するためのものである、ステップと、をさらに含む、
ことを特徴とする請求項26または27に記載の方法。
【請求項30】
前記目標仮想オブジェクトの生命値または耐久値がゼロである場合に、前記目標仮想オブジェクトの生命値または耐久値がゼロと低下した消失位置を取得するステップと、
前記端末に生成コマンドを送信するステップであって、前記生成コマンドは、前記消失位置に仮想リソースを生成するように前記端末を指示するためのものである、ステップと、をさらに含む、
ことを特徴とする請求項27または28に記載の方法。
【請求項31】
ユーザインターフェースを表示するための表示モジュールであって、前記ユーザインターフェースには、目標仮想オブジェクトに対応する視角から見た仮想環境の画面が表示される、表示モジュールと、
サーバから送信された表示コマンドを受信するための受信モジュールであって、前記表示コマンドは、第1類オブジェクトのデータおよび第2類オブジェクトのデータを含み、前記第1類オブジェクトは、取得した仮想リソース数が前記目標仮想オブジェクトよりも多い仮想オブジェクトであり、前記第2類オブジェクトは、取得した仮想リソース数が前記目標仮想オブジェクト以下の仮想オブジェクトであり、前記第1類オブジェクトおよび前記第2類オブジェクトは、前記目標仮想オブジェクトと異なる陣営に属する、受信モジュールと、を備え、
前記表示モジュールは、さらに、前記第1類オブジェクトが前記視角の視野範囲内に位置していない場合、前記ユーザインターフェースに第1の可視情報を表示し、または、前記ユーザインターフェースに前記第1の可視情報および第2の可視情報を表示するために用いられ、
前記第1の可視情報の情報量は、前記第2の可視情報の情報量よりも多く、
前記第1の可視情報は、前記第1類オブジェクトのデータから生成されたものであり、前記第2の可視情報は、前記第2類オブジェクトのデータから生成されたものであり、
前記表示モジュールに送信すべきデータが、各仮想オブジェクトの前記仮想リソース数のみに基づいて、前記サーバによって決定される、
ことを特徴とするユーザインターフェース表示装置。
【請求項32】
仮想環境におけるn(nは、3以上の正の整数である)個の仮想オブジェクトの仮想リソース数を取得し、
前記n個の仮想オブジェクトを前記仮想リソース数の降順にソートして、前記n個の仮想オブジェクトの順序番号を得、
前記n個の仮想オブジェクトの順序番号に基づいて、前記n個の仮想オブジェクトにおける目標仮想オブジェクトの第1類オブジェクトおよび第2類オブジェクトを確定する処理モジュールであって、前記第1類オブジェクトは、前記順序番号が前記目標仮想オブジェクトよりも前の仮想オブジェクトであり、前記第2類オブジェクトは、前記順序番号が前記目標仮想オブジェクトと同じであり、または前記順序番号が前記目標仮想オブジェクトよりも後の仮想オブジェクトであり、前記第1類オブジェクトおよび第2類オブジェクトは、前記目標仮想オブジェクトと異なる陣営に属する、処理モジュールと、
前記目標仮想オブジェクトに対応する端末に表示コマンドを送信する送信モジュールであって、前記表示コマンドは、前記第1類オブジェクトが前記目標仮想オブジェクトに対応する視角の視野範囲内に位置していない場合に、ユーザインターフェースに第1の可視情報を表示し、または前記ユーザインターフェースに前記第1の可視情報および第2の可視情報を表示するように前記端末を指示するためのものであり、前記第1の可視情報の情報量は、前記第2の可視情報の情報量よりも多い、送信モジュールと、を備え、
前記第1の可視情報は、前記端末が前記表示コマンドにおける第1類オブジェクトのデータから生成されたものであり、前記第2の可視情報は、前記端末が前記表示コマンドにおける前記第2類オブジェクトのデータから生成されたものであり、
前記端末に送信すべきデータが、各仮想オブジェクトの前記仮想リソース数のみに基づいて決定される、
ことを特徴とするユーザインターフェース表示装置。
【請求項33】
プロセッサとメモリとを備え、
前記メモリには、少なくとも1つのコマンドが記憶されており、
前記コマンドは、前記プロセッサがロードされ実行されることにより請求項1乃至16のいずれか1項に記載のユーザインターフェース表示方法を実現するためのものである、 ことを特徴とする端末。
【請求項34】
プロセッサとメモリとを備え、
前記メモリには、少なくとも1つのコマンドが記憶されており、
前記コマンドは、前記プロセッサがロードされ実行されることにより請求項17乃至30のいずれか1項に記載のユーザインターフェース表示方法を実現するためのものである、 ことを特徴とするコンピュータ装置。
【請求項35】
請求項1乃至30のいずれか1項に記載のユーザインターフェース表示方法をプロセッサに実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、2019年02月20日に中国特許庁へ提出した出願番号が201910125801.3で、発明名称が「ユーザインターフェースを表示するための方法、装置、機器、およびコンピュータ読み取り可能な記憶媒体」である中国特許出願に基づき優先権を要求し、その全ての内容は参照により本開示に組み込まれる。
【0002】
本開示は、コンピュータの技術分野に関し、特に、ユーザインターフェースを表示するための方法、装置、機器、およびコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0003】
例えば、スマートフォンやタブレットなどのような端末には、例えば軍事シミュレーションプログラム、ファーストパーソンシューティングゲーム(First-person shooting game、FPS)、サードパーソンシューティングゲーム(Third-person shooting game、TPS)、マルチプレイヤーオンラインバトルアリーナ(Multiplayer Online Battle Arena Games、MOBA)などのような、二次元または三次元の仮想環境を有するアプリケーションプログラムが多く存在している。
【0004】
上記のアプリケーションプログラムにおいて、ユーザは、仮想環境において対戦して仮想リソースを奪うように、端末によって目標仮想オブジェクトを制御することができる。また、関連技術では、サーバは、目標仮想オブジェクトの視野範囲、仮想環境における各仮想オブジェクトの位置、および目標仮想オブジェクトの視野範囲内にある物体に基づいて、端末に送信するべきデータを確定し、端末は、当該データに基づいて、表示すべき他の仮想オブジェクトをユーザインターフェースに表示させる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の各実施例によれば、ユーザインターフェースを表示するための方法、装置、機器、および記憶媒体を提供する。
【課題を解決するための手段】
【0006】
本開示によれば、端末によって実行されるユーザインターフェース表示方法であって、
ユーザインターフェースを表示するステップであって、前記ユーザインターフェースには、目標仮想オブジェクトに対応する視角から見た仮想環境の画面が表示される、ステップと、
サーバから送信された表示コマンドを受信するステップであって、前記表示コマンドは、第1類オブジェクトのデータおよび第2類オブジェクトのデータを含み、前記第1類オブジェクトは、取得した仮想リソース数が前記目標仮想オブジェクトよりも多い仮想オブジェクトであり、前記第2類オブジェクトは、取得した仮想リソース数が前記目標仮想オブジェクト以下の仮想オブジェクトであり、前記第1類オブジェクトおよび前記第2類オブジェクトは、前記目標仮想オブジェクトと異なる陣営に属する、ステップと、
前記第1類オブジェクトが前記視角の視野範囲内に位置していない場合、前記ユーザインターフェースに第1の可視情報を表示し、または前記ユーザインターフェースに前記第1の可視情報および前記第2の可視情報を表示するステップであって、前記第1の可視情報の情報量は、前記第2の可視情報の情報量よりも多い、ステップと、を含み、
前記第1の可視情報は、前記第1類オブジェクトのデータから生成されたものであり、前記第2の可視情報は、前記第2類オブジェクトのデータから生成されたものであるユーザインターフェース表示方法を提供する。
【0007】
また、本開示によれば、サーバによって実行されるユーザインターフェース表示方法であって、
仮想環境におけるn(nは、3以上の正の整数である)個の仮想オブジェクトの仮想リソース数を取得するステップと、
前記n個の仮想オブジェクトを前記仮想リソース数の降順にソートして、前記n個の仮想オブジェクトの順序番号を得るステップと、
前記n個の仮想オブジェクトの順序番号に基づいて、前記n個の仮想オブジェクトにおける目標仮想オブジェクトの第1類オブジェクトおよび第2類オブジェクトを確定するステップであって、前記第1類オブジェクトは、前記順序番号が前記目標仮想オブジェクトよりも前の仮想オブジェクトであり、前記第2類オブジェクトは、前記順序番号が前記目標仮想オブジェクトと同じであり、または前記順序番号が前記目標仮想オブジェクトよりも後の仮想オブジェクトであり、前記第1類オブジェクトおよび第2類オブジェクトは、前記目標仮想オブジェクトと異なる陣営に属する、ステップと、
前記目標仮想オブジェクトに対応する端末に表示コマンドを送信するステップであって、前記表示コマンドは、前記表示コマンドに含まれる前記第1類オブジェクトのデータに基づいて第1の可視情報を生成し、前記表示コマンドに含まれる第2類オブジェクトのデータに基づいて第2の可視情報を生成して、ユーザインターフェースに前記第1の可視情報を表示し、または前記ユーザインターフェースに前記第1の可視情報および前記第2の可視情報を表示するように前記端末を指示するためのものであり、前記第1の可視情報の情報量は、前記第2の可視情報の情報量よりも多い、ステップと、を含むユーザインターフェース表示方法を提供する。
【0008】
また、本開示によれば、ユーザインターフェースを表示するための表示モジュールであって、前記ユーザインターフェースには、目標仮想オブジェクトに対応する視角から見た仮想環境の画面が表示される、表示モジュールと、
サーバから送信された表示コマンドを受信するための受信モジュールであって、前記表示コマンドは、第1類オブジェクトのデータおよび第2類オブジェクトのデータを含み、前記第1類オブジェクトは、取得した仮想リソース数が前記目標仮想オブジェクトよりも多い仮想オブジェクトであり、前記第2類オブジェクトは、取得した仮想リソース数が前記目標仮想オブジェクト以下の仮想オブジェクトであり、前記第1類オブジェクトおよび前記第2類オブジェクトは、前記目標仮想オブジェクトと異なる陣営に属する、受信モジュールと、
前記第1類オブジェクトのデータに基づいて前記第1類オブジェクトの第1の可視情報を生成するとともに、前記第2類オブジェクトのデータに基づいて前記第2類オブジェクトの第2の可視情報を生成する処理モジュールと、を備え、
前記表示モジュールは、さらに、前記ユーザインターフェースに前記第1の可視情報、または前記第1の可視情報および前記第2の可視情報を表示するために用いられ、前記第1の可視情報の情報量は、前記第2の可視情報の情報量よりも多いユーザインターフェース表示装置を提供する。
【0009】
さらに、本開示によれば、仮想環境におけるn(nは、3以上の正の整数である)個の仮想オブジェクトの仮想リソース数を取得し、前記n個の仮想オブジェクトを前記仮想リソース数の降順にソートして、前記n個の仮想オブジェクトの順序番号を得、前記n個の仮想オブジェクトの順序番号に基づいて、前記n個の仮想オブジェクトにおける目標仮想オブジェクトの第1類オブジェクトおよび第2類オブジェクトを確定する処理モジュールであって、前記第1類オブジェクトは、前記順序番号が前記目標仮想オブジェクトよりも前の仮想オブジェクトであり、前記第2類オブジェクトは、前記順序番号が前記目標仮想オブジェクトと同じであり、または前記順序番号が前記目標仮想オブジェクトよりも後の仮想オブジェクトであり、前記第1類オブジェクトおよび第2類オブジェクトは、前記目標仮想オブジェクトと異なる陣営に属する、処理モジュールと、
前記目標仮想オブジェクトに対応する端末に表示コマンドを送信する送信モジュールであって、前記表示コマンドは、前記表示コマンドに含まれる前記第1種別オブジェクトのデータから第1の可視情報を生成するとともに、前記表示コマンドに含まれる第2種別オブジェクトのデータから第2の可視情報を生成し、かつ、前記第1種別オブジェクトが前記目標仮想オブジェクトに対応する視角の視野範囲内に位置していない場合、ユーザインターフェースに前記第1の可視情報を表示し、または前記第1の可視情報および前記第2の可視情報を表示するように前記端末を指示するためのものであり、前記第1の可視情報の情報量は前記第2の可視情報の情報量よりも多い、送信モジュールと、を備えるユーザインターフェース表示装置を提供する。
【0010】
また、本開示によれば、プロセッサとメモリとを備え、前記メモリには、少なくとも1つのコマンドが記憶されており、前記コマンドは、前記プロセッサがロードされ実行されることにより上記のユーザインターフェース表示方法を実現するためのものである端末を提供する。
【0011】
また、本開示によれば、プロセッサとメモリとを備え、前記メモリには、少なくとも1つのコマンドが記憶されており、前記コマンドは、前記プロセッサがロードされ実行されることにより上記のユーザインターフェース表示方法を実現するためのものであるコンピュータ装置を提供する。
【0012】
また、本開示によれば、プロセッサがロードされ実行されることにより上記のユーザインターフェース表示方法を実現するための少なくとも1つのコマンドが記憶されているコンピュータ読取可能な記憶媒体を提供する。
【図面の簡単な説明】
【0013】
以下、本開示の実施例の技術手段をより明瞭に説明するために、実施例の説明に必要な図面を簡単に説明するが、以下に説明する図面は、本開示のいくつかの実施例に関するものに過ぎなく、当業者にとっては、進歩性のある労働をすることなくこれらの図面に基づいて他の図面を得ることができることは明らかなことである。
【0014】
図1】本開示の1つの実施例に係るコンピュータシステムの構成を示すブロック図である。
図2】本開示の1つの実施例に係るユーザインターフェース表示方法を示すフローチャートである。
図3】本開示の1つの実施例に係るユーザインターフェースを示す図である。
図4】本開示の1つの実施例に係るユーザインターフェースを示す図である。
図5】本開示の1つの実施例に係るユーザインターフェースを示す図である。
図6】本開示の1つの実施例に係るユーザインターフェースを示す図である。
図7】本開示の1つの実施例に係る状態データ同期方式を示す図である。
図8】本開示の1つの実施例に係る仮想リソースピックアップ方法を示すフローチャートである。
図9】本開示の1つの実施例に係るビーム検出方法を示す図である。
図10】本開示の1つの実施例に係るビーム検出方法を示す図である。
図11】本開示の1つの実施例に係る仮想リソースの存在周期を示す図である。
図12】本開示の1つの実施例に係る仮想リソースの構成要素を示すブロック図である。
図13】本開示の1つの実施例に係る仮想硬貨の運動を模擬した図である。
図14】本開示の1つの実施例に係る仮想硬貨の運動を模擬した図である。
図15】本開示の1つの実施例に係る仮想硬貨の状態データの同期を示す図である。
図16】本開示の1つの実施例に係るユーザインターフェース表示方法を示すフローチャートである。
図17】本開示の1つの実施例に係るユーザインターフェースを示す図である。
図18】本開示の1つの実施例に係るユーザインターフェース表示方法を示すフローチャートである。
図19】本開示の1つの実施例に係る復活位置を示す図である。
図20】本開示の1つの実施例に係るユーザインターフェース表示装置を示すブロック図である。
図21】本開示の1つの実施例に係るユーザインターフェース表示装置を示すブロック図である。
図22】本開示の1つの実施例に係る端末を示すブロック図である。
図23】本開示の1つの実施例に係るコンピュータ装置を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、本開示の目的、技術手段および利点をより明確にするために、本開示の実施例について図面を参照しながらさらに詳細に説明する。
【0016】
まず、本開示の実施例に係るいくつかの名詞について簡単に説明する。
【0017】
仮想環境は、アプリケーションプログラムが端末で動作する際に表示(または提供)される仮想環境である。この仮想環境は、実世界に対する模擬環境であってもよいし、半分が模擬しかつ半分が仮想化した3次元環境であってもよいし、完全に仮想化した3次元環境であってもよい。仮想環境は、2次元の仮想環境、2.5次元の仮想環境および3次元の仮想環境のうちのいずれか1種であってもよい。また、当該仮想環境は、少なくとも2つの目標仮想オブジェクト同士の対戦にも利用される。
【0018】
仮想オブジェクトは、仮想環境における可動オブジェクトを指す。当該可動オブジェクトは、仮想人物、仮想動物、漫画人物のうちの少なくとも1種であってもよい。また、仮想環境が3次元の仮想環境である場合、目標仮想オブジェクトは、スケルタルアニメーション技術により作成された3次元立体モデルである。各目標仮想オブジェクトは、3次元の仮想環境において自身の形状および体積を有し、3次元の仮想環境における空間の一部を占める。
【0019】
仮想リソースは、仮想オブジェクトが仮想環境において取得可能であり、かつ、勝利評価のための条件とする物体である。例えば、仮想リソースは、仮想硬貨、仮想カード、仮想ジュエリー、仮想旗などであってもよい。また、仮想オブジェクトが仮想リソースを取得すると、仮想オブジェクトの属性を強化させたり、仮想オブジェクトの体力値や耐力値を補充したりすることができる。
【0020】
図1は、本開示の1つの実施例に係るコンピュータシステムの構成を示すブロック図である。このコンピュータシステム100は、第1の端末110と、第2の端末120と、サーバ130と、を含む。
【0021】
第1の端末110は、仮想環境を支持するアプリケーションプログラムがインストールされて実行する。当該アプリケーションプログラムは、軍事シミュレーションアプリケーションプログラム、TPSゲーム、FPSゲーム、MOBAゲーム、マルチプレイヤーシューティングゲームのうちのいずれか1種であってもよい。また、第1の端末110は、第1のユーザが使用する端末である。第1のユーザは、第1の端末110によって、仮想環境における目標仮想オブジェクトを、体の姿勢の調整、腹這い、歩行、走り、ライド、ジャンプ、運転、ピックアップ、ショット、攻撃、投げのうちの少なくとも1種の動作を行うように制御することができるが、これらの動作に限定されるものではない。例えば、目標仮想オブジェクトは、例えば模擬人物キャラクタまたは漫画人物キャラクタなどのような第1の仮想人物である。
【0022】
第1の端末110および第2の端末120は、無線ネットワークや有線ネットワークを介してサーバ130に接続されている。
【0023】
サーバ130は、1台のサーバ、複数台のサーバ、クラウドコンピューティングプラットフォームおよび仮想化センターのうちの少なくとも1種を含む。サーバ130は、仮想環境を支持可能なアプリケーションプログラムに対してバックグラウンドサービスを提供するためのものである。また、サーバ130は主要な計算を負担し、第1の端末110および第2の端末120は副次的な計算を負担するようにしてもよく、あるいは、サーバ130が副次的な計算を負担し、第1の端末110および第2の端末120が主要な計算を負担するようにしてもよく、あるいは、サーバ130、第1の端末110および第2の端末120の3者は、分散型コンピューティングアーキテクチャで協働して算出を行うようにしてもよい。
【0024】
第2の端末120は、仮想環境を支持可能なアプリケーションプログラムがインストールされて実行する。当該アプリケーションプログラムは、軍事シミュレーションアプリケーションプログラム、TPSゲーム、FPSゲーム、MOBAゲーム、マルチプレイヤーシューティングゲームのうちのいずれか1種であってもよい。また、第2の端末120は、第2のユーザが使用する端末である。第2のユーザは、第2の端末120によって、仮想環境における第2の仮想オブジェクトを、体の姿勢の調整、腹這い、歩行、走り、ライド、ジャンプ、運転、ピックアップ、ショット、攻撃、投げのうちの少なくとも1種の動作を行うように制御することができるが、これらの動作に限定されるものではない。例えば、第2の仮想オブジェクトは、例えば模擬人物キャラクタまたは漫画人物キャラクタなどのような第2の仮想人物である。
【0025】
また、第1の仮想人物および第2の仮想人物は、同一の仮想環境に存在してもよい。さらに、第1の仮想人物および第2の仮想人物は、同一のチームや同一の組織に属したり、フレンド関係または一時的な通信権限を有したりしてもよい。
【0026】
また、第1の端末110および第2の端末120にインストールされるアプリケーションプログラムは、同じものであってもよく、または異なる制御システムフラットフォームにおける同じタイプのアプリケーションプログラムであってもよい。第1の端末110は、複数の端末のうちの1つを広く一般的に指し、第2の端末120は、複数の端末のうちの1つを広く一般的に指すことができるが、本実施例では、第1の端末110および第2の端末120のみを例として説明する。第1の端末110および第2の端末120の機種は、同じであってもよく異なってもよい。その機種として、スマートフォン、タブレット、電子書籍リーダー、MP3プレーヤ、MP4プレーヤ、ラップトップ型携帯コンピュータおよび卓上型コンピュータのうちの少なくとも1つを含む。以下、端末がスマートフォンを含む場合を例に挙げて実施例について説明する。
【0027】
なお、当業者であれば、上記の端末の数は、それより多くまたは少なくなってもよいことを理解できろう。例えば、上記端末は、1つのみであってもよく、数十個または数百個であってもよく、あるいはそれよりも多くなってもよい。本開示の実施例では、端末の数および機種に対して限定されない。
【0028】
図2は、本開示の1つの実施例に係るユーザインターフェース表示方法を示すフローチャートである。図2に示すように、この方法は、図1に示すようなコンピュータシステムに適用することができ、かつ以下のステップを含む。
【0029】
ステップ201において、端末は、ユーザインターフェースを表示し、当該ユーザインターフェースは、目標仮想オブジェクトに対応する視角から見た仮想環境の画面が表示される。
【0030】
また、端末には、仮想環境のアプリケーションプログラムがインストールされており、端末が当該アプリケーションを実行すると、ユーザインターフェースを表示し、当該ユーザインターフェースには、目標仮想オブジェクトに対応する視角から見た仮想環境の画面が表示される。そのうち、目標仮想オブジェクトは、ユーザが端末によって制御する仮想環境における仮想オブジェクトである。
【0031】
例えば、図3に示すように、端末110の表示画面111には,ユーザインターフェース112が表示され、ユーザインターフェース112には、目標仮想オブジェクト118のサードパーソンの視角から見た仮想環境の画面が表示される。
【0032】
なお、本開示の実施例では、目標仮想オブジェクトに対応する視角は、ファーストパーソン視角であってもよいし、サードパーソン視角であってもよく、図3においてサードパーソン視角を例として説明しているが、視角については限定されない。また、仮想環境をファーストパーソン視角から見ると、ユーザインターフェースには、目標仮想オブジェクトが表示されない。
【0033】
ステップ202において、サーバは、仮想環境におけるn(nは、3以上の正の整数である)個の仮想オブジェクトの仮想リソース数を取得する。
【0034】
サーバのユーザデータベースには、各端末に対応する仮想オブジェクトのデータ(例えば、仮想環境における各仮想オブジェクトの識別情報、基準座標、状態、リソースなど)が記憶されており、サーバは、第1の所定時間ごとに仮想環境におけるn個の仮想オブジェクトの仮想リソース数を取得する。
【0035】
ステップ203において、サーバは、n個の仮想オブジェクトを仮想リソース数の降順にソートして、n個の仮想オブジェクトの順序番号を得る。
【0036】
例えば、仮想環境においては、仮想オブジェクト1、仮想オブジェクト2、仮想オブジェクト3および目的仮想オブジェクトの4つの仮想オブジェクトが動いている。4つの仮想オブジェクトの仮想リソース数として、それぞれ、仮想オブジェクト1の仮想リソース数が20であり、仮想オブジェクト2の仮想リソース数が29であり、仮想オブジェクト3の仮想リソース数が15であり、目標仮想オブジェクトの仮想リソース数が21である。従って、仮想リソース数の降順に仮想オブジェクト1、仮想オブジェクト2、仮想オブジェクト3および目標仮想オブジェクトをソートして、仮想オブジェクト1の順序番号として3、仮想オブジェクト2の順序番号として1、仮想オブジェクト3の順序番号として4、目標仮想オブジェクトの順序番号として2を得る。
【0037】
あるいは、サーバは、ステップ203を実行する前に、仮想リソースの初期位置および初期速度をランダムに生成した後、初期位置と初期速度とを含む第1の生成指令を端末に送信して、前記初期位置および初期速度に基づいて仮想リソースの運動軌跡を算出して、初期位置および運動軌跡に基づいて仮想リソースの最終位置を算出するようにしてもよい。
【0038】
各仮想リソースは、初期位置で生成された後、一定の時間だけ運動して最終位置で静止する。サーバは、各仮想リソースの初期位置および初期速度をランダムに生成し、初期位置および初期速度に基づいて、予定アルゴリズムに従って各仮想リソースの運動軌跡を算出して、初期位置および運動軌跡に基づいて仮想リソースの最終位置を算出する。例えば、仮想リソースの運動形態は直線運動である場合、初期位置および初期速度に基づいて、予定運動時間内の直線運動軌跡を算出して、直線運動軌跡および初期位置に基づいて仮想リソースの最終位置を算出する。また、仮想リソースの運動形態は曲線運動である場合、当該曲線運動の運動軌跡をそれぞれが単位運動時間に対応する複数の直線運動に分割して、初期位置および初期速度に基づいて第1の単位時間を経過した後の仮想リソースの第1の位置と第1の速度を算出し、そして、第1の位置および第1の速度に基づいて第2の単位時間を経過した後の仮想リソースの第2の位置と第2の速度を算出し、さらに最終位置を算出する。
【0039】
ステップ204において、サーバは、表示コマンドを端末に送信し、当該表示コマンドは、第1類オブジェクトのデータと第2類オブジェクトのデータとを含み、かつ、第1類オブジェクトのデータは、第2類オブジェクトのデータよりも多い。
【0040】
ここで、第1類オブジェクトは、順序番号が目標仮想オブジェクトよりも前の仮想オブジェクトであり、第2類オブジェクトは、順序番号が目標仮想オブジェクトよりも後、または順序番号が目標仮想オブジェクトと同様な仮想オブジェクトである。第1類オブジェクトおよび第2類オブジェクトは、目標仮想オブジェクトと異なる陣営に存在する。
【0041】
例えば、仮想オブジェクト1および仮想オブジェクト2は、第1の陣営に属し、仮想オブジェクト3および目標仮想オブジェクトは、第2の陣営に属している。また、サーバは、順序番号が目標仮想オブジェクトよりも前であって、かつ目標仮想オブジェクトと同一の陣営に属していない仮想オブジェクト1を第1類オブジェクトとして決定して、仮想オブジェクト1のデータを取得し、かつ、順序番号が目標仮想オブジェクトよりも後であって、かつ目標仮想オブジェクトと同一の陣営に属していない仮想オブジェクト2を第2類オブジェクトとして決定して、仮想オブジェクト2のデータを取得した後に、表示コマンドを端末に送信し、当該表示コマンドは、仮想オブジェクト1のデータおよび仮想オブジェクト2のデータを含む。
【0042】
第2類オブジェクトが視角の視野範囲内に存在し、かつ視角方向に沿って第2類オブジェクトの前方に不透明な第1の物体が存在していない場合、ステップ205aに進む。一方、第2類オブジェクトが視角の視野範囲内に存在していなく、および/または視角方向に沿って第2類オブジェクトの前方に不透明な第1の物体が存在している場合、ステップ205bに進む。
【0043】
ステップ205aにおいて、端末は、ユーザ表示インターフェースに第1の可視情報と第2の可視情報を表示する。
【0044】
ここで、第1の可視情報は、端末が第1類オブジェクトのデータから生成されたものであり、第2の可視情報は、端末が第2類オブジェクトのデータから生成されたものであり、第1の可視情報の情報量は、第2の可視情報の情報量よりも多い。
【0045】
例えば、第1の可視情報は、第1類オブジェクトの身体モデル情報と第1の状態情報とを含み、第1類オブジェクトのデータは、第1類オブジェクトの識別情報、第1の基準座標および状態データを含む。端末は、第1類オブジェクトの識別情報に基づいて、アプリケーションプログラムのデータベースから当該識別情報に対応する第1類オブジェクトの身体モデルを取得し、第1の基準座標に基づいて仮想環境における第1類オブジェクトの存在位置を確定して、当該位置に第1類オブジェクトの身体モデル情報および第1の状態情報を生成する。
【0046】
ここで、第1の状態情報は、第1類オブジェクトの体力値または耐久値(第1類オブジェクトが仮想人物である場合に第1類オブジェクトの体力値を表示し、第1類オブジェクトが機械、武器、乗り物などのような仮想物体である場合に第1類オブジェクトの耐久値を表示する)、第1類オブジェクトの仮想リソース数、第1類オブジェクトの防御値および第1類オブジェクトの道具情報のうちの少なくとも1つを含む。
【0047】
例えば、第2の可視情報は、第2類オブジェクトの身体モデル情報を含む。
【0048】
ステップ205bにおいて、端末は、ユーザインターフェースに第1の可視情報を表示する。
【0049】
ここで、第1の可視情報は、端末が第1類オブジェクトのデータから生成されたものである。第2類オブジェクトが視角の視界範囲内に存在しなく、および/または視角方向に沿って第2類オブジェクトの前方に不透明な第1の物体が存在する場合、端末は、ユーザインターフェースに第1の可視情報を表示する。
【0050】
例えば、第1の可視情報は、第1類オブジェクトの身体モデル情報および/または第1の状態情報を含み、第1類オブジェクトのデータは、第1類オブジェクトの識別情報および第1の基準座標、または第1類オブジェクトの識別情報、第1の基準座標および状態データを含む。端末は、第1類オブジェクトの識別情報に基づいて、アプリケーションプログラムのデータベースから当該識別情報に対応する第1類オブジェクトの身体モデルを取得し、第1の基準座標に基づいて仮想環境における第1類オブジェクトの存在位置を確定して、当該位置に第1類オブジェクトの身体モデル情報および/または第1の状態情報とを生成する。
【0051】
例えば、図4に示すように、端末110の表示画面111には,ユーザインターフェース112が表示され、ユーザインターフェース112には、目標仮想オブジェクト118のサードパーソン視角から見た仮想環境の画面が表示される。第1類オブジェクト410および第2類オブジェクト(図示せず)が視角の視野範囲内に存在し、かつ視角の方向に沿って第1類オブジェクト410および第2類オブジェクトの前方に不透明な第1の物体430(すなわち、障害物;図4における壁)が存在している場合、端末は、第1の物体430を透過して第1類オブジェクト410の身体モデル情報を表示するが、第2類オブジェクトの身体モデル情報を表示しない。
【0052】
また、端末は、第1の物体を透過して第1類オブジェクトの身体モデル情報および/または第1類オブジェクトの第1の状態情報を表示するようにしてもよい。ここで、第1の状態情報は、第1類オブジェクトの体力値または耐久値(第1類オブジェクトが仮想人物である場合に第1類オブジェクトの体力値を表示し、第1類オブジェクトが機械、武器、乗り物などのような仮想物体である場合に第1類オブジェクトの耐久値を表示する)、第1類オブジェクトの仮想リソース数、第1類オブジェクトの防御値および第1類オブジェクトの道具情報のうちの少なくとも1つを含む。また、第1類オブジェクトの身体モデル情報は、第1類オブジェクトの輪郭、または第1類オブジェクトの輪郭および第1類オブジェクトの姿勢を含んでもよい。
【0053】
また、第1の物体を透過して第1類オブジェクトの身体モデル情報を表示する場合、端末は、第1類オブジェクトのデータに基づいて、シルエット特殊効果を利用して第1の物体に重畳される身体モデル情報を生成してもよい。ここで、当該身体モデル情報は、仮想環境における第1類オブジェクトの身体モデル情報であり、端末は、第1の物体と第1の物体に重畳される身体モデル情報とを表示する。
【0054】
例えば、端末のユーザインターフェースには、仮想環境の地図も表示される。第1の可視情報は、第1類オブジェクトの標識を含み、第1類オブジェクトのデータは、第1類オブジェクトの識別情報と第1の基準座標とを含む。端末は、第1類オブジェクトの識別情報に基づいて、アプリケーションプログラムのデータベースから当該識別情報に対応する標識を取得し、第1類オブジェクトの第1の基準座標に基づいて第1の基準座標に対応する第1の領域を確定して、第1の領域に第1類オブジェクトの標識を生成する。
【0055】
例えば、図5に示すように、端末110の表示画面111には、ユーザインターフェース112が表示され、ユーザインターフェース112には、仮想環境の地図113および目標仮想オブジェクト118のサードパーソン視角から見た仮想環境の画面が表示される。第1類オブジェクトおよび第2類オブジェクトが視角の視野範囲に存在しない場合、地図113の第1の領域には、第1類オブジェクトの標識510および目標仮想オブジェクトの標識520が表示される。
【0056】
例えば、第1の可視情報は、第1類オブジェクトの位置および/または状態データを含み、第1類オブジェクトのデータは、第1類オブジェクトの第1の基準座標および/または状態データを含む。端末は、第1類オブジェクトの基準座標に基づいて仮想環境における第1類オブジェクトの位置を確定し、第1類オブジェクトの状態データに基づいて第1類オブジェクトの状態情報を生成し、ユーザインターフェースに情報ウィンドウを生成し、当該情報ウィンドウには、第1類オブジェクトの位置および/または状態情報が含まれる。
【0057】
例えば、図6に示すように、端末110の表示画面111には、ユーザインターフェース112が表示され、ユーザインターフェース112には、表示情報ウィンドウ114および目標仮想オブジェクト118のサードパーソン視角から見た仮想環境の画面が表示される。表示情報ウィンドウ114には、第1類オブジェクトの位置(図6における「ユーザ1,スタンド1」)および/または第1類オブジェクトの第1の状態情報(図6における「HP:100,仮想硬貨数:20」)が表示される。
【0058】
なお、第1の状態情報は、第1類オブジェクトの体力値または耐久値(第1類オブジェクトが仮想人物である場合に第1類オブジェクトの体力値を表示し、第1類オブジェクトが機械、武器、乗り物などのような仮想物体である場合に第1類オブジェクトの耐久値を表示する)、第1類オブジェクトの仮想リソース数、第1類オブジェクトの防御値および第1類オブジェクトの道具情報のうちの少なくとも1つを含む。
【0059】
また、端末は、ステップ205aまたはステップ205bを実行する前に、サーバから送信された第1の生成コマンドを受信し、第1の生成コマンドに含まれる仮想リソースの初期位置と仮想リソースの初期速度とに基づいて、仮想リソースの運動軌跡を算出して、仮想リソースの運動軌跡をユーザインターフェースに表示し、初期位置と運動軌跡とに基づいて仮想リソースの最終位置を算出して、最終位置に仮想リソースを表示するようにしてもよい。
【0060】
各仮想リソースは、初期位置で生成された後、一定の時間だけ運動して最終位置で静止する。端末は、第1の生成コマンドを受信した後、初期位置および初期速度に基づいて、サーバに記憶されている同様な予定アルゴリズムに従って各仮想リソースの運動軌跡を算出し、初期位置および運動軌跡に基づいて仮想リソースの最終位置を算出して、最終位置に仮想リソースを表示する。例えば、仮想リソースの運動形態は直線運動である場合、初期位置および初期速度に基づいて、予定運動時間内の直線運動軌跡を算出して、直線運動軌跡および初期位置から仮想リソースの最終位置を算出する。また、仮想リソースの運動形態は曲線運動である場合、当該曲線運動の運動軌跡をそれぞれが単位運動時間に対応する複数の直線運動に分割して、初期位置および初期速度に基づいて第1の単位時間を経過した後の仮想リソースの第1の位置と第1の速度を算出し、第1の位置および第1の速度に基づいて第2の単位時間を経過した後の仮想リソースの第2の位置と第2の速度を算出し、さらに最終位置を算出する。
【0061】
以上のように、本開示の実施例では、サーバから端末に第1類オブジェクトと第2類オブジェクトとを含むデータを送信し、そのうち、第1類オブジェクトは、仮想リソース数が目標仮想オブジェクトよりも多い仮想オブジェクトであり、第2類オブジェクトは、仮想リソース数が目標仮想オブジェクト以下の仮想オブジェクトである。端末は、第1類オブジェクトおよび第2類オブジェクトのデータに基づいて第1の可視情報と第2の可視情報をそれぞれ生成して、ユーザインターフェースに第1の可視情報を表示し、または第1の可視情報と第2の可視情報を表示する。これにより、サーバは、目標仮想オブジェクトの視野範囲、各仮想オブジェクトの位置および目標仮想オブジェクトの視野範囲内の物体ではなく、各仮想オブジェクトの仮想リソース数のみに基づいて送信すべきデータを決定するため、計算量を低減させ、サーバのハードウェアリソースの占用比例を低減させたとともに、第1の可視情報の情報量が第2の可視情報よりも多いので、対戦における仮想リソース数が少ない仮想オブジェクトの劣勢をバランスさせることができ、仮想環境における対戦の公平性を向上させた。
【0062】
また、本開示の実施例では、サーバは、仮想リソースの初期位置と初期速度とを含む第1の生成コマンドを端末に送信し、サーバおよび端末のそれぞれは、初期位置と初期速度とに基づいて同様なアルゴリズムに従って仮想リソースの運動軌跡を算出して、初期位置と運動軌跡とに基づいて仮想リソースの最終位置を決定することによって、サーバから各仮想リソースの運動軌跡を端末に同期させる必要がなくなり、ネットワークリソースの占用比例を低減させた。
【0063】
以下、仮想環境のアプリケーションプログラムがゲームであり、仮想オブジェクトがユーザにより制御されるゲームキャラクタである場合を例として、図2に示す実施例においてユーザインターフェースに第1の物体を透過して第1類オブジェクトを表示する実現形態について説明する。
【0064】
なお、ゲームにおけるユーザ同士の可視性は、以下のように実現することができる。すなわち、(1)PVS(Potentially Visible Set)データを用いてユーザにより制御されるゲームキャラクタ同士が可視であるか否かを静的にクエリーする。PVSデータは、ゲームシーンを構築すると同時に導出された設定データであり、ゲームの実行中に静的設定をクエリーすることによってユーザにより制御されるゲームキャラクタが可視であるか否かを確定する。(2)コード論理によってゲームキャラクタの可視性を確定し、すなわち、異なるユーザ間での状態データの同期ルールを制御することによって動的な可視性を実現する。
【0065】
ゲーム全体が状態の同期に基づく方式であるため、サーバは、ゲーム世界の実行を担当するとともに、ゲーム世界における物体とゲームキャラクタの状態データを端末に同期させる。また、図7に示すように、現在のユーザ(Local Player)730は、それが制御しているゲームキャラクタの前に位置する仮想リソース(例えば、仮想硬貨)および他のキャラクタを見える。なぜならば、サーバは、各仮想リソースおよび他のキャラクタの位置および向き等の状態データを現在のユーザ730の端末に同期させたので、端末は、同期された状態データに基づいてゲームシーンにおける物体を作成しているためである。
【0066】
図7に示すように、各ユーザはそれぞれ1つの可視性ポリシーリスト(Visible Policy List)を有し、ユーザが制御するゲームキャラクタのランキングに応じてこのリストを変更し、サーバは、データを同期するときにこのリストを解析し、全てのユーザ同士の可視性ポリシーについて選択的に状態の同期を行う。例えば、図7における現在のユーザ730は、他のユーザ(Remote Player)710が制御するゲームキャラクタと他のユーザ720が制御するゲームキャラクタとを見えるようにしようとする場合、サーバは、他のユーザ710と他のユーザ720の位置や向き等のような現在の状態データを現在のユーザ730に同期することにより、現在のユーザ730の端末には他のユーザ710と他のユーザ720が制御するゲームキャラクタを見えるようになる。
【0067】
例えば、可視性ポリシーリストは、サーバが予定時間間隔ごとに仮想環境におけるn(nは、3以上の正の整数である)個の仮想オブジェクトの仮想リソース数を取得して、仮想リソース数の降順にn個の仮想オブジェクトをソートすることにより、n個の仮想オブジェクトの順序番号を得た後に決定したものである。各仮想オブジェクトはそれぞれ1つの可視性ポリシーリストと対応し、目標仮想リソースを例として、サーバは、順序番号が目標仮想リソースよりも前の第1類オブジェクトと、順序番号が目標仮想オブジェクトと同じまたはそれよりも後ろの第2類オブジェクトとを取得し、第1類オブジェクトのデータリストと第2類オブジェクトのデータリストを目標仮想オブジェクトの可視性ポリシーリストとする。例えば、第1類オブジェクトのデータリストには、第1類オブジェクトの識別情報、位置、仮想リソース数が含まれ、第2類オブジェクトのデータリストには、第2類オブジェクトの識別情報が含まれる。
【0068】
図8は、本開示の1つの実施例に係る仮想リソースのピックアップ方法を示すフローチャートである。当該方法は、図1に示すようなコンピュータシステムに適用することができる。そして、当該方法は、図2に示す実施例におけるステップ202の前のステップであってよく、かつ以下のステップを含む。
【0069】
ステップ801において、端末は、目標仮想オブジェクトの目標状態情報をサーバに送信する。
【0070】
ここで、目標状態情報は、端末に対応する目標仮想オブジェクトの仮想環境における位置を示すためのものである。あるいは、端末は、第2の所定時間ごとに目標仮想オブジェクトの目標状態情報をサーバに送信し、または、トリガイベントに基づいて目標仮想オブジェクトの目標状態情報をサーバに送信するようにしてもよい。例えば、当該トリガイベントは、目標仮想オブジェクトが目標仮想リソースのピックアップ範囲に入ったことである。
【0071】
例えば、目標状態情報は、目標仮想オブジェクトの識別情報と、目標仮想オブジェクトの仮想環境における第1の基準座標とを含む。
【0072】
ステップ802において、サーバは、目標状態情報に基づいて、目標仮想オブジェクトが目標仮想リソースのピックアップ範囲内にあるか否かを確定する。
【0073】
目標仮想リソースは、仮想環境における1つの仮想リソースである。サーバは、目標仮想リソースの第2の基準座標を中心とし、かつ予定長さを半径として確定した球形を目標仮想オブジェクトのピックアップ範囲とし、第1の基準座標がピックアップ範囲内にあるか否かを検出することによって、目標仮想オブジェクトがピックアップ範囲内にあるか否かを確定する。
【0074】
例えば、仮想リソースは仮想硬貨であり、仮想リソースのピックアップ範囲は球体のコライダー(Sphere Collider)である場合、球体のコライダーが他の物体に衝突すると、サーバは、OnTriggerEnter(エンタトリガー)イベントを受信し、当該イベントの処理ロジックにおいて、サーバに当該物体がピックアップ条件を満足しているか否かを検知させる。
【0075】
ステップ803において、目標仮想オブジェクトが目標仮想リソースのピックアップ範囲内にあると確定すると、サーバは、目標状態情報に基づいて、目標仮想オブジェクトが目標仮想リソースをピックアップするピックアップ条件を満足しているか否かを確定する。
【0076】
また、サーバは目標状態情報に基づいて目標仮想オブジェクトがピックアップ条件を満足しているか否かを確定する方法は、ステップ803aおよびステップ803bを含むが、これらに限定されるものではない。
【0077】
ステップ803aにおいて、サーバは、目標仮想オブジェクトの識別情報に基づいて、目標仮想オブジェクトが生きているか否かを確定する。
【0078】
目標状態情報には、目標仮想オブジェクトの識別情報が含まれる。サーバは、当該識別情報に基づいて、データベースから目標仮想オブジェクトが生きているか否かをクエリーし、目標仮想オブジェクトが生きているとステップ803bに進み、目標仮想オブジェクトが死んでいると、目標仮想オブジェクトがピックアップ条件を満足していないと確定して、ステップを停止する。
【0079】
ステップ803bにおいて、目標仮想オブジェクトが生きていると確定すると、サーバは、目標仮想オブジェクトと目標仮想リソースとの間に第2の物体が存在しているか否かを確定する。
【0080】
本実施例では、目標仮想オブジェクトと目標仮想リソースとの間に第2の物体(すなわち、障害物)が存在すると、目標仮想リソースをピックアップすることができない。サーバは目標仮想オブジェクトと目標仮想リソースとの間に第2の物体が存在しているか否かを確定する方法は、第1の基準座標と第2の基準座標とに基づいて、目標仮想オブジェクトと目標仮想リソースとの連結線を取得して、連結線に第2の物体が存在しているか否かを確定し、連結線に第2の物体が存在していない場合、目標仮想オブジェクトと目標仮想リソースとの間に第2のオブジェクトが存在していないと確定することを含むが、これに限定されるものではない。
【0081】
なお、第1の基準座標と第2の基準座標との間の連結線によって障害物を検出する方式は、ビーム検出とも言われる。また、1つの例示的な実施例では、アプリケーションプログラムはゲームであり、仮想オブジェクトはゲームキャラクタであり、仮想リソースは仮想硬貨である。サーバは、仮想硬貨とゲームキャラクタとのビーム検出により仮想硬貨とゲームキャラクタとの間に壁や壁の隅などのような障害物が存在しているか否かを感知し、存在していると、ビーム検出の結果として障害物がなくなったと確定するまで、当該ゲームキャラクタが仮想硬貨をピックアップすることができない。図9に示すように、ユーザが制御するゲームキャラクタ910は、図中において矢印が指す方向に動くと、仮想硬貨920のコライダー930と衝突接触し、このとき、ゲームキャラクタと仮想硬貨との間のビーム検出がトリガされる。
【0082】
図9における点線は、ゲームキャラクタ910と仮想硬貨920との間の連結線(PhysX物理エンジンのRaycastインターフェースに基づく)を示し、ゲームキャラクタ910と仮想硬貨920との間に障害物940が存在しているため、仮想硬貨920は、ゲームキャラクタ910に吸着されてピックアップされない。ゲームキャラクタ910が仮想硬貨920のコライダー930の範囲内にあれば、サーバは、ビーム検出を継続して行う。ゲームキャラクタ910が障害物940を迂回してその反対側に到達すると、図9に示すように、ゲームキャラクタ910が障害物940を迂回した後に仮想硬貨920との間に障害物がなくなり、すなわち、PhysXのRaycastインターフェースの戻り値から障害物がなくなると判定すると、仮想硬貨920がゲームキャラクタ910に吸着されてピックアップされる。
【0083】
また、図10に示すように、ゲームキャラクタ910は、仮想硬貨920のコライダー930の範囲内に入り、ゲームシーンから見て、ゲームキャラクタ910と仮想硬貨920との間に障害物が存在していない(図10において矢印で示す連結線は、サーバがバックグラウンドで発生したものであり、ゲームシーンには見えない)。しかし、この連結線がシーンプラットフォーム1010(例えば、車両、箱等の物体)の1つの隅によって遮蔽されるので、仮想硬貨920がピックアップされなくなる。
【0084】
これに鑑みて、ゲームキャラクタ910の基準点をシフトアップするようにゲームに対してスラック処理を行って、設定を変更することによって基準点の位置を変えることができる。
【0085】
図10に示すように、基準点をシフトアップすると、本来にピックアップできなかった仮想硬貨920がゲームキャラクタ910にピックアップされる。通常、シフトアップされた基準点は、ゲームキャラクタ910の腰部よりも上方に位置する。
【0086】
あるいは、サーバは、目標仮想オブジェクトと目標仮想リソースとの間に第2の物体が存在しているか否かを確定する前に、目標仮想リソースの存在時間が存在周期を超えているか否かを確定し、目標仮想リソースの存在時間が存在周期を超えていないと確定した場合のみに、目標仮想オブジェクトと目標仮想リソースとの間に第2の物体が存在しているか否かを確定するようにしてもよい。
【0087】
なお、仮想リソースは、存在周期を有しており、仮想リソースが仮想オブジェクトと衝突したことがない(仮想オブジェクトにピックアップされない)と、図11に示す存在周期に従って状態を変換する。図11に示すように、仮想リソースの存在周期は、初期化段階(Init)1110と、準備段階(Preparing)1120と、フェードアウト段階(Fadeout)1130と、解散段階(ReleaseCoin)1140との4つの状態を含む。
【0088】
図12に示すように、仮想リソースの対象構造(Game Object)は、変換(Transform)モジュール1210と、仮想硬貨の運動を制御する放物線制御(ParabolaMoveController)モジュール1220と、仮想硬貨のベースデータ(例えば、分散初期速度、垂直速度範囲、回復血量、基準点高度等)を定義する硬貨結合(InterActorCoin)モジュール1230と、仮想リソースのピックアップ範囲を定義する衝突(SphereCollider)モジュール1240とを含む。
【0089】
以下、仮想リソースが仮想硬貨であり、アプリケーションプログラムがゲームであることを例として、仮想リソースの存在周期における各段階について説明する。
【0090】
初期化段階1110では、サーバは、ゲームシーンから若干の箇所(箇所の個数が設定可能である)をランダムに選択して仮想硬貨を生成する。
【0091】
準備段階1120では、各箇所で発生した複数の仮想硬貨は、ランダムな方向に沿って運動し、最終に、仮想硬貨は、ゲームシーンに略均一に分散することができる。
【0092】
フェードアウト段階1230では、仮想硬貨は、次第に透明になる。
【0093】
解散段階1240では、仮想硬貨は、徹底的に消失するまで次第に消失していく。
【0094】
ステップ803cにおいて、目標仮想オブジェクトと目標仮想リソースとの間に第2の物体が存在していないと確定すると、目標仮想オブジェクトがピックアップ条件を満足していると確定する。
【0095】
サーバは、目標仮想オブジェクトと目標仮想リソースとの間に第2の物体が存在していないと確定して、ビーム検出を完了し、目標仮想オブジェクトがピックアップ条件を満足していると確定する。
【0096】
あるいは、サーバは、目標仮想オブジェクトと目標仮想リソースとの間に第2の物体が存在していないと確定すると、ピックアップ範囲に他の仮想オブジェクトが含まれているか否かを確定し、ピックアップ範囲に他の仮想オブジェクトが含まれていると、目標仮想オブジェクトがピックアップ範囲に入った第1の時刻と、他の仮想オブジェクトがピックアップ範囲に入った第2の時刻とを取得し、第1の時刻が前記第2の時刻よりも早い場合、目標仮想オブジェクトがピックアップ条件を満たしていると確定する。
【0097】
目標仮想リソースのピックアップ範囲内には、複数の仮想オブジェクトが含まれる可能性があり、サーバは、複数の仮想オブジェクトがピックアップ範囲内に入った時刻を取得することによって、ピックアップ範囲内に入った時刻が最も早い仮想オブジェクトがピックアップ条件を満たしていると判定する。
【0098】
ステップ804において、サーバは、目標仮想オブジェクトがピックアップ条件を満たしていると確定すると、目標仮想オブジェクトの仮想リソース数を更新して、更新後の仮想リソース数を得る。
【0099】
また、サーバは、目標仮想オブジェクトがピックアップ条件を満足していると、目標仮想オブジェクトが目標仮想リソースをピックアップしたと確定し、かつピックアップした目標仮想リソースを目標仮想オブジェクトの仮想リソース数に加えて更新後の仮想リソース数を得る。
【0100】
ステップ805において、サーバは、ピックアップコマンドを端末に送信する。
【0101】
サーバは、目標仮想オブジェクトがピックアップ条件を満足していると確定すると、ピックアップコマンドを端末に送信する。
【0102】
ステップ806において、端末は、ピックアップコマンドに従って、目標仮想リソースをピックアップするように目標仮想オブジェクトを制御した後、目標仮想オブジェクトの仮想リソース数を更新する。
【0103】
端末は、ピックアップコマンドに応じて、目標仮想リソースをピックアップするように目標仮想オブジェクトを制御すると同時に、ピックアップした目標仮想リソースを目標仮想オブジェクトの仮想リソース数に加えることによって、更新後の仮想リソース数を得る。
【0104】
以上のように、本開示の実施例では、サーバは、端末から送信された目標仮想オブジェクトの目標状態情報に基づいて、目標仮想オブジェクトが目標仮想リソースのピックアップ条件を満足しているか否かを確定し、目標仮想オブジェクトがピックアップ条件を満足している場合、目標仮想オブジェクトの仮想リソース数を更新してピックアップコマンドを端末に送信する。端末は、ピックアップコマンドに応じて、目標仮想リソースをピックアップするように目標仮想オブジェクトを制御する。これにより、目標仮想オブジェクトのピックアップ行為がサーバによるピックアップ条件の判定に基づいて行われるため、目標仮想オブジェクトが目標仮想リソースをピックアップする正確度を向上させることができる。
【0105】
また、本開示の実施例では、ゲームシーンにおいて仮想硬貨をよりリアリティに見せるために、準備段階で仮想硬貨を生成した後、1セグメントのスキップ運動ロジックを実行する。なぜならば、各仮想硬貨がいずれもネットワークエンティティであり、すなわち、仮想硬貨の状態を端末とサーバとの間で同期する必要がある。そして、仮想硬貨が運動過程において随時ゲームキャラクタにピックアップされるため、端末における1セグメントの動画だけで表現することができず、サーバで運動ロジックを実行した後、動作状態を端末に同期させて運動表現を実現させる必要がある。そして、ゲームシーンにおいて仮想硬貨が多数発生される可能性があるため、仮想硬貨の瞬時位置を同期させて実現することができず、このようにすれば大量のデータ流量が発生するので、サーバの性能に影響を与える。
【0106】
また、本開示の実施例では、物理シミュレーション計算の手法を用いて、物理エンジンの機能によらず、端末とサーバとが同時に同じセグメントの運動ロジックを実行することによって、仮想硬貨の運動を実現するようになっている。図13に示すように、仮想硬貨の運動実現は、曲線運動は、初期位置(start_position)と初期時間(start_time)から開始し、1つの曲線運動を複数段に分け、かつ複数段の直線運動によって曲線運動をフィッティングし、各段の直線において直接運動公式で速度と新たな位置を算出し(例えば、図13では、位置P0の初期速度V0から位置P1の速度V1を算出する)、算出が終了する度に今回の速度と位置を次段の初期速度と開始位置として再度シミュレーション計算を行う。また、図14に示すように、運動中に地面や他の障害物と衝突すると、予定減衰比に従って減衰後の新たな速度を算出し、速度の方向は、反射公式によって算出することができる。
【0107】
運動全体は、速度が所定の値に減衰し、または運動時間が最大の運動時間に達したときに中止する。また、サーバは、運動が開始する時点で初期時間と初期位置を端末に同期し、その後、端末は、サーバと同様なロジックを実行して仮想硬貨の運動シミュレーションを実現する。すなわち、端末は、サーバから送信された初期位置P0と初期速度V0とを受信して、位置P0の初期速度V0から位置P1の速度V1を算出し、その後、これと同様に他の位置の速度を算出する。これにより、各段の直線において直接運動公式で速度と新たな位置とを算出して、複数段の直線運動によって曲線運動をフィッティングすることにより、仮想通貨の最終位置を得る。
【0108】
仮想リソース(例えば、仮想硬貨)の発生は、単一セットのゲームが開始するときに1バッチ発生する方法と、1つのゲームキャラクタが殺されたときに1バッチ発生する方法との2つの方法がある。
【0109】
また、図15に示すように、サーバ130は、ステートマシンやイベントによってリソースの発生をトリガさせる。サーバは、1つのステートマシンを維持し、ゲームが開始したら開始(Start)状態から実行を開始する。該当するイベントをトリガさせることによって論理状態のスギップを駆動し、状態に入った後に状態内に含まれる論理を実行し、論理が開始待ち(WaitingToStart)イベントに移行したと硬貨ドロップ(Event_DropCoin)イベントの処理関数を実行し、この関数論理では、予定時間間隔および回数で1セットのゲームに所定数の仮想リソースをドロップする。サーバが硬貨ドロップイベントを実行するステップは、図2に示す実施例におけるオプションステップを参照することができる。サーバは、仮想リソースの初期位置と初期速度をランダムに生成し、初期位置と初期速度とに基づいて仮想リソースの運動軌跡を算出して、初期位置と運動軌跡から仮想リソースの最終位置を算出する。
【0110】
また、状態が対戦(Contesting)状態に移行した場合、正式な対戦段階に移行する。この段階では、サーバは、死亡イベント(PawnEvent_Death)をモニタリングし、ゲームキャラクタが殺された(体力値または耐久値がゼロである)と、その殺された位置に一定の割合の仮想リソースを生成し、他のゲームキャラクタはこの仮想リソースをピックアップすることができる。サーバは、ゲームキャラクタが殺されることに基づいて仮想リソースを生成するステップは、後述する図18における実施例を参照することができる。
【0111】
サーバは状態同期モードであり、かつステートマシンは端末110およびサーバ130において一致しており、サーバは、フレーム毎に端末110に状態データを同期させるため、サーバにおいて状態が変化すると、端末110も更新された状態データを受信して、これらのデータによって端末110での表現を実行することができる。このため、サーバは開始待ちイベントに移行した旨のメッセージを受信すると、端末110も同様に開始待ち状態に移行する。サーバ130が硬貨ドロップイベントを受信した後、サーバ130において1パッチの仮想リソースがインスタンス化され、その後、仮想リソースが生成された旨のメッセージをサーバ130の生成(Spawn)関数によって端末110に同期させ、端末110は、この状態データを受信すると同時にゲームシーンにおいて仮想リソースを生成する。同様に、ゲームキャラクタが死亡した場合も、当該方式によって端末110において仮想リソースを生成する。
【0112】
図16は、本開示の1つの実施例に係るユーザインターフェース表示方法を示すフローチャートである。当該方法は、図1に示すようなコンピュータシステムに適用できる。そして、当該方法は、図2に示す実施例におけるステップ207aおよびステップ207bの後ろのステップであって、以下のステップを含む。
【0113】
ステップ1601において、サーバは、仮想環境におけるn(nは、3以上の正の整数である)個の仮想オブジェクトの活動時間が予定時間を超えると、n個の仮想オブジェクトの仮想リソース数を再度取得する。
【0114】
例えば、仮想環境におけるn個の仮想オブジェクトの活動時間は限られており、活動時間が予定時間を超えると、サーバは、n個の仮想オブジェクトの仮想リソース数を統計する。
【0115】
ステップ1602において、サーバは、仮想リソース数が最も多い仮想オブジェクトを勝利者として決定する。
【0116】
例えば、仮想環境に4つの仮想オブジェクトが存在しており、サーバは、仮想リソース数として、仮想オブジェクト1の仮想リソース数が100、仮想オブジェクト2の仮想リソース数が98、仮想オブジェクト3の仮想リソース数が102、目標仮想オブジェクトの仮想リソース数が120とそれぞれ取得したので、目標仮想オブジェクトを勝利者として決定する。
【0117】
ステップ1603において、サーバは、端末に勝利表示コマンドを送信する。
【0118】
サーバは、勝利者を決定した後、勝利表示コマンドを端末に送信して、勝利者の表示を端末に指示する。ここで、当該勝利表示コマンドは、勝利者の識別情報を含む。
【0119】
ステップ1604において、端末は、勝利表示コマンドに応じて、ユーザインターフェースに勝利者の情報を表示する。
【0120】
端末は、勝利表示コマンドに含まれる勝利者の識別情報に基づいて、ユーザインターフェースに勝利者の情報を表示する。例えば、図17に示すように、勝利者が端末110に対応する目標仮想オブジェクトである場合、勝利表示コマンドを受信すると、ユーザインターフェース112に勝利情報ウィンドウ119を表示し、勝利情報ウィンドウ119には、「君が勝った!」のような勝利者の情報が表示される。
【0121】
以上のように、本開示の実施例では、仮想環境におけるn個の仮想オブジェクトの活動時間が予定時間を超えた場合、サーバは、n個の仮想オブジェクトの仮想リソース数を取得し、仮想リソース数が最も多い仮想オブジェクトを勝利者として決定して、端末に勝利表示コマンドを送信する。端末は、勝利表示コマンドに応じて勝利者の情報を表示する。
【0122】
これにより、仮想環境における対戦の勝利者の取得正確度を向上させることができる。
【0123】
図18は、本開示の1つの実施例に係るユーザインターフェース表示方法を示すフローチャートである。当該方法は、図1に示すようなコンピュータシステムに適用することができる。そして、当該方法は、図2に示す実施例におけるオプションステップであって、以下のステップを含む。
【0124】
ステップ1801において、サーバは、目標仮想オブジェクトの生命値または耐久値がゼロとなると、仮想環境において復活条件を満足している復活位置を決定する。
【0125】
サーバは、仮想環境においていずれか1つの位置を目標位置として選択し、そして、目標位置を中心とし、第1の距離を半径とする第1の範囲内に他の仮想オブジェクトが存在しているか否かを確定し、かつ第1の範囲内に他の仮想オブジェクトが存在していないと、目標位置を中心とし、第1の距離よりも大きい第2の距離を半径とする第2の範囲内に他の仮想オブジェクトが存在しているか否かを確定し、かつ第2の範囲内に他の仮想オブジェクトが存在していると、目標位置を復活位置として決定する。
【0126】
ここで、アプリケーションプログラムがゲームであり、仮想オブジェクトがゲームキャラクタであることを例として復活位置について説明する。
【0127】
復活位置を設定する目的としては、復活直後のゲームキャラクタがその近傍の他のゲームキャラクタによって殺されないようにするとともに、長時間に亘って他のゲームキャラクタを見つけないことでゲームのリズムを中断させるのを防止するために、復活直後のゲームキャラクタをできるだけ復活してから一定の時間以内に他のゲームキャラクタに合わせるためのことである。
【0128】
この技術目的を達成するために、本開示の実施例では、復活時の最小検査距離(第1の距離)と復活時の最大検査距離(第2の距離)との2つの距離を定義した。図19に示すように、最小検査距離R1は、当該距離を半径とする範囲内に他のゲームキャラクタが存在しないことを検出するためのものであり、最大検査距離R2は、当該距離を半径とする範囲内に少なくとも1つのゲームキャラクタが存在することを検出するためのものである。
【0129】
ゲームキャラクタの復活の実行フローとしては、まず、hasEnemyInFarとhasEnemyInNear(第1の距離)をfalse(他のゲームキャラクタが存在しない)に初期化し、hasEnemyInNear=falseであるとともにhasEnemyInFar(第2の距離)=true(他のゲームキャラクタが存在する)である場合のみに、復活条件を満足する位置を見つけたと確定する。サーチを複数回繰り返しても復活条件を満足する位置を見つけられないと、このアルゴリズムによって継続してサーチしていくことにより、サーバの性能に影響を及ぼすのを回避するために、1つの位置をランダムに選択する。サーチの回数は、設定によって1つの合理的な数値とすることができる。
【0130】
あるいは、サーバは、目標仮想オブジェクトの生命値または耐久値がゼロとなると、目標仮想オブジェクトの仮想リソース数を予定割合で減少させ、更新後の仮想リソース数を得て、端末に更新コマンドを送信し、端末は、更新コマンドに応じて目標仮想オブジェクトの仮想リソース数を更新するようにしてもよい。
【0131】
例えば、目標仮想オブジェクトが他の仮想オブジェクトによって殺される場合、その一部の仮想リソース数が差し引かれる。サーバは、差し引くべき仮想リソース数を算出した後、更新後の仮想リソース数を取得し、かつ更新後の仮想リソース数を端末に同期させる。
【0132】
あるいは、サーバは、目標仮想オブジェクトの生命値または耐久値がゼロとなると、目標仮想オブジェクトの生命値または耐久値がゼロと低下した消失位置を取得して、端末に第2の生成コマンドを送信し、端末は、第2の生成コマンドに応じて消失位置に仮想リソースを生成するようにしてもよい。
【0133】
例えば、目標仮想オブジェクトが他の仮想オブジェクトによって殺された場合、殺された位置(すなわち、消失位置)に新たな仮想リソースを生成する。サーバは、消失位置を取得した後、端末に第2の生成コマンドを送信し、端末は、第2の生成コマンドに応じて消失位置に新たな仮想リソースを生成する。
【0134】
ステップ1802において、サーバは、復活位置を端末に送信する。
【0135】
サーバは、復活位置を決定した後、復活位置を端末に送信する。
【0136】
ステップ1803において、端末は、復活位置で目標仮想オブジェクトを復活させる。
【0137】
端末は、サーバから送信された復活位置に応じて、当該復活位置に仮想オブジェクトを復活させる。
【0138】
以上のように、本開示の実施例では、サーバは、仮想環境において復活位置を決定した後、当該復活位置を端末に送信し、端末は、当該復活位置で目標仮想オブジェクトを復活させる。復活位置は、第1の範囲内に他の仮想オブジェクトが存在していないとともに第2の範囲内に他の仮想オブジェクトが存在していることを満足する位置であるため、復活後の目標仮想オブジェクトが他の仮想オブジェクトによって殺されないことを保証できるとともに、目標仮想オブジェクトが復活後の長時間内に戦闘できないようにしないので、仮想環境における対戦の公平性を向上させることができる。
【0139】
なお、図2図8図16および図18のフローチャートにおける各ステップは、矢印の指示に従って順次表示されるが、これらのステップは必ずしも矢印で示される順番で実行される必要はない。なお、本明細書に特に説明がない限り、これらのステップの実行順序は、厳密に限定されるものではなく、他の順序で実行されてもよい。そして、図2図8図16および図18における少なくとも一部のステップは、複数のサブステップまたは複数の段階を含んでもよく、これらのサブステップまたは段階は、必ずしも同一時刻で実行される必要がなく、異なる時刻で実行されてもよく、これらのサブステップまたは段階の実行順序も必ずしも逐次的に行われるものではなく、他のステップあるいは他のステップのサブステップまたは段階の少なくとも一部と順番にまたは交互に実行されてもよい。
【0140】
図20は、本開示の1つの実施例に係る仮想環境における弾道表示装置を示すブロック図である。当該装置は、ソフトウェア、ハードウェア、あるいは両者の組み合わせによって図1の実施例における第1の端末110として実現することができる。当該装置は、表示モジュール2010と、受信モジュール2020と、処理モジュール2030と、送信モジュール2040と、を備える。
【0141】
表示モジュール2010は、目標仮想オブジェクトに対応する視角から見た仮想環境の画面が表示されるユーザインターフェースを表示するためのものである。
【0142】
受信モジュール2200は、サーバから送信された表示コマンドを受信するためのものである。ここで、表示コマンドは、取得した仮想リソース数が目標仮想オブジェクトよりも多い仮想オブジェクトである第1類オブジェクトのデータと、取得した仮想リソース数が目標仮想オブジェクト以下の仮想オブジェクトである第2類オブジェクトのデータとを含み、第1類オブジェクトおよび第2類オブジェクトは、目標仮想オブジェクトと異なる陣営に属する。
【0143】
表示モジュール2010は、さらに、第1類オブジェクトが視角の視野範囲内に位置しない場合に、ユーザ表示インターフェースに第1の可視情報を表示し、または、ユーザインターフェースに第1の可視情報と第2の可視情報を表示するために用いられる。ここで、第1の可視情報の情報量は、第2の可視情報の情報量よりも多い。ここで、第1の可視情報は、第1類オブジェクトのデータから生成されたものであり、第2の可視情報は、第2類オブジェクトのデータから生成されたものである。
【0144】
また、1つの好適な実施例では、仮想環境の画面には、不透明な第1の物体が表示される。
【0145】
また、表示モジュール2010は、さらに、第1類オブジェクトが視角の視野範囲内に入り、かつ第1の物体の後方に位置する場合に、第1の物体を透過して第1の可視情報を表示するために用いられる。
【0146】
また、1つの好適な実施例では、表示モジュール2010は、さらに、第1の物体を透過して仮想環境における第1類オブジェクトの身体モデル情報および/または第1類オブジェクトの第1の状態情報を表示するために用いられる。
【0147】
ここで、第1の状態情報は、第1類オブジェクトの体力値または耐久値、第1類オブジェクトの仮想リソース数、第1類オブジェクトの防御値、および第1類オブジェクトのアイテム情報のうちの少なくとも1つを含む。
【0148】
また、1つの好適な実施例では、表示モジュール2010は、さらに、前記第1類オブジェクトのデータに基づいて、シルエット特殊効果によって前記第1の物体に重畳される、前記仮想環境における前記第1類オブジェクトの身体モデル情報を生成した後に、
前記第1の物体と、前記第1の物体に重畳された前記身体モデル情報とを表示するために用いられる。
【0149】
また、1つの好適な実施例では、第1類オブジェクトの身体モデル情報は、第1類オブジェクトの輪郭、または第1類オブジェクトの輪郭および第1類オブジェクトの姿勢を含むようにしてもよい。
【0150】
また、1つの好適な実施例では、ユーザインターフェースには、仮想環境の地図も表示される。
【0151】
表示モジュール2010は、さらに、地図における第1の領域に第1類オブジェクトの標識を表示するために用いられる。ここで、第1の領域は、仮想環境における第1類オブジェクトの位置に対応する。
【0152】
また、1つの好適な実施例では、表示モジュール2010は、さらに、第1の可視情報が表示される情報ウィンドウをユーザインターフェースに表示するために用いられる。
【0153】
第1の可視情報は、第1類オブジェクトの位置および/または第1類オブジェクトの第1の状態情報を含む。
【0154】
ここで、第1の状態情報は、第1類オブジェクトの体力値または耐久値、第1類オブジェクトの仮想リソース数、第1類オブジェクトの防御値、および第1類オブジェクトのアイテム情報のうちの少なくとも1つを含む。
【0155】
また、1つの好適な実施例では、受信モジュール200は、さらにサーバから送信された第1の生成コマンドを受信するために用いられる。
【0156】
また、処理モジュール2030は、さらに第1の生成コマンドに含まれる仮想リソースの初期位置と仮想リソースの初期速度に基づいて、仮想リソースの運動軌跡を算出するために用いられる。
【0157】
また、表示モジュール2010は、さらに仮想リソースの運動軌跡をユーザインターフェースに表示するために用いられる。
【0158】
また、1つの好適な実施例では、処理モジュール2030は、さらに、初期位置および運動軌跡に基づいて仮想リソースの最終位置を算出するために用いられる。
【0159】
また、表示モジュール2010は、さらに、最終位置に仮想リソースを表示するために用いられる。
【0160】
また、1つの好適な実施例では、送信モジュール2040は、仮想環境における目標仮想オブジェクトの位置を示す目標仮想オブジェクトの目標状態情報をサーバに送信するためのものである。
【0161】
受信モジュール2020は、さらに、サーバから送信されたピックアップコマンドを受信するために用いられる。ここで、ピックアップコマンドは、サーバが目標状態情報に基づいて目標仮想オブジェクトが目標仮想リソースをピックアップするピックアップ条件を満足していると確定したときに端末に送信するものである。
【0162】
処理モジュール2030は、ピックアップコマンドに応じて、目標仮想リソースをピックアップするように目標仮想オブジェクトを制御して、目標仮想オブジェクトの仮想リソース数を更新するためのものである。
【0163】
また、1つの好適な実施例では、受信モジュール202は、さらに、サーバから送信された勝利表示コマンドを受信するために用いられる。ここで、勝利表示コマンドは、仮想環境におけるn(nは、3以上の正の整数である)個の仮想オブジェクトの活動時間が予定時間を超えた場合に、サーバがn個の仮想オブジェクトの仮想リソース数を取得して、仮想リソース数が最も多い仮想オブジェクトを勝利者として決定した後に端末に送信するものである。
【0164】
表示モジュール2010は、勝利表示コマンドに応じてユーザインターフェースに勝利者の情報を表示するためのものである。
【0165】
また、1つの好適な実施例では、受信モジュール2020は、さらに、目標仮想オブジェクトの生命値または耐久値がゼロである場合、サーバから送信された復活位置を受信するために用いられる。ここで、復活位置は、サーバが仮想環境において決定しかつ復活条件を満足する位置である。
【0166】
処理モジュール2030は、さらに、復活位置で目標仮想オブジェクトを復活させるために用いられる。
【0167】
また、1つの好適な実施例では、復活条件は、目標位置を中心とし、第1の距離を半径とする第1の範囲内に他の仮想オブジェクトが存在していないとともに、目標位置を中心とし、第1の距離よりも大きい第2の距離を半径とする第2の範囲内に他の仮想オブジェクトが存在していることを含む。
【0168】
また、1つの好適な実施例では、受信モジュール2020は、さらに、サーバから送信された更新コマンドを受信するために用いられる。ここで、更新コマンドは、サーバが目標仮想オブジェクトの生命値または耐久値がゼロであるときに、目標仮想オブジェクトの仮想リソース数を予定割合で減少させて、更新後の仮想リソース数を得た後に端末に送信するものである。
【0169】
処理モジュール2030は、さらに、更新コマンドに含まれる更新後の仮想リソース数に基づいて、目標仮想オブジェクトの仮想リソース数を更新するために用いられる。
【0170】
また、1つの好適な実施例では、受信モジュール2020は、さらに、サーバから送信された第2の生成コマンドを受信するために用いられる。ここで、第2の生成コマンドは、サーバが目標仮想オブジェクトの生命値または耐久値がゼロであるときに、目標仮想オブジェクトの生命値または耐久値がゼロと低下した消失位置を取得した後に端末に送信するものである。
【0171】
処理モジュール2030は、さらに第2の生成コマンドに応じて消失位置に仮想リソースを生成するために用いられる。
【0172】
図21は、本開示の1つの実施例に係る仮想環境における弾道表示装置を示すブロック図である。当該装置は、ソフトウェア、ハードウェア、あるいは両者の組み合わせによって図1の実施例におけるサーバ130として実現することができる。当該装置は、処理モジュール2110と、送信モジュール2120と、受信モジュール2130と、を備える。
【0173】
処理モジュール2110は、仮想環境におけるn(nは、3以上の正の整数である)個の仮想オブジェクトの仮想リソース数を取得し、仮想リソース数の降順にn個の仮想オブジェクトをソートしてn個の仮想オブジェクトの順序番号を得て、n個の仮想オブジェクトの順序番号に基づいてn個の仮想オブジェクトにおける目標仮想オブジェクトの第1類オブジェクトおよび第2類オブジェクトを決定するためのものである。ここで、第1類オブジェクトは、順序番号が目標仮想オブジェクトよりも前の仮想オブジェクトであり、第2類オブジェクトは、順序番号が目標仮想オブジェクトと同じまたはそれよりも後の仮想オブジェクトであり、第1類オブジェクトおよび第2類オブジェクトは、目標仮想オブジェクトと異なる陣営に属する。
【0174】
送信モジュール2120は、目標仮想オブジェクトに対応する端末に表示コマンドを送信するためのものである。ここで、表示コマンドは、表示コマンドに含まれる第1類オブジェクトのデータから第1の可視情報を生成し、表示コマンドに含まれる第2類オブジェクトのデータから第2の可視情報を生成し、かつ、第1類オブジェクトが目標仮想オブジェクトに対応する視角の視野範囲内に存在しない場合、ユーザインターフェースに第1の可視情報を表示し、または第1の可視情報および第2の可視情報を表示するように端末を指示するためのものであり、そのうち、第1の可視情報の情報量は、第2の可視情報の情報量よりも多い。
【0175】
また、1つの好適な実施例では、受信モジュール2130は、端末から送信され仮想環境における仮想オブジェクトの位置を示す目標状態情報を受信するためのものである。
【0176】
処理モジュール2110は、さらに、目標状態情報に基づいて、目標仮想オブジェクトが目標仮想リソースのピックアップ範囲内に位置し、かつ目標仮想オブジェクトが目標仮想リソースをピックアップするピックアップ条件を満足していると確定した場合に、目標仮想オブジェクトの仮想リソース数を更新して、更新後の仮想リソース数を得るために用いられる。
【0177】
送信モジュール2120は、さらに、端末にピックアップコマンドを送信するために用いられる。ここで、ピックアップコマンドは、目標仮想リソースをピックアップするように目標仮想オブジェクトを制御した後、目標仮想オブジェクトの仮想リソース数を更新するように端末を指示するためのものである。
【0178】
また、1つの好適な実施例では、目標状態情報は、目標仮想オブジェクトの識別情報を含む。
【0179】
また、処理モジュール2110は、さらに、識別情報に基づいて目標仮想オブジェクトが生きており、かつ目標仮想オブジェクトと目標仮想リソースとの間に第2の物体が存在していないと確定した場合に、目標仮想オブジェクトがピックアップ条件を満足していると確定するために用いられる。
【0180】
また、1つの好適な実施例では、処理モジュール2110は、さらに、目標仮想オブジェクトが生きており、かつ目標仮想リソースの存在時間が存在周期を超えていないと確定した場合に、目標仮想オブジェクトと目標仮想リソースとの間に第2の物体が存在しているか否かを確定するために用いられる。
【0181】
また、1つの好適な実施例では、目標状態情報は、仮想環境における目標仮想オブジェクトの第1の基準座標を含む。
【0182】
また、処理モジュール2110は、さらに、第1の基準座標と、仮想環境における目標仮想オブジェクトの第2の基準座標とに基づいて、目標仮想オブジェクトと目標仮想リソースとの連結線を取得し、かつ、連結線に第2の物体が存在していないと確定した場合、目標仮想オブジェクトと目標仮想リソースとの間に第2の物体が存在していないと確定するために用いられる。
【0183】
また、1つの好適な実施例では、目標仮想オブジェクトは、目標仮想人物であり、目標仮想リソースは、目標仮想硬貨である。
【0184】
第1の基準座標は、目標仮想人物の基準点の座標であり、基準点は、仮想人物の腰部よりも上方に位置し、第2の基準座標は、目標仮想硬貨の中心点である。
【0185】
また、1つの好適な実施例では、処理モジュール2110は、さらに、目標仮想オブジェクトと目標仮想リソースとの間に第2の物体が存在していなく、かつピックアップ範囲に他の仮想オブジェクトが含まれると確定した場合に、目標仮想オブジェクトがピックアップ範囲に入った第1の時刻と、他の仮想オブジェクトがピックアップ範囲に入った第2の時刻とを取得し、第1の時刻が第2の時刻よりも早い場合に、目標仮想オブジェクトがピックアップ条件を満足していると確定するために用いられる。
【0186】
また、1つの好適な実施例では、処理モジュール2110は、さらに、仮想リソースの初期位置および初期速度をランダムに生成するために用いられる。
【0187】
また、送信端末2120は、さらに、第1の生成コマンドを端末に送信するために用いられる。ここで、第1の生成コマンドは、初期位置と初期速度とを含み、かつ、初期位置と初期速度とに基づいて仮想リソースの運動軌跡を算出した後に、ユーザインターフェースに仮想リソースの運動軌跡を表示するように端末に指示するためのものである。
【0188】
また、1つの好適な実施例では、処理モジュール2110は、さらに、初期位置および初期速度に基づいて仮想リソースの運動軌跡を算出して、初期位置および運動軌跡から仮想リソースの最終位置を算出するために用いられる。
【0189】
また、1つの好適な実施例では、処理モジュール2110は、さらに、仮想環境におけるn個の仮想オブジェクトの活動時間が予定時間を超えた場合、n個の仮想オブジェクトの仮想リソース数を再度取得し、かつ仮想リソース数が最も多い仮想オブジェクトを勝利者として決定するために用いられる。
【0190】
送信モジュール2120は、さらに、端末に対してユーザインターフェースに勝利者の情報を表示するように指示するための勝利表示コマンドを端末に送信するために用いられる。
【0191】
また、1つの好適な実施例では、処理モジュール2110は、さらに、目標仮想オブジェクトの生命値または耐久値がゼロである場合に、仮想環境における復活条件を満足している復活位置を決定するために用いられる。
【0192】
送信モジュール2120は、さらに、そこで目標仮想オブジェクトを復活させるように端末をトリガするための復活位置を端末に送信するために用いられる。
【0193】
また、1つの好適な実施例では、処理モジュール2110は、さらに、仮想環境における目標位置を中心とし、第1の距離を半径とする第1の範囲内に他の仮想オブジェクトが存在していないと確定し、かつ、目標位置を中心とし、第1の距離よりも大きい第2の距離を半径とする第2の範囲内に他の仮想オブジェクトが存在していると確定した場合、目標位置を復活位置として決定するために用いられる。
【0194】
また、1つの好適な実施例では、処理モジュール2110は、さらに、目標仮想オブジェクトの生命値または耐久値がゼロである場合、目標仮想オブジェクトの仮想リソース数を予定割合で減少させて、更新後の仮想リソース数を得るために用いられる。
【0195】
送信モジュール2120は、端末に対して目標仮想オブジェクトの仮想リソース数を更新するように指示するための更新コマンドを端末に送信するためのものである。
【0196】
また、1つの好適な実施例では、処理モジュール2110は、さらに、目標仮想オブジェクトの生命値または耐久値がゼロである場合に、目標仮想オブジェクトの生命値または耐久値がゼロと低下した消失位置を取得するために用いられる。
【0197】
送信モジュール2120は、さらに、端末に対して消失位置に仮想リソースを生成するように指示するための第2の生成コマンドを端末に送信するために用いられる。
【0198】
図22は、本開示の1つの実施例に係る端末2200の構造を示すブロック図である。当該端末2200は、スマートフォン、タブレット、MP3(Moving Picture Experts Group Audio Layer III)プレーヤ、MP4(Moving Picture Experts Group Audio Layer IV)プレーヤ、ノートパソコン、または卓上型コンピュータであってよい。端末2200は、ユーザ機器、携帯端末、ラップトップ型端末、卓上型端末等の他の名称とも称され得る。
【0199】
また、端末2200は、通常、プロセッサ2201とメモリ2202とを備える。
【0200】
プロセッサ2201は、1つまたは複数の処理コアを含み、例として4コアのプロセッサ、8コアのプロセッサなどが挙げられます。また、プロセッサ2201は、DSP(Digital Signal Processing)、FPGA(Field-Programmable Gate Array)、PLA(Programmable Logic Array)のうちの少なくとも1種のハードウェアによって実現され得る。プロセッサ2201は、ウェイクアップ状態でのデータを処理するためのものであってCPU(Central Processing Unit)とも呼ばれるメインプロセッサと、待機状態でのデータを処理するための低消費電力プロセッサであるコプロセッサを含んでもよい。また、幾つかの実施例では、プロセッサ2201は、GPU(Graphics Processing Unit)がさらに集積されてもよく、GPUは、表示画面に表示すべきコンテンツのレンダリングや描画を担当する。また、幾つかの実施例では、プロセッサ2201は、機械学習に関する計算動作を行うためのAI(Artificial Intelligence)プロセッサをさらに含んでもよい。
【0201】
メモリ2202は、1つまたは複数の非一時的なコンピュータ読取可能な記憶媒体を含んでもよい。また、メモリ2202は、高速ランダムアクセスメモリ、および1つまたは複数の磁気ディスク記憶装置、フラッシュメモリなどのような不揮発性メモリをさらに含んでもよい。また、幾つかの実施例では、メモリ2202における非一時的なコンピュータ読取可能な記憶媒体は、プロセッサ2201が実行することにより、本開示に係る方法の実施例で提供されるユーザインターフェース表示方法または仮想リソースのピックアップ方法を実現するための少なくとも1つのコマンドを記憶するためのものである。
【0202】
また、いくつかの実施例では、端末2200は、周辺機器インターフェース2203と少なくとも1つの周辺機器とをさらに含んでもよい。プロセッサ2201、メモリ2202および周辺機器インターフェース2203は、バスまたは信号線によって接続される。各周辺機器は、バス、信号線または回路基板を介して周辺機器インターフェース2203に接続されてもよい。具体的には、周辺機器は、RF(無線周波数)回路2204と、タッチ表示画面2205と、カメラアセンブリ2206と、オーディオ回路2207と、測位アセンブリ2208と、電源2209のうちの少なくとも1種を含む。
【0203】
周辺機器インターフェース2203は、I/O(Input/Output)に関する少なくとも1つの周辺機器をプロセッサ2201およびメモリ2202に接続するために用いられる。また、幾つかの実施例では、プロセッサ2201、メモリ2202および周辺機器インターフェース2203は、同一のチップまたは回路基板に集積されている。また、他の幾つかの実施例では、プロセッサ2201、メモリ2202および周辺機器インターフェース2203のうちのいずれか1つまたは2つは、独立したチップまたは回路基板に実現されていてもよく、本実施例ではこれに対して限定されない。
【0204】
RF回路2204は、電磁信号とも呼ばれるRF(Radio Frequency:無線周波数)信号を送受信するためのものである。RF回路2204は、電磁信号を介して通信ネットワークおよび他の通信機器と通信を行う。RF回路2204は、電気信号を電磁信号に変換して送信したり、受信した電磁信号を電気信号に変換したりする。また、RF回路2204は、アンテナシステムと、RF送受信機と、1つまたは複数の増幅器と、チューナと、発振器と、デジタル信号プロセッサと、コーデックチップセットと、ユーザ身分モジュールカードなどを含んでもよい。RF回路2204は、少なくとも1種の無線通信プロトコルによって他の端末と通信することができる。当該無線通信プロトコルは、ワールドワイドウェブ、メトロポリタンエリアネットワーク、イントラネット、各世代の移動通信網(2G、3G、4Gおよび5G)、無線ローカルエリアネットワークおよび/またはWi-Fi(Wireless Fidelity)ネットワークを含むが、これらに限定されない。また、いくつかの実施例では、RF回路2204は、NFC(Near Field Communication)に関する回路をさらに備えていてもよいが、本開示ではこれに対して限定されない。
【0205】
表示画面2205は、UI(User Interface)を表示するためのものである。当該UIは、図形、テキスト、アイコン、ビデオおよびそれらの任意の組み合わせを含むことができる。また、表示画面2205は、タッチスクリーンである場合、その表面または表面の上方におけるタッチ信号を収集する能力も有している。このタッチ信号は、制御信号としてプロセッサ2201に入力して処理を行うことができる。このとき、表示画面2205は、仮想ボタンおよび/または仮想キーボード(ソフトボタンおよび/またはソフトキーボードとも言われる)を提供するために用いることもできる。また、いくつかの実施例では、表示画面2205は、端末2200のフロントパネルに設けられる1つであってもよい。他の幾つかの実施例では、表示画面2205は、それぞれ端末2200の異なる面に設けられ、または折り畳み可能に設けられる少なくとも2つであってもよい。さらに他の幾つかの実施例では、表示画面2205は、端末2200の湾曲した表面または折り畳み面に設けられるフレキシブルスクリーンであってもよい。ひいては、表示画面2205は、非矩形の不規則な図形に設けられてもよく、すなわち、異形のものであってもよい。表示画面2205は、LCD(Liquid Crystal Display)、OLED(Organic Light-Emitting Diode)等の材質で制作されることができる。
【0206】
カメラアセンブリ2206は、画像またはビデオを採集するためのものである。また、カメラアセンブリ2206は、フロントカメラとリアカメラとを含む。一般的に、フロントカメラは、端末のフロントパネルに設けられ、リアカメラは、端末の背面に設けられる。また、いくつかの実施例では、リアカメラは、それぞれメインカメラ、被写界深度カメラ、広角カメラ、望遠カメラのいずれかである少なくとも2つであり、メインカメラと被写界深度カメラとの融合による背景ぼかし機能、メインカメラと広角カメラとの融合によるパノラマ撮影およびVR(Virtual Reality)撮影機能、または他の融合による撮影機能を実現することができる。また、いくつかの実施例では、カメラアセンブリ2206は、フラッシュランプをさらに備えてもよい。フラッシュランプは、単色温度フラッシュランプであってもよいし、2色温度フラッシュランプであってもよい。2色温度フラッシュランプは、暖光フラッシュランプと冷光フラッシュランプとの組み合わせであり、異なる色温度での光線補償に用いることができる。
【0207】
オーディオ回路2207は、マイクおよびスピーカを含む。マイクは、ユーザや環境の音波を収音するとともに、音波を電気信号に変換して、プロセッサ2201に入力して処理を行ったり、RF回路2204に入力して音声通信を実現したりするためのものである。マイクは、ステレオ音声の収音やノイズの低減の目的のために、端末2200の異なる部位にそれぞれ設けられる複数あってもよい。また、マイクロは、アレイマイクまたは全方位収音型マイクロフォンであってもよい。スピーカは、プロセッサ2201またはRF回路2204からの電気信号を音波に変換するためのものである。スピーカは、従来のフィルムスピーカであってもよいし、圧電セラミックスピーカであってもよい。スピーカが圧電セラミックスピーカである場合、電気信号を人間に聞こえる音波に変換するだけでなく、測距などの用途として電気信号を人間に聞こえない音波に変換することもできる。また、いくつかの実施例では、オーディオ回路2207は、イヤホンジャックをさらに備えていてもよい。
【0208】
測位アセンブリ2208は、ナビゲーションやLBS(Location Based Service)を実現するために、端末2200の現在の地理位置を測位するためのものである。測位アセンブリ2208は、米国のGPS(Global Positioning System)、中国の北斗システム、またはロシアのガリレオシステムに基づいた測位アセンブリである。
【0209】
電源2209は、端末2200内の各構成要素に電力を供給するためのものである。電源2209は、交流電源、直流電源、一次電池または二次電池である。電源2209が二次電池である場合、当該二次電池は、有線または無線の二次電池であってもよい。有線の二次電池は、有線回線によって充電される電池であり、無線二次電池は、無線コイルによって充電される電池である。当該二次電池は、急速充電技術を支持するために用いられてもよい。
【0210】
また、いくつかの実施例では、端末2200は、1つまたは複数のセンサ2210をさらに備える。1つまたは複数のセンサ2210は、加速度センサ2211と、ジャイロセンサ2212と、圧力センサ2213と、指紋センサ2214と、光学センサ2215と、近接センサ2216とを含むが、これらに限定されるものではない。
【0211】
加速度センサ2211は、端末2200で確立した座標系の3つの座標軸における加速度の大きさを検出することができる。例えば、加速度センサ2211は、3つの座標軸における重力加速度の成分を検出するために用いられてもよい。プロセッサ2201は、加速度センサ2211から取得した重力加速度信号に基づいて、ユーザインターフェースを横方向ビューまたは縦方向ビューで表示するようにタッチ表示画面1205を制御することができる。加速度センサ2211は、さらにゲームまたはユーザの運動データを収集するために用いられてもよい。
【0212】
ジャイロセンサ2212は、端末2200の機体方向および回動角度を検出することができる。また、ジャイロセンサ2212は、加速度センサ2211と協働してユーザによる端末2200への3D動作を採集することができる。プロセッサ2201は、ジャイロセンサ2212が採集したデータに基づいて、動作感知(例えば、ユーザの傾斜操作に応じてUIを変化する)、撮影時の画像の安定化、ゲーム制御および慣性航法などのような機能を実現することができる。
【0213】
圧力センサ2213は、端末2200のサイドフレームおよび/またはタッチ表示画面2205の下層に設けることができる。また、圧力センサ2213は、端末2200のサイドフレームに設けられる場合、ユーザによる端末2200の把持信号を検出することができ、プロセッサ2201は、圧力センサ2213によって採集された把持信号に基づいて左右手の識別やショートカット操作を行うことができる。また、圧力センサ2213がタッチ表示画面2205の下層に設けられる場合、プロセッサ2201は、ユーザによるタッチ表示画面2205への押圧操作に基づいて、UIインターフェースにおける操作可能なコントロールを制御する。操作可能なコントロールは、ボタンコントロール、スクロールバーコントロール、アイコンコントロール、メニューコントロールのうちの少なくとも1種を含む。
【0214】
指紋センサ2214は、ユーザの指紋を採集するものである。また、プロセッサ2201は、指紋センサ2214によって採集された指紋に基づいてユーザの身分を識別し、または、指紋センサ2214は、採集した指紋に基づいてユーザの身分を識別する。ユーザの身分が信頼できる身分であると識別した場合、プロセッサ2201は、当該ユーザに対して、画面ロックの解除、暗号化情報の閲覧、ソフトウェアのダウンロード、支払いおよび設定の変更などを含む秘密的な操作の実行を許可する。指紋センサ2214は、端末2200の正面、背面または側面に設置される。また、指紋センサ2214は、端末2200に物理ボタンやメーカーLogoが設けられる場合に、物理ボタンやメーカーLogoに一体に集積されてもよい。
【0215】
光学センサ2215は、環境光の強度を採集するためのものである。1つの実施例では、プロセッサ2201は、光学センサ2215が採集した環境光の強度に応じて、タッチ表示画面2205の表示輝度を制御することができる。具体的には、環境光の強度が高い場合、タッチ表示画面2205の表示輝度を高める一方、環境光の強度が低い場合、タッチ表示画面2205の表示輝度を低くする。また、別の実施例では、プロセッサ2201は、光学センサ2215によって採集された環境光の強度に応じて、カメラアセンブリ2206の撮影パラメータを動的に調整してもよい。
【0216】
近接センサ2216は、距離センサとも呼ばれ、通常端末2200のフロントパネルに設けられている。近接センサ2216は、ユーザと端末2200の正面との間の距離を取得するためのものである。1つの実施例では、プロセッサ2201は、近接センサ2216によってユーザと端末2200の正面との距離が徐々に小さくなることを検知すると、ウェイクアップ状態からスリーブ状態に切り替えるようにタッチ表示画面2205を制御する一方、近接センサ2216によってユーザと端末2200の正面との間の距離が徐々に大きくなることを検知すると、スリーブ状態からウェイクアップ状態に切り替えるようにタッチ表示画面2205を制御する。
【0217】
なお、当業者であれば、端末2200は、図22に示す構成に限定されず、図示よりも多くまたは少ない要素を含んだり、複数の要素を組み合わせたり、異なる要素の配置を採用したりしてもよいことを理解すべきである。
【0218】
図23は、本開示の1つの実施例に係るコンピュータ装置の構成を示す図である。当該コンピュータ装置は、図1に示す実施例におけるサーバ130であってもよい。具体的には、前記コンピュータ装置2300は、CPU(Central Processing Unit)2301と、RAM(Random Access Memory)2302と、ROM(Read Only Memory)2303とを含むシステムメモリ2304と、システムメモリ2304と中央処理部2301とを接続するシステムバス2305とを有する。また、前記コンピュータ装置2300は、コンピュータ内の各デバイス間での情報伝送を支援するための基本入出力システム(I/Oシステム)2306と、オペレーティングシステム2313、アプリケーションプログラム2314およびその他のプログラムモジュール2315を記憶するための大容量記憶装置2307とを備えている。
【0219】
前記基本入出力システム2306は、情報を表示するための表示装置2308と、マウスやキーボードなどのようなユーザが情報を入力するための入力装置2309とを含む。ここで、前記表示装置2308および入力装置2309は、システムバス2305に接続された入出力制御装置2310を介してCPU2301に接続されている。前記基本入出力システム2306は、キーボード、マウス、または電子タッチペンなどの複数の他の装置からの入力を受信して処理するための入出力制御装置2310をさらに含むことができる。同様に、入出力制御装置2310は、表示画面、プリンタまたは他のタイプの出力装置への出力をさらに提供する。
【0220】
大容量記憶装置2307は、システムバス2305に接続された大容量記憶制御装置(図示せず)を介してCPU2301に接続されている。前記大容量記憶装置2307およびその関連するコンピュータ読取可能な記憶媒体は、コンピュータ装置2300に対して不揮発性記憶を提供する。すなわち、前記大容量記憶装置2307は、例えばハードディスクやCD-ROMドライブなどのようなコンピュータ読取可能な記憶媒体(図示せず)を含んでもよい。
【0221】
一般性を失うことなく、前記コンピュータ読取可能な記憶媒体は、コンピュータ記憶媒体と通信媒体とを含む。コンピュータ記憶媒体は、例えばコンピュータ読み取り可能なコマンド、データ構造、プログラムモジュールまたはその他のデータなどの情報を記憶するための任意の方法や技術で実現される揮発性および不揮発性、携帯可能および携帯不能な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリまたはその他の固体記憶装置、CD-ROM、DVDまたはほかの光記憶媒体、磁気テープカセット、磁気テープ、磁気ディスクまたはその他の磁気記憶装置を含む。勿論、当業者であれば、前記コンピュータ記憶媒体は、上記に限定されるものではない。なお、上記のシステムメモリ2304と大容量記憶装置2307とをまとめてメモリと呼ぶことがある。
【0222】
メモリには、1つまたは複数のCPU2301が実行するように配置され、上記の仮想環境における仮想オブジェクトの配置方法を実現するためのコマンドを含む1つまたは複数のプログラムが記憶され、CPU2301が当該1つまたは複数のプログラムを実行することによって、上記の各方法の実施例で提供されるユーザインターフェース表示方法を実現する。
【0223】
また、本開示の各実施例によれば、前記コンピュータ装置2300は、例えばインターネット等のようなネットワークを介してネットワークにおけるリモートコンピュータに接続して動作してもよい。すなわち、コンピュータ装置2300は、前記システムバス2305に接続されたネットワークインターフェース部2311を介してネットワーク2312に接続されていてもよく、または、ネットワークインターフェース部2311を介して他のタイプのネットワークやリモートコンピュータシステム(図示せず)に接続されていてもよい。
【0224】
また、前記メモリは、さらに、メモリに記憶され、本開示の実施例で提供されるユーザインターフェース表示方法または仮想リソースピックアップ方法におけるサーバが実行するステップを含む1つ以上のプログラムを含む。
【0225】
また、本開示の1つの実施例によれば、前記プロセッサがロードされ実行されることにより上記の実施例のうちのいずれか1つに記載のユーザインターフェース表示方法または仮想リソースピックアップ方法を実現するための少なくとも1つのコマンド、少なくとも1セグメントのプログラム、コードセットまたはコマンドセットが記憶されるコンピュータ読み取り可能な記憶媒体をさらに提供される。
【0226】
また、本開示によれば、コンピュータで動作することにより、上記各方法の実施例で提供されるユーザインターフェース表示方法または仮想リソースピックアップ方法をコンピュータに実行させるためのコンピュータプログラムプロダクトをさらに提供する。
【0227】
なお、本明細書に記載の「複数」とは、2つまたはそれ以上を意味する。また、「および/または」は、関連対象の相関関係を記述するものであり、3種類の関係が存在することを示す。例えば、Aおよび/またはBは、単にAが存在し、AとBが同時に存在し、および単にBが存在するという3種類の場合を示す。「/」という文字は、一般的に、その前後の関連対象同士が「または」という関係にあることを示す。
【0228】
上記の本開示の実施例の番号は説明のためのものに過ぎなく、実施例の優劣を表すものではない。
【0229】
また、本分野の一般的技術者であれば、上記の実施例の全部または一部のステップは、ハードウェアによって実行されてもよいし、関連するハードウェアが実行するようにプログラムによって指示してもよく、前記プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよく、上記の記憶媒体は、ROM、磁気ディスク、光ディスクなどであってもよい。
【0230】
以上は、あくまでも本開示の好適な実施例に過ぎなく、本開示を限定するものではなく、本開示の精神と原則内で行われるいかなる修正、均等置換、改善などは、いずれも本開示の保護範囲内に含まれるべきである。
【符号の説明】
【0231】
2010 表示モジュール
2020 受信モジュール
2030 処理モジュール
2040 送信モジュール
2110 処理モジュール
2120 送信モジュール
2130 受信モジュール
2201 プロセッサ
2202 メモリ
2203 周辺機器インターフェース
2204 RF回路
2205 表示画面
2206 カメラアセンブリ
2207 オーディオ回路
2208 測位アセンブリ
2209 電源
2210 センサ
2211 加速度センサ
2212 ジャイロセンサ
2213 圧力センサ
2214 指紋センサ
2215 光学センサ
2216 近接センサ
2304 システムメモリ
2305 システムバス
2307 大容量記憶装置
2308 表示装置
2309 入力装置
2310 入出力制御装置
2311 ネットワークインターフェース部
2312 ネットワーク
2313 オペレーティングシステム
2314 アプリケーションプログラム
2315 他のプログラムモジュール
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23