以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
(情報システムの概要)
図1は、情報システムの概要の一例を説明するための模式図である。情報システムは、複数のユーザのそれぞれが操作する端末装置とサーバ装置とを備える。例えば、端末装置は、ユーザが所有する多機能携帯電話(所謂「スマートフォン」)等の情報処理装置である。例えば、サーバ装置は、通信ネットワークを介して端末装置間のコミュニケーションサービスを提供するためのコンピュータである。
端末装置は、アプリケーションプログラム等の制御プログラムを記憶し、ユーザからの開始操作に応じて制御プログラムをメモリにロードし、ロードした制御プログラムに含まれる命令の実行によりコミュニケーションサービスを開始する。コミュニケーションサービスが開始されると、端末装置は、制御プログラムに含まれる命令を実行することにより複数の機能を実現する。
例えば、ユーザの端末装置は、ユーザによって入力された各種の入力データに基づくモーションデータを含むキャラクタ動画データを含む出力情報を生成する生成機能を実現する。例えば、入力データは、ユーザの端末装置に備えられた撮像装置によって所定のサンプリング時間間隔ごとに取得された複数の撮像データであり、この場合、各撮像データにはユーザが写されている。キャラクタ動画データは、ユーザを示すキャラクタオブジェクトを含むユーザ出力画像の表示に関する情報の一例である。コミュニケーションサービス中において、出力情報は所定時間ごとに生成される。
また、例えば、ユーザの端末装置は、キャラクタ動画データに基づいてユーザ出力画像を表示し、生成された出力情報をサーバ装置経由で他ユーザの端末装置に送信するため、当該出力情報をサーバ装置に所定時間ごとに送信する出力機能を実現する。また、例えば、ユーザの端末装置は、サーバ装置から所定時間ごとに送信された他ユーザの出力情報に基づいて、他ユーザを示すキャラクタオブジェクトを含む他ユーザ出力画像を表示する機能を実現する。
コミュニケーションサービスが開始されると、図1(a)に示されるように、ユーザの端末装置によって、例えば、ユーザ出力画像(1)と他ユーザ出力画像(2)とが表示される。コミュニケーションサービスが開始されたときに、他ユーザがコミュニケーションサービスに参加していない場合、ユーザの端末装置によって、ユーザ出力画像(1)のみが表示される。コミュニケーションサービスが開始されたときに、ユーザがコミュニケーションサービスに参加していない場合、他ユーザの端末装置では、他ユーザ出力画像(2)のみが表示される。
ユーザ出力画像(1)は、キャラクタ動画データに含まれるユーザのモーションデータに応じて動作するユーザのキャラクタオブジェクトを含む。また、他ユーザ出力画像(2)は、受信された他ユーザの出力情報に含まれる他ユーザのモーションデータに応じて動作する他ユーザのキャラクタオブジェクトを含む。このように、ユーザの端末装置は、ユーザの動作に応じて変化するユーザのキャラクタオブジェクトを含むユーザ出力画像(1)を表示し、他ユーザの動作に応じて変化する他ユーザのキャラクタオブジェクトを含む他ユーザ出力画像(2)を表示する。
ユーザの端末装置及び他ユーザの端末装置はともにマイクを備えるため、ユーザの端末装置はユーザによって発せられた音声を取得し、他ユーザの端末装置は他ユーザによって発せられた音声を取得する。そして、ユーザの端末装置は、取得したユーザの音声データを出力情報に含め、ユーザの音声データを含む出力情報をサーバ装置経由で他ユーザの端末装置に送信するため、当該出力情報をサーバ装置に送信する。また、ユーザの端末装置は、他ユーザの端末装置によってサーバ装置に送信された他ユーザの音声データを含む出力情報を、サーバ装置から受信する。
例えば、ユーザによって音声が発生される時、キャラクタ動画データに含まれるユーザのモーションデータには、ユーザの唇の動きを示すフェイスモーションデータが含まれる。この場合、ユーザの端末装置において、ユーザが発生している音声と略同期するように唇が動作するユーザのキャラクタオブジェクトを含むユーザ出力画像(1)が表示されることになる。ユーザの端末装置によって受信された他ユーザの出力情報に、他ユーザのモーションデータとともに他ユーザの音声データが含まれる場合がある。この場合、ユーザの端末装置において、他ユーザの音声が出力されるとともに、他ユーザの音声と略同期するように唇が動作する他ユーザのキャラクタオブジェクトを含む他ユーザ出力画像(2)が表示されることになる。
上述した機能の他に、ユーザの端末装置は、ユーザによる指示に応じてユーザ出力画像(1)に含まれるキャラクタオブジェクトを変化させ、変化したキャラクタオブジェクトを表示する機能を実現する。また、ユーザの端末装置は、ユーザによる指示に応じて他ユーザ出力画像(2)を変化させ、変化した他ユーザ出力画像(2)を表示する機能を実現してもよい。
例えば、ユーザの端末装置は、ユーザによる変化指示に応じて、ユーザのキャラクタオブジェクトを変化させ、これにより、ユーザ出力画像(1)を変化させる。図1(b)に示されるように、例えば、ユーザの端末装置は、ユーザによる変化指示に応じて、ユーザのキャラクタオブジェクトに対して、他ユーザのキャラクタオブジェクトに向けて腕を伸ばすような動作をさせる。このように、ユーザの端末装置は、ユーザのキャラクタオブジェクトを自動的に変化させる。この場合、ユーザの端末装置は、ユーザのキャラクタオブジェクトの方向から伸びてくるユーザのキャラクタオブジェクトの手及び腕を、新たに他ユーザ出力画像(2)内に含ませることにより、他ユーザの他ユーザ出力画像(2)を自動的に変化させる。
なお、ユーザの端末装置は、他ユーザ出力画像(2)内において、伸びてきたユーザのキャラクタオブジェクトの手に対して、他ユーザのキャラクタオブジェクトを叩く動作をさせてもよい。さらに、ユーザの端末装置は、この動作により、他ユーザのキャラクタオブジェクトに対して、リアクションの動作をさせてもよい。また、ユーザのキャラクタオブジェクトがユーザによる変化指示に応じて自動的に変化する時間(例えば、腕を伸ばしてから戻すまでの3秒間)では、ユーザの端末装置は、ユーザのキャラクタオブジェクトに対して、ユーザのモーションデータに応じた動作をさせなくてもよい。同様に、他ユーザの他ユーザ出力画像(2)がユーザによる変化指示に応じて自動的に変化する時間(例えば、腕が出現して他ユーザのキャラクタオブジェクトまで伸びて、腕の表示が終了するまでの3秒間)では、他ユーザの端末装置は、他ユーザのキャラクタオブジェクトに対して、他ユーザのモーションデータに応じた動作をさせなくてもよい。
ユーザによる変化指示は、例えば、所定の操作オブジェクト(ボタンオブジェクト等)をユーザが選択する選択操作によって入力される。また、ユーザによる変化指示は、複数種類の操作の内のユーザが行った操作に応じて入力されてもよい。複数種類の操作のそれぞれには、ユーザのキャラクタオブジェクトが行うことができる複数の動作の内のいずれかが対応付けられている。複数の動作には、図1(b)に示されるような、ユーザのキャラクタオブジェクトが他ユーザのキャラクタオブジェクトを叩く動作、又は、ユーザのキャラクタオブジェクトが他ユーザのキャラクタオブジェクトをくすぐる動作若しくはユーザのキャラクタオブジェクトが他ユーザのキャラクタオブジェクトを撫でる動作等が含まれてもよい。
図1(c)に示されるように、他ユーザの端末装置は、ユーザの端末装置と同様に、他ユーザ出力画像(2)とユーザ出力画像(1)とを少なくとも表示する。他ユーザ出力画像(2)は、他ユーザのキャラクタ動画データに含まれる他ユーザのモーションデータに応じて動作する他ユーザのキャラクタオブジェクトを含む。また、ユーザ出力画像(1)は、ユーザの端末装置によって送信されたユーザの出力情報に含まれるユーザのモーションデータに応じて動作するユーザのキャラクタオブジェクトを含む。このように、他ユーザの端末装置は、他ユーザの動作に応じて変化する他ユーザのキャラクタオブジェクトを含む他ユーザ出力画像(2)を表示し、ユーザの動作に応じて変化するユーザのキャラクタオブジェクトを含むユーザ出力画像(1)を表示する。
ユーザによってサーバ装置に送信された変化指示が、サーバ装置を経由して他ユーザの端末装置によって受信されると、図1(b)と同様に、他ユーザのユーザ出力画像(2)が変化するとともに、ユーザのキャラクタ画像が変化する。図1(c)に示される例では、他ユーザの端末装置は、ユーザ出力画像(1)及び他ユーザ出力画像(2)を、ユーザの端末装置によって表示されるユーザ出力画像(1)及び他ユーザ出力画像(2)と異なる順番で表示する。または、他ユーザの端末装置は、ユーザ出力画像(1)及び他ユーザ出力画像(2)を、ユーザの端末装置によって表示されるユーザ出力画像(1)及び他ユーザ出力画像(2)と同じ順番で表示してもよい。
なお、ユーザによる変化指示によるユーザのキャラクタオブジェクト及び他ユーザ出力画像(2)の変化は、キャラクタオブジェクトの動作による変化に限らない。例えば、ユーザのキャラクタオブジェクトの変化は、キャラクタオブジェクトの色及び/又は輝度等の変化、若しくは、キャラクタオブジェクトの大きさの変化等であってもよい。また、他ユーザ出力画像の変化は、他ユーザ出力画像の色及び/又は輝度等の変化、他ユーザのキャラクタオブジェクトの大きさの変化、若しくは、新たな文字列、新たなアイコン画像、新たなマーク画像等の追加による変化等でもよい。
以上、図1を参照しつつ説明したとおり、ユーザの端末装置の制御プログラム、ユーザの端末装置、ユーザの端末装置の制御方法、サーバ装置の制御プログラム、サーバ装置、及びサーバ装置の制御方法では、ユーザによる指示に応じて、変化したユーザキャラクタ及び変化した他ユーザ出力画像が表示される。このように、ユーザの端末装置の制御プログラム、ユーザの端末装置、ユーザの端末装置の制御方法、サーバ装置の制御プログラム、サーバ装置、及びサーバ装置の制御方法によって、コミュニケーションサービス中に、ユーザの端末装置からの出力がユーザによって変更されるようにすることで、コミュニケーションに対するユーザの継続使用の意欲を向上させることが可能となる。
また、従来の情報システムでは、ユーザを示すアバタ等のキャラクタオブジェクトを介して、ユーザが他ユーザとのコミュニケーションを行う場合、キャラクタオブジェクトの顔の表情や体の仕草等を表現するためにユーザのモーションデータが用いられていた。従来の端末装置は、逐次生成されるユーザのモーションデータによってユーザのキャラクタオブジェクトのアニメーションを作成する必要があり、このため、ユーザの端末装置の描画処理の負荷が増大し、描画速度が低下することがあった。また、ユーザのキャラクタオブジェクトのアニメーションを他ユーザの端末装置に表示させるため、ユーザの端末装置は、サーバ装置を介してユーザのモーションデータを他ユーザの端末装置に送信していた。このような場合では、ユーザの端末装置は、逐次生成されるユーザのモーションデータを送信する必要があり、このため、端末装置及びサーバ装置間の通信の負荷が増大し、音声の劣化及び/又はキャラクタオブジェクトの描画の不具合等が生じることがあった。これに対し、ユーザの端末装置の制御プログラム、ユーザの端末装置、ユーザの端末装置の制御方法、サーバ装置の制御プログラム、サーバ装置、及びサーバ装置の制御方法によって、逐一ユーザのモーションを取得してキャラクタオブジェクトのアニメーションを生成することなく、予め用意されたキャラクタオブジェクトの動作のモーションデータを用いて描画処理や通信処理を実行することができ、端末装置2の処理負荷及び/又は端末装置とサーバ装置間の通信負荷を低減させることが可能となる。
また、従来の情報システムは、ユーザのキャラクタオブジェクトの顔の表情や体の仕草等を変化させるようにするため、ユーザ自身が顔の表情を作ったり体を動かしたりして、モーションデータを生成していた。しかしながら、ユーザのジェスチャーを取得した端末装置が、当該ジェスチャーを、ユーザが意図するようなモーションデータに変更できないような場合、ユーザが再度ジェスチャーを繰り返す必要があった。このように、従来の情報システムでは、ユーザがキャラクタオブジェクトに行わせたい動作を、即時的且つ正確に行わせることが難しいことがあった。これに対し、ユーザの端末装置の制御プログラム、ユーザの端末装置、ユーザの端末装置の制御方法、サーバ装置の制御プログラム、サーバ装置、及びサーバ装置の制御方法によって、キャラクタオブジェクトに動作させるジェスチャーをユーザ自身が行わなくても、ユーザが動作を指定する操作だけで、即時的且つダイナミックなコミュニケーションを正確に実現することが可能となり、ユーザビリティを向上させることが可能となる。
また、従来の情報システムでは、ユーザごとに設定された表示領域内にユーザのキャラクタオブジェクトを含む出力画像が表示されるだけであり、各ユーザの表示領域を超えて、各ユーザに関する情報を表示することができなかった。このため、ユーザのキャラクタオブジェクトが、他ユーザのキャラクタオブジェクトに対して何かしらの表現をしていたとしても、各ユーザの表示領域内の表現に止まるため、その表現の意図が伝わりづらいという問題が生じていた。これに対し、ユーザの端末装置の制御プログラム、ユーザの端末装置、ユーザの端末装置の制御方法、サーバ装置の制御プログラム、サーバ装置、及びサーバ装置の制御方法によって、各キャラクタオブジェクトの表示領域を超えてキャラクタオブジェクト間のインタラクションが可能となり、表示面積が限られている端末装置においても、豊かなコミュニケーションの表現が可能となる。
図1に示される例において、ユーザ及び他ユーザは、コミュニケーションサービスを利用可能な複数のユーザのうち、所定のコミュニケーショングループに所属するユーザである。所定のコミュニケーショングループは、ユーザ及び他ユーザのいずれかによって作成されたグループ等である。図1に示される例では、2人のユーザのキャラクタオブジェクトが表示されるが、所定のコミュニケーショングループに所属する3人以上のユーザのキャラクタオブジェクトが表示され、3人以上のユーザがコミュニケーションできるように構成されてもよい。
また、図1に示される例において、ユーザ及び他ユーザは、所定の関係を有しているユーザでもよい。ユーザと所定の関係を有する他ユーザは、例えば、ユーザの相互フォロワーである。なお、ユーザが他ユーザをフォローし且つ他ユーザもユーザをフォローしている(ユーザと他ユーザが相互フォローしている)場合、ユーザと他ユーザは相互フォロワーとなる。また、ユーザと所定の関係を有する他ユーザは、ユーザと相互フォローしている所定ユーザと相互フォローの関係にある他ユーザでもよい。また、ユーザと所定の関係を有する他ユーザは、ユーザとフレンド関係にある他ユーザでもよく、または、ユーザの端末装置に特定情報(電話番号、メールアドレス、所定のID(identification)等)が記憶されている他のユーザでもよい。また、ユーザの端末装置がユーザのキャラクタオブジェクトを含むユーザ出力画像を、一又は複数の他ユーザの端末装置に、サーバ装置を介して配信する機能を有する場合、ユーザと所定の関係を有する他ユーザは、ユーザが配信したユーザ出力画像を視聴した他ユーザである。この場合、所定の関係を有しているユーザ及び他ユーザが、図1に示されるようなコミュニケーションを行う場合、ユーザ及び他ユーザによって構成される所定のコミュニケーショングループが、ユーザ若しくは他ユーザの端末装置又はサーバ装置によって一時的に作成されてもよい。
なお、上述した図1の説明は、本発明の内容への理解を深めるための説明にすぎない。本発明は、具体的には、次に説明する各実施形態において実施され、且つ、本発明の原則を実質的に超えずに、さまざまな変形例によって実施されてもよい。このような変形例はすべて、本発明および本明細書の開示範囲に含まれる。
(情報システム1)
図2は、情報システム1の概略構成の一例を示す図である。情報システム1は、複数のユーザのそれぞれが操作する端末装置2と、サーバ装置3とを備える。端末装置2及びサーバ装置3は、例えば、基地局4と移動体通信網5とゲートウェイ6とインターネット7等の通信ネットワークとを介して相互に接続される。端末装置2及びサーバ装置3間では、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol,HTTP)等の通信プロトコルに基づいて通信が行われる。また、端末装置2及びサーバ装置3間において、最初にHTTP通信によりコネクションが確立され、その後は、HTTP通信よりも小コスト(通信負荷及び処理負荷が少ない)の双方向通信が行われるWebSocketに基づいて通信が行われてもよい。なお、端末装置2及びサーバ装置3間の通信方式は、上述の方式に限定されず、本実施形態を実現できるものであれば、端末装置2及びサーバ装置3間においてどのような通信方式の技術が用いられてもよい。
端末装置2は、スマートフォン等の情報処理装置である。端末装置2は、携帯電話機、ノートPC、タブレット端末、タブレットPC、ヘッドマウントディスプレイ(Head Mounted Display,HMD)、電子書籍リーダー、又はウェアラブルコンピュータ等でもよい。端末装置2は、携帯ゲーム機、又はゲーム用コンソール等でもよい。端末装置2は、ユーザ及び他ユーザのキャラクタオブジェクトの表示出力、並びに、ユーザ及び他ユーザの音声の出力が可能であれば、どのような情報処理装置でもよい。
図2に示される例では、1台のサーバ装置3が情報システム1の構成要素として図示されているが、サーバ装置3は複数の物理的に別体のサーバ装置3の集合であってもよい。この場合、複数のサーバ装置3のそれぞれは、同一の機能を有するものでもよく、1台のサーバ装置3の機能を分散して有するものでもよい。
(端末装置2)
図3は、端末装置2の概略構成の一例を示す図である。端末装置2は、基地局4と移動体通信網5とゲートウェイ6とインターネット7等の通信ネットワークとを介してサーバ装置3に接続し、サーバ装置3と通信を行う。端末装置2は、ユーザによって入力された各種データ(撮像データ等)に従ってモーションデータを含むキャラクタ動画データを生成し、生成したキャラクタ動画データ及び/又はユーザの音声データを含む出力情報をサーバ装置3に送信する。また、端末装置2は、サーバ装置3から送信された他ユーザの出力情報を受信し、受信した出力情報に基づいて他ユーザのキャラクタオブジェクトを表示し、及び/又は、他ユーザの音声を出力する。このような機能を実現するため、端末装置2は、端末通信I/F21と、端末記憶装置22と、表示装置23と、入力装置24と、撮像装置25と、マイク26と、端末処理装置27とを備える。
端末通信I/F21は、ハードウェア、ファームウェア、又はTCP/IP(Transmission Control Protocol / Internet Protocol)ドライバやPPP(Point-to-Point Protocol)ドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。端末装置2は、端末通信I/F21を介して、サーバ装置3等の他の装置にデータを送信し且つ他の装置からデータを受信することができる。
端末記憶装置22は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)等の半導体メモリ装置である。端末記憶装置22は、端末処理装置27における処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、制御プログラム及びデータ等を記憶する。端末記憶装置22に記憶されるドライバプログラムは、表示装置23を制御する出力デバイスドライバプログラム、及び、入力装置24を制御する入力デバイスドライバプログラム等である。端末記憶装置22に記憶される制御プログラムは、例えば、コミュニケーションサービスに関する各種機能を実現するためのアプリケーションプログラムである。なお、制御プログラムは、サーバ装置3又はその他の装置から送信されたものでもよい。
端末記憶装置22は、データとして、端末装置2を操作するユーザを一意に識別するための識別情報(例えば、ユーザID(identification))等を記憶する。また、端末記憶装置22は、データとして、背景データ及びモデルデータ等を記憶する。また、端末記憶装置22は、データとして、ユーザテーブルT1、オブジェクトテーブルT2、及びグループテーブルT3を記憶する。また、端末記憶装置22は、所定の処理に係るデータを一時的に記憶してもよい。
背景データは、ユーザ出力画像において、ユーザのキャラクタオブジェクトが存在する仮想空間を構築するためのアセットデータである。背景データは、仮想空間の背景を描画するためのデータ、ユーザ出力画像に含まれる各種物体を描画するためのデータ、及びこれら以外のユーザ出力画像に表示される各種背景オブジェクトを描画するためのデータが含まれる。背景データには、仮想空間における各種背景オブジェクトの位置を示すオブジェクト位置情報が含まれてもよい。
表示装置23は、液晶ディスプレイである。なお、表示装置23は、有機EL(Electro-Luminescence)ディスプレイ等でもよい。表示装置23は、端末処理装置27から供給された、動画像データに応じた動画像及び/又は静止画像データに応じた静止画像等を表示画面に表示する。また、表示装置23は、端末装置2の構成要素でなくてもよく、この場合、表示装置23は、サーバ装置3と通信可能なHMDのディスプレイ、有線又は無線を介して端末装置2と通信可能な、プロジェクションマッピング(Projection Mapping)用の映写装置、網膜投影型の投影装置等でもよい。
入力装置24は、タッチパネル等のポインティングデバイスである。入力装置24がタッチパネルである場合、入力装置24は、ユーザのタップ、ダブルタップ、ドラッグ等の各種タッチ操作を検出することができる。タッチパネルは、静電容量式の近接センサを備え、ユーザの非接触操作を検出可能に構成されてもよい。なお、入力装置24は、入力キー等でもよい。ユーザは、入力装置24を用いて、文字、数字及び記号、若しくは、表示装置23の表示画面上の位置等を入力することができる。入力装置24は、ユーザにより操作されると、その操作に対応する信号を発生する。そして、入力装置24は、発生した信号を、ユーザの指示として、端末処理装置27に供給する。
撮像装置25は、結像光学系、撮像素子及び画像処理部等を有するカメラである。結像光学系は、例えば光学レンズであり、被写体からの光束を撮像素子の撮像面上に結像させる。撮像素子は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)等であり、撮像面上に結像した被写体像の画像を出力する。画像処理部は、連続して撮像素子によって生成された画像から、所定期間毎に所定のファイル形式の動画像データを作成して撮像データとして出力する。または、画像処理部は、撮像素子によって生成された画像から所定のファイル形式の静止画像データを作成して撮像データとして出力する。
マイク26は、ユーザによって発せられた音声を取得し、音声データに変換するように構成された集音装置である。マイク26は、ユーザの音声入力を取得することができるように構成され、マイク26により取得されたユーザの音声入力を音声データに変換し、音声データを端末処理装置27に出力する。
端末処理装置27は、端末記憶装置22に記憶されているオペレーティングシステムプログラム、ドライバプログラム及び制御プログラムをメモリにロードし、ロードしたプログラムに含まれる命令を実行するプロセッサである。端末処理装置27は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)等の電子回路、又は各種電子回路の組み合わせである。端末処理装置27は、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)、MCU(Micro Controller Unit)等の集積回路により実現されてもよい。図3においては、端末処理装置27が単一の構成要素として図示されているが、端末処理装置27は複数の物理的に別体のプロセッサの集合であってもよい。
端末処理装置27は、制御プログラムに含まれる各種命令を実行することにより、生成部271、送信部272、受信部273、表示処理部274、及び音声出力部275として機能する。生成部271、送信部272、受信部273、表示処理部274、及び音声出力部275の機能については後述する。
(各種テーブル)
図4は、端末記憶装置22に記憶されるユーザテーブルT1、オブジェクトテーブルT2、及びグループテーブルT3のデータ構造の一例を示す図である。なお、ユーザテーブルT1、オブジェクトテーブルT2、及びグループテーブルT3のうちの少なくとも一つのテーブルは、サーバ装置3のサーバ記憶装置32に記憶されてもよい。この場合、端末装置2は、所定のタイミングで、サーバ記憶装置32に記憶されている最新のテーブルを受信して端末記憶装置22に記憶してもよい。
(ユーザテーブルT1)
図4(a)は、コミュニケーションサービスに参加するユーザを管理するユーザテーブルT1のデータ構造の一例である。ユーザテーブルT1では、各ユーザについて、ユーザID、ユーザの名称、ユーザのキャラクタオブジェクト、ユーザの保有オブジェクト、及び使用オブジェクト等が、互いに関連付けて記憶されている。ユーザテーブルT1において、ユーザのユーザIDに関連付けて、ユーザの保有コイン(ユーザが保有している仮想的な貨幣価値の「コイン」の総量を示す情報)及び/又はユーザポイント等が記憶されてもよい。ユーザIDは、各ユーザを一意に識別するための識別データの一例である。名称は、各ユーザの名称を示すデータの一例である。
例えば、キャラクタオブジェクトは、キャラクタオブジェクトのアニメーションを生成するためのモデルデータを識別するためのモデルIDである。モデルデータは、モデルIDに関連付けられて端末記憶装置22に記憶される。モデルデータは、3次元のアニメーションを生成するための3次元モデルデータであってもよいし、2次元のモデルデータを生成するための2次元モデルデータであってもよい。モデルデータは、例えば、キャラクタオブジェクトの顔及び顔以外の部分の骨格を示すリグデータ(所謂「スケルトンデータ」)と、キャラクタオブジェクトの表面の形状や質感を示す表面データとを含む。モデルデータには、互いに異なる複数のモデルデータが含まれてもよい。複数のモデルデータのそれぞれは、互いに異なるリグデータを有してもよく、又は、同じリグデータを有してもよい。複数のモデルデータのそれぞれは、互いに異なる表面データを有してもよく、又は、同じ表面データを有してもよい。
保有オブジェクトは、各ユーザが保有しているオブジェクトを示すオブジェクトIDである。保有オブジェクトは、キャラクタオブジェクトの特定の部位に関連付けることが可能な装着オブジェクト、及び、ユーザ出力画像内においてユーザのキャラクタオブジェクトの背面に配置される壁紙オブジェクト等である。装着オブジェクト及び壁紙オブジェクトの詳細は後述する。保有オブジェクトは、ユーザの操作によって、ユーザの端末装置2又はサーバ装置3によって実行された抽選ゲームによって選択されたオブジェクトである。また、保有オブジェクトは、情報システム1における購入機能において、ユーザが仮想的な貨幣価値の「コイン」を消費することで、ユーザが保有することになったオブジェクトでもよい。
使用オブジェクトは、ユーザの端末装置2において表示中のユーザ出力画像において使用されているオブジェクトを示すオブジェクトIDである。例えば、コミュニケーションサービス中に、ユーザの変更指示が入力された場合、表示中のユーザ出力画像に含まれるユーザのキャラクタオブジェクトに、ユーザの保有オブジェクトとして保有している装着オブジェクトが装着される。この場合、ユーザのキャラクタオブジェクトに装着された装着オブジェクトのオブジェクトIDが、使用オブジェクトとしてユーザIDに関連付けてユーザテーブルT1に記憶される。また、例えば、コミュニケーションサービス中に、ユーザの変更指示が入力された場合、表示中のユーザ出力画像においてユーザのキャラクタオブジェクトの背面に、ユーザの保有オブジェクトとして保有している壁紙オブジェクトが配置される。この場合、ユーザ出力画像に配置された壁紙オブジェクトのオブジェクトIDが、使用オブジェクトとしてユーザIDに関連付けてユーザテーブルT1に記憶される。
(オブジェクトテーブルT2)
図4(b)は、追加オブジェクトとして選択されるオブジェクトを管理するオブジェクトテーブルT2のデータ構造の一例である。追加オブジェクトは、例えば、ユーザが他ユーザに贈るギフトオブジェクトである。オブジェクトテーブルT2では、各追加オブジェクトについて、オブジェクトID、名称、画像情報、希少度及び配置箇所等が、互いに関連付けて記憶されている。
オブジェクトIDは、各追加オブジェクトを一意に識別するための識別データの一例である。画像情報は、各追加オブジェクトに対応する一又は複数の静止画像である。画像情報は、各追加オブジェクトに対応する1種類以上の動画像でもよい。希少度は、各追加オブジェクトの希少度合いを示す情報である。配置箇所は、各追加オブジェクトの画像情報が表示される箇所を示す情報である。なお、キャラクタオブジェクトの表示位置及び表示範囲が定められている場合、当該キャラクタオブジェクトに対する相対的な位置を示す情報が配置箇所として記憶されてもよい。
追加オブジェクトは、複数の種類(カテゴリ)に分類される。例えば、追加オブジェクトには、エフェクトギフトとして使用されるエフェクトオブジェクトと、通常ギフトとして使用される通常オブジェクトと、装着ギフトとして使用される装着オブジェクトと、メッセージギフトとして使用されるメッセージオブジェクトと、が含まれる。追加オブジェクトに、ユーザ出力画像内のキャラクタオブジェクトの背面に配置される壁紙オブジェクトが含まれてもよい。なお、追加オブジェクトの種類(カテゴリ)を示す情報が、追加オブジェクトのオブジェクトIDに関連付けてオブジェクトテーブルT2に記憶されてもよい。以下、追加オブジェクトの種類に応じて、画像情報及び配置箇所について説明する。
エフェクトオブジェクトは、ユーザ出力画像及び/又は他ユーザ出力画像の全体の印象に影響を与えるオブジェクトである。エフェクトオブジェクトは、例えば、紙吹雪を模したオブジェクトである。エフェクトオブジェクトが紙吹雪を模したオブジェクトである場合、画像情報として、複数の紙を示す画像が記憶される。
エフェクトオブジェクトの配置箇所として「空間」を示す情報が記憶される。例えば、紙吹雪を模したオブジェクトは、ユーザ出力画像及び/又は他ユーザ出力画像の全体に表示される。なお、エフェクトオブジェクトは、ユーザの指示に応じて、ユーザ出力画像及び他ユーザ出力画像を含む画面(後述するコミュニケーション画面)全体に表示されてもよい。また、エフェクトオブジェクトは、ユーザ出力画像及び他ユーザ出力画像のうち、ユーザによって選択された出力画像内にのみ表示されてもよい。また、エフェクトオブジェクトは、ユーザ出力画像及び/又は他ユーザ出力画像に含まれるキャラクタオブジェクトと重複するように表示されてもよい。エフェクトオブジェクトは、後述する装着オブジェクトと異なり、キャラクタの特定の部位に関連付けられずに表示される。このように、情報システム1の端末装置2は、ユーザの指示に応じてエフェクトオブジェクトを表示することで、当該エフェクトオブジェクトが表示される前に比べて、ユーザ出力画像及び/又は他ユーザ出力画像の全体の印象を変えることができる。
通常オブジェクトは、例えば、ぬいぐるみ、花束、アクセサリ、又はギフトやプレゼントに適した物品を模したオブジェクトである。通常オブジェクトの配置箇所として「空間」を示す情報が記憶される。例えば、通常オブジェクトには、所定の移動ルートに関する情報が関連付けられており、ユーザ出力画像又は他ユーザ出力画像内を所定の移動ルートに沿って移動する通常オブジェクトが表示される。「通常オブジェクト」の配置箇所として記憶される「空間」を示す情報は、複数の種類に分類されてもよい。複数の種類の「空間」は、例えば、「中央の空間」(ユーザ出力画像又は他ユーザ出力画像を左右に3分割した場合の画像中央の領域)、「左の空間」(ユーザ出力画像又は他ユーザ出力画像を左右に3分割した場合の画像左側の領域)、及び「右の空間」(ユーザ出力画像又は他ユーザ出力画像を左右に3分割した場合の画像右側の領域)である。また、複数の種類の「空間」は、「中央の空間」(ユーザ出力画像又は他ユーザ出力画像を上下に3分割した場合の画像中央の領域)、「上の空間」(ユーザ出力画像又は他ユーザ出力画像を上下に3分割した場合の画像上側の領域)、及び「下の空間」(ユーザ出力画像又は他ユーザ出力画像を上下に3分割した場合の画像下側の領域)でもよい。この場合、通常オブジェクトに関連付けられた移動ルートは、当該通常オブジェクトの配置箇所として関連付けられた種類の「空間」内に設定される。例えば、通常オブジェクトに、「右の空間」を示す情報が記憶された場合、当該通常オブジェクトに、ユーザ出力画像又は他ユーザ出力画像を左右に3分割した場合の画像右側の領域内を移動する移動ルートに関する情報が関連付けられる。また、通常オブジェクトは、ユーザ出力画像又は他ユーザ出力画像内の通常オブジェクトごとに設定された位置又は自動的にランダムに決定された位置から、所定の移動ルールに沿って移動する通常オブジェクトが表示されてもよい。所定の移動ルールは、例えば、通常オブジェクトが自由落下しているような移動となるように設定された移動ルールである。なお、通常オブジェクトは、キャラクタオブジェクトと重複するように表示されてもよい。この場合、通常オブジェクトは、後述する装着オブジェクトと異なり、キャラクタオブジェクトの特定の部位に関連付けられずに表示される。また、通常オブジェクトは、キャラクタオブジェクトに接したタイミングで跳ね返るような移動を行うように表示されてもよい。
通常オブジェクトがキャラクタオブジェクトと重複して表示される場合、例えば、通常オブジェクトは、キャラクタオブジェクトの「『顔』を含む『頭部』以外の部分」と重複するように表示されてもよい。この場合、通常オブジェクトは、キャラクタオブジェクトの「頭部」とは重複しないように表示される。また、通常オブジェクトは、キャラクタオブジェクトの「『顔』を含む『上半身』以外の部分」と重複するように表示されてもよい。この場合、通常オブジェクトは、キャラクタオブジェクトの「上半身」とは重複しないように表示される。
装着オブジェクトは、キャラクタオブジェクトの特定の部位(装着箇所)に関連付けてユーザ出力画像又は他ユーザ出力画像に表示されるオブジェクトである。例えば、特定の部位は、キャラクタオブジェクトの頭部における、頭部の前方左側、前方右側、後方左側、後方右側、中央前側、中央後側、左目、右目、左耳、右耳、及び髪全体等である。また、特定の部位は、親指、薬指、手首、肘、肩、二の腕、手全体、腕全体等でもよい。
キャラクタオブジェクトの特定の部位に関連付けられた装着オブジェクトは、キャラクタオブジェクトの特定の部位に接するようにユーザ出力画像又は他ユーザ出力画像に表示される。また、キャラクタオブジェクトの特定の部位に関連付けられた装着オブジェクトは、キャラクタオブジェクトの特定の部位の一部又は全部を覆うようにユーザ出力画像又は他ユーザ出力画像に表示されてもよい。特定の部位は、3次元座標空間における位置を示す3次元位置情報で特定されてもよく、また、3次元座標空間の位置情報に関連付けられてもよい。
装着オブジェクトの画像情報は、例えば、キャラクタオブジェクトに装着されるアクセサリ(カチューシャ、ネックレス又はイヤリング等)、衣服(Tシャツ又はワンピース等)、コスチューム、及び、これら以外のキャラクタオブジェクトが装着可能なもの、を模した画像情報である。
装着オブジェクトの配置箇所として、装着オブジェクトがキャラクタオブジェクトのどの部位に関連付けられるかを示す装着部位を示す情報が記憶される。例えば、装着オブジェクトが「カチューシャ」である場合、装着オブジェクトの配置箇所として、キャラクタオブジェクトの「頭部」を示す情報が記憶される。また、装着オブジェクトが「Tシャツ」である場合、装着オブジェクトの配置箇所として、キャラクタオブジェクトの「胴部」を示す情報が記憶される。
装着オブジェクトの配置箇所として、3次元座標空間における複数の装着部位を示す情報が記憶されてもよい。例えば、装着オブジェクトが「カチューシャ」である場合、装着オブジェクトの配置箇所として、キャラクタオブジェクトの「頭部後方左側」及び「頭部後方右側」の2つの部位を示す情報が記憶されてもよい。これにより、「カチューシャ」を模した装着オブジェクトは、キャラクタオブジェクトの「頭部後方左側」及び「頭部後方右側」の両方に装着されるように表示される。
キャラクタオブジェクトに装着箇所が共通する複数種類の装着オブジェクトが装着される場合、当該複数種類の装着オブジェクトは時間を隔ててキャラクタオブジェクトに装着される。これにより、装着部位が共通する複数種類の装着オブジェクトは、キャラクタオブジェクトに同時に装着されない。例えば、「カチューシャ」を示す装着オブジェクト及び「帽子」を示す装着オブジェクトの装着箇所として、ともに「頭部」が記憶される場合、「カチューシャ」を示す装着オブジェクト及び「帽子」を示す装着オブジェクトは、同時にキャラクタオブジェクトの頭部に表示されない。
オブジェクトテーブルT2において、追加オブジェクトの種類に応じた表示時間が、当該追加オブジェクトのオブジェクトIDに関連付けて記憶されてもよい。例えば、装着オブジェクトの表示時間は、エフェクトオブジェクトの表示時間及び通常オブジェクトの表示時間よりも長い時間が記憶されてもよい。例えば、装着オブジェクトの表示時間として「60秒」が記憶された場合、エフェクトオブジェクトの表示時間として「5秒」が記憶され、通常オブジェクトの表示時間として「10秒」が記憶されてもよい。
(グループテーブルT3)
図4(c)は、ユーザが属するグループ(フレンド関係のユーザのグループ、相互フォロワーである他ユーザとのグループ、ユーザ又は他ユーザによって任意に作成されたグループ等)を管理するグループテーブルT3のデータ構造の一例である。グループテーブルT3は、ユーザごとに個別に設けられ、図4(c)に示されるグループテーブルT3は、当該グループテーブルT3を記憶する端末装置2を操作するユーザのグループテーブルT3である。
グループテーブルT3では、各グループについて、グループのグループID、グループの名称、グループに所属する所属ユーザ等が、互いに関連付けて記憶されている。グループIDは、各グループを一意に識別するための識別データの一例である。名称は、各グループの名称を示すデータの一例である。所属ユーザは、グループに所属する各ユーザのユーザIDである。
(その他の情報)
端末記憶装置22は、変化指示に対応する動作に応じたモーションデータを記憶する。なお、モーションデータの詳細は後述する。例えば、端末記憶装置22は、複数の動作のそれぞれについて、各動作を識別するための動作IDに関連付けられたモーションデータを記憶してもよい。また、動作IDには、複数のモーションデータが関連付けられてもよい。この場合、動作を行うキャラクタオブジェクトに対する、動作を受けるキャラクタオブジェクトの表示画面上の相対位置ごとに、複数のモーションデータのいずれかが関連付けられて記憶されてもよい。例えば、相対位置は、「表示画面上において、動作を受けるキャラクタオブジェクトが、動作を行うキャラクタオブジェクトの左に隣接する位置することを示す情報」、「表示画面上において、動作を受けるキャラクタオブジェクトが、動作を行うキャラクタオブジェクトの上に隣接する位置することを示す情報」及び「表示画面上において、動作を受けるキャラクタオブジェクトが、動作を行うキャラクタオブジェクトの下に隣接する他のキャラクタオブジェクトの下に隣接する位置することを示す情報」等である。このモーションデータは、所定時間(例えば3秒間)において、当該モーションデータが適用されたキャラクタオブジェクトを自動的に動作させるアニメーションを生成するためのデータである。また、端末記憶装置22には、変化指示に対応する動作を受けた側のユーザのキャラクタオブジェクトにリアクションを所定時間させるための被モーションデータが動作IDに関連付けて記憶されてもよい。
図3に戻り、生成部271、送信部272、受信部273、表示処理部274、音声出力部275の機能について説明する。
(生成部271)
生成部271は、撮像装置25によって連続的に出力された撮像データを、撮像装置25から取得する。例えば、ユーザによって把持された端末装置2の撮像装置25は、表示装置23の表示画面を眺めるユーザの顔が撮影方向となるように、端末装置2に設けられる。撮像装置25は、撮影方向のユーザの顔を連続的に撮像し、ユーザの顔の撮像データを取得し、端末処理装置27の生成部271に出力する。撮像装置25は、ユーザの顔以外の部位、例えば、頭部、腕部、手部(指部を含む)、胸部、胴部、脚部、又はこれら以外の部位を撮像して撮像データを取得しても良い。また、撮像装置25は、人物の顔の奥行きを検出可能な3Dカメラであってもよい。
生成部271は、連続的に取得した撮像データに基づいて、ユーザの顔の動きのデジタル表現であるフェイスモーションデータを、時間の経過に伴って随時生成する。フェイスモーションデータは、所定のサンプリング時間間隔ごとに生成されてもよい。このように、生成部271によって生成されたフェイスモーションデータは、ユーザの顔の動き(表情の変化)を時系列的にデジタル表現することができる。
生成部271は、ユーザの各部位(頭部、腕部、手部(指部を含む)、胸部、胴部、脚部、又はこれら以外の部位)の位置及び向きのデジタル表現であるボディモーションデータを、フェイスモーションデータとともに、又は、フェイスモーションデータとは別に、生成してもよい。
ボディモーションデータは、ユーザに装着された公知のモーションセンサからの検出情報に基づいて生成されてもよい。この場合、端末装置2の端末通信I/F21は、ユーザに装着されたモーションセンサからの検出情報を無線通信で取得するための所定の通信回路を有する。そして、生成部271は、端末通信I/F21によって取得された検出情報に基づいてボディモーションデータを生成する。ボディモーションデータは、所定のサンプリング時間間隔ごとに生成されてもよい。このように、生成部271によって生成されたボディモーションデータは、ユーザの体の動きを時系列的にデジタル表現することができる。
ユーザに装着されたモーションセンサからの検出情報に基づくボディモーションデータの生成は、例えば、撮影スタジオで行われてもよい。この場合、撮影スタジオには、ベースステーションと、トラッキングセンサと、ディスプレイと、が備えられてもよい。ベースステーションは、例えば、多軸レーザーエミッターである。ユーザに装着されるモーションセンサは、例えば、HTC CORPORATIONから提供されているVive Trackerでもよく、また、ベースステーションは、例えば、HTC CORPORATIONから提供されているベースステーションでもよい。
また、撮影スタジオに隣接した別室に、サポーターコンピュータが設置されていてもよい。撮影スタジオのディスプレイは、サポーターコンピュータから受信した情報を表示するように構成されてもよい。サーバ装置3は、サポーターコンピュータが設置されている部屋と同じ部屋に設置されてもよい。サポーターコンピュータが設置されている部屋と撮影スタジオとはガラス窓によって隔てられていてもよい。この場合、サポーターコンピュータのオペレータは、ユーザを視認できる。サポーターコンピュータは、サポーターの操作に応じて、撮影スタジオに備えられた各種装置の設定を変更することができるように構成されてもよい。サポーターコンピュータは、例えば、ベースステーションによる走査インターバルの設定、トラッキングセンサの設定、及びこれら以外の各種機器の各種設定の変更を行うことができる。オペレータは、サポーターコンピュータにメッセージを入力し、当該入力されたメッセージが撮影スタジオのディスプレイに表示されてもよい。
生成部271は、随時生成したフェイスモーションデータ及び/又はボディモーションデータを含むキャラクタ動画データを生成し、生成したキャラクタ動画データを、表示処理部274に出力する。以下、フェイスモーションデータ及びボディモーションデータを、モーションデータと総称する場合がある。また、生成部271は、生成したキャラクタ動画データと、端末記憶装置22に記憶されたユーザIDとを含む出力情報を生成し、生成した出力情報を送信部272に出力する。なお、生成部271は、マイク26から出力されたユーザの音声データを取得した場合、生成したキャラクタ動画データと、取得した音声データと、端末記憶装置22に記憶されたユーザIDとを含む出力情報を生成し、生成した出力情報を送信部272に出力する。
(送信部272)
送信部272は、生成部271から出力された出力情報を、送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する。送信先情報は、ユーザとのコミュニケーションサービスに参加中の一又は複数の他ユーザのユーザIDを含む。また、出力情報に含まれるユーザIDが送信先情報として用いられてもよい。例えば、サーバ装置3は、ユーザとのコミュニケーションサービスに参加中の一又は複数の他ユーザのユーザIDを記憶しており、出力情報を取得すると、出力情報に含まれるユーザIDのユーザとのコミュニケーションサービスに参加中の一又は複数の他ユーザのユーザIDを特定し、特定されたユーザIDによって示される他ユーザの端末装置2に、受信した出力情報を送信する。
また、送信部272は、ユーザが入力装置24を操作することによって入力された各種の指示を示す情報を、端末記憶装置22に記憶されたユーザID及び送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する。ユーザによる各種の指示には、例えば、ユーザのキャラクタオブジェクト及び他ユーザ出力画像を変化させる変化指示等が含まれる。変化指示は、変化の内容を識別するための変化識別情報(例えば、動作ID)と、変化させる他ユーザ出力画像の他ユーザのユーザIDと、変化指示をしたユーザのユーザIDとともに端末通信I/F21を介してサーバ装置3に送信される。また、変化指示は、動作を行うキャラクタオブジェクトに対する、動作を受けるキャラクタオブジェクトの表示画面上の相対位置とともに送信されてもよい。
(受信部273)
受信部273は、サーバ装置3から送信された、他ユーザの出力情報及び他ユーザの各種の指示を示す情報等を、端末通信I/F21を介して受信する。受信部273は、受信した情報を端末処理装置27に出力する。サーバ装置3から送信された他ユーザの出力情報は、他ユーザの端末装置2の生成部271によって生成され且つ他ユーザの端末装置2の送信部272によってサーバ装置3に送信されたものである。他ユーザの出力情報には、他ユーザのキャラクタ動画データと、他ユーザの音声データと、他ユーザのユーザID等が含まれる。他ユーザの出力情報に、他ユーザの音声データが含まれない場合があってもよく、他ユーザの出力情報に、他ユーザのキャラクタ動画データが含まれない場合があってもよい。
(表示処理部274)
表示処理部274は、生成部271によって生成されたモーションデータ(キャラクタ動画データ)に基づいて描画された画像をユーザ出力画像として表示装置23に表示する。また、表示処理部274は、受信部273によって受信された他ユーザの出力情報に含まれるモーションデータ(キャラクタ動画データ)に基づいて描画された画像を他ユーザ出力画像として表示装置23に表示する。以下、モーションデータに基づく画像の描画処理について説明する。ユーザ(端末装置2を操作するユーザ)のモーションデータに基づく画像の描画処理では、端末記憶装置22に記憶されたユーザIDが用いられ、受信部273によって受信された他ユーザの出力情報に含まれるモーションデータに基づく画像の描画処理では、出力情報に含まれるユーザIDが用いられる。
まず、表示処理部274は、ユーザIDに関連付けられたキャラクタオブジェクトのモデルIDと、使用オブジェクトのオブジェクトIDとをユーザテーブルT1から抽出する。次に、表示処理部274は、抽出したモデルIDに関連付けられたモデルデータと、抽出した使用オブジェクトのオブジェクトIDに関連付けられた画像情報及び配置箇所を端末記憶装置22から読み出す。次に、表示処理部274は、読み出したモデルデータと使用オブジェクトの画像情報及び配置箇所とモーションデータとに基づいて、使用オブジェクトが配置箇所に装着されたキャラクタオブジェクトのアニメーションを生成する。表示処理部274は、モーションデータにフェイスモーションデータが含まれる場合、キャラクタオブジェクトの表情がフェイスモーションデータに基づいて変化するように、キャラクタオブジェクトのアニメーションを生成する。これにより、表示処理部274は、読み出したモデルデータとフェイスモーションデータとに基づいて、ユーザの表情の動きに同期して動くキャラクタオブジェクトのアニメーションを生成することができる。表示処理部274は、モーションデータにフェイスモーションデータ及びボディモーションデータが含まれる場合、読み出したモデルデータとフェイスモーションデータ及びボディモーションデータとに基づいて、ユーザの表情及び体の動きに同期して動くキャラクタオブジェクトのアニメーションを生成する。
次に、表示処理部274は、生成したキャラクタオブジェクトのアニメーション(動画像)と、端末記憶装置22に記憶された背景データを用いて生成した背景を示す背景画像と、を含む画像を描画する。なお、表示処理部274は、コミュニケーショングループに予め関連付けて端末記憶装置22に記憶された壁紙オブジェクトを背景画像として用いてもよい。この場合、コミュニケーショングループ内のユーザ全員の背景画像として、同一の壁紙オブジェクトが適用されてもよい。そして、表示処理部274は、描画された画像を示す描画データを出力し、モーションデータに基づく画像の描画処理を終了する。なお、端末記憶装置22に記憶されたユーザIDに関連付けられたキャラクタオブジェクトに基づいて描画された画像が、ユーザのユーザ出力画像である。また、受信された他ユーザの出力情報に含まれるユーザIDに関連付けられたキャラクタオブジェクトに基づいて描画された画像は、当該他ユーザの他ユーザ出力画像である。
また、表示処理部274は、ユーザの変化指示に応じて自動的に動作するユーザのキャラクタオブジェクトと、ユーザの変化指示に応じて自動的に変化する他ユーザ出力画像と、を表示装置23に表示してもよい。例えば、ユーザによる変化指示における変化の内容が、ユーザのキャラクタオブジェクトが他ユーザのキャラクタオブジェクトを叩く動作である場合、まず、表示処理部274は、ユーザのキャラクタオブジェクト及び他ユーザのキャラクタオブジェクトの表示位置を特定する。なお、ユーザのキャラクタオブジェクトから叩く動作を受ける他ユーザのキャラクタオブジェクトは、ユーザによって指定されたキャラクタオブジェクトである。
表示処理部274は、変化指示における変化の内容(叩く動作)とユーザのキャラクタオブジェクト及び他ユーザのキャラクタオブジェクトの表示位置とに基づいて、端末記憶装置22に記憶されたモーションデータを抽出する。次に、表示処理部274は、抽出したモーションデータに基づいて、ユーザのキャラクタオブジェクトの腕が他ユーザのキャラクタオブジェクトの表示位置の方向に伸びてから元の位置に戻るまでのアニメーションを生成する。そして、表示処理部274は、生成したアニメーションと背景画像とを含むユーザ出力画像を生成する。この場合、当該アニメーションは、生成部271によって生成されたユーザのモーションデータが用いられずに、予め記憶されたモーションデータが用いられて自動的に所定時間(例えば3秒間)だけ表示されるものである。なお、ユーザの変更指示によるユーザのキャラクタオブジェクトに係るアニメーションの生成において、生成部271によって生成されたユーザの一部のモーションデータが使用されてもよい。例えば、ユーザによる変化指示における変化の内容が、キャラクタオブジェクトの腕に関する動作である場合、フェイスモーションデータの使用は継続されてもよい。これにより、情報システム1は、ユーザの変更指示による画一的な動きに止まらず、ユーザのキャラクタオブジェクトに対し豊かな表現を行わせることができ、ユーザとのコミュニケーションを継続使用する意欲を向上させることが可能となる。
次に、表示処理部274は、ユーザのキャラクタオブジェクトの腕が、ユーザのキャラクタオブジェクトの表示位置の方向から伸びてきて、他ユーザのキャラクタオブジェクトを叩き、出現した位置に戻って消滅するまでのアニメーションを生成する。そして、表示処理部274は、生成したアニメーションと背景画像とを含む他ユーザ出力画像を生成する。この場合、当該アニメーションは、他ユーザの端末装置2において生成された他ユーザのモーションデータが用いられずに、予め記憶された被モーションデータが用いられて自動的に所定時間(例えば3秒間)だけ表示されるものである。なお、この場合においても、ユーザの変更指示による他ユーザのキャラクタオブジェクトに係るアニメーションの生成において、他ユーザの端末装置2によって生成された他ユーザの一部のモーションデータが使用されてもよい。例えば、ユーザによる変化指示における他ユーザのキャラクタオブジェクトの変化(リアクション)において、他ユーザの端末装置2によって生成された他ユーザのフェイスモーションデータの使用は継続されてもよい。これにより、情報システム1は、ユーザの変更指示による画一的な動きに止まらず、他ユーザのキャラクタオブジェクトに対し豊かな表現を行わせることができ、ユーザとのコミュニケーションを継続使用する意欲を向上させることが可能となる。
そして、表示処理部274は、生成されたユーザ出力画像及び他ユーザ出力画像を、表示装置23に表示する。
また、表示処理部274は、他ユーザからの追加オブジェクトの追加指示に応じて、追加オブジェクトを含むユーザ出力画像を表示する。表示処理部274は、ユーザからの他ユーザ出力画像に追加オブジェクトを表示させる追加指示に応じて、追加オブジェクトを含む他ユーザ出力画像を表示する。
表示処理部274は、他ユーザからの追加オブジェクトの追加指示に含まれるオブジェクトIDがいずれかのエフェクトオブジェクトのオブジェクトIDである場合、オブジェクトテーブルT2を参照して、追加指示に含まれるオブジェクトIDに関連付けられたエフェクトオブジェクトの静止画像又は動画像(画像情報)を端末記憶装置22から抽出し、抽出した静止画像又は動画像を含むユーザ出力画像を生成する。例えば、紙吹雪や花火を示すエフェクトオブジェクトの追加指示がなされた場合、表示処理部274は、紙吹雪や花火を模したエフェクトオブジェクト(図示せず)の動画像を含むユーザ出力画像を生成する。表示処理部274は、ユーザからの追加オブジェクトの追加指示に含まれるオブジェクトIDがいずれかのエフェクトオブジェクトのオブジェクトIDである場合、同様に、オブジェクトテーブルT2を参照して、追加指示に含まれるオブジェクトIDに関連付けられたエフェクトオブジェクトの静止画像又は動画像(画像情報)を端末記憶装置22から抽出し、抽出した静止画像又は動画像を含む他ユーザ出力画像を生成する。
表示処理部274は、他ユーザからの追加オブジェクトの追加指示に含まれるオブジェクトIDが通常オブジェクトのオブジェクトIDである場合、オブジェクトテーブルT2を参照して、通常オブジェクトのオブジェクトIDに関連付けられた、通常オブジェクトの静止画像又は動画像(画像情報)及び配置箇所を抽出する。次に、表示処理部274は、配置箇所によって示される位置に配置した通常オブジェクトの静止画像又は動画像を含むユーザ出力画像を生成する。また、表示処理部274は、ユーザからの追加オブジェクトの追加指示に含まれるオブジェクトIDが通常オブジェクトのオブジェクトIDである場合、同様に、オブジェクトテーブルT2を参照して、通常オブジェクトのオブジェクトIDに関連付けられた、通常オブジェクトの静止画像又は動画像(画像情報)及び配置箇所を抽出し、配置箇所によって示される位置に配置した通常オブジェクトの静止画像又は動画像を含む他ユーザ出力画像を生成する。
表示処理部274は、ユーザ出力画像及び他ユーザ出力画像の表示領域内を移動する通常オブジェクトの動画像を含むユーザ出力画像及び他ユーザ出力画像を生成してもよい。以下、ユーザ出力画像及び他ユーザ出力画像を、出力画像と総称する場合がある。例えば、表示処理部274は、通常オブジェクトは、出力画像の上から下に向かって落下する通常オブジェクトの動画像を含む出力画像を生成してもよい。この場合、通常オブジェクトは、落下開始から出力画像の下端まで落下する間、出力画像の表示領域内に表示され、出力画像の下端に落下した後に出力画像から消滅してもよい。なお、通常オブジェクトの移動ルートは、出力画像の、左から右の方向、右から左の方向、左上から左下の方向、またはこれら以外の方向のルートでもよく、また、直線軌道、円軌道、楕円軌道、螺旋軌道、またはこれら以外の軌道に沿ったルートでもよい。
表示処理部274は、他ユーザからの追加オブジェクトの追加指示に含まれるオブジェクトIDが装着オブジェクトのオブジェクトIDである場合、ユーザ出力画像内に、装着指示に関する通知情報を表示する。表示処理部274は、ユーザからの装着指示に応じて、オブジェクトテーブルT2を参照して、追加指示に含まれるオブジェクトIDに関連付けられた装着オブジェクトの画像情報及び配置箇所を抽出する。次に、表示処理部274は、抽出した画像情報及び配置箇所に基づいて、装着オブジェクトを、配置箇所によって示される装着部位に装着したキャラクタオブジェクトを含むユーザ出力画像を生成する。
(音声出力部275)
音声出力部275は、他ユーザの出力情報に他ユーザの音声データが含まれる場合、表示処理部274による他ユーザ出力画像の表示とともに、音声データに基づいて生成される他ユーザの音声をスピーカ(図示せず)から音声出力する。これにより、他ユーザ出力画像に含まれる他ユーザのキャラクタオブジェクトの唇の動作中に、他ユーザの音声が出力されるため、ユーザは、音声を発しているような他ユーザのキャラクタオブジェクトを含む他ユーザ出力画像を見ることができる。
(サーバ装置3)
図5は、サーバ装置3の概略構成の一例を示す図である。複数のユーザのそれぞれの端末装置2にコミュニケーションサービスを提供するサーバ装置3は、一のユーザの端末装置2から送信された出力情報及び各種の指示を示す情報を、一のユーザとは異なる他ユーザの端末装置2に送信する。そのために、サーバ装置3は、サーバ通信I/F31と、サーバ記憶装置32と、サーバ処理装置33とを備える。例えば、一のユーザの端末装置2による情報の送信先の端末装置2は、受信した送信先情報に含まれるユーザIDによって示されるユーザの端末装置2である。
サーバ通信I/F31は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。サーバ装置3は、サーバ通信I/F31を介して、他の装置に情報を送信し且つ他の装置から情報を受信することができる。
サーバ記憶装置32は、例えば、ROM、RAM等の半導体メモリ装置である。サーバ記憶装置32は、例えば、磁気ディスク、光ディスク、又はデータを記憶可能な前記以外の各種記憶装置でもよい。サーバ記憶装置32は、サーバ処理装置33における処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム及びデータ等を記憶する。なお、サーバ記憶装置32は、データとして、ユーザテーブルT1、オブジェクトテーブルT2、及びグループテーブルT3を記憶してもよい。
サーバ処理装置33は、サーバ記憶装置32に記憶されているオペレーティングシステムプログラム、ドライバプログラム、及び制御プログラムをメモリにロードし、ロードしたプログラムに含まれる命令を実行するプロセッサである。サーバ処理装置33は、例えば、CPU、MPU、DSP、GPU等の電子回路、又は各種電子回路の組み合わせである。サーバ処理装置33は、ASIC、PLD、FPGA、MCU等の集積回路により実現されてもよい。図5においては、サーバ処理装置33が単一の構成要素として図示されているが、サーバ処理装置33は複数の物理的に別体のプロセッサの集合であってもよい。サーバ処理装置33は、制御プログラムに含まれる各種命令を実行することにより、サーバ受信部331、サーバ送信部332として機能する。
(サーバ受信部331)
サーバ受信部331は、複数のユーザのうちのいずれかユーザの端末装置2から送信された出力情報及び各種の指示を示す情報等を、サーバ通信I/F31を介して受信する。なお、サーバ受信部331は、端末装置2から送信された出力情報及び各種の指示を示す情報とともに、送信先情報を受信してもよい。
(サーバ送信部332)
サーバ送信部332は、サーバ受信部331によって受信された出力情報及び各種の指示を示す情報を、サーバ通信I/F31を介して、同時に受信した送信先情報に含まれるユーザIDによって示される他ユーザの端末装置2に送信する。また、サーバ送信部332は、サーバ受信部331によって受信された各種の指示を示す情報を、サーバ通信I/F31を介して、情報を送信したユーザによって指定された、1人又は複数の他ユーザの端末装置2に送信してもよい。
(各種画面の例)
以下、図6~図15を参照し、ユーザの端末装置2の表示装置23に表示される各種画面の例について説明する。図6~図15において、同一の符号が付されている複数の構成要素は、互いに等価な機能を有する構成要素である。
図6(a)は、ユーザの端末装置2の表示装置23に表示されるグループ作成画面600の一例を示す図である。グループ作成画面600には、他ユーザ表示領域601、選択オブジェクト602と、作成ボタン603と、が含まれる。例えば、グループ作成画面600は、端末記憶装置22に記憶された制御プログラムの実行に応じて表示されたホーム画面(図示せず)のグループ作成オブジェクト等がユーザの入力装置24の操作によって選択された場合に表示される。
他ユーザ表示領域601には、ユーザと所定の関係を有する他ユーザのそれぞれを示す他ユーザ情報が表示される。図6(a)に示される例では、ユーザの端末装置2の表示処理部274は、他ユーザのキャラクタオブジェクトのサムネイル画像及び他ユーザの名称を他ユーザ情報として表示する。
選択オブジェクト602は、各他ユーザ情報によって示される各他ユーザを選択するための操作オブジェクトである。図6(a)に示される例では、ユーザの端末装置2の表示処理部274は、各他ユーザ情報に対応するチェックボックスオブジェクトを選択オブジェクト602として表示する。例えば、ユーザの入力装置24の操作によって選択オブジェクト602が選択されると、選択オブジェクト602が「チェック」マークを含む表示となる。この場合、「チェック」マークを含む表示となっている選択オブジェクト602に対応する他ユーザ情報の他ユーザが選択された状態となる。また、「チェック」マークを含む表示となっている選択オブジェクト602がユーザの入力装置24の操作によって選択されると、選択オブジェクト602が「チェック」マークを含まない表示となる。
この場合、「チェック」マークを含まない表示となっている選択オブジェクト602に対応する他ユーザ情報の他ユーザが選択されていない状態となる。選択オブジェクト602のそれぞれには、対応する他ユーザ情報に係る他ユーザのユーザIDが関連付けられている。
作成ボタン603は、ユーザが新たにコミュニケーショングループを作成するためのボタンオブジェクト等である。ユーザによる入力装置24の操作によって作成ボタン603が選択されると、端末装置2を操作するユーザと選択オブジェクト602において選択された状態の他ユーザとを所属ユーザとする新たなグループが作成される。例えば、ユーザの端末装置2の表示処理部274は、端末記憶装置22に記憶されたユーザのユーザIDと、選択オブジェクト602において選択された状態の他ユーザに係る選択オブジェクト602に関連付けられた他ユーザのユーザIDと、を特定する。そして、表示処理部274は、新たに作成したグループIDに、特定されたユーザのユーザID及び他ユーザのユーザIDを所属ユーザとして関連付けてグループテーブルT3に記憶する。この際、表示処理部274は、新たに作成したグループIDに対して、自動的に作成したグループの名称を対応付けてもよく、又は、ユーザによって入力されたグループの名称を対応付けてもよい。
作成ボタン603の選択に応じて新たなグループが作成されると、表示処理部274は、新たなグループの所属ユーザによる情報交換画面700を表示する。図7(a)は、ユーザの端末装置2の表示装置23に表示される情報交換画面700の一例を示す図である。情報交換画面700には、新たなグループの所属ユーザのそれぞれが入力したテキスト又は画像等の情報を表示する表示領域701と、表示領域701に表示された情報を入力した所属ユーザを示す情報(キャラクタオブジェクトのサムネイル画像等)702と、ユーザが新たな表示領域701に表示させるテキスト又は画像を入力するための入力オブジェクト703と、コミュニケーションサービスを開始するための開始オブジェクト704が含まれる。
ユーザの端末装置2の送信部272は、情報交換画面700が表示されると、情報交換画面の表示指示を、新たなグループに関する情報及び送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する。新たなグループに関する情報は、新たなグループのグループID、名称、及び所属ユーザのそれぞれのユーザIDである。送信先情報には、新たなグループの所属ユーザのうち端末装置2を操作するユーザを除く他ユーザのそれぞれのユーザIDが含まれる。サーバ装置3のサーバ受信部331は、サーバ通信I/F31を介して、情報交換画面の表示指示、新たなグループに関する情報及び送信先情報を受信する。なお、サーバ受信部331は、受信した送信先情報をサーバ記憶装置32に記憶してもよい。サーバ装置3のサーバ送信部332は、情報交換画面の表示指示及び新たなグループに関する情報を、送信先情報に含まれるユーザIDによって示される他ユーザの端末装置2にサーバ通信I/F31を介して送信する。他ユーザの端末装置2は、サーバ装置3経由でユーザの端末装置2から送信された情報交換画面の表示指示を受信すると、新たなグループの所属ユーザによる情報の交換が可能な情報交換画面700を表示することができる。
図7(a)に説明を戻す。例えば、いずれかの所属ユーザの操作によって入力オブジェクト703に新たな情報が入力されると、情報を入力したユーザの端末装置2によって表示される情報交換画面700に新たな情報を表示する表示領域701が追加される。また、情報を入力したユーザの端末装置2の送信部272は、情報を入力したユーザ以外の所属ユーザの端末装置2に、サーバ装置3経由で、入力された新たな情報を送信する。これにより、情報を入力したユーザ以外の所属ユーザである他ユーザの端末装置2に表示される情報交換画面700においても、新たな情報を表示する表示領域701が追加される。
開始オブジェクト704は、新たなグループの所属ユーザのそれぞれが参加可能なコミュニケーションサービスを開始するためのボタンオブジェクト等である。ユーザによる入力装置24の操作によって開始オブジェクト704が選択されると、情報交換画面700による情報交換が可能なグループをコミュニケーショングループとするコミュニケーションサービスの開始処理が実行される。以下、ユーザによる開始オブジェクト704の選択に応じた開始処理の一例について説明する。
まず、ユーザの端末装置2の表示処理部274は、コミュニケーショングループに所属する各ユーザの端末装置2によって表示可能なコミュニケーション画面810(図8(b))を表示する。また、表示処理部274は、コミュニケーショングループのグループIDを、コミュニケーションサービスを開始したグループのグループIDとして端末記憶装置22に記憶する。さらに、表示処理部274は、ユーザのユーザIDをコミュニケーションサービスに参加中のユーザのユーザIDとして端末記憶装置22に記憶する。なお、コミュニケーショングループに所属する他ユーザの全てが未だコミュニケーションサービスに参加していない場合、コミュニケーション画面810においてユーザのユーザ出力情報のみが表示される。
次に、ユーザの端末装置2の送信部272は、コミュニケーションサービスの開始指示を、端末記憶装置22に記憶されたユーザのユーザID、コミュニケーショングループに関する情報及び/又は送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する。コミュニケーショングループに関する情報は、コミュニケーショングループのグループID、名称、及び所属ユーザのそれぞれのユーザIDである。送信先情報には、コミュニケーショングループの所属ユーザのうち端末装置2を操作するユーザを除く他ユーザのそれぞれのユーザIDが含まれる。なお、サーバ記憶装置32に送信先情報が記憶されている場合、送信先情報が送信されなくてもよい。サーバ装置3のサーバ受信部331は、サーバ通信I/F31を介して、開始指示、ユーザID、コミュニケーショングループに関する情報及び/又は送信先情報を受信する。サーバ装置3のサーバ送信部332は、開始指示、ユーザID及びコミュニケーショングループに関する情報を、送信先情報に含まれるユーザIDによって示される他ユーザの端末装置2にサーバ通信I/F31を介して送信する。
他ユーザの端末装置2の受信部237は、サーバ装置3から、ユーザの端末装置2から送信された開始指示、ユーザID及びコミュニケーショングループに関する情報を受信する。受信部237は、コミュニケーショングループに関する情報のうちのグループIDを、コミュニケーションサービスを開始したグループのグループIDとして端末記憶装置22に記憶する。さらに、表示処理部274は、送信されたユーザIDをコミュニケーションサービスに参加中のユーザのユーザIDとして端末記憶装置22に記憶する。他ユーザの端末装置2の表示処理部274は、受信したコミュニケーショングループに関する情報に基づき、通知画面(図示せず)を表示する。表示処理部274は、ユーザによる通知画面内の所定のオブジェクトの選択に応じて、コミュニケーションサービスに参加するためのグループ選択画面710(図7(b))を表示装置23に表示する。以上により、開始処理が終了する。なお、他ユーザの端末装置2の表示処理部274は、通知画面に後述する参加ボタン805を含めてもよい。これにより、グループ選択画面710を表示することなく、他のユーザは、即座にコミュニケーションサービスに参加することが可能となる。
開始処理は、ユーザによる入力装置24の操作によってグループ作成画面600の作成ボタン603が選択された場合に実行されてもよい。すなわち、ユーザによる作成ボタン603の選択に応じて、グループ作成画面600において作成された新たなグループをコミュニケーショングループとするコミュニケーションサービスの開始処理が実行されてもよい。この場合、情報交換画面700は表示されない。
また、開始処理は、グループ作成画面600において作成された新たなグループをコミュニケーショングループとするコミュニケーションサービスの開始処理に限らない。例えば、既に作成されたグループをコミュニケーショングループとするコミュニケーションサービスの開始処理が実行されてもよい。例えば、図6(b)は、いずれかのユーザによって作成されたコミュニケーショングループを選択するためのグループ選択画面610の一例を示す図である。例えば、グループ選択画面610は、端末記憶装置22に記憶された制御プログラムの実行に応じて表示されたホーム画面(図示せず)のグループ選択オブジェクト等がユーザの入力装置24の操作によって選択された場合に表示される。
ユーザの端末装置2に表示されたグループ選択画面610には、複数のコミュニケーショングループのいずれかを選択するためのグループ表示領域611が含まれる。グループ表示領域611には、既に作成済み且つユーザが所属するコミュニケーショングループのそれぞれを示すグループ情報が表示される。図6(b)に示される例では、ユーザの端末装置2の表示処理部274は、コミュニケーショングループの所属ユーザのそれぞれのサムネイル画像及びグループの名称をグループ情報として表示する。図6(b)に示される例では、所属ユーザのうち他ユーザのそれぞれのサムネイル画像が表示されるが、所属ユーザ全員のそれぞれのサムネイル画像が表示されてもよい。なお、コミュニケーショングループに、ユーザ以外に1人の他ユーザしか含まれていない場合、図8(b)に示されるように、グループの名称ではなく、当該1人の他ユーザの名称が表示されてもよい。
ユーザによる入力装置24の操作によってグループ表示領域611に含まれる一のグループ情報が選択されると、選択されたグループ情報に対応するコミュニケーショングループの所属ユーザによる情報交換画面700が表示される。情報交換画面700には、コミュニケーショングループの所属ユーザのそれぞれが入力したテキスト又は画像等の情報が含まれる。この場合においても、コミュニケーショングループの所属ユーザのうちの他ユーザの端末装置2には、サーバ装置3経由で、情報交換画面の表示指示、コミュニケーショングループに関する情報が送信され、他ユーザの端末装置2においても情報交換画面700が表示される。
そして、情報交換画面700において、ユーザによって開始オブジェクト704が選択された場合、情報交換画面700において情報交換を行うコミュニケーショングループによるコミュニケーションサービスの開始処理が実行される。開始処理が実行されると、ユーザの端末装置2の表示処理部274は、コミュニケーショングループに所属する各ユーザの端末装置2によって表示可能なコミュニケーション画面810(図8(b))を表示する。また、他ユーザの端末装置2の表示処理部274は、通知画面(図示せず)を表示し、通知画面に対する他のユーザの操作に応じて、コミュニケーションサービスに参加するためのグループ選択画面710(図7(b))を表示装置23に表示する。なお、この場合においても、他ユーザの端末装置2の表示処理部274は、通知画面に後述する参加ボタン805を含めてもよい。
なお、この場合においても、開始処理は、ユーザによる入力装置24の操作によってグループ選択画面610において一のグループ情報が選択された場合に実行されてもよい。すなわち、ユーザによる一のグループ情報の選択に応じて、選択されたグループ情報に対応するコミュニケーショングループによるコミュニケーションサービスの開始処理が実行されてもよい。この場合、情報交換画面700は表示されない。
次に、既に開始されたコミュニケーションサービスに参加していないユーザの参加方法について説明する。図7(b)は、ユーザの端末装置2の表示装置23に表示されるグループ選択画面710の一例を示す図である。例えば、グループ選択画面710は、表示された通知画面内の所定のオブジェクトの選択に応じて表示される。また、グループ選択画面710は、端末記憶装置22に記憶された制御プログラムの実行に応じて表示されたホーム画面のグループ選択オブジェクト等がユーザの入力装置24の操作によって選択された場合に表示されてもよい。
グループ選択画面710のグループ表示領域711において、コミュニケーションサービスを開始しているコミュニケーショングループを示すグループ情報が、他のグループ情報と判別可能に表示される。図7(b)に示される例では、最も上に表示されているグループ情報が、コミュニケーションサービスを開始しているコミュニケーショングループを示すものである。例えば、コミュニケーショングループの所属ユーザのそれぞれのサムネイル画像に重畳して又は近傍に、コミュニケーションサービスに参加している所属ユーザの数を示す情報が表示される。また、コミュニケーショングループの名称の近傍に、コミュニケーションサービスを示すマーク画像712が表示される。
ユーザによる入力装置24の操作によってグループ表示領域711に含まれるグループ情報のうち、コミュニケーションサービスを開始しているコミュニケーショングループを示すグループ情報が選択されると、選択されたグループ情報に対応するコミュニケーショングループの所属ユーザによる情報交換画面800が表示される。
図8(a)は、ユーザの端末装置2の表示装置23に表示される情報交換画面800の一例を示す図である。情報交換画面800には、コミュニケーションサービスを開始しているコミュニケーショングループの所属ユーザのそれぞれが入力したテキスト又は画像等の情報を表示する表示領域801a~801bと、表示領域801a~801bのそれぞれに表示された情報を入力した所属ユーザを示す情報(キャラクタオブジェクトのサムネイル画像等)802a~802bと、ユーザが新たな表示領域801に表示させるテキスト又は画像を入力するための入力オブジェクト803と、既に開始されているコミュニケーションサービスを示すサービス表示領域804と、既に開始されているコミュニケーションサービスに参加するための参加ボタン805が含まれる。
図8(a)に示されるサービス表示領域804には、コミュニケーションサービスに参加している3人のユーザのキャラクタオブジェクトのサムネイル画像が表示される。図8(a)に示される表示領域801bには、コミュニケーションサービスを開始したことを示す情報が表示される。参加ボタン805がユーザによって選択されることによって参加処理が実行される。以下、参加処理の一例について説明する。
ユーザによる入力装置24の操作によって参加ボタン805が選択されると、まず、ユーザの端末装置2の表示処理部274は、端末記憶装置22に記憶されたユーザのユーザIDを、サービス表示領域804に関するコミュニケーションサービスに参加中のユーザのユーザIDとして端末記憶装置22に記憶する。次に、表示処理部274は、コミュニケーションサービスに参加中の全てのユーザのユーザ出力画像を含むコミュニケーション画面810(図8(b))を表示する。
次に、ユーザの端末装置2の送信部272は、コミュニケーションサービスの参加指示を、端末記憶装置22に記憶されたユーザのユーザID、コミュニケーショングループに関する情報及び/又は送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する。コミュニケーショングループに関する情報は、コミュニケーショングループのグループID、名称、及び所属ユーザのそれぞれのユーザIDである。送信先情報には、コミュニケーショングループの所属ユーザのうち端末装置2を操作するユーザを除く他ユーザのそれぞれのユーザIDが含まれる。サーバ装置3のサーバ受信部331は、サーバ通信I/F31を介して、参加指示、ユーザID、コミュニケーショングループに関する情報及び/又は送信先情報を受信する。サーバ装置3のサーバ送信部332は、参加指示、ユーザID及びコミュニケーショングループに関する情報を、送信先情報に含まれるユーザIDによって示される他ユーザの端末装置2にサーバ通信I/F31を介して送信する。
他ユーザの端末装置2の受信部237は、サーバ装置3から、ユーザの端末装置2から送信された参加指示、ユーザID及びコミュニケーショングループに関する情報を受信する。受信部237は、受信したユーザIDを、コミュニケーションサービスに参加中のユーザのユーザIDとして端末記憶装置22に記憶する。当該端末装置においてコミュニケーション画面810が表示されている場合、他ユーザの端末装置2の表示処理部274は、コミュニケーションサービスに参加中の全てのユーザのユーザ出力画像を含むコミュニケーション画面810を表示する。以上により、参加処理が終了する。
選択処理は、ユーザによる入力装置24の操作によってグループ選択画面710においてグループ情報が選択された場合に実行されてもよい。すなわち、ユーザによるグループ情報の選択に応じて、グループ情報に対応するコミュニケーショングループが参加可能なコミュニケーションサービスへの参加処理が実行されてもよい。この場合、情報交換画面800は表示されない。
コミュニケーションサービスの開始又は参加の実施形態は、上述した例に限らない。例えば、ユーザによる開始オブジェクト704の選択に応じた開始処理とは異なる他の開始処理が実行されてもよい。他の開始処理は、ホーム画面等の所定の画面において、コミュニケーションサービスの開始を指定するための所定の表示オブジェクトがユーザによって選択された場合に実行される。なお、所定の表示オブジェクトは、ユーザのキャラクタオブジェクトのサムネイル画像等が選択された場合に表示されてもよく、また、所定の画面のメニュー項目に含まれていてもよい。他の開始処理は、所定の開始条件が満たされた場合に自動的に実行されてもよい。例えば、所定の開始条件は、現在時刻が予め定められた時刻となったこと、前回のコミュニケーションサービスの終了から所定の時間が経過したこと、ユーザの相互フォロワー数が所定数を超えたこと等である。以下、他の開始処理の一例について説明する。
まず、ユーザの端末装置2の送信部272は、コミュニケーションサービスの開始指示を、端末記憶装置22に記憶されたユーザのユーザID、及び/又は送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する。また、送信部272は、ユーザのユーザIDをコミュニケーションサービスに参加中のユーザのユーザIDとして端末記憶装置22に記憶する。送信先情報には、ユーザと所定の関係を有する一又は複数の他ユーザのそれぞれのユーザIDが含まれる。例えば、送信先情報には、ユーザの相互フォロワーである一又は複数の他のユーザのユーザIDが含まれてもよい。また、送信先情報には、ユーザの相互フォロワーである一又は複数の他のユーザのユーザIDに替えて又は加えて、ユーザの相互フォロワーである所定ユーザと相互フォローの関係にある他ユーザのユーザIDが含まれてもよい。
サーバ装置3のサーバ受信部331は、サーバ通信I/F31を介して、開始指示、ユーザID及び/又は送信先情報を受信する。サーバ装置3のサーバ送信部332は、開始指示、ユーザID及び送信先情報を、送信先情報に含まれるユーザIDによって示される他ユーザの端末装置2にサーバ通信I/F31を介して送信する。他ユーザの端末装置2の受信部237は、サーバ装置3から、ユーザの端末装置2から送信された開始指示、ユーザID及び送信先情報を受信する。受信部237は、送信されたユーザIDをコミュニケーションサービスに参加中のユーザのユーザIDとして端末記憶装置22に記憶する。他ユーザの端末装置2の表示処理部274は、受信したユーザIDに基づいて通知画面(図示せず)を表示装置23に表示する。通知画面には、受信したユーザIDによって示されるユーザからコミュニケーションサービスの参加を促す情報と参加ボタン等が含まれる。
他ユーザによる入力装置24の操作によって通知画面内の参加ボタンが選択されると、他ユーザの端末装置2の表示処理部274は、端末記憶装置22に記憶された他ユーザのユーザIDを、サービス表示領域804に関するコミュニケーションサービスに参加中のユーザのユーザIDとして端末記憶装置22に記憶する。次に、表示処理部274は、コミュニケーションサービスに参加中の全てのユーザのユーザ出力画像を含むコミュニケーション画面810(図8(b))を表示する。
次に、他ユーザの端末装置2の送信部272は、コミュニケーションサービスの参加指示を、端末記憶装置22に記憶された他ユーザのユーザID及び/又は送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する。送信先情報は、先に受信部237により受信された送信先情報に含まれるユーザIDから、送信先情報を送信する端末装置2の他ユーザのユーザIDを送信先情報から削除し、同時に受信部237により受信されたユーザIDを加えたものである。サーバ装置3のサーバ受信部331は、サーバ通信I/F31を介して、参加指示、ユーザID、及び/又は送信先情報を受信する。サーバ装置3のサーバ送信部332は、参加指示、ユーザID、及び送信先情報を、送信先情報に含まれるユーザIDによって示される他ユーザの端末装置2にサーバ通信I/F31を介して送信する。
参加指示の送信先のユーザの端末装置2の受信部237は、サーバ装置3から、ユーザの端末装置2から送信された参加指示、ユーザID、及び送信先情報を受信する。受信部237は、受信したユーザIDを、コミュニケーションサービスに参加中のユーザのユーザIDとして端末記憶装置22に記憶する。当該端末装置2においてコミュニケーション画面810が表示されている場合、端末装置2の表示処理部274は、コミュニケーションサービスに参加中の全てのユーザのユーザ出力画像を含むコミュニケーション画面810を表示する。以上により、一連の参加処理が終了する。
なお、ユーザと所定の関係を有する他ユーザとのコミュニケーションサービスの開始又は参加の実施形態は、上述した例に限らない。例えば、ユーザによってコミュニケーションサービスの開始を指定するための所定の表示オブジェクトがユーザによって選択された場合、一又は複数のユーザの相互フォロワーである他ユーザを示す情報を含む選択画面が表示されてもよい。この場合、ユーザによっていずれかの他ユーザを示す情報が選択されると、選択された他ユーザとのコミュニケーションを開始する開始指示に基づく他の開始処理が実行されてもよい。さらにこの場合、選択された他ユーザとの情報交換画面が表示され、当該情報交換画面内の開始ボタンが選択されることにより、他ユーザとのコミュニケーションを開始する開始指示に基づく他の開始処理が実行されてもよい。
従来の情報システムでは、ユーザの相互フォロワー等のユーザと所定の関係を有する他ユーザとのコミュニケーションの開始及び/又は参加指示を、ユーザが簡易なインターフェースを用いて行うことができなかった。本実施形態において開示される情報システム1では、上述の他の開始処理が実行されることにより、コミュニケーションの開始及び/又は参加指示に係るユーザインタフェースを向上させ、サーバ装置3及び端末装置2間の通信負荷を低減させることが可能となる。
図8(b)は、端末装置2の表示装置23に表示されるコミュニケーション画面810の一例を示す図である。コミュニケーション画面810は、端末装置2を操作するユーザを所属ユーザとして含むコミュニケーショングループのコミュニケーション画面である。以下、端末装置2を操作するユーザをユーザAと称し、コミュニケーション画面810に対応するコミュニケーションサービスに参加中の、ユーザA以外のユーザを、ユーザB1、ユーザB2、ユーザB3、・・・と称する。なお、ユーザB1、ユーザB2、ユーザB3、・・・を、ユーザBと総称する場合がある。
コミュニケーション画面810には、ユーザAのキャラクタオブジェクト811aを含むユーザ出力画像812aが少なくとも含まれる。図8(b)に示される例では、ユーザA以外で、コミュニケーションサービスに参加中のユーザが3人(ユーザB1、ユーザB2、ユーザB3)いる。すなわち、ユーザB1、ユーザB2、及びユーザB3のそれぞれのキャラクタオブジェクト811b1、811b2、811b3を含むユーザ出力画像812b1、812b2、812b3がコミュニケーション画面810に含まれる。以下、キャラクタオブジェクト811b1、811b2,811b3を、キャラクタオブジェクト811bと総称し、ユーザ出力画像812b1、812b2、812b3を、ユーザ出力画像812bと総称する場合がある。なお、ユーザBは、ユーザAにとって他ユーザであり、ユーザAの端末装置2に表示されるユーザBのユーザ出力画像812bは、他ユーザ出力画像である。
ユーザA以外で、コミュニケーションサービスに参加中のユーザがいない場合、コミュニケーション画面810にユーザ出力画像812aのみが含まれ、ユーザBがコミュニケーションサービスに参加するたびに、当該ユーザBのユーザ出力画像812bが新たにコミュニケーション画面810に含まれる。コミュニケーションサービスに参加可能なユーザ数に上限はなく、例えば、ユーザA以外に9人のユーザBがコミュニケーションサービスに参加している場合、ユーザAのユーザ出力画像812aとともに、9人のユーザBのそれぞれのユーザ出力画像812b1、812b2,812b3、・・・812b9がコミュニケーション画面810に含まれる。
キャラクタオブジェクト811aは、生成部271によって生成されたユーザAのモーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、表示処理部274によって生成されたユーザAのキャラクタオブジェクトのアニメーション(動画像)である。なお、生成部271によって生成されたユーザAのモーションデータは、ユーザBの端末装置2に送信される出力情報に含まれるモーションデータと同一である。ユーザAの出力情報には、ユーザAのモーションデータとともにユーザAの音声データが含まれる。生成部271によって生成されたユーザAのモーションデータにユーザAのフェイスモーションデータが含まれる場合、ユーザAの表情の動きに同期して表情が変化するキャラクタオブジェクト811aを含むユーザ出力画像812aが表示される。例えば、ユーザAが音声を発しているときには、唇が動作しているキャラクタオブジェクト811aを含むユーザ出力画像812aが表示される。また、生成部271によって生成されたユーザAのモーションデータにユーザAのボディモーションデータが含まれる場合、ユーザAの体の動きに同期して、対応する部位が動作するキャラクタオブジェクト811aを含むユーザ出力画像812aが表示される。
なお、ユーザAの端末装置2の送信部272は、ユーザAの出力情報を、送信先情報(コミュニケーショングループに含まれる各ユーザB(ユーザB1~ユーザB3)のユーザID)とともに、端末通信I/F21を介してサーバ装置3に送信する。次に、サーバ装置3のサーバ受信部331は、サーバ通信I/F31を介して、ユーザAの端末装置2から送信されたユーザAの出力情報を受信する。次に、サーバ装置3のサーバ送信部332は、受信したユーザB(ユーザB1~ユーザB3)のユーザIDを参照し、サーバ通信I/F31を介して、ユーザAの出力情報をユーザB(ユーザB1~ユーザB3)の端末装置2に送信する。そして、ユーザBの端末装置2の受信部273によって、端末通信I/F21を介して出力情報が受信されると、ユーザBの端末装置2の表示処理部274は、出力情報に含まれるユーザIDによって示されるユーザAのモーションデータに基づくキャラクタオブジェクト811aを含むユーザ出力画像812aを表示する。
キャラクタオブジェクト811bは、受信部273によって受信されたユーザBの出力情報に含まれるモーションデータと、ユーザテーブルT1のユーザBのユーザIDに関連付けられたキャラクタオブジェクトとに基づいて、表示処理部274によって生成されたユーザBのキャラクタオブジェクトのアニメーション(動画像)である。受信部273によって受信されたユーザBのモーションデータにユーザBのフェイスモーションデータが含まれる場合、ユーザBの表情の動きに同期して表情が変化するキャラクタオブジェクト811bを含むユーザ出力画像812bが表示される。例えば、ユーザBが音声を発した場合では、唇が動作しているキャラクタオブジェクト811bを含むユーザ出力画像812bが表示される。また、生成部271によって生成されたユーザBのモーションデータにユーザBのボディモーションデータが含まれる場合、ユーザBの体の動きに同期して、対応する部位が動作するキャラクタオブジェクト811bを含むユーザ出力画像812bが表示される。受信部273によって受信されたユーザBの出力情報にユーザBの音声データが含まれる場合、表示処理部274によってユーザ出力画像812bが表示されるとともに、音声出力部275によって音声データに基づいて生成されるユーザBの音声が音声出力される。
このように、ユーザ出力画像812a及びユーザ出力画像812bを含むコミュニケーション画面810が表示されることによって、ユーザAは、音声を発しているようなユーザBのキャラクタオブジェクト811bを見ながらユーザBの音声を聞くことができる。また、ユーザAのキャラクタオブジェクト及び音声データは、ユーザBの端末装置2によって出力される。これにより、コミュニケーションサービスに参加しているユーザAとユーザBは、キャラクタオブジェクトを介してコミュニケーションすることが可能となる。
ユーザAは、キャラクタオブジェクト811aを変化させるとともに、ユーザBのユーザ出力画像812を変化させたい場合、変化させたいユーザBのユーザ出力画像812又は変化させたいユーザBのキャラクタオブジェクト811を選択する操作を行う。以下、変化させたいユーザ出力画像が、ユーザ出力画像812b1である場合を例にして説明する。ユーザAによる入力装置24の操作によってキャラクタオブジェクト811b1が選択されると、コミュニケーション画面810の表示が終了し、選択画面900(図9(a))が表示される。なお、選択画面900の表示は、ユーザAによる入力装置24の操作によってユーザ出力画像812b1が選択された場合に実行されてもよい。
図9(a)は、端末装置2の表示装置23に表示される選択画面900の一例を示す図である。選択画面900は、コミュニケーション画面810(図8(b))に含まれる、ユーザAによる入力装置24の操作によってキャラクタオブジェクト811b1又はユーザ出力画像812b1が選択された場合に表示される。なお、ユーザAによる入力装置24の操作によってキャラクタオブジェクト811b1又はユーザ出力画像812b1が選択された場合、選択画面900が表示されずに、後述する変化候補ボタン901がユーザ出力画像812b1に表示されるようにしてもよい。
選択画面900では、ユーザB1のキャラクタオブジェクト811b1を含むユーザ出力画像812b1が全面に表示される。さらに、選択画面900には、変化候補ボタン901及び画面終了ボタン902が含まれる。なお、選択画面900が表示された時に、変化候補ボタン901が選択画面900に含まれていなくてもよい。この場合、ユーザAによる入力装置24に対する特定の操作(例えば、選択画面900の表示領域内に対する「長押し」操作又は「タップ」操作)が入力装置24によって検出された場合に、表示処理部274は変化候補ボタン901を表示してもよい。
変化候補ボタン901は、コミュニケーション画面810(図8(b))において選択されたユーザB1のキャラクタオブジェクト811b1又はユーザ出力画像812b1に対するユーザAのキャラクタオブジェクト811aの動作を選択する選択オブジェクトである。図9(a)に示される例では、3つの動作のそれぞれに対応する3つの変化候補ボタン901が選択画面900に含まれる。選択画面900に表示される変化候補ボタン901の数は、3つに限らない。端末装置2の表示処理部274は、複数の変化候補ボタン901を示す画像の一部を選択画面900内に含めることができない場合、変化候補ボタン901をスクロール可能に表示してもよい。この場合、ユーザAによる特定の操作(例えば、指を画面下から上に移動させるスワイプ操作又は指を画面上方向に弾くように移動させるフリック操作)に応じて、選択画面900に現在表示されていない変化候補ボタン901が、選択画面900内にスクロール表示される。
ユーザAによる入力装置24の操作によって複数の変化候補ボタン901のいずれかが選択されると、入力装置24は、変化指示を端末処理装置27に入力する。入力装置24は、変化指示とともに、選択画面900に表示されたキャラクタオブジェクト(コミュニケーション画面810において選択されたキャラクタオブジェクト811b1)に対応するユーザB1のユーザIDと、選択された変化候補ボタン901に対応する動作IDを端末処理装置27に入力する。以下、変化指示に応じた変化処理の一例について説明する。
まず、ユーザAの端末装置2の表示処理部274は、入力装置24から入力された変化指示、ユーザB1のユーザID、及び動作IDを取得する。次に、表示処理部274は、コミュニケーション画面810における、ユーザAのキャラクタオブジェクト811aに対する、ユーザB1のキャラクタオブジェクト811b1の表示画面上の相対位置を特定する。次に、表示処理部274は、動作IDに関連付けられたモーションデータ及び被モーションデータのうち、特定した相対位置に関連付けられたモーションデータ及び被モーションデータを端末記憶装置22から抽出する。
表示処理部274は、抽出したモーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザAのキャラクタオブジェクト911aのアニメーション(動画像)を生成する。そして、表示処理部274は、生成したユーザAのキャラクタオブジェクト911aのアニメーション(動画像)を含むユーザ出力画像912aを生成する。このように、表示処理部274は、キャラクタオブジェクト811a及びキャラクタオブジェクト811b1の位置関係と、端末記憶装置22に記憶されたモーションデータとに基づいて、自動的に、ユーザAの変化したキャラクタオブジェクト911aを生成する。
表示処理部274は、生成したユーザ出力画像912aを表示装置23に表示することにより、ユーザBのキャラクタオブジェクト911b1の所定箇所に向けて腕が伸びるよう動作するユーザAのキャラクタオブジェクト911aが表示される。この場合、ユーザAのキャラクタオブジェクト911aの腕は、図8(b)におけるユーザAのユーザ出力画像812bの表示領域内まで描画される。
また、表示処理部274は、新たに出現したユーザAのキャラクタオブジェクトの一部のオブジェクト911a1のアニメーション(動画像)と、変化したユーザB1のキャラクタオブジェクト911b1のアニメーション(動画像)とを含むユーザ出力画像912b1を生成する。例えば、新たに出現したユーザAのキャラクタオブジェクトの一部のオブジェクト911a1のアニメーション(動画像)は、抽出したモーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、表示処理部274によって生成される。また、オブジェクト911a1に応じて動作するユーザB1のキャラクタオブジェクト911b1のアニメーション(動画像)は、抽出した被モーションデータと、ユーザテーブルT1のユーザB1のユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、表示処理部274によって生成される。このように、ユーザBのキャラクタオブジェクト911b1の動作は、動作IDに関連付けられた被モーションデータに基づくものであるから、ユーザAによる変化指示に応じて自動的に特定される。
そして、表示処理部274は、生成したユーザ出力画像912a及びユーザ出力画像912b1を含むコミュニケーション画面910(図9(b))を表示する。なお、コミュニケーションサービスに参加中のユーザB2及びユーザB3のそれぞれのキャラクタオブジェクト811b2及び811b3を含むユーザ出力画像812b2及び812b3は、図8(b)と同様である。このように、図9(b)に示されるコミュニケーション画面910では、ユーザAによる変化指示に対応する動作をするキャラクタオブジェクト911aを含むユーザ出力画像912aが表示される。また、ユーザAによる変化指示に対応する、ユーザAのキャラクタオブジェクト911aの動作に応じて、ユーザAのキャラクタオブジェクト911aの当該動作に関連する動作をするユーザB1のキャラクタオブジェクト911b1を含むユーザ出力画像912b1が表示される。
次に、ユーザAの端末装置2の送信部272は、入力装置24から入力された変化指示、ユーザB1のユーザID、及び動作IDを取得すると、変化指示を示す情報を、端末記憶装置22に記憶されたユーザAのユーザID、取得したユーザB1のユーザID及び動作ID、並びに送信先情報(ユーザB(ユーザB1~ユーザB3)のユーザID)とともにとともに、端末通信I/F21を介してサーバ装置3に送信する。次に、サーバ装置3のサーバ受信部331は、サーバ通信I/F31を介して、変化指示を示す情報とユーザAのユーザIDとユーザB1のユーザIDと動作IDと送信先情報とを受信する。次に、サーバ装置3のサーバ送信部332は、サーバ通信I/F31を介して、変化指示を示す情報とユーザAのユーザIDとユーザB1のユーザIDと動作IDとを、ユーザB(ユーザB1~ユーザB3)の端末装置2に送信する。
次に、ユーザBの端末装置2の受信部273は、端末通信I/F21を介して、変化指示を示す情報とユーザAのユーザIDとユーザB1のユーザIDと動作IDを受信する。次に、ユーザBの端末装置2の表示処理部274は、ユーザBの端末装置2に表示されているコミュニケーション画面における、ユーザAのキャラクタオブジェクトに対する、ユーザB1のキャラクタオブジェクトの表示画面上の相対位置を特定する。次に、表示処理部274は、動作IDに関連付けられたモーションデータ及び被モーションデータのうち、特定した相対位置に関連付けられたモーションデータ及び被モーションデータを端末記憶装置22から抽出する。
表示処理部274は、抽出したモーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザAのキャラクタオブジェクト1001aのアニメーション(動画像)を含むユーザ出力画像1002aを生成する。そして、表示処理部274は、生成したユーザAのキャラクタオブジェクト1001aのアニメーション(動画像)を含むユーザ出力画像1002aを生成する。このように、ユーザBの端末装置2の表示処理部274は、表示されているユーザAのキャラクタオブジェクト及びユーザBのキャラクタオブジェクトの位置関係と、端末記憶装置22に記憶されたモーションデータとに基づいて、自動的に、ユーザAの変化したキャラクタオブジェクト1011aを生成する。
また、ユーザBの端末装置2の表示処理部274は、新たに出現したユーザAのキャラクタオブジェクトの一部のオブジェクト1001a1のアニメーション(動画像)と、変化したユーザB1のキャラクタオブジェクト1001b1のアニメーション(動画像)とを含むユーザ出力画像1002b1を生成する。新たに出現したユーザAのキャラクタオブジェクトの一部のオブジェクト1001a1のアニメーション(動画像)は、抽出したモーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、表示処理部274によって生成される。また、変化したユーザB1のキャラクタオブジェクト1001b1のアニメーション(動画像)は、抽出した被モーションデータと、ユーザテーブルT1のユーザB1のユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、表示処理部274によって生成される。
そして、ユーザBの端末装置2の表示処理部274は、生成したユーザ出力画像1002a及びユーザ出力画像1002b1を含むコミュニケーション画面1000(図10(a))を表示する。なお、コミュニケーションサービスに参加中のユーザB2及びユーザB3のそれぞれのキャラクタオブジェクト811b2及び811b3を含むユーザ出力画像812b2及び812b3は、図8(b)と同様である。以上により、変化処理は終了する。
なお、図9(b)及び10(a)に示される例では、ユーザAの端末装置2に表示されたキャラクタオブジェクト911a及びキャラクタオブジェクト911b1の画面内での表示位置と、ユーザBの端末装置2に表示されたキャラクタオブジェクト1001a及びキャラクタオブジェクト1001b1の画面内での表示位置とが異なる。このため、同じ変化指示によるものであっても、ユーザ出力画像912a及びユーザ出力画像912b1の変化とユーザ出力画像1002a及びユーザ出力画像1002b1の変化とは互いに異なる。
図9(b)に示されるように、ユーザAの端末装置2では、画面上の左から順にユーザAのユーザ出力画像912aとユーザB1のユーザ出力画像912b1が表示される。
他方、図10(a)に示されるように、ユーザB1の端末装置2では、画面上の左から順にユーザB1のユーザ出力画像1002b1とユーザAのユーザ出力画像1002aが表示される。このため、ユーザAによる変化指示が、ユーザAのキャラクタオブジェクトがユーザB1のキャラクタオブジェクトを叩く動作に関する指示である場合、ユーザAのキャラクタオブジェクトの腕が伸びる方向が、ユーザAの端末装置2では画面右方向となり、ユーザB1の端末装置では画面左方向となる。なお、ユーザAの端末装置とユーザB1の端末装置とにおいて、ユーザAのユーザ出力画像とユーザBのユーザ出力画像とが同じ順に並んで表示されてもよい。すなわち、ユーザAのユーザ出力画像とユーザBのユーザ出力画像とを含む同一の画面が、ユーザAの端末装置2とユーザB1の端末装置2とにおいて表示されてもよい。
図8(b)~図10(a)を参照して説明したように、ユーザAによる変化指示に応じて、コミュニケーションサービスに参加しているユーザA、B1、B2、及びB3のそれぞれの端末装置2において、ユーザAのキャラクタオブジェクトが変化し、ユーザBのユーザ出力画像が変化する。これにより、キャラクタオブジェクトを介したコミュニケーション中に、ユーザA及びユーザBが飽きてしまうこと防止し、ユーザAがユーザBとのコミュニケーションを継続しようとするユーザの意欲を向上させることが可能となる。
ユーザAの端末装置2において表示される、ユーザAのキャラクタオブジェクトが変化し且つユーザBのユーザ出力画像が変化したコミュニケーション画面は、図9(b)のコミュニケーション画面910に限らない。例えば、図10(b)に示されるように、表示処理部274は、ユーザB1のユーザ出力画像912b1内に、ユーザAのキャラクタオブジェクトの一部のオブジェクト1011a1を含ませないようにしてもよい。この場合、上述の変化処理において、図10(b)に示されるコミュニケーション画面1010のように、ユーザAのキャラクタオブジェクト1011aの腕は、図10(b)におけるユーザAのユーザ出力画像1012aの表示領域外まで描画される処理が実行される。このため、ユーザAのキャラクタオブジェクト1011aの腕は、ユーザBのユーザ出力画像912b1の上に重畳するように表示される。なお、この場合も、ユーザAの端末装置2は、変化指示に関する情報、ユーザA及びユーザB1のユーザID並びに動作IDを、送信先情報とともにサーバ装置3に送信し、サーバ装置3は、変化指示に関する情報、ユーザA及びユーザB1のユーザID並びに動作IDを、ユーザB(ユーザB1、B2及びB3)の端末装置2に送信する。これにより、ユーザBの各端末装置2においても、受信した変化指示に関する情報、ユーザA及びユーザB1のユーザID並びに動作IDに基づく変化処理が実行され、コミュニケーション画面1010と同様の画面が表示される。
また、図11(a)に示されるように、表示処理部274は、ユーザAによる変化指示に応じて、ユーザAのキャラクタオブジェクト1101aがユーザBのユーザ出力画像1102b1内に出現したコミュニケーション画面1100を表示してもよい。この場合、図8(b)のユーザAのユーザ出力画像812aには含まれていたキャラクタオブジェクト811aは、コミュニケーション画面1100のユーザAのユーザ出力画像1102aには含まれない。この場合における変化処理の一例について説明する。
まず、ユーザAの端末装置2の表示処理部274は、入力装置24から入力されたユーザAによる変化指示に応じて、ユーザAのキャラクタオブジェクト1101aを含まないユーザ出力画像1102aを生成する。次に、表示処理部274は、入力装置24から入力された変化指示、ユーザB1のユーザID、及び動作IDを取得する。次に、表示処理部274は、コミュニケーション画面810における、ユーザAのキャラクタオブジェクト811aに対する、ユーザB1のキャラクタオブジェクト811b1の表示画面上の相対位置を特定する。次に、表示処理部274は、動作IDに関連付けられたモーションデータ及び被モーションデータのうち、特定した相対位置に関連付けられたモーションデータ及び被モーションデータを端末記憶装置22から抽出する。次に、表示処理部274は、抽出したモーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザAのキャラクタオブジェクト1101aのアニメーション(動画像)を生成する。また、表示処理部274は、抽出した被モーションデータと、ユーザテーブルT1のユーザB1のユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザBのキャラクタオブジェクト1101b1のアニメーション(動画像)を生成する。次に、表示処理部274は、新たに出現したユーザAのキャラクタオブジェクト1101aのアニメーション(動画像)と、変化したユーザB1のキャラクタオブジェクト1101b1のアニメーション(動画像)とを含むユーザ出力画像1102b1を生成する。そして、表示処理部274は、生成したユーザ出力画像1102a及びユーザ出力画像1102b1を含むコミュニケーション画面1100を表示し、変化処理が終了する。
なお、この場合も、ユーザAの端末装置2は、変化指示に関する情報、ユーザA及びユーザB1のユーザID並びに動作IDを、送信先情報とともにサーバ装置3に送信し、サーバ装置3は、変化指示に関する情報、ユーザA及びユーザB1のユーザID並びに動作IDをユーザB(ユーザB1、B2及びB3)に送信する。これにより、ユーザBの各端末装置においても、受信された変化指示に関する情報、ユーザA及びユーザB1のユーザID並びに動作IDに基づく変化処理が実行され、コミュニケーション画面1100と同様の画面が表示される。
また、図11(a)に示されるコミュニケーション画面1100において、ユーザAのユーザ出力画像902aの表示領域は、小さく又は消滅されてもよい。図11(b)に示されるコミュニケーション画面1110は、ユーザAのユーザ出力画像1102aの表示領域を消滅させた一例である。図11(b)に示される例では、ユーザAのキャラクタオブジェクト1111aが出現したユーザBのユーザ出力画像1112b1は、消滅したユーザ出力画像1102aの表示領域も含むように表示される。また、図11(a)に示されるコミュニケーション画面1100において、ユーザAのユーザ出力画像1102aの表示領域が小さくなる場合では、今までユーザ出力画像1102aの表示領域であった領域を含むようにユーザBのユーザ出力画像1112b1が表示される。
また、例えば、表示処理部274は、図8(b)に示されるユーザ出力画像812b1内に、ユーザAのキャラクタオブジェクトの動作に関する情報1201が含まれるコミュニケーション画面1200を表示してもよい。図12(a)は、コミュニケーション画面1200の一例を示す図である。この場合、ユーザAのキャラクタオブジェクト811a及びユーザBのキャラクタオブジェクト811b1の少なくとも一方は、動作をしないように表示されてもよい。例えば、ユーザAによる変化指示に対応する動作をするキャラクタオブジェクト811aを含むユーザ出力画像812aが表示され、ユーザAによる変化指示に対応するユーザAのキャラクタオブジェクト811aの動作に応じて、キャラクタオブジェクト811aの動作に関する情報1201を含むユーザ出力画像812b1が表示される。また、この場合、ユーザAのキャラクタオブジェクト811は、ユーザAのモーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、表示処理部274によって生成された画像でもよい。同様に、ユーザB1のキャラクタオブジェクト811b1は、ユーザB1の端末装置2からサーバ装置3経由で送信された出力情報に含まれるモーションデータと、ユーザテーブルT1のユーザB1のユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、表示処理部274によって生成された画像でもよい。
なお、この場合も、ユーザAの端末装置2は、変化指示に関する情報、ユーザA及びユーザB1のユーザID並びに動作IDを、送信先情報とともにサーバ装置3に送信し、サーバ装置3は、変化指示に関する情報、ユーザA及びユーザB1のユーザID並びに動作IDをユーザB(ユーザB1、B2及びB3)に送信する。これにより、ユーザBの各端末装置においても、受信された動作IDによって示される動作に関する情報1201が含まれるコミュニケーション画面1200と同様の画面が表示される。
図9(a)に戻り、選択画面900において、ユーザAが変化指示を行うためのインターフェースは、変化候補ボタン901に限らない。例えば、図12(b)に示すように、ユーザB1のキャラクタオブジェクト811b1に対し、ユーザAによって所定の操作が行われることで、所定の操作に対応する変化指示が入力装置24によって端末処理装置27に入力されてもよい。図12(b)に示されるように、ユーザB1のキャラクタオブジェクト811b1の頭部に対応する画面領域を左右にスワイプする操作が所定回数続いたことを示す情報を入力装置24が端末処理装置27に入力すると、表示処理部274は、ユーザAのキャラクタオブジェクト811aがユーザBのキャラクタオブジェクト811b1の頭を撫でる動作をする変化指示が入力されたものと判定する。そして、表示処理部274及び送信部272は、判定された変化指示に基づいて、図8(b)~図10(a)を参照して説明した変化処理を実行する。これにより、図13(a)に示されるような、ユーザAのキャラクタオブジェクト811aがユーザBのキャラクタオブジェクト811b1の頭を撫でる動作をするコミュニケーション画面1300が表示される。
ユーザB1のキャラクタオブジェクト811b1に対する所定の操作は、図12(b)に示される例に限定されない。例えば、ユーザB1のキャラクタオブジェクト811b1の体部に対応する画面領域をタップする操作が、ユーザAのキャラクタオブジェクト811aがユーザBのキャラクタオブジェクト811b1を突っつく動作に対応するものでもよい。例えば、ユーザB1のキャラクタオブジェクト811b1の腹部に対応する画面領域をダブルタップする操作が、ユーザAのキャラクタオブジェクト811aがユーザBのキャラクタオブジェクト811b1をくすぐる動作に対応するものでもよい。
また、例えば、表示処理部274及び送信部272は、入力装置24を用いずに連続的に取得した撮像データを用いて、ユーザAの変化指示が入力されたものと判定してもよい。まず、表示処理部274及び送信部272は、連続的に取得した撮像データを継続的に監視し、変化指示動作がユーザによって行われたか否かの判定処理を実行する。図13(b)に示される選択画面900の他の一例では、判定処理として、所定の判定期間(例えば2秒間)においてユーザAが瞬きを所定回数以上行ったか否かが判定される。なお、図13(b)に示される例では、変化指示動作に関する情報1301が選択画面900に表示されるが、変化指示動作に関する情報1301が選択画面900に表示されなくてもよい。例えば、この判定処理では、公知の機械学習によって人間の瞬きについて学習した学習済み判別モデル等が用いられてもよい。なお、判定処理において判定対象のデータは、連続的に取得した撮像データに限らない。例えば、判定処理において、生成部271によって生成されたモーションデータが用いられてもよい。
端末記憶装置22には、変化指示動作と動作IDとが互いに関連付けて記憶されている。表示処理部274及び送信部272は、変化指示動作がユーザによって行われたと判定すると、当該変化指示動作に対応する動作IDと、選択画面900に表示されたキャラクタオブジェクトに対応するユーザB1のユーザIDとを特定する。そして、表示処理部274及び送信部272は、特定された動作ID及びユーザB1のユーザID、並びに、端末記憶装置22に記憶されたユーザAのユーザIDを用いて変化処理を実行する。
このように、端末装置2は、コミュニケーションサービス中において、ユーザAの撮像データ等に基づいて、ユーザAのキャラクタオブジェクトの変更とユーザBのユーザ出力画像の変更を実現することができる。これにより、キャラクタオブジェクトを介したコミュニケーション中に、ユーザA及びユーザBが飽きてしまうこと防止し、ユーザAがユーザBとのコミュニケーションを継続しようとするユーザの意欲を向上させることが可能となる。
また、ユーザAが変化指示を行うためのインターフェースの画面は、選択画面900に限らない。例えば、既にコミュニケーションサービスに新たに参加したユーザのユーザ出力画像に変化候補ボタン901と同様の機能を有するオブジェクトが含まれてもよい。
図14(a)は、既にコミュニケーションサービスに参加中のユーザA、ユーザB1及びユーザB2のそれぞれのユーザ出力画像812a、812b1及び812b2を含むコミュニケーション画面1400の一例を示す図である。図14(b)は、ユーザA、ユーザB1及びユーザB2が参加中のコミュニケーションサービスに新たにユーザB3が参加した場合のコミュニケーション画面1410の一例を示す図である。
コミュニケーション画面1410は、図8(b)に示されるコミュニケーション画面810に、変化候補ボタン1411が追加された画面である。表示処理部274は、コミュニケーションサービスに新たにユーザB3が参加したとき、ユーザB3のキャラクタオブジェクト811b3と変化候補ボタン1411を含むユーザ出力画像812b3を表示する。なお、表示処理部274は、変化候補ボタン1411が表示されてから所定期間(例えば3分間)が経過すると変化候補ボタン1411の表示を終了してもよい。
変化候補ボタン1411は、変化候補ボタン901と同様の機能を有する。例えば、ユーザAによる入力装置24の操作によって複数の変化候補ボタン1411のいずれかが選択されると、入力装置24は、変化指示を端末処理装置27に入力する。入力装置24は、変化指示とともに、新たに参加したユーザB3のユーザIDと、選択された変化候補ボタン1411に対応する動作IDを端末処理装置27に入力する。そして、表示処理部274及び送信部272は、入力された変化指示に応じた変化処理を実行する。
このように、ユーザAは、新たにコミュニケーションサービスに参加したユーザB3のユーザ出力画像812b3を変化させる操作を即時にできるようになるため、情報システム1は、キャラクタオブジェクトを介したコミュニケーション中に、ユーザAが飽きてしまうこと防止し、ユーザAがユーザBとのコミュニケーションを継続しようとするユーザの意欲を向上させることが可能となる。また、変化候補ボタン1411の表示により新たにコミュニケーションサービスに参加したユーザB3のキャラクタオブジェクトに対して、既にコミュニケーションサービスに参加しているユーザ(ユーザA、ユーザB1及びユーザB2)が変化を加えることが容易になる。このように、情報システム1は、ユーザB3に対し、既に参加しているユーザとのコミュニケーションの契機を与えることができ、コミュニケーションサービスに参加したコミュニケーショングループ内でのコミュニケーションに参加しやすくさせることが可能となる。
また、ユーザAが変化指示を行うためのインターフェースの画面として、コミュニケーションサービスに参加している複数のユーザの端末装置2に同時に表示される選択画面1500が表示されてもよい。例えば、コミュニケーション画面810において、ユーザAが所定の操作(画面の下方から上方へスワイプ操作等)をすることにより、コミュニケーション画面810に重畳して、複数の変化候補ボタンを含む選択画面1500が表示されてもよい。
図15(a)は、選択画面1500の一例を示す図である。図15(a)に示される例では、3つの動作のそれぞれに対応する3つの変化候補ボタンが選択画面1500に含まれる。選択画面1500による変化指示では、ユーザ出力画像を変化させたいユーザB(ユーザB1、B2及びB3)の選択は要しない。
例えば、コミュニケーション画面810において、ユーザAによる入力装置24の操作によって所定の操作がなされると、入力装置24は、選択画面1500の表示指示を端末処理装置27に入力する。ユーザAの端末装置2の表示処理部274は、入力装置24から入力された選択画面1500の表示指示を取得すると、選択画面1500を表示装置23に表示する。さらに、ユーザAの端末装置2の送信部272は、入力装置24から入力された表示指示を示す情報を、端末記憶装置22に記憶されたユーザAのユーザID及び送信先情報とともに、端末通信I/F21を介してサーバ装置3に送信する。次に、サーバ装置3のサーバ受信部331は、サーバ通信I/F31を介して、表示指示を示す情報とユーザAのユーザIDと送信先情報とを受信する。次に、サーバ装置3のサーバ送信部332は、サーバ通信I/F31を介して、表示指示を示す情報とユーザAのユーザIDとを、ユーザB(ユーザB1~ユーザB3)の端末装置2に送信する。
次に、ユーザBの端末装置2の受信部273によって、端末通信I/F21を介して、変化指示を示す情報とユーザAのユーザIDとが受信されると、ユーザBの端末装置2の表示処理部274は、ユーザAの端末装置2と同様に、選択画面1500を表示装置23に表示する。なお、表示処理部274は、ユーザテーブルT1から、ユーザAのユーザIDに関連付けられたユーザAの名前を抽出し、選択画面1500内にユーザAの名前を含めてもよい。なお、ユーザAにより所定の操作に限らず、いずれかのユーザB(ユーザB1、ユーザB2又はユーザB3)による所定の操作に応じて、各端末装置2(ユーザA、ユーザB1、ユーザB2及びユーザB3のそれぞれ)に選択画面1500が表示されてもよい。
このように、ユーザA及びユーザB1~B3のそれぞれの端末装置2において選択画面1500が表示される。ユーザA及びユーザB1~B3のそれぞれによる入力装置24の操作によって選択画面1500に含まれる3つの変化候補ボタンのいずれかが選択されると、各端末装置2において、表示処理部274及び送信部272が変化処理を実行する。以下、この場合において、ユーザAの端末装置2によって実行される変化処理の一例について説明する。
まず、ユーザAの端末装置2の表示処理部274は、入力装置24から入力された変化指示、及び、選択された変化候補ボタンに対応する動作IDを取得すると、動作IDに関連付けられたモーションデータを端末記憶装置22から抽出する。表示処理部274は、抽出したモーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザAのキャラクタオブジェクト1511aのアニメーション(動画像)を含むユーザ出力画像1512aを生成する。
次に、ユーザAの端末装置2の送信部272は、入力装置24から入力された変化指示及び動作IDを取得すると、変化指示を示す情報を、端末記憶装置22に記憶されたユーザAのユーザID、取得した動作ID、及び送信先情報とともに、端末通信I/F21を介してサーバ装置3に送信する。次に、サーバ装置3のサーバ受信部331は、サーバ通信I/F31を介して、変化指示を示す情報とユーザAのユーザIDと動作IDと送信先情報とを受信する。次に、サーバ装置3のサーバ送信部332は、サーバ通信I/F31を介して、変化指示を示す情報とユーザAのユーザIDと動作IDとを、ユーザB(ユーザB1~ユーザB3)の端末装置2に送信する。
次に、ユーザBの端末装置2の受信部273によって、端末通信I/F21を介して、変化指示を示す情報とユーザAのユーザIDと動作IDとが受信されると、ユーザBの端末装置2の表示処理部274は、受信された動作IDに関連付けられたモーションデータを端末記憶装置22から抽出する。そして、表示処理部274は、抽出したモーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザAのキャラクタオブジェクト1511aのアニメーション(動画像)を含むユーザ出力画像1512aを生成する。
なお、ユーザAの端末装置2の受信部273は、サーバ装置3を介して、ユーザB1の端末装置2から送信された変化指示を示す情報とユーザB1のユーザIDと動作IDとを受信すると、表示処理部274は、動作IDに関連付けられたモーションデータを端末記憶装置22から抽出する。そして、表示処理部274は、抽出したモーションデータと、ユーザテーブルT1のユーザB1のユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザBのキャラクタオブジェクト1511b1のアニメーション(動画像)を含むユーザ出力画像1512b1を生成する。なお、ユーザB2及びB3の端末装置2から送信された変化指示を示す情報とユーザB1及びB2のユーザID及び動作IDとが受信されると、同様に、ユーザB2のキャラクタオブジェクト1511b2のアニメーション(動画像)を含むユーザ出力画像1512b2及びユーザB3のキャラクタオブジェクト1511b3のアニメーション(動画像)を含むユーザ出力画像1512b3が生成される。
そして、ユーザAの端末装置2の表示処理部274は、生成したユーザ出力画像1512a、ユーザ出力画像1512b1、ユーザ出力画像1512b2、及びユーザ出力画像1512b3を含むコミュニケーション画面1510(図15(b))を表示する。ユーザB1~B3の端末装置2のそれぞれの表示処理部274も同様の表示処理を実行する。なお、図15(b)に示される例では、各ユーザが選択し得る動作は、所謂「三すくみ」の関係にある、「グー」、「チョキ」及び「パー」を出す特定動作である。この場合、例えば、各ユーザ(ユーザA、ユーザB1、ユーザB2及びユーザB3)からの音声による合図により、特定動作を各ユーザのキャラクタオブジェクトにさせるための変化指示を各ユーザがするという「三すくみ」に関するゲーム(例えば「ジャンケン」)が実現する。各ユーザの端末装置2では、各ユーザの変化指示があるたびに、各ユーザの各キャラクタオブジェクトが「グー」、「チョキ」及び「パー」のいずれかを出す動作が表示される。これにより、ユーザAは、「三すくみ」に関するゲーム(例えば「ジャンケン」)をユーザBと楽しむことができ、キャラクタオブジェクトを介したコミュニケーション中に、ユーザA及びユーザBが飽きてしまうこと防止し、ユーザAがユーザBとのコミュニケーションを継続しようとするユーザの意欲を向上させることが可能となる。
なお、ユーザAの端末装置2は、選択画面1500が表示されてから所定の期間(例えば、10秒)内では、ユーザB1~B3の端末装置2から送信された変化指示に応じたユーザB1~B3のユーザ出力画像1512b1~1512b3を表示せず、所定の期間が経過した時に、ユーザAのユーザ出力画像1512a及びユーザB1~B3のユーザ出力画像1512b1~1512b3を表示してもよい。この場合、ユーザAの端末装置2は、入力装置24から入力されたユーザAの変化指示を取得するとともに、全てのユーザB1~B3の端末装置2から変化指示を受信した場合、所定の期間前であっても、ユーザAのユーザ出力画像1512a及びユーザB1~B3のユーザ出力画像1512b1~1512b3を表示してもよい。また、所定の期間が経過すると、各ユーザからの変化指示が受け付けられないようにしてもよい。これにより、他のユーザのキャラクタオブジェクトの動作を先に見たユーザが、自身の動作を決定することを防止することが可能となる。なお、サーバ装置3は、ユーザAの端末装置2から変化指示とともに送信された動作IDとユーザB1~B3の端末装置2から変化指示とともに送信された動作IDとに基づいて、「ゲーム」の結果を判定してもよい。この場合、サーバ装置3は、「ゲーム」の結果を各ユーザの端末装置2に送信し、各ユーザの端末装置2は、「ゲーム」の結果を表示してもよい。また、各ユーザの端末装置2は、同じ動作をしたユーザのグループ分けを表示してもよい。
(情報システム1の動作シーケンス)
図16は、情報システム1の動作シーケンスの一例を示す図である。この動作シーケンスは、予め端末記憶装置22及びサーバ記憶装置32に記憶されている制御プログラムに基づいて、主に端末処理装置27及びサーバ処理装置33により、端末装置2及びサーバ装置3の各要素と協働して実行される。以下、ユーザAは端末装置2aを操作し、ユーザB1は端末装置2b1を操作し、ユーザB2は端末装置2b2を操作するものとして説明する。
まず、端末装置2aの送信部272は、撮像装置25によって連続的に出力された撮像データに基づいて生成部271によって生成されたユーザAのモーションデータを含むキャラクタ動画データと、マイク26から出力されたユーザAの音声データと、ユーザAのユーザIDとを含む出力情報を、送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する(ステップS101)。なお、送信部272の送信処理において送信先情報が含まれなくてもよい。ステップS101の処理は、配信イベントが終了するまで所定時間間隔ごと(例えば、2秒間隔ごと)に連続して実行されるため、ステップS101~S110に係る処理は、断続的に実行される。
次に、サーバ装置3のサーバ送信部332は、端末装置2aから受信した出力情報を、送信先情報を参照し、サーバ通信I/F31を介して、端末装置2b1に送信する(ステップS102)とともに、端末装置2b2に送信する(ステップS103)。
また、端末装置2b1の送信部272は、ユーザB1のキャラクタ動画データとユーザB1の音声データとユーザB1のユーザIDとを含む出力情報を、送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する(ステップS104)。次に、サーバ装置3のサーバ送信部332は、端末装置2b1から受信した出力情報を、送信先情報を参照し、サーバ通信I/F31を介して、端末装置2aに送信する(ステップS105)とともに、端末装置2b2に送信する。
また、端末装置2b2の送信部272は、ユーザB2のキャラクタ動画データとユーザB2の音声データとユーザB2のユーザIDとを含む出力情報を、送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する(ステップS106)。次に、サーバ装置3のサーバ送信部332は、端末装置2b2から受信した出力情報を、送信先情報を参照し、サーバ通信I/F31を介して、端末装置2aに送信する(ステップS107)とともに、端末装置2b1に送信する。
端末装置2aの表示処理部274は、ユーザA、ユーザB1、及びユーザB2のそれぞれの出力情報に基づいてユーザAのキャラクタオブジェクトを含むユーザ出力画像、ユーザB1のキャラクタオブジェクトを含むユーザ出力画像、及びユーザB2のキャラクタオブジェクトを含むユーザ出力画像を含むコミュニケーション画面を、端末装置2aの表示装置23に表示出力し、ユーザB1及びユーザB2の音声を出力する(ステップS108)。
ステップS108と同様に、端末装置2b1の表示処理部274は、ユーザA、ユーザB1、及びユーザB2のそれぞれの出力情報に基づいてユーザAのキャラクタオブジェクトを含むユーザ出力画像、ユーザB1のキャラクタオブジェクトを含むユーザ出力画像、及びユーザB2のキャラクタオブジェクトを含むユーザ出力画像を含むコミュニケーション画面を、端末装置2b1の表示装置23に表示出力し、ユーザA及びユーザB2の音声を出力する(ステップS109)。
ステップS108と同様に、端末装置2b2の表示処理部274は、ユーザA、ユーザB1、及びユーザB2のそれぞれの出力情報に基づいてユーザAのキャラクタオブジェクトを含むユーザ出力画像、ユーザB1のキャラクタオブジェクトを含むユーザ出力画像、及びユーザB2のキャラクタオブジェクトを含むユーザ出力画像を含むコミュニケーション画面を、端末装置2b2の表示装置23に表示出力し、ユーザA及びユーザB1の音声を出力する(ステップS110)。
次に、端末装置2aの送信部272は、ユーザAによる入力装置24の操作に応じて入力された、変化指示を示す情報を、送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する(ステップS111)。次に、サーバ装置3のサーバ送信部332は、端末装置2aから受信した変化指示を示す情報を、送信先情報を参照し、サーバ通信I/F31を介して、端末装置2b1に送信する(ステップS112)とともに、端末装置2b2に送信する(ステップS113)。
端末装置2aの表示処理部274は、ユーザAによる入力装置24の操作に応じて入力された、変化指示に応じて、ユーザAのキャラクタオブジェクトを変化させるとともに、ユーザB1のユーザ出力画像及びユーザB2のユーザ出力画像の少なくとも一方を変化させて、端末装置2aの表示装置23に表示出力する(ステップS114)。
端末装置2b1の表示処理部274は、ユーザAの端末装置2aから送信された変化指示を示す情報に応じて、ユーザAのキャラクタオブジェクトを変化させるとともに、ユーザB1のユーザ出力画像及びユーザB2のユーザ出力画像の少なくとも一方を変化させて、端末装置2b1の表示装置23に表示出力する(ステップS115)。
端末装置2b2の表示処理部274は、ユーザAの端末装置2aから送信された変化指示を示す情報に応じて、ユーザAのキャラクタオブジェクトを変化させるとともに、ユーザB1のユーザ出力画像及びユーザB2のユーザ出力画像の少なくとも一方を変化させて、端末装置2b2の表示装置23に表示出力する(ステップS116)。
以上、詳述したとおり、本実施形態の情報システム1では、ユーザAによる指示に応じて、変化したユーザAのキャラクタオブジェクト、及び、変化した少なくともの1人のユーザBのユーザ出力画像が表示される。このように、本実施形態の情報システム1によって、コミュニケーションサービス中に、端末装置2からの出力がユーザA又は少なくとも1人のユーザBによって変更されるようにすることで、コミュニケーションに対するユーザの継続使用の意欲を向上させることが可能となる。
(変形例1)
なお、本発明は、本実施形態に限定されるものではない。例えば、変化指示に対応する動作に応じたモーションデータとして、動作IDに関連付けられた被モーションデータのうち、動作を行うキャラクタオブジェクトに対する、動作を受けるキャラクタオブジェクトの表示画面上の相対位置に関連付けられた複数種類の被モーションデータが記憶されてよい。この場合、例えば、ユーザの端末装置2が、他ユーザからの変化指示をサーバ装置3経由で受信すると、変化指示に対応する他ユーザのキャラクタオブジェクトの動作に応じてユーザのキャラクタオブジェクトが行う動作(以下「リアクション」と称する場合がある。)を選択するための選択画面1710を表示する。これにより、ユーザは、他ユーザのキャラクタオブジェクトによる動作を受けた側のキャラクタオブジェクトのリアクションを、複数種類のリアクションの中から選択できるため、コミュニケーションに対する各ユーザの継続使用の意欲を向上させることが可能となる。以下、リアクションの処理について、図17を参照して説明する。
図17(a)は、ユーザB1による変化指示後のユーザAの端末装置2の表示装置23に表示されるコミュニケーション画面1700の他の一例を示す図である。図17(a)に示される例では、まず、ユーザB1の端末装置2の送信部272が、選択画面においてユーザB1による入力装置24の操作によって選択された変化候補ボタン901に対応する変化指示に関する情報を、送信先情報とともに端末通信I/F21を介してサーバ装置3に送信する。なお、変化指示に関する情報とともに、ユーザB1のユーザIDと、選択画面に表示されたキャラクタオブジェクト(動作を受けるキャラクタオブジェクト)によって示されるユーザAのユーザIDと、選択された変化候補ボタン901に対応する動作IDが送信される。
次に、サーバ装置3のサーバ受信部331は、サーバ通信I/F31を介して、変化指示を示す情報とユーザB1のユーザIDとユーザAのユーザIDと動作IDと送信先情報とを受信する。次に、サーバ装置3のサーバ送信部332は、サーバ通信I/F31を介して、変化指示を示す情報とユーザB1のユーザIDとユーザAのユーザIDと動作IDとを、ユーザA、ユーザB2及びユーザB3のそれぞれの端末装置2に送信する。
次に、ユーザAの端末装置2の受信部273によって、端末通信I/F21を介して、変化指示を示す情報とユーザB1のユーザIDとユーザAのユーザIDと動作IDとが受信されると、ユーザAの端末装置2の表示処理部274は、コミュニケーション画面1700に含まれるユーザAのユーザ出力画像812aの表示領域内に、「ユーザBが、動作IDによって示される動作をユーザAに対して行った」ことを示す情報1701を表示する(図17(a))。
ユーザAによる入力装置24の操作によって、情報1701又は情報1701を含むユーザ出力画像812aが選択された場合、ユーザAの端末装置2の表示処理部274は、選択画面1710を表示する。なお、情報1701又は情報1701を含むユーザ出力画像812aが選択された場合、ユーザAの端末装置2の表示処理部274は、選択画面1710を表示せずに後述するリアクション選択ボタン1711を、コミュニケーション画面1700に表示してもよい。また、ユーザAの端末装置2の受信部273によって、変化指示を示す情報とユーザB1のユーザIDとユーザAのユーザIDと動作IDとが受信されると、ユーザAの端末装置2の表示処理部274は、情報1701を表示することなく又は情報1701が表示されてから所定時間経過後に、選択画面1710を自動的に表示してもよい。
図17(b)は、ユーザAの端末装置2の表示装置23に表示される選択画面1710の一例を示す図である。選択画面1710では、ユーザAのキャラクタオブジェクト811aを含むユーザ出力画像812aが全面に表示される。さらに、選択画面1710には、情報1701及びリアクション選択ボタン1711が含まれる。なお、選択画面1710が表示された時に、リアクション選択ボタン1711が選択画面1710に含まれていなくてもよい。この場合、ユーザAによる入力装置24に対する特定の操作(例えば、選択画面1710の表示領域内に対する所謂「長押し」操作)が入力装置24によって検出された場合に、表示処理部274はリアクション選択ボタン1711を表示してもよい。
複数のリアクション選択ボタン1711のそれぞれは、ユーザB1による変化指示とともに送信された動作IDに関連付けられ且つコミュニケーション画面1700におけるユーザB1のキャラクタオブジェクト811b1とユーザAのキャラクタオブジェクト811aとの相対位置に関連付けられた複数の被モーションデータのそれぞれに対応する。すなわち、各リアクション選択ボタン1711は、変化指示に対応するユーザB1のキャラクタオブジェクト811b1の動作に応じたユーザAのキャラクタオブジェクト811aの各リアクションに対応する。
ユーザAによる入力装置24の操作によって複数のリアクション選択ボタン1711のいずれかが選択されると、入力装置24は、選択されたリアクション選択ボタン1711を示す情報を端末処理装置27に入力する。ユーザAの端末装置2の表示処理部274は、選択されたリアクション選択ボタン1711を示す情報に基づいて、選択されたリアクション選択ボタン1711に対応する被モーションデータを端末記憶装置22から抽出する。また、表示処理部274は、ユーザB1による変化指示とともに送信された動作IDと相対位置とに関連付けられたモーションデータを抽出する。
表示処理部274は、抽出したモーションデータと、ユーザテーブルT1のユーザB1のユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザB1のキャラクタオブジェクト811b1のアニメーション(動画像)を含むユーザ出力画像812b1を生成する。また、表示処理部274は、抽出した被モーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザAのキャラクタオブジェクト811aのアニメーション(動画像)を含むユーザ出力画像812aを生成する。なお、ユーザ出力画像812aには、抽出したモーションデータと、ユーザテーブルT1のユーザB1のユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて生成されたユーザB1のキャラクタオブジェクト811b1の一部のオブジェクトが含まれてもよい。
なお、ユーザAの端末装置2の送信部272は、リアクション指示を示す情報と、選択されたリアクション選択ボタン1711を示す情報と、ユーザAのユーザIDとを、送信先情報とともにサーバ装置3に送信し、サーバ装置3は、リアクション指示を示す情報と、選択されたリアクション選択ボタン1711を示す情報と、ユーザAのユーザIDとを、ユーザB1~B3のそれぞれの端末装置2に送信する。なお、サーバ装置3に送信先情報が記憶されている場合、送信先情報は、ユーザAの端末装置2によって送信されなくてもよい。これにより、ユーザB1~B3のそれぞれの端末装置2においても、受信したリアクション指示を示す情報と、選択されたリアクション選択ボタン1711を示す情報と、ユーザAのユーザIDに基づくリアクション処理が実行され、ユーザAの端末装置2と同様に、ユーザB1のキャラクタオブジェクトの動作とユーザAのキャラクタオブジェクトのリアクションを表示することが可能となる。
このように、ユーザは、他ユーザのキャラクタオブジェクトによる動作を受けた側のキャラクタオブジェクトのリアクションを、複数のリアクションの中から選択できるため、情報システム1は、ユーザ間のコミュニケーションの多様化を実現することを可能とする。また、情報システムは、ユーザ自身の動作によるリアクションではなく、ユーザに複数のリアクションの中から選択させるようにしたため、直感的且つ即座にリアクションを選択して表現することを可能とし、ユーザビリティを向上させることを可能とする。このように、情報システム1により、コミュニケーションに対する各ユーザの継続使用の意欲を向上させることが可能となる。なお、選択画面1710が表示されてから所定期間(例えば10秒間)が経過してもリアクション選択ボタン1711が選択されなかった場合、選択画面1710の表示が終了してもよい。この場合、自動的に選択されたモーションデータに基づいてユーザAのキャラクタオブジェクトのリアクションが表示されてもよい。
なお、図17(b)に示される選択画面1710は、コミュニケーションサービスに参加する前に事前に表示され、ユーザAによってリアクション選択ボタン1711のいずれかが選択されていてもよい。この場合、ユーザAの端末装置2の受信部273によって、変化指示を示す情報とユーザB1のユーザIDとユーザAのユーザIDと動作IDとが受信されると、ユーザAの端末装置2の表示処理部274は、事前に選択されたリアクションに係る動作をするユーザAのキャラクタオブジェクトを表示する。ユーザAの端末装置2の送信部272は、リアクション指示を示す情報と、事前に選択されたリアクション選択ボタン1711を示す情報と、ユーザAのユーザIDとを、送信先情報とともにサーバ装置3に送信する。サーバ装置3は、ユーザAの端末装置2から受信した、リアクション指示を示す情報と、選択されたリアクション選択ボタン1711を示す情報と、ユーザAのユーザIDとを、ユーザB1~B3のそれぞれの端末装置2に送信する。これにより、ユーザB1~B3のそれぞれの端末装置2においても、受信したリアクション指示を示す情報と、選択されたリアクション選択ボタン1711を示す情報と、ユーザAのユーザIDに基づくリアクション処理が実行され、ユーザAの端末装置と同様に、ユーザB1のキャラクタオブジェクトの動作と事前に選択されたユーザAのキャラクタオブジェクトのリアクションを表示することが可能となる。
(変形例2)
ユーザAのキャラクタオブジェクトは、他ユーザであるユーザB1の変化指示に応じて自動的に動作をしたのちに、ユーザAによって選択された動作をするように制御されてもよい。この場合、端末記憶装置22には、動作IDに関連付けて、複数のモーションデータと、複数の第1被モーションデータが記憶される。動作IDに関連付けられた複数のモーションデータのそれぞれは、動作IDによって示される動作を行うキャラクタオブジェクトに対する、動作を受けるキャラクタオブジェクトの表示画面上の相対位置に関連付けられる。また、動作IDに関連付けられた複数の第1被モーションデータのそれぞれは、動作IDによって示される動作を行うキャラクタオブジェクトに対する、動作を受けるキャラクタオブジェクトの表示画面上の相対位置に関連付けられる。また、端末記憶装置22には、動作IDによって示される動作を行うキャラクタオブジェクトに対する、動作を受けるキャラクタオブジェクトの表示画面上の相対位置ごとに、動作IDに関連付けられた複数の第2被モーションデータが記憶される。
まず、ユーザAの端末装置2の表示処理部274は、表示されているユーザB1のキャラクタオブジェクト811b1に対する、ユーザAのキャラクタオブジェクト811aの表示画面上の相対位置を特定する。次に、表示処理部274は、ユーザB1の変化指示とともに受信した動作IDに関連付けられた複数のモーションデータのうち、特定した相対位置に関連付けられたモーションデータを端末記憶装置22から抽出する。次に、表示処理部274は、抽出したモーションデータと、ユーザテーブルT1のユーザB1のユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザB1のキャラクタオブジェクト811b1のアニメーション(動画像)を生成する。そして、表示処理部274は、生成したユーザB1のキャラクタオブジェクト811b1のアニメーション(動画像)を含むユーザ出力画像812b1を生成する。
次に、表示処理部274は、ユーザB1の変化指示とともに受信した動作IDに関連付けられた複数の第1被モーションデータのうち、特定した相対位置に関連付けられた第1被モーションデータを端末記憶装置22から抽出する。表示処理部274は、抽出した第1被モーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザAのキャラクタオブジェクト811aのアニメーション(動画像)を生成する。そして、表示処理部274は、生成したユーザAのキャラクタオブジェクト811aのアニメーション(動画像)を含むユーザ出力画像812aを生成する。そして、表示処理部274は、生成されたユーザ出力画像812a及びユーザ出力画像812b2を表示出力する。
また、ユーザAの端末装置2の送信部272は、第1リアクション指示を示す情報と、第1被モーションデータを示す情報と、ユーザAのユーザIDとを、送信先情報とともにサーバ装置3に送信する。サーバ装置3は、第1リアクション指示を示す情報と、第1被モーションデータを示す情報と、ユーザAのユーザIDとを、ユーザB1~B3のそれぞれの端末装置2に送信する。これにより、ユーザB1~B3のそれぞれの端末装置2においても、受信した第1リアクション指示を示す情報と、第1被モーションデータを示す情報と、ユーザAのユーザIDとに基づいて、ユーザAの端末装置と同様に、ユーザB1のキャラクタオブジェクトの動作とユーザAのキャラクタオブジェクトの第1被モーションデータに対応するリアクションを表示することが可能となる。
他ユーザであるユーザB1の端末装置2からの変化指示に応じた第1被モーションデータに対応するリアクションの表示期間内においてユーザAによる入力装置24の操作によって複数のリアクション選択ボタン1711のいずれかが選択されると、入力装置24は、選択されたリアクション選択ボタン1711を示す情報を端末処理装置27に入力する。ユーザAの端末装置2の表示処理部274は、選択されたリアクション選択ボタン1711を示す情報に基づいて、ユーザB1による変化指示とともに送信された動作IDに関連付けられ且つ特定された相対位置に関連付けられた複数の第2被モーションデータのうち、選択されたリアクション選択ボタン1711に対応する第2被モーションデータを抽出する。次に、表示処理部274は、抽出した第2被モーションデータと、ユーザテーブルT1のユーザAのユーザIDに関連付けられたキャラクタオブジェクト及び使用オブジェクトとに基づいて、ユーザAのキャラクタオブジェクト811aのアニメーション(動画像)を含むユーザ出力画像812aを生成する。
そして、表示処理部274は、第1被モーションデータに基づくユーザAのキャラクタオブジェクト811aのアニメーション(動画像)を含むユーザ出力画像812aの表示の後に、第2被モーションデータに基づくユーザAのキャラクタオブジェクト811aのアニメーション(動画像)を含むユーザ出力画像812aを表示する。これにより、ユーザB1のキャラクタオブジェクトの動作に応じて、ユーザAのキャラクタオブジェクトが、第1被モーションデータに対応するリアクションをした後に、ユーザAによって選択された第2被モーションデータに対応するリアクションをすることが可能となる。
また、ユーザAの端末装置2の送信部272は、第2リアクション指示を示す情報と、選択されたリアクション選択ボタン1711を示す情報と、ユーザAのユーザIDとを、送信先情報とともにサーバ装置3に送信する。サーバ装置3は、第2リアクション指示を示す情報と、選択されたリアクション選択ボタン1711を示す情報と、ユーザAのユーザIDとを、ユーザB1~B3のそれぞれの端末装置2に送信する。これにより、ユーザB1~B3のそれぞれの端末装置2においても、ユーザAの端末装置と同様に、受信した第1リアクション指示を示す情報と、選択されたリアクション選択ボタン1711を示す情報に対応する第2被モーションデータとユーザAのユーザIDに基づいて、ユーザB1のキャラクタオブジェクトの動作とユーザAのキャラクタオブジェクトの第2被モーションデータに対応するリアクションを、ユーザAのキャラクタオブジェクトの第1被モーションデータに対応するリアクションの表示後に表示することが可能となる。なお、所定の表示期間内において、ユーザB1~B3のそれぞれの端末装置2は、第2リアクション指示を受信しなかった場合、ユーザAのキャラクタオブジェクトの第2被モーションデータに対応するリアクションを表示しなくてもよい。
このように、ユーザは、他ユーザのキャラクタオブジェクトによる動作を受けたキャラクタオブジェクトのリアクションを、自動的に先に実行されるリアクションが表示されている間に、複数のリアクションの中から選択できる。このように、情報システム1によって、他ユーザのキャラクタオブジェクトによる動作に即時に対応しつつ、ユーザの選択に応じた動作を行うという自然なリアクションをキャラクタオブジェクトにさせることが可能となる。よって、情報システム1は、コミュニケーションに対する各ユーザの継続使用の意欲を向上させることが可能となる。
(変形例3)
ユーザAによる入力装置24の操作により、変化指示が入力された場合、表示処理部274は、ユーザAのキャラクタオブジェクト及び動作の対象となるユーザB1のキャラクタオブジェクトの2者とは異なる他ユーザ(ユーザB2及びB3)のユーザキャラクタを自動的に変化させてもよい。例えば、各ユーザの端末装置2の表示処理部274は、所定のモーションデータ(例えば、驚く動作を示すモーションデータ)を端末記憶装置22から抽出して、ユーザAによる変化指示に応じて、ユーザB2及びB3のキャラクタオブジェクトを、抽出した所定のモーションデータにより自動的に動作させる。これにより、変化指示に関する当事者(ユーザA及びB1)だけでなく、当事者以外のユーザも変化指示に関与することになるため、コミュニケーションサービスに対する各ユーザの継続使用の意欲を向上させることが可能となる。
(変形例4)
ユーザによって変化指示が入力されたときに所定の発動条件が満たされた場合、動作IDに関連付けられた特定の被モーションデータが適用されてもよい。以下、図9を例にして説明する。
例えば、図9に示される選択画面900は、ユーザB1のキャラクタオブジェクトに対して、ユーザAのキャラクタオブジェクトが動作する場合におけるユーザAのキャラクタオブジェクトの動作を選択するための画面である。例えば、所定の発動条件は、所定期間内において、ユーザB1のキャラクタオブジェクトに対してユーザAのキャラクタオブジェクトが動作Xを行った回数が第1所定数を超え、且つ、ユーザB1のキャラクタオブジェクトに対してユーザB2のキャラクタオブジェクトが動作Xを行った回数が第1所定数を超え、且つ、ユーザB1のキャラクタオブジェクトに対してユーザB3のキャラクタオブジェクトが動作Xを行った回数が第1所定回数を超えたことを含む。なお、動作Xは、今回ユーザによって入力された変化指示に対応する動作である。また、所定の発動条件は、所定期間内において、ユーザB1のキャラクタオブジェクトに対してユーザAのキャラクタオブジェクトがいずれかの動作を行った回数が第1所定数を超え、且つ、ユーザB1のキャラクタオブジェクトに対してユーザB2のキャラクタオブジェクトがいずれかの動作を行った回数が第1所定数を超え、且つ、ユーザB1のキャラクタオブジェクトに対してユーザB3のキャラクタオブジェクトがいずれかの動作を行った回数が第1所定回数を超えたことを含む。なお、当該発動条件におけるユーザAのキャラクタオブジェクトが行う「動作」は、ユーザAのキャラクタオブジェクトが行い得る動作であればいずれの動作でもよい。同様に、ユーザB2のキャラクタオブジェクトが行う「動作」は、ユーザB2のキャラクタオブジェクトが行い得る動作であればいずれの動作でもよく、ユーザB3のキャラクタオブジェクトが行う「動作」は、ユーザB3のキャラクタオブジェクトが行い得る動作であればいずれの動作でもよい。また、例えば、所定の発動条件は、所定期間内において、ユーザB1のキャラクタオブジェクトに対してユーザAのキャラクタオブジェクトが動作Xを行った回数と、ユーザB1のキャラクタオブジェクトに対してユーザB2のキャラクタオブジェクトが動作Xを行った回数と、ユーザB1のキャラクタオブジェクトに対してユーザB3のキャラクタオブジェクトが動作Xを行った回数との合計回数が、第2所定回数を超えたこと、を含んでもよい。また、例えば、所定の発動条件は、所定期間内において、ユーザB1のキャラクタオブジェクトに対してユーザAのキャラクタオブジェクトがいずれかの動作を行った回数と、ユーザB1のキャラクタオブジェクトに対してユーザB2のキャラクタオブジェクトがいずれかの動作を行った回数と、ユーザB1のキャラクタオブジェクトに対してユーザB3のキャラクタオブジェクトがいずれかの動作を行った回数との合計回数が、第2所定回数を超えたこと、を含んでもよい。なお、当該発動条件におけるユーザAのキャラクタオブジェクトが行う「動作」は、ユーザAのキャラクタオブジェクトが行い得る動作であればいずれの動作でもよい。同様に、ユーザB2のキャラクタオブジェクトが行う「動作」は、ユーザB2のキャラクタオブジェクトが行い得る動作であればいずれの動作でもよく、ユーザB3のキャラクタオブジェクトが行う「動作」は、ユーザB3のキャラクタオブジェクトが行い得る動作であればいずれの動作でもよい。なお、所定期間は、現在ユーザAが参加しているコミュニケーションサービスの開始時刻から1時間以内の期間、現在時刻の15秒前から現在時刻までの期間等である。また、第1所定回数と第2所定回数は同じ数でも異なる数でもよい。
また、例えば、所定の発動条件は、所定期間内において、ユーザAのキャラクタオブジェクトが動作Xを行ったことに対するユーザB1のキャラクタオブジェクトのリアクションの回数と、ユーザB2のキャラクタオブジェクトが動作Xを行ったことに対するユーザB1のキャラクタオブジェクトのリアクションの回数と、ユーザB3のキャラクタオブジェクトが動作Xを行ったことに対するユーザB1のキャラクタオブジェクトのリアクションの回数と、の合計回数が、第3所定回数を超えたことを含んでもよい。また、例えば、所定の発動条件は、所定期間内において、ユーザAのキャラクタオブジェクトが動作Xを行ったことに対するユーザB1のキャラクタオブジェクトのリアクションの回数が、第3所定回数を超えたこと、ユーザB2のキャラクタオブジェクトが動作Xを行ったことに対するユーザB1のキャラクタオブジェクトのリアクションの回数が、第3所定回数を超えたこと、又は、ユーザB3のキャラクタオブジェクトが動作Xを行ったことに対するユーザB1のキャラクタオブジェクトのリアクションの回数が、第3所定回数を超えたこと、を含んでもよい。
ユーザAによって変化指示が入力されたときに所定の発動条件が満たされている場合、今回のユーザAによって選択された動作の動作IDに関連付けられ且つユーザB1のキャラクタオブジェクト811b1に対する、ユーザAのキャラクタオブジェクト811aの表示画面上の相対位置に関連付けられた被モーションデータのうち特定の被モーションデータを用いて、ユーザB1のキャラクタオブジェクトを変化させる。なお、ユーザAによって変化指示が入力されたときに所定の発動条件が満たされていない場合、今回のユーザAによって選択された動作の動作IDに関連付けられ且つユーザB1のキャラクタオブジェクト811b1に対する、ユーザAのキャラクタオブジェクト811aの表示画面上の相対位置に関連付けられた被モーションデータのうち通常の被モーションデータを用いて、ユーザB1のキャラクタオブジェクトを変化させる。
特定の被モーションデータによって表示されたキャラクタオブジェクトの動作は、通常の被モーションデータによって表示されたキャラクタオブジェクトの動作に比べて、動きが大きい及び/又は動きが速い等の違いがある。特定の被モーションデータによって表示されたキャラクタオブジェクトは、通常の被モーションデータによって表示されたキャラクタオブジェクトと異なる動作をするものでもよい。特定の被モーションデータによって表示されたキャラクタオブジェクトは、通常の被モーションデータによって表示されたキャラクタオブジェクトが行う動作を行うとともに更に別の動作を行うものでもよい。
また、所定の発動条件は、今回変化指示を入力したユーザAのキャラクタオブジェクトのみが、所定期間内において、ユーザB1~ユーザB3の各キャラクタオブジェクトに対して同一の動作Xを行った回数の合計回数が第4所定回数を超えたことでもよい。また、所定の発動条件は、今回変化指示を入力したユーザAのキャラクタオブジェクトのみが、所定期間内において、ユーザB1~ユーザB3の各キャラクタオブジェクトに対していずれかの動作を行った回数の合計回数が第4所定回数を超えたことでもよい。なお、当該発動条件におけるユーザAのキャラクタオブジェクトが行う「動作」は、ユーザAのキャラクタオブジェクトが行い得る動作であればいずれの動作でもよい。所定の発動条件は、所定期間内において、各ユーザが所定の順番でユーザB1のキャラクタオブジェクトに対して所定の動作を行ったことである。例えば、ユーザB1のキャラクタオブジェクトに対してユーザAのキャラクタオブジェクトが動作Xを行い、次に、ユーザB1のキャラクタオブジェクトに対してユーザB2のキャラクタオブジェクトが動作Xを行い、次に、ユーザB1のキャラクタオブジェクトに対してユーザB3のキャラクタオブジェクトが動作Xを行ったことを含む。
また、所定の発動条件は、今回変化指示を入力したユーザAのキャラクタオブジェクトのみが、所定期間内において、今回変化指示による動作の対象となるユーザB1のキャラクタオブジェクトユーザのみに対して同一の動作Xを行った回数の合計回数が第5所定回数を超えたことでもよい。また、所定の発動条件は、今回変化指示を入力したユーザAのキャラクタオブジェクトのみが、所定期間内において、今回変化指示による動作の対象となるユーザB1のキャラクタオブジェクトユーザのみに対していずれかの動作を行った回数の合計回数が第5所定回数を超えたことでもよい。なお、当該発動条件におけるユーザAのキャラクタオブジェクトが行う「動作」は、ユーザAのキャラクタオブジェクトが行い得る動作であればいずれの動作でもよい。
また、所定の発動条件は、所定期間内において、ユーザB1のキャラクタオブジェクトに対する動作Xに係る変化指示を行ったユーザの人数が所定数を越えたことでもよい。また、所定の発動条件は、所定期間内において、ユーザB1のキャラクタオブジェクトに対する動作Xに係る変化指示を、同一のコミュニケーショングループ内のユーザB1以外の全てのユーザが行ったことでもよい。
また、所定の発動条件は、ユーザAによって変化指示に応じたユーザAのキャラクタオブジェクトが行う動作を受けるキャラクタオブジェクトのユーザB1が、事前にユーザB1のキャラクタオブジェクトが他のキャラクタオブジェクトの動作を受けることを許可していることでもよい。また、所定の発動条件は、今回の変化指示を入力したユーザAが、事前にユーザB1のキャラクタオブジェクトが他のキャラクタオブジェクトの動作を受けることを許可していることでもよい。
また、所定の発動条件は、今回変化指示を入力したユーザAと所定の関係を有する他ユーザの数が、第1所定人数を超えていることでもよい。また、所定の発動条件は、ユーザAによる変化指示によってユーザAのキャラクタオブジェクトの動作を受けるキャラクタオブジェクトのユーザB1と所定の関係を有する他ユーザの数が、第1所定人数を超えていることでもよい。
(変形例5)
ユーザAの端末装置2に表示された選択画面900に含まれる変化候補ボタン901は、所定の表示条件が満たされた場合、変更されてもよい。例えば、ユーザAと、選択画面900に表示されているキャラクタオブジェクトのユーザB1との関連性に関する条件が満たされた場合、変化候補ボタン901に対応する動作の内容、選択画面900に含まれる変化候補ボタン901の数が変更される。ユーザAとユーザB1との関連性に関する条件は、ユーザAとユーザB1が相互フォローをしていること又はしていないこと、両ユーザが同じコミュニケーションサービスに参加した時間の合計が所定時間を超えていること又は超えていないこと、及び/又は、ユーザAがユーザB1の配信画像を視聴した時間とユーザB1がユーザAの配信画像を視聴した時間の合計が所定時間を超えていること又は超えていないこと等である。また、例えば、ユーザAに関する情報の条件が満たされた場合、変化候補ボタン901に対応する動作の内容、選択画面900に含まれる変化候補ボタン901の数が変更されてもよい。ユーザAに関する情報の条件は、例えば、ユーザAのフォロワー数が所定数を超えていること又は超えていないこと、及び/又は、ユーザAの全ての参加ユーザへの参加時間が所定時間を超えていること又は超えていないこと等である。
(変形例6)
キャラクタオブジェクトが、3次元のアニメーションを生成するための3次元モデルデータに基づいて生成される場合、各ユーザのユーザ出力画像は、ユーザごとに定められた仮想空間内に配置された立体オブジェクト(3次元オブジェクト)であるキャラクタオブジェクトを、当該仮想空間内の所定の視点から見た画像であってもよい。例えば、表示処理部274は、所定の視点の視線方向に2次元スクリーンを配置し、仮想空間内に配置された各種の立体オブジェクトの3次元座標を当該2次元スクリーンに投影し、各種のオブジェクトが投影された2次元スクリーン面の画像をユーザ出力画像として表示する。なお、所定の視点の視線方向は、キャラクタオブジェクトに向く方向であり、2次元スクリーンは、所定の視点の移動及び視線方向の回転に応じて移動及び回転するものである。
また、表示処理部274は、コミュニケーション画面に対する所定の操作に応じて、所定の視点の移動及び/又は所定の視点の視線方向の回転を制御してもよい。また、表示処理部274は、コミュニケーション画面中に、所定の視点を自動的に移動させるための自動移動ボタンを、コミュニケーション画面に含めてもよい。この場合、例えば、ユーザAによる入力装置24の操作によって自動移動ボタンが選択されると、表示処理部274は、予め定められた移動ルールに応じて所定の視点を自動的に移動させてもよい。
(変形例7)
キャラクタオブジェクトが、3次元のアニメーションを生成するための3次元モデルデータに基づいて生成される場合、各ユーザのユーザ出力画像は、各ユーザに共通の仮想空間内に配置された立体オブジェクト(3次元オブジェクト)であるキャラクタオブジェクトの所定位置(例えば、キャラクタオブジェクトの目の位置)に配置されたユーザ視点から仮想空間内を見た画像である。なお、ユーザ視点は、ユーザによる操作に応じて及び/又は自動で、キャラクタオブジェクトの所定位置から移動して、キャラクタオブジェクトの後方、上方、又は前方等に位置してもよい。
各ユーザに共通の仮想空間におけるコミュニケーションサービスの利用方法の一例について説明する。例えば、図18に示すように、表示処理部274は、仮想空間内において、ユーザAのキャラクタオブジェクトCのユーザ視点からの視野範囲内に、仮想のタブレットPC等の装置オブジェクトSを登場させる。この装置オブジェクトSの表示装置部分に、図6~15及び17において説明した各種画面が表示される。この場合、装置オブジェクトSの表示装置部分に表示されるユーザAのユーザ出力画像は、装置オブジェクトSの所定位置に設けられた仮想カメラから仮想空間内を見た2次元画像である。ユーザAの音声データは、端末装置2のマイク26によって取得された音声データである。
端末装置2の送信部272は、ユーザAのユーザ出力画像と、ユーザAの音声データと、ユーザAのユーザIDとを、サーバ装置3を経由して全てのユーザBの端末装置2に送信する。なお、送信部272は、ユーザAのユーザ出力画像に替えて、仮想空間内における仮想カメラの位置及び視線方向、仮想空間内におけるユーザAのキャラクタオブジェクトの位置及びボディの向き、並びに、ユーザAのモーションデータを送信してもよい。また、ユーザAの端末装置2は、各ユーザBの端末装置2から、サーバ装置3を介して、各ユーザBのユーザ出力画像と、各ユーザBの音声データと、各ユーザBのユーザIDとを受信する。そして、ユーザAの端末装置2の表示処理部274は、各ユーザBのユーザ出力画像を装置オブジェクトSの表示装置部分に表示し、各ユーザBの音声データを端末装置2から音声出力する。これにより、仮想の装置オブジェクトSを用いたコミュニケーションサービスを実現することが可能となる。
(変形例8)
端末装置2の端末処理装置27により実現される機能の少なくとも一部は、端末装置2の端末処理装置27以外のプロセッサにより実現されてもよい。端末処理装置27により実現される機能の少なくとも一部は、例えば、サーバ装置3のサーバ処理装置33により実現されてもよい。具体的には、生成部271と表示処理部274の機能の一部は、サーバ装置3において実行されてもよい。例えば、端末装置2は、連続的に取得した撮像データと音声データを、端末装置2を操作するユーザのユーザIDとともにサーバ装置3に送信する。そして、サーバ装置3は、生成部271及び表示処理部274の機能を用いて、キャラクタ動画データを生成し、全てのユーザのユーザ出力画像を含むコミュニケーション画面を表示装置23に表示するための表示情報を生成する。そして、サーバ装置3は、表示情報を、音声情報(音声データ)とともに全てのユーザの各端末装置2に送信する。各端末装置2は、サーバ装置3から受信した各情報を出力する(所謂「サーバレンダリング」)。
(変形例9)
端末装置2は、端末装置2に記憶された制御プログラムに含まれる各種命令を実行することにより、コミュニケーション画面等を表示する機能を有するが、端末装置2は、コミュニケーションサービスを実現するために、ウェブアプリケーションに組み込まれたブラウザ機能を呼び出し、このブラウザ機能を用いて、サーバ装置からウェブページ(HTML(Hyper Text Markup Language)等のマークアップ言語によって記述されたドキュメント)を受信し、このウェブページに組み込まれた制御プログラムを実行してもよい(所謂「ブラウザレンダリング」)。例えば、マークアップ言語として、HTML 5が用いられることにより、端末装置2は、新規な情報処理を容易に実行することができる。端末装置においてコミュニケーションサービスを実現させるためにこのようなウェブアプリケーションを採用することにより、プログラムの製作者は、サーバ装置により送信されるウェブページに新しいプログラムを組み込むだけで新しい情報処理をクライアントサイド(端末装置側)に提供することができ、新しいプログラムの製作工数を大幅に抑えることが可能となる。また、クライアントサイドでは、新しい制御プログラムをダウンロードせずにウェブページを受信するだけで、新しいサービスの提供を受けることができ、制御プログラムのダウンロードに比べ、通信ネットワークの負荷、通信コスト及び/又は通信時間の低減が可能となり且つユーザのインターフェースの簡素化を実現することが可能となる。
(変形例10)
ユーザAの端末装置2の生成部271は、撮像データを用いずにフェイスモーションデータを含む出力情報を生成してもよい。例えば、端末装置2の端末記憶装置22には、音声データに対応するフェイスモーションデータを記憶しており、生成部271は、取得したユーザAの音声データに対応するフェイスモーションデータを端末記憶装置22から抽出して、抽出したフェイスモーションデータと、音声データ及びユーザAのユーザIDとを含む出力情報を生成してもよい。また、ユーザAの端末装置2の生成部271は、フェイスモーションデータを含めずに、マイク26から出力されたユーザAの音声データと端末記憶装置22に記憶されたユーザIDとを含む出力情報を生成してもよい。この場合、ユーザBの端末装置2の表示処理部274は、サーバ装置3経由で受信したユーザAの出力情報に含まれるユーザAの音声データに対応するフェイスモーションデータを抽出して、ユーザAのキャラクタオブジェクトのアニメーションを生成してもよい。なお、ユーザの音声データに対応するフェイスモーションデータの生成処理は、公知のリップシンクアルゴリズムを用いた処理であってもよい。
このように、HMDを表示装置23として用いるユーザAの端末装置2において、ユーザAの撮像データを取得することなしに、キャラクタオブジェクトを介したコミュニケーションをユーザBと行うことが可能となる。
(変形例11)
コミュニケーション画面810(図8(b))において、画面キャプチャを指示するための記録ボタンが表示されてもよい。例えば、ユーザAの端末装置2において、コミュニケーション画面810が表示されているときに、ユーザAによる入力装置24の操作によって記録ボタンが選択されると、表示処理部274は、キャラクタオブジェクト811a、キャラクタオブジェクト811b1、キャラクタオブジェクト811b2、キャラクタオブジェクト811b3、を含む1つの合成出力画像を表示する。合成出力画像内の各キャラクタオブジェクトは、自動的に所定のポーズをとるように制御されてもよい。そして、ユーザAの端末装置2の送信部272は、合成出力画像を、ユーザB1~B3のそれぞれの端末装置2に送信するために、サーバ装置3に送信し、サーバ装置3は、ユーザAの端末装置2から受信した、合成出力画像を、ユーザB1~B3のそれぞれの端末装置2に送信する。これにより、ユーザB1~B3のそれぞれの端末装置2においても、合成出力画像を閲覧することができる。
ユーザAの端末装置2に表示される合成出力画像は、例えば、画面全面に表示される合成出力画像でもよい。この場合、ユーザAによる記録ボタンの選択に応じて、各ユーザ出力画像の境目が消失して、ポージングした各キャラクタオブジェクトが登場するように表示されてもよい。また、ユーザAの端末装置2に表示される合成出力画像は、記録ボタンを選択したユーザAのユーザ出力画像812aの表示領域内に表示されるものでもよい。この場合、表示処理部274は、ユーザB1~B3の各キャラクタオブジェクトに対して、ユーザAのユーザ出力画像812aの表示領域内の方向に移動するような動作をさせてもよい。この場合、ユーザAのユーザ出力画像812aの表示領域内に表示された合成出力画像が、所定の時間経過後に全画面表示されてもよい。
また、合成出力画像の表示は、記録ボタンの選択に応じて実行されるものでなくてもよく、所定のタイミング(コミュニケーション開始から10分後等)に自動的に実行されてもよい。また、合成出力画像の表示は、所定の合成条件が満たされたタイミングに実行されてもよい。所定の合成条件は、例えば、同じコミュニケーションサービスに参加している人数が所定人数に達したこと、特定のユーザによる変化指示の回数又はコミュニケーションサービスに参加しているユーザ全員による変化指示の合計回数が所定数に達したこと、等である。
表示された合成出力画像は、ユーザAの操作に応じて、ユーザAに付与(ユーザAの端末装置2の端末記憶装置22に記憶)されてもよい。また、ユーザB(ユーザB1~B3))の端末装置2によって受信された合成出力画像は、ユーザBの操作に応じて、ユーザBに付与(ユーザBの端末装置2の端末記憶装置22に記憶)されてもよい。このように、情報システム1は、コミュニケーションサービスに参加した各ユーザのキャラクタオブジェクトを含む合成出力画像を各ユーザに付与することができ、これにより、各ユーザは、連携するSNS等への合成出力画像のアップロード等を行うこともできる。このように、情報システム1は、ユーザがコミュニケーションサービスを利用する意欲を向上させることが可能となる。