JP6714791B2 - シミュレーションシステム及びプログラム - Google Patents

シミュレーションシステム及びプログラム Download PDF

Info

Publication number
JP6714791B2
JP6714791B2 JP2016138929A JP2016138929A JP6714791B2 JP 6714791 B2 JP6714791 B2 JP 6714791B2 JP 2016138929 A JP2016138929 A JP 2016138929A JP 2016138929 A JP2016138929 A JP 2016138929A JP 6714791 B2 JP6714791 B2 JP 6714791B2
Authority
JP
Japan
Prior art keywords
user
display
processing
image
distance range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016138929A
Other languages
English (en)
Other versions
JP2018010488A5 (ja
JP2018010488A (ja
Inventor
高弘 柿沢
高弘 柿沢
優 相田
優 相田
修介 三浦
修介 三浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Bandai Namco Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Bandai Namco Entertainment Inc filed Critical Namco Ltd
Priority to JP2016138929A priority Critical patent/JP6714791B2/ja
Priority to CN201780043391.7A priority patent/CN109478345B/zh
Priority to PCT/JP2017/024794 priority patent/WO2018012395A1/ja
Publication of JP2018010488A publication Critical patent/JP2018010488A/ja
Priority to US16/245,945 priority patent/US11493990B2/en
Publication of JP2018010488A5 publication Critical patent/JP2018010488A5/ja
Application granted granted Critical
Publication of JP6714791B2 publication Critical patent/JP6714791B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/18Training appliances or apparatus for special sports for skiing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/807Gliding or sliding on surfaces, e.g. using skis, skates or boards
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • A63B2071/0638Displaying moving images of recorded environment, e.g. virtual environment
    • A63B2071/0644Displaying moving images of recorded environment, e.g. virtual environment with display speed of moving landscape controlled by the user's performance
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8041Skating using skis, skates or board
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0147Head-up displays characterised by optical features comprising a device modifying the resolution of the displayed image
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt

Description

本発明は、シミュレーションシステム及びプログラム等に関する。
従来より、HMD(頭部装着型表示装置)をユーザが頭部に装着し、HMDの画面に表示される画像をユーザが見ることで、いわゆるバーチャルリアリティー(VR)の世界を体感できるシミュレーションシステムが知られている。このようなシミュレーションシステムの従来技術としては、例えば特許文献1等に開示される技術がある。
特開平11−309269号公報
HMDを用いたシミュレーションシステムでは、仮想空間において仮想カメラから見える画像がHMDに表示される。このような画像をHMDに表示することで、ユーザの視界の全周囲に亘って、広大なVR空間が広がるようになるため、ユーザの仮想現実感を格段に向上できる。
このように、HMDを用いたシミュレーションシステムでは、ユーザに対して高品質で没入度の高いコンテンツを提供できる。しかしながら、このようなコンテンツを提供したとしても、いわゆる3D酔いが発生してしまうと、ユーザは長時間のプレイをできなくなってしまう。また、コンテンツの魅力よりも、3D酔いへの回避衝動としてユーザが再プレイを行わなくなる事態が生じてしまう。
3D酔いは、仮想空間においてユーザの脳が感じる感覚と、実空間においてユーザの体が感じる感覚とのギャップなどが原因として発生する。例えば仮想カメラから見える画像を、そのままHMDに表示してしまうと、仮想空間の景色において近くから遠くまでの全ての表示物がクッキリと見えている状態であると脳が感じ、全ての情報を拾おうとして、情報過多になり、3D酔いを誘発してしまう。そして、このような3D酔いが発生すると、ユーザの長時間プレイの妨げとなったり、ユーザが再プレイを行うのを躊躇するようになり、シミュレーションシステムの魅力や稼働率が低下してしまう。
本発明の幾つかの態様によれば、頭部装着型表示装置を用いたシステムにおいてユーザの3D酔いの発生を効果的に抑制できるシミュレーションシステム及びプログラム等を提供できる。
本発明の一態様は、頭部装着型表示装置を装着するユーザに対応する移動体を仮想空間において移動させる処理を行う移動体処理部と、前記移動体の移動に応じて移動する仮想カメラの制御を行う仮想カメラ制御部と、前記頭部装着型表示装置の表示画像として、前記仮想空間において前記仮想カメラから見える画像を生成する表示処理部と、を含み、前記表示処理部は、前記仮想カメラから所与の距離範囲にある表示物に比べて、前記所与の距離範囲よりも遠い距離範囲にある表示物の画像をぼかす処理を、酔い防止用の画像エフェクト処理として行って、前記表示画像を生成するシミュレーションシステムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
本発明の一態様によれば、ユーザに対応する移動体を仮想空間において移動させる処理が行われ、頭部装着型表示装置の表示画像として、移動体の移動に応じて移動する仮想カメラから見える画像が生成される。そして、仮想カメラから所与の距離範囲にある表示物に比べて、遠い距離範囲にある表示物の画像をぼかす処理が、酔い防止用の画像エフェクト処理として行われる。これにより、仮想カメラから遠い距離範囲にある表示物については、ぼけた画像になるため、これらの表示物にユーザが視線を合わせるのを抑制できるようになる。従って、頭部装着型表示装置を用いたシステムにおいてユーザの3D酔いの発生を効果的に抑制できるシミュレーションシステム等の提供が可能になる。
また本発明の一態様では、前記表示処理部は、前記画像エフェクト処理として、被写界深度処理を行ってもよい。
このようにすれば、通常は使用が推奨されていない被写界深度処理を有効利用して、所与の距離範囲にある表示物については、焦点が合った画像を生成する一方で、所与の距離範囲よりも遠い距離範囲にある表示物については、焦点が合っていないぼかし画像を生成できるようになる。
また本発明の一態様では、前記表示処理部は、前記所与の距離範囲が、被写界深度の焦点領域に含まれ、前記仮想カメラから見て前記焦点領域よりも手前側の領域ではぼかし処理が行われず、前記焦点領域よりも奥側の領域ではぼかし処理が行われる前記被写界深度処理を行ってもよい。
このようにすれば、焦点領域や焦点領域よりも手前側の領域にある表示物については、焦点が合った画像を生成する一方で、焦点領域よりも奥側の領域にある表示物については、焦点が合っていないぼかし画像を生成できるようになる。
また本発明の一態様では、前記表示処理部は、被写界深度の焦点領域の広さを、前記移動体の移動状態に応じて変化させてもよい。
このようにすれば、移動体の移動状態に応じた適切な酔い防止用の画像エフェクト処理を、被写界深度処理を利用して実現できるようになる。
また本発明の一態様では、前記表示処理部は、前記画像エフェクト処理として、フォグ処理を行ってもよい。
このようにすれば、例えば所与の距離範囲よりも遠い距離範囲にある表示物を、フォグ処理によりぼかすことで、酔い防止用の画像エフェクト処理を実現できるようになる。
また本発明の一態様では、前記表示処理部は、前記仮想カメラから視線方向側に伸びる所与の長さの線分との衝突判定処理により前記線分と交差したと判定された表示物についてはぼかし処理を行わず、他の表示物に対してぼかし処理を行う前記画像エフェクト処理を行ってもよい。
このようにすれば、有限の線分と交差した表示物に対してはぼかし処理を行わず、他の表示物に対してぼかし処理を行うという簡素な処理で、酔い防止用の画像エフェクト処理を実現できるようになる。
また本発明の一態様では、前記所与の距離範囲は、前記頭部装着型表示装置の仮想視距離に基づき設定される範囲であってもよい。
このようにすれば、仮想視距離に基づき設定される距離範囲にある表示物については、ユーザが視線を合わせても3D酔いが生じないと想定して、ぼかし処理を行わないことで、より自然な表示画像を頭部装着型表示装置に表示できるようになる。
また本発明の一態様では、前記所与の距離範囲は、前記仮想カメラから0.75m〜3.5mの距離の範囲であり、前記表示処理部は、前記所与の距離範囲では表示物のぼかし処理を行わず、前記所与の距離範囲よりも遠い距離範囲において表示物のぼかし処理を行ってもよい。
このようにすれば、0.75m〜3.5mの距離範囲にある表示物については、例えばユーザが頻繁に視線を合わせたり、長時間、注視しても目の疲れ等が生じないという知見を有効利用して、ぼかし処理が行われない所与の距離範囲を設定できるようになる。
また本発明の一態様では、前記表示処理部は、前記所与の距離範囲よりも遠い距離範囲にある表示物であっても、所定の表示物については、ぼかし処理の対象から除外する、又はぼかし処理のぼかし度合いを他の表示物に比べて弱くしてもよい。
このようにすれば、所定の表示物については、所与の距離範囲よりも遠い距離範囲に位置していても、ぼかし処理が行われなかったり、弱いぼかし度合いになる。従って、ぼかし処理が原因で、ユーザが当該表示物を認識しにくくなるなどの事態を防止できる。
また本発明の一態様では、前記表示処理部は、前記所与の距離範囲よりも遠い距離範囲にある表示物であっても、所定の表示物については、他の表示物に比べて視認性を高める処理を行ってもよい。
このようにすれば、所定の表示物については、所与の距離範囲よりも遠い距離範囲に位置していても、視認性を高める処理が行われるようになり、ユーザが、当該表示物を適切に視認できるようになる。
また本発明の一態様では、前記表示処理部は、前記視認性を高める処理として、サイズ変化処理、輝度変化処理、色調変化処理、及び奥行き値変化処理の少なくとも一方を、前記所定の表示物に対して行ってもよい。
このようにすれば、表示物のサイズや輝度や色調や奥行き値を変化させることで、当該表示物の視認性を高める処理を実現できるようになる。
また本発明の一態様では、前記頭部装着型表示装置を装着するユーザの視点情報のトラッキング情報を取得する入力処理部を含み(入力処理部としてコンピュータを機能させ)、前記仮想カメラ制御部は、前記トラッキング情報に基づいて前記仮想カメラの位置、姿勢を変化させてもよい。
このようにユーザの視点情報のトラッキング情報に基づいて仮想カメラの位置、姿勢を変化させることで、仮想現実感の高い表示画像を頭部装着型表示装置に表示できる。一方、このように、トラッキング情報に基づき仮想カメラの位置、姿勢が変化した場合にも、酔い防止用の画像エフェクト処理が行われることで、ユーザの3D酔いの発生を効果的に防止できるようになる。
また本発明の一態様では、前記表示処理部は、前記仮想カメラの視線方向又は視点位置の変化状況、前記移動体の移動状態の変化状況、前記仮想カメラの注視場所又は注視対象の状況、或いはゲーム状況に応じて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行ってもよい。
このようにすれば、種々の状況に応じて、画像エフェクト処理をオン又はオフに設定したり、画像エフェクト処理のエフェクト度合いを変化させることが可能になる。
また本発明の一態様では、前記表示処理部は、前記ユーザのプレイレベルに応じて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行ってもよい。
このようにすれば、ユーザのプレイレベルに応じて、画像エフェクト処理をオン又はオフに設定したり、画像エフェクト処理のエフェクト度合いを変化させることが可能になる。
また本発明の一態様では、前記ユーザのプレイレベルは、前記ユーザの頭部の動きをトラッキングしたトラッキング情報又は前記ユーザのプレイ履歴情報に基づき判断されてもよい。
このようにすれば、ユーザの頭部のトラッキング情報やプレイ履歴情報を有効活用して、ユーザのプレイレベルを判断できるようになる。
また本発明の一態様では、前記表示処理部は、前記ユーザによる設定情報又は前記ユーザのプレイ履歴情報に基づいて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行ってもよい。
このようにすれば、ユーザが入力した設定情報や、ユーザのプレイ履歴情報などに基づいて、画像エフェクト処理をオン又はオフに設定したり、画像エフェクト処理のエフェクト度合いを変化させることが可能になる。
また本発明の一態様では、前記移動体の移動状態に応じて、前記ユーザのプレイ位置を変化させる可動筐体を含んでもよい。
このようにすれば、可動筐体によりユーザのプレイ位置を変化させることで、移動体の移動状態の変化をユーザに体感させることが可能になり、3D酔いの発生等を更に抑制できるようになる。
本実施形態のシミュレーションシステムの構成例を示すブロック図。 図2(A)、図2(B)は本実施形態に用いられるHMDの一例。 図3(A)、図3(B)は本実施形態に用いられるHMDの他の例。 シミュレーションシステムの一例であるロボットシミュレータの構成例。 図5(A)は仮想空間において仮想ユーザが搭乗するロボットの説明図、図5(B)はロボットシミュレータでのゲーム画像の例。 ロボットシミュレータでのゲーム画像の例。 図7(A)、図7(B)は電動シリンダを用いる可動筐体の動作説明図。 シミュレーションシステムの一例であるスキーシミュレータの構成例。 HMDの光学系の構成例を示す図。 比較例の手法により生成されたゲーム画像の例。 3D酔いの問題についての説明図。 本実施形態の手法の説明図。 本実施形態の手法により生成されたゲーム画像の例。 図14(A)、図14(B)は本実施形態の画像エフェクト処理として行われる被写界深度処理の説明図。 図15(A)、図15(B)は被写界深度の焦点領域の広さを移動体の移動状態に応じて変化させる手法の説明図。 本実施形態の画像エフェクト処理として行われるフォグ処理の説明図。 線分との衝突判定に基づく画像エフェクト処理の説明図。 図18(A)、図18(B)は仮想視距離、距離範囲の説明図。 図19(A)、図19(B)は遠い距離範囲にある表示物について、画像エフェクト処理の対象から除外したり、エフェクト度合いを弱める手法の説明図。 遠い距離範囲にある表示物の視認性を高める処理の説明図。 図21(A)〜図21(C)はトラッキング情報に基づいて仮想カメラの位置、姿勢を変化させる手法の説明図。 図22(A)〜図22(C)はキャラクタが岩に衝突して進行方向等が変化する状況の説明図。 各状況に応じて画像エフェクト処理のオン、オフを設定したり、エフェクト度合いを変化させる処理を説明するフローチャート。 各状況に応じて画像エフェクト処理のオン、オフを設定したり、エフェクト度合いを設定する手法の説明図。 ユーザのプレイレベルに応じて画像エフェクト処理のオン、オフを設定したり、エフェクト度合いを設定する手法の説明図。 ユーザの頭部のトラッキング情報に基づいてプレイレベルを判断する処理のフローチャート。 可動筐体、出力音の制御手法の説明図。 ユーザの設定情報に基づき画像エフェクト処理のオン、オフやエフェクト度合いを設定する手法の説明図。 ユーザのプレイ履歴情報に基づき画像エフェクト処理のオン、オフやエフェクト度合いを設定する手法の説明図。 本実施形態の詳細な処理例を示すフローチャート。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.シミュレーションシステム
図1は、本実施形態のシミュレーションシステム(シミュレータ、ゲームシステム)の構成例を示すブロック図である。本実施形態のシミュレーションシステムは例えばバーチャルリアリティ(VR)をシミュレートするシステムであり、ゲームコンテンツを提供するゲームシステム、スポーツ競技シミュレータや運転シミュレータなどのリアルタイムシミュレーションシステム、映像等のコンテンツを提供するコンテンツ提供システム、或いは遠隔作業を実現するオペレーティングシステムなどの種々のシステムに適用可能である。なお、本実施形態のシミュレーションシステムは図1の構成に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
可動筐体40(広義には筐体)は、例えばアーケード筐体などと呼ばれるものであり、シミュレーションシステムの装置の外殻となるものである。可動筐体40は、ロボットゲームや車ゲームや飛行機ゲームなどにおけるコックピット筐体(体感筐体)であってもよいし、カードゲーム筐体などであってもよい。可動筐体40は、シミュレーションシステムの本体部分であり、シミュレーションシステムを実現するための種々の機器、構造物が設けられる。そして可動筐体40は、ユーザのプレイ位置等を変化させる。例えば可動筐体40は、移動体の移動状態に応じて、ユーザのプレイ位置を変化させる。具体的には、移動体の速度や加速度の変化、又は移動体の進行方向の変化、又は移動体が移動するコースの状況などに応じて、ユーザのプレイ位置を変化させる。可動筐体40の詳細について後述する。
操作部160は、ユーザ(プレーヤ)が種々の操作情報(入力情報)を入力するためのものである。操作部160は、例えば操作ボタン、方向指示キー、ジョイスティック、ハンドル、ペダル又はレバー等の種々の操作デバイスにより実現できる。例えば後述の図4では、操作レバー161、162、アクセルペダル163、ブレーキペダル164などにより操作部160が実現されている。
記憶部170は各種の情報を記憶する。記憶部170は、処理部100や通信部196などのワーク領域として機能する。ゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。記憶部170の機能は、半導体メモリ(DRAM、VRAM)、HDD(ハードディスクドライブ)、SSD、光ディスク装置などにより実現できる。記憶部170は、オブジェクト情報記憶部172、描画バッファ178を含む。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、BD、CD)、HDD、或いは半導体メモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(入力装置、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
HMD200(頭部装着型表示装置)は、ユーザの頭部に装着されて、ユーザの眼前に画像を表示する装置である。HMD200は非透過型であることが望ましいが、透過型であってもよい。またHMD200は、いわゆるメガネタイプのHMDであってもよい。
HMD200は、センサ部210、表示部220、処理部240を含む。なおHMD200に発光素子を設ける変形実施も可能である。センサ部210は、例えばヘッドトラッキングなどのトラッキング処理を実現するためものである。例えばセンサ部210を用いたトラッキング処理により、HMD200の位置、方向を特定する。HMD200の位置、方向が特定されることで、ユーザの視点位置、視線方向を特定できる。
トラッキング方式としては種々の方式を採用できる。トラッキング方式の一例である第1のトラッキング方式では、後述の図2(A)、図2(B)で詳細に説明するように、センサ部210として複数の受光素子(フォトダイオード等)を設ける。そして外部に設けられた発光素子(LED等)からの光(レーザー等)をこれらの複数の受光素子により受光することで、現実世界の3次元空間でのHMD200(ユーザの頭部)の位置、方向を特定する。第2のトラッキング方式では、後述の図3(A)、図3(B)で詳細に説明するように、複数の発光素子(LED)をHMD200に設ける。そして、これらの複数の発光素子からの光を、外部に設けられた撮像部で撮像することで、HMD200の位置、方向を特定する。第3のトラッキング方式では、センサ部210としてモーションセンサを設け、このモーションセンサを用いてHMD200の位置、方向を特定する。モーションセンサは例えば加速度センサやジャイロセンサなどにより実現できる。例えば3軸の加速度センサと3軸のジャイロセンサを用いた6軸のモーションセンサを用いることで、現実世界の3次元空間でのHMD200の位置、方向を特定できる。なお、第1のトラッキング方式と第2のトラッキング方式の組合わせ、或いは第1のトラッキング方式と第3のトラッキング方式の組合わせなどにより、HMD200の位置、方向を特定してもよい。またHMD200の位置、方向を特定することでユーザの視点位置、視線方向を特定するのではなく、ユーザの視点位置、視線方向を直接に特定するトラッキング処理を採用してもよい。
HMD200の表示部220は例えば液晶ディスプレイ(LCD)や有機ELディスプレイなどにより実現できる。例えばHMD200には、表示部220として、ユーザの左目の前に配置される第1のディスプレイと、右目の前に配置される第2のディスプレイが設けられており、例えば立体視表示が可能になっている。立体視表示を行う場合には、例えば視差が異なる左目用画像と右目用画像を生成し、第1のディスプレイに左目用画像を表示し、第2のディスプレイに右目用画像を表示すればよい。なお1つのディスプレイの第1、第2の表示領域に左目用画像、右目用画像を表示するようにしてもよい。
HMD200の処理部240は、HMD200において必要な各種の処理を行う。例えば処理部240は、センサ部210の制御処理や表示部220の表示制御処理などを行う。また処理部240が、3次元音響(立体音響)処理を行って、3次元的な音の方向や距離や広がりの再現を実現してもよい。
音出力部192は、本実施形態により生成された音を出力するものであり、例えばスピーカ又はヘッドホン等により実現できる。
I/F(インターフェース)部194は、携帯型情報記憶媒体195とのインターフェース処理を行うものであり、その機能はI/F処理用のASICなどにより実現できる。携帯型情報記憶媒体195は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体195は、ICカード(メモリカード)、USBメモリ、或いは磁気カードなどにより実現できる。
通信部196は、有線や無線のネットワークを介して外部(他の装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作情報や、HMD200でのトラッキング情報(HMDの位置及び方向の少なくとも一方の情報。視点位置及び視線方向の少なくとも一方の情報)や、プログラムなどに基づいて、ゲーム処理(シミュレーション処理)、移動体処理、仮想カメラ制御処理、表示処理、或いは音処理などを行う。
処理部100の各部が行う本実施形態の各処理(各機能)はプロセッサ(ハードウェアを含むプロセッサ)により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。プロセッサは、例えばCPU(Central Processing Unit)であってもよい。但し、プロセッサはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。またプロセッサはASICによるハードウェア回路であってもよい。メモリ(記憶部170)は、SRAM、DRAM等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置(HDD)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部100の各部の処理(機能)が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
処理部100は、入力処理部102、演算処理部110、出力処理部140を含む。演算処理部110は、ゲーム処理部112、可動筐体処理部113、移動体処理部114、オブジェクト空間設定部116、仮想カメラ制御部118、表示処理部120、音処理部130を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ(或いはプロセッサ及びメモリ)により実現できる。なお、これらの構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
入力処理部102は、操作情報やトラッキング情報を受け付ける処理や、記憶部170から情報を読み出す処理や、通信部196を介して情報を受信する処理を、入力処理として行う。例えば入力処理部102は、操作部160を用いてユーザが入力した操作情報やHMD200のセンサ部210等により検出されたトラッキング情報を取得する処理や、読み出し命令で指定された情報を、記憶部170から読み出す処理や、外部装置(サーバ等)からネットワークを介して情報を受信する処理を、入力処理として行う。ここで受信処理は、通信部196に情報の受信を指示したり、通信部196が受信した情報を取得して記憶部170に書き込む処理などである。
演算処理部110は、各種の演算処理を行う。例えばゲーム処理(シミュレーション処理)、移動体処理、仮想カメラ制御処理、表示処理、或いは音処理などの演算処理を行う。
ゲーム処理部112(ゲーム処理のプログラムモジュール)はユーザがゲームをプレイするための種々のゲーム処理を行う。別の言い方をすれば、ゲーム処理部112(シミュレーション処理部)は、ユーザが仮想現実(バーチャルリアリティ)を体験するための種々のシミュレーション処理を実行する。ゲーム処理は、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、開始したゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、或いはゲーム成績を演算する処理などである。
可動筐体処理部113(可動筐体処理のプログラムモジュール)は、可動筐体40についての種々の処理を行う。例えば可動筐体40の制御処理を行ったり、可動筐体40を制御するための種々の情報の検出処理を行う。例えば可動筐体処理部113は、後述の図7(A)の電動シリンダ413、414の制御処理を行う。例えば電動シリンダ413、414のロッド部の直線運動を制御する処理を行う。また可動筐体処理部113は、図4の操作レバー161、162、アクセルペダル163、ブレーキペダル164による操作情報を検出する処理を行う。そして、検出された操作情報に基づいて、可動筐体40の制御処理等を実行する。また可動筐体処理部113は、後述の図8のエアバネ部50〜53などの制御処理を行う。例えばエアバネ部50〜53を伸縮させるための制御処理を行う。また操作部材43、44によるスイング操作や、足台45、46によるエッジング操作が行われた場合に、可動筐体処理部113は、その操作情報の検出処理を行い、検出された操作情報に基づいて、可動筐体40の制御処理等を実行する。
移動体処理部114(移動体処理のプログラムモジュール)は、仮想空間内で移動する移動体についての種々の処理を行う。例えば仮想空間であるオブジェクト空間(ゲーム空間)において移動体を移動させる処理や、移動体を動作させる処理を行う。例えば移動体処理部114は、操作部160によりユーザが入力した操作情報や、取得されたトラッキング情報や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、移動体(モデルオブジェクト)をオブジェクト空間内(仮想空間内)で移動させたり、移動体を動作(モーション、アニメーション)させる制御処理を行う。具体的には、移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
移動体は、例えば実空間のユーザ(プレーヤ)に対応する仮想空間の仮想ユーザ(仮想プレーヤ)、或いは当該仮想ユーザが搭乗(操作)する搭乗移動体(操作移動体)などである。例えば移動体は、後述の図4のロボットシミュレータにおいてユーザに対応するキャラクタ(仮想ユーザ)が搭乗するロボット(搭乗移動体)である。或いは図8のスキーシミュレータにおいて、ユーザに対応して仮想空間でスキーを行うキャラクタ(仮想ユーザ)である。
オブジェクト空間設定部116(オブジェクト空間設定処理のプログラムモジュール)は、複数のオブジェクトが配置されるオブジェクト空間(広義には仮想空間)の設定処理を行う。例えば、移動体(人、ロボット、車、電車、飛行機、船、モンスター又は動物等)、マップ(地形)、建物、観客席、コース(道路)、樹木、壁、水面などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクト情報記憶部172には、オブジェクト空間でのオブジェクト(パーツオブジェクト)の位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部116は、例えば各フレーム毎にこのオブジェクト情報を更新する処理などを行う。
仮想カメラ制御部118(仮想カメラ制御処理のプログラムモジュール)は、オブジェクト空間の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点、基準仮想カメラ)の制御処理を行う。例えば仮想カメラの位置(視点位置)又は姿勢(視線方向)を制御する処理を行う。具体的には、仮想カメラの位置(X、Y、Z)や、姿勢情報である回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。この仮想カメラはユーザ(仮想ユーザ)の視点に相当する。立体視表示の場合は、左目用の第1の視点(左目用の第1の仮想カメラ)と、右目用の第2の視点(右目用の第2の仮想カメラ)が設定される。
表示処理部120(表示処理のプログラムモジュール)は、ゲーム画像(シミュレーション画像)の表示処理を行う。例えば処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、HMD200の表示部220に表示する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ178(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間(仮想空間)において仮想カメラ(所与の視点。左目用、右目用の第1、第2の視点)から見える画像が生成される。なお、表示処理部120で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
音処理部130(音処理のプログラムモジュール)は、処理部100で行われる種々の処理の結果に基づいて音処理を行う。具体的には、楽曲(音楽、BGM)、効果音、又は音声などのゲーム音を生成し、ゲーム音を音出力部192に出力させる。なお音処理部130の音処理の一部(例えば3次元音響処理)を、HMD200の処理部240により実現してもよい。
出力処理部140は各種の情報の出力処理を行う。例えば出力処理部140は、記憶部170に情報を書き込む処理や、通信部196を介して情報を送信する処理を、出力処理として行う。例えば出力処理部140は、書き込み命令で指定された情報を、記憶部170に書き込む処理や、外部の装置(サーバ等)に対してネットワークを介して情報を送信する処理を行う。送信処理は、通信部196に情報の送信を指示したり、送信する情報を通信部196に指示する処理などである。
そして本実施形態のシミュレーションシステムは、図1に示すように、移動体処理部114と仮想カメラ制御部118と表示処理部120を含む。また入力処理部102を含むことができる。
移動体処理部114は、ユーザに対応する移動体(仮想ユーザ、搭乗移動体等)を仮想空間(オブジェクト空間)において移動させる処理を行う。例えば移動体の位置、方向の情報を所定期間毎(例えばフレーム毎)に求める処理を行って、仮想空間のコースなどにおいて移動体を移動させる処理を行う。また移動体処理部114は移動体を動作させる処理(モーション処理)なども行う。
仮想カメラ制御部118は、移動体の移動に応じて移動する仮想カメラの制御を行う。例えば移動体に追従するように移動する仮想カメラの制御を行う。例えば仮想カメラ制御部118は、ユーザの一人称視点として設定される仮想カメラの制御を行う。例えば仮想空間において移動する移動体の視点に対応する位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置(位置座標)や姿勢(回転軸回りでの回転角度)を制御する。
表示処理部120は、HMD200の表示画像(表示映像)として、仮想空間において仮想カメラ(ユーザ視点)から見える画像を生成する。例えば仮想空間であるオブジェクト空間において所与の視点から見える画像を生成する。生成される画像は立体視用の画像であることが望ましい。
そして表示処理部120は、酔い防止用(3D酔い防止用)の画像エフェクト処理を行う。具体的には表示処理部120は、仮想カメラから所与の距離範囲にある表示物に比べて、所与の距離範囲よりも遠い距離範囲にある表示物の画像をぼかす処理を、酔い防止用の画像エフェクト処理(広義には画像処理)として行って、表示画像を生成する。例えば所与の距離範囲である第1の距離範囲にある表示物(オブジェクト)についてはぼかし処理を行わず、所与の距離範囲よりも遠い距離範囲である第2の距離範囲にある表示物に対してはぼかし処理を行う。こうすることで、第1の距離範囲にある表示物については焦点が合った画像(フォーカス画像)になり、第2の距離範囲にある表示物については焦点が合っていない画像(デフォーカス画像)になる。ここで第1の距離範囲と第2の距離範囲は連続している必要はなく、その間に第3の距離範囲があってもよい。また距離範囲は、仮想カメラからの奥行き方向(Z方向)での距離(奥行き距離)の範囲である。また画像エフェクト処理は、例えば、仮想カメラから見える画像(レンダリング処理により生成された画像)に対するポストエフェクト処理として行うことができる。また酔い防止用の画像エフェクト処理は、フォトリアリスティックな画像を生成するためのエフェクト処理ではなく、ユーザの3D酔いを防止することを目的に行われるエフェクト処理である。
例えば表示処理部120は、画像エフェクト処理として、被写界深度処理を行う。被写界深度処理は、焦点の前後の距離に応じてぼかし処理(ブラー)をシーンに対して適用する処理である。被写界深度処理は、例えば画像処理のエンジン(例えばアンリアルエンジン)のライブラリとして用意されるものである。例えば被写界深度処理では、ぼかし方式(ガウシアンDOF、ぼけDOF等)、焦点距離、焦点領域、近点側遷移範囲(ニア遷移レンジ)、遠点側遷移範囲(ファー遷移レンジ)、或いはぼかし度合い(ぼかしサイズ)などの各種パラメータの設定が可能になっている。本実施形態では、このパラメータの設定として、通常のフォトリアリスティックな画像の生成とは異なる酔い防止用の特別な設定を行う。
具体的には表示処理部120は、所与の距離範囲(第1の距離範囲)が、被写界深度の焦点領域に含まれ、仮想カメラから見て焦点領域よりも手前側の領域(近点側の領域)ではぼかし処理が行われず、焦点領域よりも奥側の領域(遠点側の領域)ではぼかし処理が行われる被写界深度処理を行う。即ち、このような被写界深度処理が行われるように上述のパラメータを設定して、酔い防止用の被写界深度処理を実現する。例えば近点側遷移範囲を無効にし、仮想カメラの位置から遠点側遷移範囲までの間が焦点領域になるように被写界深度処理のパラメータを設定する。そして、この焦点領域に所与の距離範囲(例えば後述する0.75m〜3.5mの距離範囲)が入るようにする。
この場合に表示処理部120は、被写界深度の焦点領域の広さを、移動体の移動状態(速度、加速度又は移動方向等)に応じて変化させてもよい。例えば移動体の速度(角速度)が速くなるにつれて、焦点領域を狭くする。例えば移動体が停止状態の場合には、焦点領域を通常の広さに設定し、移動体が所与の速度(角速度)以上になった場合に、焦点領域を狭くする。その後、速度が高くなるにつれて更に焦点領域を狭くしてもよい。
また表示処理部120は、画像エフェクト処理として、フォグ処理を行ってもよい。フォグ処理は、例えばフォグ色(フォグのターゲット色)が設定可能なフォグ処理(例えばアンリアルエンジンにおける指数関数的高さフォグ)であってもよいし、フォグ色を設定しないフォグ処理(例えばアンリアルエンジンにおける環境フォグ)であってもよい。また画像エフェクト処理として、被写界深度処理とフォグ処理の両方を行うことが望ましい。例えば被写界深度処理を行うと共に、各ゲームステージ(夜、朝、夕方のゲームステージ等)に対応したフォグ色(黒、白、赤等)でのフォグ処理を行う。こうすることで、より効果的な酔い防止を実現できる。
また表示処理部120は、仮想カメラから視線方向側に伸びる所与の長さの線分との衝突判定処理により線分と交差したと判定された表示物についてはぼかし処理を行わず、他の表示物に対してぼかし処理を行う画像エフェクト処理を行ってよい。例えばぼかし処理を行わない表示物の画像を生成する範囲を、当該線分の長さにより規定する。そして、仮想カメラから伸びる線分と表示物とが交差したか否かを判定する衝突判定を行う。そして線分と交差(衝突)したと判定された表示物については、ぼかし処理を行わないようにする。即ち当該表示物については焦点が合った画像を生成する。そして、線分と交差しない他の表示物がぼかし処理の候補対象となり、当該表示物に対してぼかし処理を行うようにする。ここで線分は、例えば敵に対する照準を設定するための線分であってもよい。例えば線分と交差した表示物が、ユーザの攻撃対象となり、その表示物に照準が重畳表示された状態でユーザが攻撃動作を行うと、当該表示物に対して攻撃がヒットする。
また所与の距離範囲は、例えばHMD200の仮想視距離(広義には視距離)に基づき設定される範囲である。例えばHMD200が接眼レンズなどの光学系やディスプレイを有している場合に、ユーザの目の位置と接眼レンズとディスプレイの位置関係に基づいて、仮想視距離が規定される。そして、この仮想視距離の位置にある仮想画面が、HMD200の画像(虚像)が映る画面となる。例えばHMD200の光学系は、画面をこの仮想視距離だけ離れた位置で見ることと等しくなるように設計されている。そして、この仮想視距離を含む所与の距離範囲内にある表示物については、ぼかし処理が行われないようにして、焦点が合った画像が生成されるようにする。
具体的には所与の距離範囲は、例えば仮想カメラから0.75m〜3.5mの距離の範囲である。この距離は仮想空間での距離であり、仮想空間での距離は現実世界での距離と一致(略一致)するように仮想世界が設計されている。例えば表示物が0.75m〜3.5mに距離範囲にあれば、当該表示物にユーザが長時間、目を向けたとしても、目の疲れ等が生じないとされている。表示処理部120は、少なくとも所与の距離範囲である0.75m〜3.5mの範囲では表示物のぼかし処理を行わず、所与の距離範囲よりも遠い距離範囲において表示物のぼかし処理を行う。
また表示処理部120は、所与の距離範囲(第1の距離範囲)よりも遠い距離範囲(第2の距離範囲)にある表示物であっても、所定の表示物については、ぼかし処理の対象から除外する、又はぼかし処理のぼかし度合いを他の表示物に比べて弱くする。例えばゲーム等で重要な表示物や、ユーザに見せる必要がある特定の表示物については、画像エフェクト処理のぼかし処理の対象から除外したり、ぼかし処理のぼかし度合い(エフェクト度合い)を他の表示物に比べて弱くする。こうすることで、ユーザにとって重要な表示物等が、画像エフェクト処理により強くぼけてしまって、ユーザから見えにくくなってしまう事態が防止される。
また表示処理部120は、所与の距離範囲よりも遠い距離範囲にある表示物であっても、所定の表示物については、他の表示物に比べて視認性を高める処理を行う。例えば表示処理部120は、視認性を高める処理として、サイズ変化処理、輝度変化処理、色調変化処理、及び奥行き値変化処理の少なくとも一方を、所定の表示物に対して行う。視認性を高める処理は、ユーザが、より容易にその表示物を視認できるようにするための処理である。サイズ変化処理は、当該表示物のサイズを変化させる処理である。輝度変化処理や色調変化処理は、当該表示物の輝度(明るさ)や色調(色合い。明度と彩度の組合わせで表した色の系統)を変化させる処理である。奥行き値変化処理は、当該表示物の奥行き値(仮想カメラから見た奥行き距離)を変化させる処理である。
また入力処理部102(入力受け付け部)は、HMD200を装着するユーザの視点情報のトラッキング情報を取得する。例えばユーザの視点位置、視線方向の少なくとも1つである視点情報のトラッキング情報(視点トラッキング情報)を取得する。このトラッキング情報は、例えばHMD200のトラッキング処理を行うことで取得できる。なおトラッキング処理によりユーザの視点位置、視線方向を直接に取得するようにしてもよい。具体的にはトラッキング情報は、ユーザの初期視点情報からの視点情報の変化情報を含む。例えばトラッキング情報は、ユーザの初期視点位置からの視点位置の変化情報(視点位置の座標の変化値)、及び、ユーザの初期視線方向からの視線方向の変化情報(視線方向の回転軸回りでの回転角度の変化値)の少なくとも一方を含む。このようなトラッキング情報が含む視点情報の変化情報に基づいて、ユーザの視点位置や視線方向(ユーザの頭部の位置、姿勢の情報)を特定できるようになる。
そして仮想カメラ制御部118は、取得されたトラッキング情報(ユーザの視点位置及び視線方向の少なくとも一方の情報)に基づいて仮想カメラの位置、姿勢を変化させる。例えば、仮想カメラ制御部118は、実空間でのユーザの視点位置、視線方向の変化に応じて仮想カメラの位置(視点位置)、姿勢(視線方向)が変化するように、仮想カメラを設定する。
例えば仮想空間での仮想ユーザの視点(一人称視点)に対して仮想カメラが設定される。そしてHMD200を装着した実空間(実世界)のユーザが首を振ったり、体を動かすなどして、ユーザの視点位置や視線方向が変化すると、仮想空間の仮想ユーザの視点位置や視線方向もそれに応じて変化する。即ち、実空間でのユーザの視点位置や視線方向が変化すると、それに応じて仮想空間での仮想カメラの位置や姿勢が変化する。またユーザが操作部160を操作することなどにより、仮想ユーザ(キャラクタ)やその搭乗移動体(ロボット、電車、車、バイク、自転車、飛行機又は船等)が仮想空間内で移動すると、その移動に追従するように仮想カメラの位置(仮想ユーザの視点位置)も変化する。このようにすることで、ユーザは、あたかも自身の分身である仮想ユーザやその搭乗移動体が仮想空間で移動するような仮想現実を体験できるようになる。なお仮想空間での仮想ユーザの視点は、例えば一人称視点になるが、その一人称視点の画像に、例えば仮想ユーザ(キャラクタ)の体の一部が映ったり、搭乗移動体の内部の様子が映るようにしてもよい。
なお仮想カメラの姿勢は、例えば、仮想カメラの視線方向のベクトルと、仮想カメラの上方向のベクトル(仮想カメラの上向き方向がどの方向であるかを表すベクトル)とにより規定できる。視線方向のベクトルは仮想カメラの注視位置により設定できる。例えば仮想カメラの視線方向のベクトルを変化させることで、仮想カメラのピッチングやヨーイングの姿勢変化(回転移動)を実現できる。例えば仮想カメラの上方向のベクトルを変化させることで、仮想カメラのローリングの姿勢変化(回転移動)を実現できる。
また移動体の姿勢は、複数の各回転軸回り(X軸、Y軸、Z軸)での移動体(モデルオブジェクト)の回転角度により規定できる。移動体の姿勢変化は各回転軸回りでの回転移動である。例えば移動体の姿勢は、ワールド座標系に対する移動体のローカル座標系の各回転軸回りでの回転角度により規定でき、例えば座標変換の回転行列により表すことができる。
またHMD200に対して画像を表示する代わりに、プロジェクション用のスクリーンに対して投影装置により画像を投影するようにしてもよい。プロジェクション用スクリーンは、1つの曲面又は複数の面により構成されるスクリーンであり、例えばドーム形状のスクリーンと呼ばれる曲面スクリーンである。
また表示処理部120は、仮想カメラの視線方向又は視点位置の変化状況、移動体の移動状態の変化状況、仮想カメラの注視場所又は注視対象の状況、或いはゲーム状況に応じて、画像エフェクト処理のオン、オフの設定、或いは画像エフェクト処理のエフェクト度合いの設定を行う。
例えば仮想カメラの視線方向又は視点位置や、移動体の速度又は加速度等(広義には移動状態)が大きく変化するような状況(変化イベント)が発生した場合に、画像エフェクト処理をオンにする。例えば仮想カメラの視線方向又は視点位置や、移動体の速度又は加速度等の変化が急激に起こる状況(例えば衝突、急カーブ、スピン、転倒、急激な下り道又は落下等)や、起こることが予定される状況である場合に、ユーザの3D酔いが引き起こされる可能性が高いと判断して、画像エフェクト処理をオンにする。或いは、仮想カメラの視線方向又は視点位置や、移動体の速度又は加速度等が全く変化していない場合には、画像エフェクト処理をオフにしてもよい。或いは、仮想カメラの視線方向又は視点位置や、移動体の速度又は加速度等の変化量に応じて、画像エフェクト処理のエフェクト度合いを設定する。例えば変化量が大きいほどエフェクト度合いを強くする。エフェクト度合いは、例えばぼけ処理におけるぼけ度合いや、エフェクト処理の開始タイミングやエフェクト処理期間の長さなどを特定する情報などである。
或いは、仮想カメラの注視場所又は注視対象が、酔いが発生しやすい場所や対象である場合に、画像エフェクト処理をオンにし、そのような場所や対象ではない場合に、画像エフェクト処理をオフにする。例えば、ユーザの視点に対応する仮想カメラの向く方向の場面が、3D酔いが生じやすい状況である場合には、画像エフェクト処理をオンにする。例えば注視場所等において多くの表示物が表示されている状況である場合に、画像エフェクト処理をオンにし、殆ど表示物が表示されていない状況である場合に、画像エフェクト処理をオフにする。或いは、注視場所又は注視対象での状況に応じて、画像エフェクト処理のエフェクト度合いを変化させる。例えば注視場所等での表示物の数に応じて、画像エフェクト処理のエフェクト度合いを変化させる。例えば表示物の数が多いほどエフェクト度合いを強くする。或いは、ゲーム状況が、酔いが生じやすいゲーム状況である場合に、画像エフェクト処理をオンにし、そのようなゲーム状況ではない場合に、画像エフェクト処理をオフにする。或いはゲーム状況に応じて画像エフェクト処理のエフェクト度合いを変化させる。ゲーム状況は、例えば、ゲームの進行状況(ゲームの序盤、中盤、終盤等)、ユーザがプレイするゲームステージの状況(ゲームステージの種類、属性等)、敵との対戦状況、ユーザ(仮想ユーザ)のステータスや獲得ポイントの状況、或いはゲームにおけるユーザ(仮想ユーザ)の周囲の状況などである。
なお、場面ごとに酔い度数が設定されたテーブル情報を記憶部170に記憶しておき、このテーブル情報に基づいて、画像エフェクト処理のオン、オフを設定したり、画像エフェクト処理のエフェクト度合いを設定してもよい。
また表示処理部120は、ユーザのプレイレベル(ゲームプレイのレベル)に応じて、画像エフェクト処理のオン、オフの設定、或いは画像エフェクト処理のエフェクト度合いの設定を行ってもよい。例えばユーザのプレイレベルが低い場合(例えば初心者、初級者等)には、画像エフェクト処理をオンにし、プレイレベルが高い場合(例えば上級者等)には、画像エフェクト処理をオフにする。或いは、ユーザのプレイレベルが低いほど、画像エフェクト処理のエフェクト度合いを強くして、HMDのゲームに慣れていない初心者や初級者のユーザが3D酔いを引き起こすのを防止する。またユーザのプレイレベルが高いほど、画像エフェクト処理のエフェクト度合いを弱くして、上級者のユーザが、画像エフェクト処理があまりかかっていないゲーム画像でゲームを楽しめるようにする。
この場合にユーザのプレイレベルは、ユーザの頭部の動きをトラッキングしたトラッキング情報又はユーザのプレイ履歴情報に基づき判断してもよい。例えばゲーム開始後におけるユーザの頭部のトラッキング情報(視点トラッキング情報)や、記憶部170に記憶されるユーザの過去のプレイ履歴情報などに基づき、ユーザのプレイレベルを判断する処理を行う。この判断処理は例えばゲーム処理部112が行う。例えば初心者や初級者のユーザは、ゲームが開始してから、しばらくの間、HMD200を装着した頭部をあまり動かさない傾向にある。一方、上級者のユーザは、ゲームの序盤から頭部を頻繁に動かして、色々な場所を見ようとする傾向にある。従って、ゲーム開始後のユーザの頭部の動きのトラッキング情報に基づいて、ユーザのプレイレベルを判断できる。或いは、過去のユーザのプレイ履歴情報に基づいて、ユーザのプレイのレベルを判断する。例えばプレイ履歴情報に基づいて、頻繁にゲームプレイを行っている判断されるユーザは、プレイレベルが高いと判断し、初めてゲームプレイを行ったと判断されるユーザは、プレイレベルが低いと判断する。このプレイ履歴情報は、例えばユーザが所持する携帯型情報記憶媒体195から読み出してもよいし、携帯型情報記憶媒体195に記憶されるユーザID等の識別情報に基づいて、サーバからダウンロードしてもよい。
また表示処理部120は、ユーザによる設定情報又はユーザのプレイ履歴情報に基づいて、画像エフェクト処理のオン、オフの設定、或いは画像エフェクト処理のエフェクト度合いの設定を行ってもよい。例えばゲームの各種の設定情報をユーザが入力するためのオプション設定画面などにおいて、画像エフェクト処理のオン、オフや、画像エフェクト処理のエフェクト度合いを設定できるようにする。或いは、ユーザの過去のプレイ履歴情報などに基づいて、画像エフェクト処理のオン、オフや、画像エフェクト処理のエフェクト度合いを設定する。例えばプレイ履歴情報に基づいて、ゲームプレイを頻繁に行っておりゲームプレイに慣れていると判断されるユーザや、上級者であると判断されるユーザについては、画像エフェクト処理をオフにしたり、画像エフェクト処理のエフェクト度合いを弱くする。一方、プレイ履歴情報に基づいて、初心者や初級者であると判断されるユーザや、中級者であると判断されるユーザについては、画像エフェクト処理をオンにしたり、画像エフェクト処理のエフェクト度合いを強くする。
また本実施形態では、ユーザがプレイするゲームのゲーム処理として、仮想現実のシミュレーション処理を行う。仮想現実のシミュレーション処理は、実空間での事象を仮想空間で模擬するためのシミュレーション処理であり、当該事象をユーザに仮想体験させるための処理である。例えば実空間のユーザに対応する仮想ユーザやその搭乗移動体などの移動体を、仮想空間で移動させたり、移動に伴う環境や周囲の変化をユーザに体感させるための処理を行う。
そして可動筐体40は、移動体の移動状態に応じて、ユーザのプレイ位置を変化させる。移動状態は、移動体の速度(角速度)、加速度(角加速度)、移動方向、或いは移動環境などの状態である。例えば可動筐体40は、ゲーム処理であるシミュレーション処理の結果に基づいてプレイ位置を変化させる。例えば仮想空間での移動体の移動処理の結果等に基づいて、プレイ位置を変化させる。例えば、ユーザの進行方向の変化に伴う加速度の変化(加速、減速)を、ユーザに体感させるためのシミュレーション処理として、可動筐体40によりプレイ位置を変化させる処理を行う。或いは、コース上を移動体が移動する際に、コースの上り下りや凹凸をユーザに体感させるためのシミュレーション処理として、可動筐体40によりプレイ位置を変化させる処理を行う。このように可動筐体40によりプレイ位置を変化させることで、HMD200での表示画像の揺れと、ユーザが体感する加速度等の変化が、ある程度連動するようになり、ユーザの3D酔い等を抑制できるようになる。
なおプレイ位置は、仮想現実(VR)のシミュレーションゲームをプレイする際にユーザが位置するプレイポジションである。例えばプレイ位置は、シートなどのライド部でのユーザのライド位置である。例えばライド部であるシート等に座って、仮想現実のシミュレーションゲームをプレイしている場合には、プレイ位置は例えばシートのライド位置である着座位置である。またユーザが、バイク、自転車、又は馬などの乗り物や動物を模擬したライド部にまたがっている場合には、プレイ位置は、またがっている位置である。またユーザが立ち姿勢でシミュレーションゲームをプレイする場合には、プレイ位置は、例えばユーザの立ち位置である。
また本実施形態のシミュレーションシステムは音処理部130を有しており、音処理部130は、移動体の移動状態に応じた出力音を生成する処理を行う。例えば移動体の進行方向の変化に応じた音又は移動体が移動するコースの状況に応じた出力音を生成する。例えば移動体の進行方向が変化したり、コースの状況が変化した場合に、その変化をユーザに認識させるための出力音を生成する。例えば凹凸のあるコースでは、「ガタガタ」というような音を出力して、コースに凹凸があることをユーザに聴覚的に認識させる。またユーザの進行方向が急激に変化した場合に、進行方向を変化させる加速度の変化(加速、減速等)をユーザに認識させるための音を出力して、進行方向が変化したことをユーザに聴覚的に認識させる。このようにすることで、ユーザの3D酔いの発生を低減できるようになる。
2.トラッキング処理
次にトラッキング処理の例について説明する。図2(A)に本実施形態のシミュレーションシステムに用いられるHMD200の一例を示す。図2(A)に示すようにHMD200には複数の受光素子201、202、203(フォトダイオード)が設けられている。受光素子201、202はHMD200の前面側に設けられ、受光素子203はHMD200の右側面に設けられている。またHMDの左側面、上面等にも不図示の受光素子が設けられている。
またHMD200には、ヘッドバンド260等が設けられており、ユーザPLは、より良い装着感で安定的に頭部にHMD200を装着できるようになっている。また、HMD200には、不図示のヘッドホン端子が設けられており、このヘッドホン端子にヘッドホン270(音出力部192)を接続することで、例えば3次元音響(3次元オーディオ)の処理が施されたゲーム音を、ユーザPLは聴くことが可能になる。なお、ユーザの頭部の頷き動作や首振り動作をHMD200のセンサ部210等により検出することで、ユーザの操作情報を入力できるようにしてもよい。
図2(B)に示すように、シミュレーションシステム(可動筐体40)の周辺には、ベースステーション280、284が設置されている。ベースステーション280には発光素子281、282が設けられ、ベースステーション284には発光素子285、286が設けられている。発光素子281、282、285、286は、例えばレーザー(赤外線レーザー等)を出射するLEDにより実現される。ベースステーション280、284は、これら発光素子281、282、285、286を用いて、例えばレーザーを放射状に出射する。そして図2(A)のHMD200に設けられた受光素子201〜203等が、ベースステーション280、284からのレーザーを受光することで、HMD200のトラッキングが実現され、ユーザPLの頭の位置や向く方向(視点位置、視線方向)を検出できるようになる。
図3(A)にHMD200の他の例を示す。図3(A)では、HMD200に対して複数の発光素子231〜236が設けられている。これらの発光素子231〜236は例えばLEDなどにより実現される。発光素子231〜234は、HMD200の前面側に設けられ、発光素子235や不図示の発光素子236は、背面側に設けられる。これらの発光素子231〜236は、例えば可視光の帯域の光を出射(発光)する。具体的には発光素子231〜236は、互いに異なる色の光を出射する。そして図3(B)に示す撮像部150をユーザPLの前方側に設置し、この撮像部150により、これらの発光素子231〜236の光を撮像する。即ち、撮像部150の撮像画像には、これらの発光素子231〜236のスポット光が映る。そして、この撮像画像の画像処理を行うことで、ユーザPLの頭部(HMD)のトラッキングを実現する。即ちユーザPLの頭部の3次元位置や向く方向(視点位置、視線方向)を検出する。
例えば図3(B)に示すように撮像部150には第1、第2のカメラ151、152が設けられており、これらの第1、第2のカメラ151、152の第1、第2の撮像画像を用いることで、ユーザPLの頭部の奥行き方向での位置等が検出可能になる。またHMD200に設けられたモーションセンサのモーション検出情報に基づいて、ユーザPLの頭部の回転角度(視線)も検出可能になっている。従って、このようなHMD200を用いることで、ユーザPLが、周囲の360度の全方向うちのどの方向を向いた場合にも、それに対応する仮想空間(仮想3次元空間)での画像(ユーザの視点に対応する仮想カメラから見える画像)を、HMD200の表示部220に表示することが可能になる。なお、発光素子231〜236として、可視光ではなく赤外線のLEDを用いてもよい。また、例えばデプスカメラ等を用いるなどの他の手法で、ユーザの頭部の位置や動き等を検出するようにしてもよい。
なお、ユーザの視点位置、視線方向(ユーザの位置、方向)を検出するトラッキング処理の手法は、図2(A)〜図3(B)で説明した手法には限定されない。例えばHMD200に設けられたモーションセンサ等を用いて、HMD200の単体でトラッキング処理を実現してもよい。即ち、図2(B)のベースステーション280、284、図3(B)の撮像部150などの外部装置を設けることなく、トラッキング処理を実現する。或いは、公知のアイトラッキング、フェイストラッキング又はヘッドトラッキングなどの種々の視点トラッキング手法により、ユーザの視点位置、視線方向などの視点情報等を検出してもよい。
3.シミュレーションシステムの具体例
次にシミュレーションシステムの具体例について説明する。図4は、シミュレーションシステムの一例であるロボットシミュレータ(ロボットゲーム装置)の構成例を示す斜視図である。図4に示す可動筐体40では、底部450(ベース部)の上にカバー部451が設けられ、その上に、ベース部452(台座部)が設けられる。このベース部452にはシート支持部464が設けられ、シート支持部464の上にシート462が取り付けられることで、ライド部460が構成されている。
またベース部452には、移動部470が設けられる。具体的には、ベース部452にはレール部454、455が設けられ、レール部454、455に沿った方向で移動可能になるように、移動部470が設けられる。
移動部470は支持部472を有し、支持部472の上端には上面部473(操作基台)が設けられる。そして上面部473には、操作レバー161、162や、センサ部を有するゲームコントローラ165が設けられている。ゲームコントローラ165が有するセンサ部は、位置及び方向の少なくとも一方を検出する。操作レバー161、162は、図1の操作部160を構成するものである。ユーザが操作レバー161、162を手で操作すると、それに連動して、仮想空間のロボットのコックピット内の仮想ユーザが、コックピットに設けられた操作レバーを操作する様子が表示されるようになる。
ユーザが、操作レバー161、162を前方側に倒すと、仮想空間のロボットが前方側に移動し、操作レバー161、162を後方側に倒すと、ロボットが後方側に移動する。ユーザが操作レバー161、162が右方向側、左方向側に倒すと、ロボットが右方向側、左方向側に移動する。また操作レバー161、162の一方を前方側に倒し、他方を後方側に倒すことで、ロボットの向く方向を変えることができる。
ゲームコントローラ165には、センサ部として用いられる少なくとも1つの受光素子が設けられる。そして図2(A)、図2(B)のトラッキング処理と同様の処理により、ゲームコントローラ165のセンサ部の検出機能(位置及び方向の少なくとも一方の検出機能)が実現される。この検出機能により、例えば可動筐体40の可動によるプレイ位置(ライド部460でのライド位置、着座位置)の変化を検出できるようになる。
移動部470の支持部472の下端には下面部474が設けられ、下面部474には、アクセルペダル163、ブレーキペダル164が設けられる。ユーザがアクセルペダル163を踏むと、仮想空間のロボットが加速して移動するダッシュ移動が行われる。ユーザがブレーキペダル164を踏むと、ロボットの移動が停止する。
可動筐体40のベース部452には、フレーム部430が設けられている。そしてフレーム部430のガイド部432が、処理装置からのケーブル20をガイドしている。例えば下方から上方へと向かう所定経路でケーブル20をガイドする。そして、ガイドされたケーブル20は、経由点TPを経由してHMD200に接続される。具体的には、ケーブル20は、経由点TPにおいて固定具433により固定されて、HMD200に接続される。
本実施形態のロボットシミュレータでは、図5(A)に示すように、ユーザに対応する仮想ユーザPLV(仮想プレーヤ)が、仮想空間内のロボットRBのコックピットCKPに搭乗して、敵ロボット等と対戦するロボットゲームのゲーム画像が生成される。ロボットRBの出撃時には、仮想世界において、図5(A)のフードFDが閉じられる。そしてユーザ(仮想ユーザ)は、狭い空間のコックピットCKP内でロボットRBを操縦して、敵ロボット等と対戦するゲームを楽しむことになる。
図5(B)、図6は本実施形態のロボットシミュレータで生成されるゲーム画像の例である。これらのゲーム画像に示すように、仮想世界のロボットRBの有視界式のコックピットCKPのフードFDには、ウィンドウWDが設けられており、ユーザは、このウィンドウWDを介して外界の様子を見ることができる。図6では、ウィンドウWD内には、敵ロボットERBや照準SGや戦闘フィールドのマップが表示されている。またユーザが操作するロボットRBの武器であるミサイルのランチャーLAA、キャノン砲CNBや、これらの武器の残り弾数を示す弾数アイコンSNA、SNBも表示されている。
照準SGは、HMD200を装着するユーザの視線(頭部、HMD)の動きに追従するように移動する。例えばユーザが右を向けば、ゲーム画像上の照準SGは右に移動し、左を向けば照準SGは左に移動する。ユーザは、照準SGの位置を敵ロボットERBの位置に移動し、ランチャーLAAやキャノン砲CNBにより攻撃することで、対戦ゲームを楽しむ。
ユーザが、頭部を頷くように下に向けて、視線を下に向けると、図5(B)に示すようなゲーム画像が表示される。図5(B)のゲーム画像では、ディスプレイDISや、操作レバーLVL、LVRや、仮想ユーザPLVの手HL、HRの画像が表示される。そして現実世界のユーザが操作部160(左用、右用の操作レバー)を操作すると、それに連動して、仮想世界の仮想ユーザPLVの手HL、HRが操作レバーLVL、LVRを操作する様子が表示される。これにより、あたかも本物のロボットを操作しているかのような感覚をユーザに与えることができ、ユーザの仮想現実感を大幅に向上できる。
なお図6のゲーム画像は、例えば仮想世界のロボットRBの外装等に左目用の仮想カメラと右目用の仮想カメラを取り付けて、左目用の仮想カメラから見える画像を、ユーザの左目用画像のウィンドウWDの場所に表示(投影)し、右目用の仮想カメラから見える画像を、ユーザの右目用画像のウィンドウWDの場所に表示(投影)することで実現してもよい。
このように本実施形態のシミュレーションシステムでは、ユーザの全周囲の方向に亘って、仮想空間であるVR(VirtualReality)空間の世界が広がる。例えばユーザが前方の正面側を向けば、図6のように仮想世界のロボットRBのコックピットCKPのフードFDに設けられたウィンドウWDを介して、敵ロボットERBや風景が見ることができる。またユーザが前方の下方側を向けば、図5(B)のようにコックピットCKPに配置されたディスプレイDISや、仮想ユーザPLVが手HL、HRにより操作レバーLVL、LVRを操作している様子を見ることができる。従って、あたかも本物のロボットのコックピットに着座して、当該ロボットを操作しているというような感覚をユーザに与えることができ、ユーザの仮想現実感を大幅に向上できる。
図7(A)は、可動筐体40(可動機構)の動作を概略的に説明する図である。なお図7(A)では、説明の簡素化のために、図4のカバー部451、ベース部452、シート支持部464等の構成を省略して示している。例えば図7(A)では、電動シリンダ413、414により、シート462(ライド部460)が回転移動する場合について説明するが、実際には図4のベース部452、シート462等が一体となって、回転移動する。
図7(A)に示すように、可動筐体40は、アクチェエータである電動シリンダ413、414を有する。電動シリンダ413、414は、処理装置からの電気信号である制御信号に基づいて、A1、A2に示すように、そのロッド部を直線運動させ、これにより、シート462の方向(姿勢)等を変化させる動作が実現される。具体的には、図4において、シート462(ライド部460)が取り付けられているベース部452の方向(姿勢)等を変化させる動作が実現される。
可動筐体40の底部450には、基台402が設けられており、基台402にはヒンジ部403、404が設けられている。そして電動シリンダ413、414の一端は、ヒンジ部403、404により基台402に取り付けられる。具体的にはヒンジ部403、404は、水平方向であるX軸回りに回動自在となるように電動シリンダ413、414の一端を支持している。またシート462の背もたれ部の裏面側には取り付け部材420が設けられており、取り付け部材420には、ヒンジ部423、424が設けられている。そして電動シリンダ413、414の他端は、ヒンジ部423、424により取り付け部材420に取り付けられる。具体的にはヒンジ部423、424は、X軸回りに回動自在となるように電動シリンダ413、414の他端を支持している。
基台402には、ヒンジ部405、406が設けられ、ヒンジ部405、406には支持部415、419の一端が取り付けられている。そして、支持部415、419の他端はシート462の座部(裏面)に取り付けられる。より具体的には、支持部415は、リンクボール416、417と、ヨー方向(旋回)の動きを規制するリンクシャフト418により構成される。支持部419は、リンクボールにより構成される。なお、支持部415、419は、実際には図4のカバー部451の内側に設けられている。
図7(B)に、支持部419等を構成するリンクボールの例を示す。支持部419では、図7(B)のB1に示す雄ネジ側が、シート462側(可動側)に固定され、B2に示す雌ネジ側が、底部450側(固定側)に固定される。
このような球面すべり軸受け部材であるリンクボールを用いることで、支持部419によるピッチング、ローリング、ヨーイングの回転移動を実現できる。なお図7(A)では、リンクシャフト418等により構成される支持部415を設けることで、ヨーイングの回転移動を制限している。この場合にリンクシャフト418として電動シリンダ等を用いて伸縮自在とすれば、ヨーイングの回転移動も制御できるようになる。
例えば図7(A)において、電動シリンダ413、414のロッド部が共に短くなると、シート462(ベース部452)がX軸回りにピッチングして、ユーザが後ろのめりになる動作が実現される。例えば図4においてユーザがアクセルペダル163を踏んで、ロボットの移動を加速させた場合には、その加速感を体感させるために、ユーザが後ろのめりになるようなピッチングの回転移動を行う。
また電動シリンダ413、414のロッド部が共に長くなると、シート462(ベース部452)がX軸回りにピッチングして、ユーザが前のめりになる動作が実現される。例えば図4においてユーザがブレーキペダル164を踏んでロボットの移動を減速させた場合には、その減速感を体感させるために、ユーザが前のめりになるようなピッチングの回転移動を行う。
またユーザが、図4の操作レバー161、162を操作して、ロボットを進行方向に対して右側や左側に曲げる操作を行った場合には、電動シリンダ413、414のロッド部の一方を短くし、他方を長くする制御を行う。これにより、シート462(ベース部452)がZ軸回りにローリングして、ロボットが進行方向に対して右側や左側に曲がる際の慣性力をユーザに体感させることができる。
このようにロボットの移動に伴う加速感、減速感、慣性力をユーザに体感させることで、ユーザの仮想現実感を向上できると共に、いわゆる3D酔いを抑制することも可能になる。即ち、例えばHMD200には、仮想ユーザが搭乗するロボット(搭乗移動体)が移動する画像が立体的に表示されているのに、実世界においてはユーザのプレイ位置が殆ど移動していないと、ユーザに感覚のずれが生じ、3D酔いを引き起こしてしまう。
この点、本実施形態では、可動筐体40を設けることで、このような3D酔いを緩和している。即ち、ロボットの加速、減速、コーナリングの際に、可動筐体40のシート462(ベース部452)を回転移動(ローリング、ピッチング等)させて、ユーザのプレイ位置を変化させる。こうすることで、仮想世界の事象と、実空間の事象が近づくようになり、3D酔いを緩和できる。
図8は、シミュレーションシステムの一例であるスキーシミュレータの構成例を示す斜視図である。スキーシミュレータは可動筐体40を有し、この可動筐体40は、DRC方向に対向して設けられるベース部41、42を含む。ベース部41、42の間には、その四隅に、エアバネ部50、51、52、53(広義には伸縮部)が設けられている。これらのエアバネ部50、51、52、53は、エアコンプレッサやバブルを用いて空気の供給や排出が行われることで、DRC方向において伸縮する。
例えば図8に示すように、鉛直方向をY軸方向とし、ユーザPLの向く方向をZ軸方向とし、Y軸方向とZ軸方向に直交する方向をX軸方向とする。この場合、全てのエアバネ部50、51、52、53が伸びたり、縮むことで、ベース部41を、Y軸方向で上側や下側に移動させることができる。これらの上下方向でのベース部41の移動により、例えばスキーで滑る際の雪面の状態の再現などが可能になる。例えば少ないストロークで、且つ、速い速度で上下方向にベース部41を移動させることで、雪面の凹凸などを表現できる。
また四隅のエアバネ部50、51、52、53のうちの左側及び右側の一方のエアバネ部が伸び、他方のエアバネ部が縮むことで、ベース部41を、Z軸の回りにローリングさせことができる。またエアバネ部50、51、52、53のうちの前側及び後ろ側の一方のエアバネ部が伸び、他方のエアバネ部が縮むことで、ベース部41を、X軸の回りにピッチングさせることができる。このようなローリングやピッチングを行うことで、スキーで滑っている斜面の状態等を表現できる。
また可動筐体40には、ユーザPLの左足、右足を載せるための足台45、46が設けられた操作部材43、44が、ベース部41に対して回動自在に設けられている。具体的には、操作部材43、44は図8のDRD方向にスイング移動(揺動)する。即ちY軸回りでのヨーイングのスイング移動が可能になる。足台45、46はDRE方向に回動する。即ちZ軸回りでの回転が可能である。
ユーザPLは、スキーを滑る要領で、操作部材43、44、足台45、46を用いた操作を行う。例えば操作部材43、44をDRD方向でスイング移動するスイング操作や、足台45、46をDRE方向で回動させるエッジング操作を行うことで、現実世界のスキーで行うようなスキー操作を行う。これにより、HMD200に映し出させる仮想ユーザが、対応するスキー操作を行い、仮想空間内のコース上でスキーを滑る仮想現実を、ユーザPLは体感できるようになる。
また可動筐体40には、ユーザPLが手で把持するための把持部61、63(把持部63は不図示)が先端に設けられたガイド部60、62が設けられている。把持部61、63は現実世界のスキーのストックのグリップに相当する。ユーザPLは、把持部61、63を手で握ることで自身の身体を支えながら、スキーを行う要領で、操作部材43、44をスイング移動するスイング操作を行ったり、足台45、46を用いたエッジング操作を行って、スキーのシミュレーションゲームを楽しむ。
なおユーザPLの前方に設けられた風洞部69からは、風が送出され、スキーで滑ったことによる風をユーザPLに体感させている。またガイド部60は、HMD200の表示画像を生成する処理装置(図1の処理部100、記憶部170等を含む装置。例えばゲーム装置、PC等)からのケーブル20を、下方から上方に所定経路に沿ってガイドする。そしてケーブル20は、支持ガイド64を通って、経由点TPであるケーブル取り出し口65から取り出され、HMD200に接続される。
なお本実施形態のシミュレーションシステムを実現する装置は、図4、図8に示すような装置には限定されない。例えば本実施形態のシミュレーションシステムは、表示部としてHMDが用いられる家庭用ゲーム装置、業務用ゲーム装置、パーソナルコンピュータ(PC)、携帯型情報端末や、多数のユーザが参加する大型アトラクション装置などの種々の装置に適用できる。また本実施形態のシミュレーションシステムは、ネットワークを介して複数の端末装置(ゲーム装置、PC、携帯型情報端末等)が通信接続されるサーバシステムにより実現してもよい。この場合に本実施形態の各処理は、シミュレーションシステムと端末装置との分散処理により実現してもよい。
4.本実施形態の手法
次に本実施形態の手法について詳細に説明する。なお、以下では本実施形態の手法を図4のロボットシミュレータに適用した場合を主に例にとり説明する。但し、本実施形態はこれに限定されず、種々のゲーム(RPG、アクションゲーム、対戦ゲーム、競争ゲーム、スポーツゲーム、ホラー体験ゲーム、電車や飛行機等の乗り物のシミュレーションゲーム、パズルゲーム、コミュニケーションゲーム、或いは音楽ゲーム等)に適用でき、ゲーム以外にも適用可能である。また以下では、移動体が、仮想ユーザ(キャラクタ)が搭乗するロボット等の搭乗移動体である場合を例にとり説明するが、移動体は、ユーザに対応する仮想ユーザ(例えば図8のスキーヤー)であってもよい。
4.1 3D酔い
図9はHMDの光学系の構成例を示す図である。ユーザの左目、右目の前方側には接眼レンズ2、4、ディスプレイ6、8が設けられる。ディスプレイ6、8には、各々、立体視の左目用、右目用の画像が表示される。接眼レンズ2、4のレンズ中央間の距離は、例えば左目用、右目用の画像の生成用の第1、第2の仮想カメラのカメラ間距離に応じた距離に設定されている。なお、1つのディスプレイの第1、第2の表示領域に左目用、右目用の画像を表示してもよい。
このような接眼レンズ2、4を設けることで、仮想視距離VD(視距離)だけ離れた位置に、見かけ上のディスプレイである仮想画面10があるかのように認識させることができる。例えば立体視における視差がゼロの表示物が仮想画面10の位置に配置されるように見える画像が表示される。この場合に、例えば接眼レンズ2、4の焦点距離等を変更することで、仮想視距離VDや仮想画面10の画面サイズなどを調整できる。
図10は本実施形態の比較例の手法により生成されたゲーム画像の例である。この比較例の手法では、本実施形態のような酔い防止用の画像エフェクト処理を行っておらず、仮想カメラから見える画像(レンダリング処理により生成された画像)をそのままHMDに表示している。このため、ゲーム画像上の全ての表示物OB1〜OB10が、ピントが合った画像として表示されている。このように、仮想カメラから見える画像をそのままHMDに表示してしまうと、仮想カメラから見て近くから遠くまでの全ての表示物OB1〜OB10がクッキリと見えている状態であると脳が感じ、全ての情報を拾おうとして、情報過多になり、3D酔いを誘発してしまう。3D酔いとは、例えば立体感のある動きの激しい映像を見続けることで、めまいなどの乗り物酔いのような症状を起こすことである。例えば現実世界の人間の目においては、目が注視する物体についてはピントが合っているが、注視している物体の周囲の物体については、実際にはぼやけて見えている。従って、図10のように、ユーザ(仮想ユーザ)が注視している表示物OB1(敵ロボット)以外の表示物OB2〜OB10についても、ピントがあった画像になっていると、現実世界において目に見える画像とは異なってしまう。従って、ユーザにとって不自然な画像となって目の疲れを生み、3D酔い等の原因になってしまう。そして、このような3D酔いが生じると、ユーザの長時間プレイの妨げとなったり、ユーザが再プレイを行わなくなり、シミュレーションシステムの魅力や稼働率が低下してしまう。
例えば図11のD1に示すように、現実世界において人間は、目の焦点距離FCDの調節(眼球の水晶体の調節)と、両目の視線が交差する角度である輻輳角θCの調整とにより、物体の奥行き位置などを認識している。つまり、目の焦点距離FCDを調節する調節デマンドと、輻輳角θCを調整する輻輳デマンドとにより、奥行き感や立体感を認識している。
一方、立体視においては、図11のD2に示すように、視差のある画像を仮想画面10に表示することで、仮想画面10の奥側や手前側に表示物の画像を融像している。この場合に、仮想画面10は仮想視距離VDの位置にあるため、目の焦点距離はFCD=VDになる一方で、輻輳角θCについては、融像されている表示物の位置に両目の視線が交差するように調整される。つまり、立体視においては、立体感は主に視差によって作り出されており、目の焦点距離FCDの調節という概念は無視されている。即ち、左目用画像と右目用画像の視差によって、仮想画面10の奥側や手前側に表示物を融像した場合に、それに応じて輻輳角θCは調整されるが、目の焦点距離はFCD=VDというように一定になる。従って、現実世界における目の動きとは乖離してしまい、この乖離が不自然感を生み、3D酔い等を引き起こしてしまう。
例えば図10のゲーム画像において、仮想カメラから遠くにある表示物OB5〜OB10をユーザが注視しようとすると、図11のD2に示すように焦点距離FCDは一定のまま、輻輳角θCだけを調整して、これらの表示物OB5〜OB10を見ることになる。従って、ユーザは、現実世界での目の動きとは乖離した目の動きを強いられることになる。例えば図11のD2で説明したように、立体視では調節デマンドが固定され、輻輳デマンドは可変となる。そして立体視を実現するための実画像は、光学的に同じ仮想視距離VDのままで仮想画面10に表示されながら、ユーザは、様々に異なった奥行き値の表示物OB5〜OB10に視線を向けるように目を動かすことが求められてしまう。つまり、このような奥行き値の異なる多数の表示物OB5〜OB10がゲーム画像上に表示されてしまうと、それらの表示物を注視するたびに、ユーザは、目の不自然な動きを強いられてしまう。この結果、ユーザの3D酔いを引き起こしてしまうという問題が生じる。
4.2 画像エフェクト処理
以上のような問題を解決するために本実施形態では、酔い防止用の画像エフェクト処理を行う手法を採用している。具体的には図12に示すように、仮想カメラVCから所与の距離範囲DRG1にある表示物OBXに比べて、距離範囲DRG1よりも遠い距離範囲DRG2にある表示物の画像をぼかす処理を、酔い防止用の画像エフェクト処理として行う。例えば仮想カメラから見える画像としてレンダリング処理より生成された画像に対して、酔い防止用の画像エフェクト処理を行うことで、仮想カメラVCから遠い距離範囲DRG2にある表示物OBYの画像をぼかす。例えば距離範囲DRG1(第1の距離範囲)にある表示物OBXについては、ピントが合った画像(フォーカス画像)にする一方で、距離範囲DRG2(第2の距離範囲)にある表示物OBYについては、ぼけた画像(デフォーカス画像)にする。なお距離範囲は仮想カメラVCの奥行き方向での距離(Z)の範囲である。また表示物のぼかし処理を開始する距離(奥行き距離)は任意に設定可能である。
図13は本実施形態の手法により生成されたゲーム画像の例である。図13では、仮想カメラから近い距離にある表示物OB1〜OB4については、ぼけた画像になっていない。例えば表示物OB1〜OB4は焦点が合った画像になっている。一方、仮想カメラから遠い距離にある表示物OB5〜OB10については、画像エフェクト処理によりぼけた画像になっている。例えば表示物OB5〜OB10は焦点が合っていない画像になっている。なおOB1、OB2は敵ロボット、OB3は敵砲台、OB5は橋、OB4、OB6、OB7、OB8、OB9は照明塔、OB10は山を表す表示物である。
このように図13では、仮想カメラ(仮想ユーザの視点)から見て近くにある表示物OB1〜OB4については、ピントが合ったクッキリした画像になる。このためユーザは、これらの表示物OB1〜OB4を注視対象としてゲームプレイをスムーズに行うことができる。例えば敵ロボットの表示物OB1、OB2や敵砲台の表示物OB3に照準SGを合わせて攻撃するなどのゲームプレイを楽しむことが可能になる。
一方、仮想カメラから見て遠くにある表示物OB5〜OB10については、ピントが合っていないぼけた画像になっている。従って、これらの表示物OB5〜OB10をユーザが注視することで3D酔いが引き起こされてしまうのを、効果的に防止できる。即ち、ユーザがHMDを装着して仮想空間の景色を見る際に、図12のような画像エフェクト処理を行うことで、例えば図13のように画面の中央部に焦点が合い、中央部以外がぼけて見える画像を表示できるようになる。従って、ユーザは、画面中央部だけに視線(目線)を合わせるように意識が働くようになり、そこに目の視線(輻輳)を合わせるようになる。この結果、画面中央部の外側の色々な場所にユーザの視線が向くことがなくなり、3D酔いを防止できるようになる。また画面中央部の注視場所だけがクッキリと見え、その周辺がぼけた画像は、人間の目の見え方と同様になるため、ユーザにとって自然に感じる画像を表示できるという利点もある。
例えば初心者や初級者のユーザは、頭部の向きを前方方向にして画面中央部の方向を向きながら、目だけをキョロキョロさせて、画面中央部の外側の周縁部の表示物を見ようとする。この場合に、周縁部の表示物がピントの合った画像であると、図11のD2で説明したように、焦点距離FCDが一定のまま、輻輳角θCだけを変化させる目の動きになってしまい、3D酔いを引き起こしてしまう。
この点、本実施形態の手法によれば、図13に示すように、画面中央部の表示物(OB1等)についてはクッキリした画像になる一方で、周縁部の表示物(OB5〜OB10)についてはぼけた画像になる。従って、ユーザが目をキョロキョロさせて輻輳角θCだけを変化させる目の動きをしてしまうのが防止され、3D酔いを効果的に防止できるようになる。
そして本実施形態では、このような画像エフェクト処理として、例えば被写界深度処理を行う。被写界深度処理としては例えばアンリアルエンジンにおけるガウシアンDOFなどを用いることができる。図14(A)は被写界深度処理の説明図である。例えばアンリアルエンジンでは、図14(A)に示すように、焦点領域FCRG(焦点距離)、近点側遷移範囲NTR、遠点側遷移範囲FTR、ぼかし度合い(ぼかしサイズ)などのパラメータを設定できる。近点側遷移範囲NTRよりも手前側(仮想カメラに近い側)の領域が、近点側ぼかし領域NERG(ニア側ぼかし領域)である。遠点側遷移範囲FTRよりも奥側(仮想カメラから遠い側)の領域が、遠点側ぼかし領域FARG(ファー側ぼかし領域)である。
そして本実施形態では、図12の距離範囲DRG1が、図14(A)の焦点領域FCRGに含まれるようにする。また距離範囲DRG2が遠点側ぼかし領域FARGに含まれるようにする。こうすることで図13のゲーム画像に示すように、距離範囲DRG1(FCRG)にある表示物OB1〜OB4は焦点が合った画像になる一方で、距離範囲DRG2(FARG)にある表示物OB5〜OB10は、被写界深度処理によりぼけた画像になる。従って、酔い防止用の画像エフェクト処理を、被写界深度を有効利用して実現することが可能になる。
より具体的には本実施形態では、図14(B)に示すように、図12の距離範囲DRG1が、被写界深度の焦点領域FCRGに含まれ、仮想カメラから見て焦点領域FCRGよりも手前側の領域ではぼかし処理が行われないようにする。即ち、図14(A)の近点側遷移範囲NTRは設定せずに、近点側ぼかし領域NERGが無効になるようにする。そして焦点領域FCRGよりも奥側の領域においてぼかし処理が行われるように被写界深度処理を行う。例えば図14(A)の遠点側遷移範囲FTRを設定し、遠点側ぼかし領域FARGを有効にする。この遠点側ぼかし領域FARGが例えば図12の距離範囲DRG2に相当する。
このようにすれば図13に示すように、仮想カメラから見て近くの表示物OB1〜OB4については、焦点が合った画像が生成され、仮想カメラから見て遠くの表示物OB5〜OB10については、焦点が合っていないぼけた画像が生成されるようになる。
例えば被写界深度処理は、フォトリアリスティックな画像を生成するために一般的に用いられる。例えば車やアイドルなどの注目対象となる表示物にだけ焦点を合わせ、それ以外の表示物はぼけた画像になるようなレンズシミュレーションの画像を、被写界深度処理により生成する。そして被写界深度処理を、常時、実行するということはなく、車やアイドルなどの注目対象となる表示物が搭乗した場面においてだけ、被写界深度処理を実行する。即ち、カメラのレンズで見たようなフォトリアリスティックな画像を生成するために、被写界深度処理を実行する。更に、アンリアルエンジンにおいては、被写界深度処理は、ユーザの不快感等を引き起こすとして、HMD用の画像の生成の際には使用しないことが推奨されていた。
この点、本実施形態では、このようなフォトリアリスティックな画像表現のために被写界深度処理を用いるのではなく、ユーザの3D酔いの防止のために被写界深度処理を用いる。このためフォトリアリスティックな画像表現のためのパラメータ設定ではなく、仮想カメラに比較的近い表示物にだけ焦点を合わせて、遠くの表示物はぼけるようなパラメータ設定を行う。また本実施形態では、アンリアルエンジンでは推奨されていない被写界深度処理を、HMD用の画像の生成のために、敢えて使用している。
例えば、忠実なレンズシミュレーションの被写界深度処理では、近点側ぼかし領域NERGにおいても表示物のぼかし処理を行う。これに対して図14(B)の手法では、近点側ぼかし領域NERGについては無効にして、遠点側ぼかし領域FARGを有効にして、遠くの表示物だけをぼかす処理を行う。こうすることで、仮想カメラから近い位置にある表示物については、ぼけた画像にならなくなり、ユーザは自然な感覚でゲームプレイを行うことが可能になる。なお近点側ぼかし領域NERGを有効にして、仮想カメラから非常に近い表示物についてはぼかす処理を行うような変形実施も可能である。
またフォトリアリスティックな画像表現のための被写界深度処理では、上述の車やアイドルが登場するなどの特定の場面においてだけ、被写界深度処理を実行する。これに対して本実施形態では、ゲームが開始した後、被写界深度処理を常時に実行している。具体的には、ユーザに対応する移動体(仮想ユーザ、搭乗移動体)がゲームステージに登場して、ゲームステージの画像が表示されるようになったタイミングから、そのゲームの終了までのゲームプレイ期間の間、被写界深度処理を常時に実行する。このようにゲームプレイ期間中は、常時に被写界深度処理を実行することで、ゲームプレイ期間においてユーザが3D酔いを引き起こしてしまう事態を効果的に防止できる。
また本実施形態では、被写界深度の焦点領域FCRGの広さを、移動体の移動状態に応じて変化させてもよい。例えばロボット、仮想ユーザ等の速度や加速度が高くなるほど、被写界深度の焦点領域FCRGを狭くする。
例えば図15(A)では、C1に示すように、ユーザのロボットRBが、敵ロボットERBを中心にして回転する移動を行っている。本実施形態のロボットシミュレータでは、図4の操作レバー161、162等を操作することで、このような回転移動を容易に行うことができる。そして、このように敵ロボットERBを中心にして、ユーザのロボットRBが高速で回転移動するような状況になった場合には、図15(B)のC2に示すように、被写界深度の焦点領域FCRGを狭くする。こうすることで、ユーザのロボットRBの近くにいる敵ロボットERBだけに焦点が合った画像が生成されるようになり、その他の表示物についてはぼけた画像になる。
このようにすれば、ユーザのロボットRBの回転移動時に、敵ロボットERB以外の多数の表示物が画面を横切るように表示される状況になった場合に、これらの表示物がぼけた画像になるため、ユーザの3D酔いの発生を効果的に防止できるようになる。即ち、このような状況において、敵ロボットERB以外の多数の表示物が画面上で高速に移動し、これらの表示物にユーザが視線を合わせようとすると、3D酔いが発生する確率が非常に高くなる。この点、本実施形態では、このようにロボットRBの移動状態が所定状態(高速回転移動等)になった場合には、ユーザが注視する敵ロボットERB以外の表示物はぼけた画像になる。従って、これらの表示物にユーザが視線を向けてしまう事態を抑制でき、3D酔いの発生を効果的に防止できる。
また本実施形態では、酔い防止用の画像エフェクト処理として、フォグ処理を行うようにしてもよい。この場合のフォグ処理は、フォグ色を指定できるフォグ処理であってもよいし、フォグ色の指定が不要なフォグ処理であってもよい。
例えば図16は、フォグ色の指定が可能なフォグ処理のパラメータの設定例である。図16では、例えば各ゲームステージごとにフォグ色やフォグ処理の強さ(ぼかし度合い)を設定できるようになっている。例えば夜のゲームステージであれば、フォグ色を黒に設定し、夕方の夕焼けのゲームステージでは、フォグ色を赤に設定する。このようなフォグ色を設定できるようなフォグ処理の場合には、画像エフェクト処理として、被写界深度処理とフォグ処理の両方を行うことが望ましい。このようにすれば、仮想カメラから遠い距離にある表示物(遠景表示物)については、被写界深度処理によりぼけた画像になると共に、フォグ処理により所定色に近づくようになる。この結果、遠くの表示物が、より目立たなくなり、ユーザが当該表示物に対して目をキョロキョロと向けるような事態を更に効果的に防止できる。なお、酔い防止用の画像エフェクト処理として、フォグ処理だけを行うようにしてもよい。例えば酔い防止用の画像エフェクト処理として、フォグ色を設定できないようなフォグ処理(環境フォグ等)を行う。この場合に、被写界深度処理でのレンズシミュレーションによるぼけ具合と同様のぼけ具合で画像が生成されるように、フォグ処理の各種のパラメータを設定することが望ましい。
或いは本実施形態の変形例として、例えば画面中央部から画面端部(周縁部)に向かって、複数方向に亘ってブラーがかかるようなブラー処理を行ってもよい。このようにすれば、画面中央部については、ブラー処理によっては画像がぼけず、画面中央部から画面端部に向かうにつれてブラーにより画像がぼけるような表示画像を生成できる。従って、ユーザの視線が画面中央部に集まるようになり、周縁部の表示物には視線が向かないようになるため、ユーザの3D酔いを効果的に防止できるようになる。
また本実施形態では、仮想カメラから視線方向側に伸びる線分との衝突判定処理により線分と交差したと判定された表示物については、ぼかし処理を行わず、他の表示物に対してぼかし処理を行うような手法を採用してもよい。
例えば図17では、照準SGを設定するための線分LSGが、仮想カメラVCの例えば視線方向CVLに沿うように設定されている。図17では、当該線分LSGが敵ロボットERBと交差しており、衝突していると判定されている。このため、線分LSGの交差位置に照準SGが設定されて表示される。この場合、線分LSGは有限の長さLAとなっており、この線分LSGが、仮想カメラVCから非常に遠くにある表示物OBF、OBGと交差することはない。従って、これらの表示物OBF、OBGに対しては、ぼかし処理が行われて、ぼけた画像が生成されるようになる。
このようにすれば、ユーザが注視している表示物である敵ロボットERBについては、ぼかし処理が行われない一方で、ユーザが注視していない表示物OBF、OBGについては、ぼかし処理が行われるようになる。これにより、ユーザが注視している敵ロボットERBについては、焦点が合った画像になり、ユーザの視野においてその周辺に見える表示物OBF、OBGはぼけた画像になる。従って、ユーザの視線が表示物OBF、OBGの方を向くことが抑制され、目の焦点距離と輻輳角の関係が現実世界と乖離することによる3D酔いの発生を防止できるようになる。なお図17では、線分LSGが交差した表示物(ERB)に対してぼかし処理を行わないようにしているが、当該表示物に加えて、当該表示物から所与の距離範囲にある表示物についても、ぼかし処理を行わないようにしてもよい。こうすることで、画面上でのユーザの注視点を中心とした所与の領域内にある表示物については焦点が合った画像になり、当該領域の外側の領域にある表示物についてはぼけた画像になるような画像エフェクト処理を実現できるようになる。
また図12の距離範囲DRG2は、例えば図9で説明したHMDの仮想視距離VD(視距離)に基づき設定できる。例えば図18(A)において、VSCは仮想画面であり、VDは仮想カメラVCから仮想画面VSCまでの距離に相当する仮想視距離である。図10で説明したように仮想視距離VDはHMDの光学系の特性(レンズ焦点等)により規定される。FOV(Field Of View)は視野角に相当するものである。例えば本実施形態では110度以上の視野角での画像生成が可能になっている。このように広い視野角とすることで、ユーザの視界の全周囲に亘って、広大なVR空間が広がるようなVR画像の生成が可能になる。
そして図18(B)に示すように、図12で説明した距離範囲DRG1はこの仮想視距離VDに基づき設定される。例えば仮想カメラVCから仮想視距離VDだけ離れた位置がDRG1に含まれるように距離範囲DRG1が設定される。
具体的には図18(B)に示すように、距離範囲DRG1は、仮想カメラVCから0.75m〜3.5mの距離の範囲に設定される。この距離は仮想空間での距離であり、仮想空間での距離は、現実世界での距離と一致するようにVR世界が設定されている。そして本実施形態では、少なくとも0.75m〜3.5mの距離範囲DRG1では、表示物のぼかし処理を行わず、距離範囲DRG1よりも遠い距離範囲DRG2において表示物のぼかし処理を行う。例えば図18(B)では、ぼかし処理が行われる距離範囲DRG2は仮想カメラVCから距離LD2(奥行き方向の距離)だけ離れた距離範囲になっている。例えば仮想カメラVCの位置から距離LD2の位置までの距離範囲ではぼかし処理は行われず、距離LD2以上の距離範囲DRG2においてぼかし処理を行う。距離LD2は、例えば図14(A)、図14(B)の被写界深度処理において、遠点側ぼかし領域FARGや遠点側遷移範囲FTRを規定する距離である。この距離LD2は、例えばゲームステージの広さや、ユーザのゲームプレイのしやすさや、ユーザがゲーム画像に不自然さを感じないか否かなどを判断基準にして設定され、例えば10m〜80m程度の範囲内の距離に設定できる。
例えば図9のような構成のHMDでは、ユーザの目の疲れ等を防止するために、長時間、注視することが分かっている表示物(例えばニュー表示やユーザが関心を有する注視対象)は、仮想空間において0.75m〜3.5mの距離範囲に配置して、レンダリングすることが望まれている。0.75m〜3.5mの距離範囲内の表示物であれば、図11のD2のように目の調節デマンドと輻輳デマンドの関係が現実世界と乖離している場合であっても、3D酔いを引き起こす可能性が極めて低いと考えられるからである。そこで本実施形態では、少なくとも0.75m〜3.5mの距離範囲DRG1内の表示物については、ぼかし処理を行わずに、焦点が合った画像にする。
一方、仮想カメラVCから0.75m〜3.5mの距離範囲DRG1よりも遠い位置にあるが、それほど遠くない位置にある表示物が、ぼけた画像になってしまうと、ユーザが不自然さを感じたり、ゲームプレイの支障になってしまい、ゲームバランスが崩れてしまう可能性がある。そこで距離範囲DRG1の遠点側の位置の距離である3mよりも長い距離に、LD2を設定する。例えばゲームバランス等を考慮した距離にLD2を設定する。そして、距離LD2以上の距離範囲DRG2内の表示物に対してぼかし処理を行い、3D酔いの発生を防止する。このようにすれば、3D酔いの発生の防止と好適なゲームバランスの調整とを両立して実現できるようになる。
4.3 ぼかし処理の例外、視認性強調処理
本実施形態では、距離範囲DRG1よりも遠い距離範囲DRG2にある表示物であっても、所定の表示物については、ぼかし処理の対象から除外したり、ぼかし度合いを弱くする。即ち、特定の表示物に対してはぼかし処理の例外処理を行う。
例えば図19(A)において敵ロボットERBは、距離範囲DRG2内に位置しているが、ユーザが注視すべき重要な表示物である。従って、この敵ロボットERBについては、ぼかし処理の対象から除外したり、距離範囲DRG2内にある他の表示物よりもぼかし処理のぼかし度合いを弱くする。こうすることで、ユーザは、敵ロボットERBが、遠い距離範囲DRG2内に位置する場合にも、その存在を視覚的にハッキリと認識できるようになり、ユーザのスムーズなゲームプレイを実現できるようになる。
また、距離範囲DRG2内に位置する照明塔LGの照明や敵ロボットERBの目の部分は光っており、この光がぼかし処理により弱まってしまうのは好ましくない。従って、このような場合に、照明塔LGの照明部分や敵ロボットERBの目の部分などの発光部分については、ぼかし処理のぼかし度合いを弱くする。画像エフェクト処理がフォグ処理である場合を例にとれば、照明塔LGの照明部分や敵ロボットERBの目の部分などの発光部分については、フォグ密度を低くして、なるべくぼやけないようにする。こうすることで、これらの発光部分が適正に光って見える様子を適切に画像表現することが可能になる。
例えばフォグ処理においては、各表示物ごとにフォグの掛かり具合を調整するためのパラメータが用意される。従って、照明塔LGの照明部分や敵ロボットERBの目の部分などの発光部分に対しては、当該パラメータを調整することで、フォグの掛かり具合を調整して、ぼかし度合いを弱めることができる。なお、ぼかし処理の対象から除外したり、ぼかし度合いを弱める表示物としては、種々の表示物を想定できる。例えば、ゲームにおいて重要であると想定される表示物や、照準(ガンサイト)などの表示物や、発光や爆発や着弾などの所定のエフェクトを発する表示物については、ぼかし処理の対象から除外したり、ぼかし度合いを弱めることが望ましい。
また本実施形態では、距離範囲DRG1よりも遠い距離範囲DRG2にある表示物であっても、所定の表示物については、他の表示物に比べて視認性を高める処理を行ってもよい。例えば視認性を高める処理として、サイズ変化処理、輝度変化処理、色調変化処理、或いは奥行き値変化処理を、当該所定の表示物に対して行う。
例えば図19(B)のテーブル情報では、各表示物に対応づけて視認性強調フラグが設定されている。そして例えば視認性強調フラグが1にセットされている表示物に対しては、例えば距離範囲DRG2内に位置していた場合に、視認性を強調する処理を行う。視認性を強調する処理は、当該処理を行わない通常状態時よりも、ユーザが当該表示物を視認しやすくなるような処理である。
例えば図20では、爆発のエフェクトを発する表示物OBHが距離範囲DRG2に位置している。この場合には、例えば通常時に比べて、表示物OBHのサイズを大きくしたり、表示物OBHの輝度(爆発エフェクトの輝度)を高くしたり、表示物OBHの色調(爆発エフェクトの色調)を、より目立つ色調に変化させる。このようにすれば、距離範囲DRG2に位置することで表示物OBHに対してぼかし処理が行われた場合にも、表示物OBHのサイズ、輝度又は色調が変化することで、その視認性が高まるようになる。従って、表示物OBHの爆発のエフェクトを、ユーザが十分に視認できなくなってしまうような事態の発生を防止できる。
或いは、表示物OBHの奥行き値(Z値、奥行き距離)を変化させてもよい。例えば表示物OBHが、距離範囲DRG2よりも仮想カメラVCに近い側に位置するように、奥行き値を変化させる。このようにすれば、表示物OBHに対してはぼかし処理が行われなくなり、ユーザの視認性を高めることが可能になる。また、例えば距離に応じてぼかし度合いが変化するような画像エフェクト処理を行う場合には、表示物OBHの奥行き値を、仮想カメラVCに近い側になるように変化させることで、ぼかし度合いを弱めることが可能になり、その視認性を高めることができる。なお視認性を高める処理の対象となる表示物としては、種々の表示物を想定できる。例えば、ゲームにおいて重要であると想定される表示物や、照準などの表示物や、発光や爆発や着弾などの所定のエフェクトを発する表示物については、視認性を高める処理を行うことが望ましい。
4.4 画像エフェクト処理のオン、オフ、エフェクト度合いの設定等
本実施形態では、ユーザの視点情報のトラッキング情報を取得し、取得されたトラッキング情報に基づいて仮想カメラVCの位置、姿勢を変化させている。ここで仮想カメラVCの位置は視点位置CVPに対応し、仮想カメラVCの姿勢は視線方向CVLに対応する。
例えば図21(A)〜図21(C)のように現実世界のユーザPLが視線方向VL(頭部)を下方向や上方向に向けると、当該ユーザPLの視点情報のトラッキング情報(視点トラッキング情報)が例えばHMD200のトラッキング処理により取得される。そして取得されたトラッキング情報(ユーザの視点位置、視線方向の特定情報)に基づいて、仮想カメラVCの視点位置CVP、視線方向CVLを設定することで、図21(A)〜図21(C)のように仮想カメラVCの位置、姿勢を変化させる。例えば図21(B)のようにユーザPLの視線方向VLが下方向を向けば、仮想カメラVCの視線方向CVLも下方向を向く。図21(C)のようにユーザPLの視線方向VLが上方向を向けば、仮想カメラVCの視線方向CVLも上方向を向く。このようにすることで、現実世界のユーザPLが視点位置VPや視線方向VLを変化させると、それに応じて仮想カメラVCの視点位置CVP、視線方向CVLも変化するようになる。従って、仮想カメラVCがユーザPLの実際の一人称視点のように振る舞うため、仮想現実感を向上できる。
一方、仮想カメラの視点位置や視線方向は、仮想空間において移動する移動体の移動状態によっても変化する。移動体は、例えば仮想空間においてユーザに対応する仮想ユーザ(例えばスキーヤなどのキャラクタ)や、仮想ユーザが搭乗する搭乗移動体(例えばロボット、車)などである。
例えば図22(A)では、移動体であるキャラクタCHの前方側(進行方向側)に岩RK(衝突対象物)が存在しており、図22(B)では、この岩RKにキャラクタCHが衝突している。これにより図22(C)に示すようにキャラクタCHの進行方向DTが変化している。このような進行方向DTの変化処理は、例えばキャラクタCHと岩RKとの衝突の演算処理を行うことで実現できる。この衝突の演算処理は、キャラクタCHが岩RKとの衝突により受ける反作用力に基づく物理演算処理を行うことで実現できる。例えば図22(B)の衝突により受けた反作用力により、図22(C)のようにキャラクタCHの進行方向DTを変化させる物理演算処理を行う。
このように岩RKとの衝突などにより、キャラクタCHの進行方向DTが大きく変化すると、HMDの表示画像が大きく変化してしまう。このHMDの表示画像の大きな変化は、例えば3D酔いなどの問題を招く。
例えば図22(B)の岩RKとの衝突によって、図22(C)のようにキャラクタCHの進行方向DTが大きく変化すると、キャラクタCHに追従する仮想カメラの視線方向や視点位置も大きく変化してしまう。例えば一人称視点の場合には、キャラクタCHの視点の位置に仮想カメラが設定され、例えばキャラクタCHの進行方向DTの方に仮想カメラの視線方向が向いている。従って、図22(C)のように進行方向DTが大きく変化すると、仮想カメラの視線方向や視点位置も大きく変化し、HMDの表示画像も大きく変化する。
このような衝突イベント発生時のHMDの表示画像の激しい変化は、仮想空間での擬似的な事象(疑似衝突)によるものであるため、現実世界の事象との間に乖離がある。このような、現実世界とは乖離したHMDの表示画像の激しい変化が発生すると、ユーザの3D酔いを引き起こしてしまう。
この場合に、例えば図22(B)の岩との衝突時に、図8や図4の可動筐体40を動作させて、衝突による反作用力をユーザに体感させることで、現実世界と仮想世界の乖離を小さくし、ユーザの3D酔いを軽減することも可能である。例えば岩との衝突時に、図8のエアバネ部50〜53を微少に伸び縮みさせることで、衝突による振動を、ある程度、ユーザに体感させることができる。
しかしながら、このような可動筐体40による衝突の疑似的な体感には限界があり、HMDに表示される仮想世界の画像の激しい変化と、現実世界のユーザの体感との間には、大きな乖離がある。即ち、現実世界ではユーザは岩に衝突していないのに、仮想世界の画像だけが岩との衝突により大きく揺れ動いてしまう現象が起こる。このような現象が頻繁に起こると、ユーザの3D酔い等を引き起こしてしまう。
そこで本実施形態では、仮想カメラや移動体などに関する種々の状況を判断して、当該状況に応じて画像エフェクト処理のオン、オフの設定や、画像エフェクト処理のエフェクト度合いの設定を行う手法を採用する。図23は、この手法の処理を説明するフローチャートである。
まず、仮想カメラの視線方向又は視点位置の変化状況、移動体の移動状態の変化状況、仮想カメラの注視場所又は注視対象の状況、或いはゲーム状況を取得する(ステップS1)。例えば図22(A)〜図22(C)に示すように仮想カメラの視線方向や視点位置が変化したり、移動体の移動状態が変化する状況が発生した場合に、当該状況の情報を取得する。或いは、仮想カメラの注視場所又は注視対象が、酔いが発生しやすい場所や対象であるかについての情報を取得する。或いは、3D酔いが生じやすいゲーム状況なのかについての情報を取得する。そして、取得された各状況に応じて、画像エフェクト処理のオン、オフの設定、又はエフェクト度合いの設定を行う(ステップS2)。
例えば仮想カメラの視線方向又は視点位置や、移動体の移動状態(速度、加速度)が大きく変化するような状況である場合には、酔い防止用の画像エフェクト処理をオンにし、そのような状況ではない場合には、酔い防止用の画像エフェクト処理をオフにする。例えば図22(C)に示すように移動体であるキャラクタCHの進行方向DTが大きく変化する状況である場合に、画像エフェクト処理をオンにする。或いは、仮想カメラの視線方向又は視点位置や、移動体の速度又は加速度等の変化量に応じて、エフェクト度合いを設定する。例えば変化量が大きいほど、ぼけ度合いなどのエフェクト度合いを強くする。また仮想カメラの向く方向の場面が、多くの表示物が表示されており、3D酔いが生じやすい状況である場合には、画像エフェクト処理をオンにする。一方、殆ど表示物が表示されておらず、3D酔いが生じにくい状況である場合に、画像エフェクト処理をオフにする。或いは、注視場所等での表示物の数に応じて、画像エフェクト処理のエフェクト度合いを変化させてもよい。或いは、ゲームの進行状況、ゲームステージの状況、又は対戦状況等のゲーム状況が、酔い生じやすいゲーム状況である場合に、画像エフェクト処理をオンにし、そのようなゲーム状況ではない場合に、画像エフェクト処理をオフにする。
例えば図24のテーブル情報では、各状況に対して、画像エフェクト処理のオン、オフのフラグや、エフェクト度合いのパラメータが対応づけられている。そして図24の状況CA1であれば、画像エフェクト処理がオンに設定され、エフェクト度合いがEF1に設定される。状況CA2であれば、画像エフェクト処理がオンに設定され、エフェクト度合いがEF2に設定される。エフェクト度合いEF1、EF2は、例えば画像エフェクト処理のぼけ処理のぼけ度合いなどを設定するパラメータである。一方、状況CA3、CA4であれば、画像エフェクト処理がオフに設定される。
なお、画像エフェクト処理がオンにされる仮想カメラや移動体の状況は、例えば仮想カメラの視線方向、視点位置や、移動体の速度、加速度等が急激に変化したり、急激に変化することが予想される状況である。即ち、3D酔いが発生する蓋然性が高い状況である。例えば図22(A)〜図22(C)のように岩に衝突したり、スピードを出し過ぎてスピンしたり、坂道を急激に滑り降りたり、或いは崖から落下したりするなどの状況である。
また本実施形態では、ユーザのプレイレベル(ゲームプレイのレベル)に応じて、画像エフェクト処理のオン、オフを設定したり、画像エフェクト処理のエフェクト度合いを設定してもよい。
例えば図25のテーブル情報では、ユーザの各プレイレベルに対して、画像エフェクト処理のオン、オフのフラグや、エフェクト度合いのパラメータが対応づけられている。例えばユーザのプレイレベルが初心者、初級、初中級、中級、中上級である場合には、画像エフェクト処理がオンに設定され、エフェクト度合いが、各々、EFA、EFB、EFC、EFD、EFEに設定される。ここでエフェクト度合いは、初心者用のエフェクト度合いEFAが最も強く、中上級用のエフェクト度合いEFEが最も弱い。エフェクト度合いがぼけ処理のぼけ度合いである場合には、初心者用のぼけ度合いが最も強くなり、中上級用のぼけ度合いが最も弱くなる。このようにすることで、ゲームに慣れていない初心者等が、3D酔いを引き起こしてしまう事態を防止できる。一方、ユーザのプレイレベルが上級、超上級である場合には、画像エフェクト処理がオフに設定される。このようにすることで、ゲームに慣れており、3D酔いを起こしにくいと想定されるユーザは、表示物にぼかし処理が行われてないリアルなゲーム画像を見ながら、ゲームプレイを行うことが可能になる。
ここで、ユーザのプレイレベルは、ユーザの頭部の動きをトラッキングしたトラッキング情報や、ユーザのプレイ履歴情報などに基づき判断できる。
図26はトラッキング情報に基づきプレイレベルを判断する処理のフローチャートである。まずゲームが開始したか否かを判断し(ステップS11)、開始した場合にはユーザの頭部の動きのトラッキング処理を行って、トラッキング情報を取得する(ステップS12)。具体的には図2(A)〜図3(B)で説明したようなHMDのトラッキング処理を行って、ユーザの視線方向や視点位置を特定するためのトラッキング情報を取得する。そして、取得されたトラッキング情報に基づいて、ユーザのプレイレベルを判断する(ステップS13)。
例えば初心者や初級者のユーザは、ゲームの開始後、HMDを装着した頭部をあまり動かさない傾向にある。一方、上級者のユーザは、ゲームの序盤から頭部を頻繁に動かして、色々な場所を見ようとする傾向にある。従って、ユーザの頭部の動きのトラッキング情報を取得することで、ユーザのプレイレベルを判断できるようになる。
また本実施形態では、図27に示すように、移動体の移動状態に応じて、図4、図8等で説明した可動筐体40がユーザのプレイ位置を変化させてもよい。例えば移動体の速度、加速度の変化、移動体の進行方向の変化、又は移動体が移動するコースの状況(状態)などに応じて、可動筐体40がユーザのプレイ位置を変化させる。或いは、移動体の移動状態に応じて出力音を制御してもよい。例えば移動体の速度、加速度の変化に応じた音、移動体の進行方向の変化に応じた音、又は移動体が移動するコースの状況に応じた出力音を生成する。
例えば、仮想空間の移動体(ロボット、キャラクタ等)の進行方向が、下り坂のコースで下方向を向いた場合には、現実空間のユーザの姿勢が前側にピッチングするように可動筐体40を制御する。図4、図7(A)を例にとれば、ベース部452に、X軸回りにおいて前側方向へのピッチングの姿勢変化を行わせて、ユーザが前のめりになるような姿勢変化を実現する。図8を例にとれば、後ろ側のエアバネ部50、52を伸ばす一方で、前側のエアバネ部51、53を縮める。また例えば下り坂のコースを下っているようにユーザに感じさせる出力音(例えば風切り音)を出力する。また仮想空間の移動体の進行方向が、上り坂のコースで上方向を向いた場合には、現実空間のユーザの姿勢が後ろ側にピッチングするように可動筐体40を制御する。図4を例にとれば、ベース部452に、X軸回りにおいて後ろ側方向へのピッチングの姿勢変化を行わせて、ユーザが後ろのめりになるような姿勢変化を実現する。図8を例にとれば、後ろ側のエアバネ部50、52を縮める一方で、前側のエアバネ部51、53を伸ばす。また例えば上り坂のコースを上っているようにユーザに感じさせる出力音を出力する。
またコースが凹凸のあるガタガタ道である場合には、ユーザのプレイ位置を上下に揺らすような可動筐体40の制御を行う。図4、図7(A)を例にとれば、電動シリンダ414、414を細かく伸縮させる。図8を例にとれば、各エアバネ部50〜52を上下方向に細かく伸縮させる。またガタガタ道を表すような出力音を出力する。
このように可動筐体40や出力音を制御すれば、仮想空間での移動体の移動状態(加速度、速度の変化、進行方向の変化、コースの状況)を、可動筐体40や出力音を用いてユーザに感じさせることが可能になる。例えば移動体の移動状態を、可動筐体40によるプレイ位置の変化により体感させたり、出力音の変化により聴覚的に認識させることが可能になる。従って、現実世界でのユーザの体感や聴覚状態と、仮想世界での移動体の状態とが、ある程度、一致するようになり、3D酔いの発生の抑制を図れる。例えば、このような可動筐体40によるプレイ位置の変化や出力音の変化が無い状態で、仮想空間での移動体の移動状態が変化すると、ユーザの体感や聴覚状態と仮想空間の状況とが一致しなくなる。このため3D酔いが発生する事態してしまうおそれがあるが、図27の本実施形態の手法によれば、このような事態の発生を防止できる。
また本実施形態では、ユーザによる設定情報又はユーザのプレイ履歴情報に基づいて、画像エフェクト処理のオン、オフを設定したり、画像エフェクト処理のエフェクト度合いを設定してもよい。
例えば図28は、ユーザがゲームの各種のオプションを設定するオプション設定画面の例である。このオプション設定画面において、ユーザは、画像エフェクト処理のオン、オフの設定や、エフェクト度合いの設定をできるようになっている。例えば3D酔いを起こしやすいユーザは、画像エフェクト処理をオンに設定し、強いエフェクト度合いに設定する。こうすることで、遠くの表示物に対してぼかし処理が行われると共に、ぼけ度合いも強くなるため、このようなユーザが3D酔いを引き起こすのを効果的に防止できる。一方、3D酔いを起こしにくいユーザは、画像エフェクト処理をオフに設定したり、或いは画像エフェクト処理をオンに設定して、弱いエフェクト度合いに設定する。こうすることで、このようなユーザは、よりリアルな設定でのゲームを楽しめるようになる。
また図29では、ユーザのプレイ履歴の情報に基づいて、画像エフェクト処理のオン、オフの設定や、エフェクト度合いの設定を行っている。例えばユーザのプレイ履歴情報に基づいて、プレイレベルが低いと判断されるユーザや、衝突や急加速や転倒や落下など状況が頻繁に発生していると判断されるユーザについては、画像エフェクト処理をオンに設定して、強いエフェクト度合いに設定する。こうすることで、初級者や初級者であると判断されるユーザや、ゲームプレイに慣れていないと判断されるユーザについては、画像エフェクト処理が自動的にオンに設定され、エフェクト度合いも強いエフェクト度合いに設定される。これにより、このようなユーザが3D酔いを引き起こすのを効果的に防止できる。一方、上級者であると判断されるユーザや、ゲームプレイに慣れている判断されるユーザについては、3D酔いを起こしにくいと判断して、画像エフェクト処理をオフにしたり、或いは画像エフェクト処理をオンに設定して、弱いエフェクト度合いに設定する。こうすることで、このようなユーザは、よりリアルな設定でのゲームを楽しめるようになる。なおプレイ履歴の情報は、例えば図1の携帯型情報記憶媒体195(ICカード等)に記憶されており、携帯型情報記憶媒体195からプレイ履歴の情報に基づいて、画像エフェクト処理のオン、オフの設定や、エフェクト度合いの設定を行う。或いは外部のサーバからユーザのプレイ履歴の情報をダウンロードしてもよい。
4.5 処理例
次に本実施形態の処理例について図30のフローチャートを用いて説明する。
まず、ゲームが開始したか否かを判断し(ステップS21)、開始したと判断された場合には、ユーザの操作情報を取得する(ステップS22)。例えば図1の操作部160を用いて入力したユーザの操作情報を取得する。またユーザの視点情報のトラッキング情報を取得する(ステップS23)。例えば図2(A)〜図3(B)等で説明したトラッキング処理により得られたトラッキング情報を取得する。そしてユーザの操作情報、トラッキング情報等に基づいて、仮想カメラ、移動体の制御処理を実行する(ステップS24)。例えばユーザの操作情報に基づいて、ロボット、キャラクタ等の移動体を移動させる処理を行い、この移動体に追従するように仮想カメラの視線方向や視点位置を制御する。またトラッキング情報に基づいて仮想カメラの視線方向や視点位置を設定する制御を行う。
次に、レンダリング処理を行って、仮想カメラから見える画像を生成する(ステップS25)。例えば、仮想カメラから見える画像として、立体視の左目用、右目用の画像を生成する。そして、生成された画像に対して、図12のように距離範囲DRG2にある表示物をぼかす画像エフェクト処理を実行する(ステップS26)。この際に、図19(A)〜図20で説明したように、所定の表示物については、ぼかし処理の対象から除外したり、ぼかし度合いを弱くしたり、視認性を高める処理を行う。こうすることで、ゲームバランスを好適に調整しながら、3D酔いが発生しにくい画像を生成して、ユーザのHMDに表示できるようになる。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(移動体等)と共に記載された用語(キャラクタ・ロボット等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また移動体の移動処理、仮想カメラの制御処理(設定処理)、画像エフェクト処理、被写界深度処理、フォグ処理、距離範囲の設定処理、視認性の強調処理、画像エフェクトのオン、オフやエフェクト度合いの設定処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲーム装置、家庭用ゲーム装置、又は多数のユーザが参加する大型アトラクションシステム等の種々のシミュレーションシステムに適用できる。
DRG1、DRG2 距離範囲、RB ロボット、ERB 敵ロボット、
OB1〜OB10 表示物、SG 照準、CH キャラクタ、DT 進行方向、
VC 仮想カメラ、VP、CVP 視点位置、VL、CVL 視線方向、
RK 岩、PL ユーザ、PLV 仮想ユーザ、TP 経由点、
20 ケーブル、40 可動筐体、41、42 ベース部、43 44 操作部材、
45、46 足台、50〜53 エアバネ部、60、62 ガイド部、
61、63 把持部、64 支持ガイド、65 ケーブル取り出し口、69 風洞部、
100 処理部、102 入力処理部、110 演算処理部、112 ゲーム処理部、
113 可動筐体処理部、114 移動体処理部、116 オブジェクト空間設定部、
118 仮想カメラ制御部、120 表示処理部、130 音処理部、
140 出力処理部、150 撮像部、151、152 カメラ、
160 操作部、161、162 操作レバー、163 アクセルペダル、
164 ブレーキペダル、165 ゲームコントローラ、
170 記憶部、172 空間情報記憶部、178 描画バッファ、
180 情報記憶媒体、192 音出力部、194 I/F部、
195 携帯型情報記憶媒体、196 通信部、
200 HMD(頭部装着型表示装置)、201〜203 受光素子、210 センサ部、
220 表示部、231〜236 発光素子、240 処理部、260 ヘッドバンド、
270 ヘッドホン、280、284 ステーション、
281、282、285、286 発光素子、
430、フレーム部、432 ガイド部、433 固定具、450 底部、
451 カバー部、452 ベース部、454、455 レール部、460 ライド部、
462 シート、464 シート支持部、470 移動部、472 支持部、
473 上面部、474 下面部

Claims (20)

  1. 接眼レンズ及びディスプレイを有する頭部装着型表示装置を装着するユーザに対応する移動体を仮想空間において移動させる処理を行う移動体処理部と、
    前記移動体の移動に応じて移動する仮想カメラの制御を行う仮想カメラ制御部と、
    前記頭部装着型表示装置の表示画像として、前記仮想空間において前記仮想カメラから見える画像を生成する表示処理部と、
    を含み、
    前記表示処理部は、
    前記頭部装着型表示装置の前記接眼レンズと前記ディスプレイとの位置関係により設定される仮想視距離に基づき設定される第1の距離範囲が、被写界深度の焦点領域に含まれ、前記第1の距離範囲よりも遠い距離範囲である第2の距離範囲が、被写界深度の焦点領域に含まれないようにする酔い防止用のパラメータに、被写界深度処理のパラメータを設定することで、前記仮想カメラから前記第1の距離範囲にある表示物に比べて、前記第2の距離範囲にある表示物の画像をぼかす処理である前記被写界深度処理を、酔い防止用の画像エフェクト処理として行って、前記表示画像を生成することを特徴とするシミュレーションシステム。
  2. 請求項1において、
    前記表示処理部は、
    前記移動体がゲームステージに登場し、前記ゲームステージの画像が表示されるようになったタイミングから、ゲームの終了までのゲームプレイ期間の間、前記被写界深度処理を実行することを特徴とするシミュレーションシステム。
  3. 請求項1又は2において、
    前記表示処理部は、
    前記仮想カメラから前記仮想視距離だけ離れた位置にある仮想画面において視差がゼロになる立体視用の画像を、前記表示画像として生成することを特徴とするシミュレーションシステム。
  4. 請求項1乃至3のいずれかにおいて、
    前記表示処理部は、
    前記第1の距離範囲が、被写界深度の焦点領域に含まれ、前記仮想カメラから見て前記焦点領域よりも手前側の領域ではぼかし処理が行われず、前記焦点領域よりも奥側の領域ではぼかし処理が行われる前記被写界深度処理を行うことをシミュレーションシステム。
  5. 請求項1乃至4のいずれかにおいて、
    前記表示処理部は、
    前記移動体の速度又は加速度が高くなるほど被写界深度の焦点領域が狭くなるように、被写界深度の焦点領域の広さを、前記移動体の移動状態に応じて変化させることを特徴とするシミュレーションシステム。
  6. 請求項1乃至のいずれかにおいて、
    前記表示処理部は、
    前記画像エフェクト処理として、前記被写界深度処理とフォグ処理の両方を行うことを特徴とするシミュレーションシステム。
  7. 請求項1乃至のいずれかにおいて、
    前記表示処理部は、
    前記仮想カメラから視線方向側に伸びる所与の長さの線分との衝突判定処理により前記線分と交差したと判定された表示物についてはぼかし処理を行わず、他の表示物に対してぼかし処理を行う前記画像エフェクト処理を行うことを特徴とするシミュレーションシステム。
  8. 請求項1乃至7のいずれかにおいて、
    前記第1の距離範囲は、前記仮想カメラから0.75m〜3.5mの距離の範囲であり、前記第2の距離範囲は、前記仮想カメラから10m以上の距離の範囲であり、
    前記表示処理部は、
    前記第1の距離範囲では表示物のぼかし処理を行わず、前記第1の距離範囲よりも遠い前記第2の距離範囲において表示物のぼかし処理を行うことを特徴とするシミュレーションシステム。
  9. 請求項1乃至8のいずれかにおいて、
    前記表示処理部は、
    前記第1の距離範囲よりも遠い前記第2の距離範囲にある表示物であっても、所定の表示物については、ぼかし処理の対象から除外する、又はぼかし処理のぼかし度合いを他の表示物に比べて弱くすることを特徴とするシミュレーションシステム。
  10. 請求項1乃至9のいずれかにおいて、
    前記表示処理部は、
    前記第1の距離範囲よりも遠い前記第2の距離範囲にある表示物であっても、所定の表示物については、他の表示物に比べて視認性を高める処理を行うことを特徴とするシミュレーションシステム。
  11. 請求項10において、
    前記表示処理部は、
    前記視認性を高める処理として、サイズ変化処理、輝度変化処理、色調変化処理、及び奥行き値変化処理の少なくとも一方を、前記所定の表示物に対して行うことを特徴とするシミュレーションシステム。
  12. 請求項9乃至11のいずれかにおいて、
    前記所定の表示物は、発光する表示物又はエフェクトを発する表示物であることを特徴とするシミュレーションシステム。
  13. 請求項1乃至12のいずれかにおいて、
    前記頭部装着型表示装置を装着するユーザの視点情報のトラッキング情報を取得する入力処理部を含み、
    前記仮想カメラ制御部は、
    前記トラッキング情報に基づいて前記仮想カメラの位置、姿勢を変化させることを特徴とするシミュレーションシステム。
  14. 請求項1乃至13のいずれかにおいて、
    前記表示処理部は、
    前記仮想カメラの視線方向又は視点位置の変化状況、前記移動体の移動状態の変化状況、前記仮想カメラの注視場所又は注視対象の状況、或いはゲーム状況に応じて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行うことを特徴とするシミュレーションシステム。
  15. 請求項1乃至14のいずれかにおいて、
    前記表示処理部は、
    前記仮想カメラの注視場所での表示物の数に応じて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行うことを特徴とするシミュレーションシステム。
  16. 請求項1乃至15のいずれかにおいて、
    前記表示処理部は、
    前記ユーザのプレイレベルに応じて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行うことを特徴とするシミュレーションシステム。
  17. 請求項16において、
    前記ユーザのプレイレベルは、前記ユーザの頭部の動きをトラッキングしたトラッキング情報又は前記ユーザのプレイ履歴情報に基づき判断されることを特徴とするシミュレーションシステム。
  18. 請求項1乃至17のいずれかにおいて、
    前記表示処理部は、
    前記ユーザによる設定情報又は前記ユーザのプレイ履歴情報に基づいて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行うことを特徴とするシミュレーションシステム。
  19. 請求項1乃至18のいずれかにおいて、
    前記移動体の移動状態に応じて、前記ユーザのプレイ位置を変化させる可動筐体を含むことを特徴とするシミュレーションシステム。
  20. 接眼レンズ及びディスプレイを有する頭部装着型表示装置を装着するユーザに対応する移動体を仮想空間において移動させる処理を行う移動体処理部と、
    前記移動体の移動に応じて移動する仮想カメラの制御を行う仮想カメラ制御部と、
    前記頭部装着型表示装置の表示画像として、前記仮想空間において前記仮想カメラから見える画像を生成する表示処理部として、
    コンピュータを機能させ、
    前記表示処理部は、
    前記頭部装着型表示装置の前記接眼レンズと前記ディスプレイとの位置関係により設定される仮想視距離に基づき設定される第1の距離範囲が、被写界深度の焦点領域に含まれ、前記第1の距離範囲よりも遠い距離範囲である第2の距離範囲が、被写界深度の焦点領域に含まれないようにする酔い防止用のパラメータに、被写界深度処理のパラメータを設定することで、前記仮想カメラから前記第1の距離範囲にある表示物に比べて、前記第2の距離範囲にある表示物の画像をぼかす処理である前記被写界深度処理を、酔い防止用の画像エフェクト処理として行って、前記表示画像を生成することを特徴とするプログラム。
JP2016138929A 2016-07-13 2016-07-13 シミュレーションシステム及びプログラム Active JP6714791B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016138929A JP6714791B2 (ja) 2016-07-13 2016-07-13 シミュレーションシステム及びプログラム
CN201780043391.7A CN109478345B (zh) 2016-07-13 2017-07-06 模拟系统、处理方法及信息存储介质
PCT/JP2017/024794 WO2018012395A1 (ja) 2016-07-13 2017-07-06 シミュレーションシステム、処理方法及び情報記憶媒体
US16/245,945 US11493990B2 (en) 2016-07-13 2019-01-11 Simulation system, processing method, and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016138929A JP6714791B2 (ja) 2016-07-13 2016-07-13 シミュレーションシステム及びプログラム

Publications (3)

Publication Number Publication Date
JP2018010488A JP2018010488A (ja) 2018-01-18
JP2018010488A5 JP2018010488A5 (ja) 2019-08-22
JP6714791B2 true JP6714791B2 (ja) 2020-07-01

Family

ID=60951701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016138929A Active JP6714791B2 (ja) 2016-07-13 2016-07-13 シミュレーションシステム及びプログラム

Country Status (4)

Country Link
US (1) US11493990B2 (ja)
JP (1) JP6714791B2 (ja)
CN (1) CN109478345B (ja)
WO (1) WO2018012395A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10009536B2 (en) 2016-06-12 2018-06-26 Apple Inc. Applying a simulated optical effect based on data received from multiple camera sensors
JP6689694B2 (ja) 2016-07-13 2020-04-28 株式会社バンダイナムコエンターテインメント シミュレーションシステム及びプログラム
JP6719308B2 (ja) * 2016-07-13 2020-07-08 株式会社バンダイナムコエンターテインメント シミュレーションシステム及びプログラム
US11511176B2 (en) * 2017-03-13 2022-11-29 Holodia Inc. Method for generating multimedia data associated with a system for practicing sports
US10438393B2 (en) 2017-03-16 2019-10-08 Linden Research, Inc. Virtual reality presentation of body postures of avatars
JP6513241B1 (ja) * 2018-01-30 2019-05-15 株式会社コロプラ プログラム、情報処理装置、及び情報処理方法
JP2019149122A (ja) * 2018-02-28 2019-09-05 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP6582205B2 (ja) * 2018-02-28 2019-10-02 株式会社コナミデジタルエンタテインメント 情報処理装置、情報処理装置のプログラム、ヘッドマウントディスプレイ、及び、情報処理システム
JP2019152980A (ja) * 2018-03-01 2019-09-12 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
CN108732764A (zh) * 2018-06-06 2018-11-02 北京七鑫易维信息技术有限公司 一种智能眼镜、眼球轨迹的追踪方法、装置及存储介质
JP7210180B2 (ja) * 2018-07-25 2023-01-23 キヤノン株式会社 画像処理装置、画像表示装置、画像処理方法、及びプログラム
KR102597518B1 (ko) * 2019-02-20 2023-11-03 삼성전자주식회사 영상에 보케 효과를 적용하는 전자 장치 및 그 제어 방법
US11756259B2 (en) * 2019-04-17 2023-09-12 Rakuten Group, Inc. Display controlling device, display controlling method, program, and non-transitory computer-readable information recording medium
US11089282B2 (en) 2019-05-23 2021-08-10 Magic Leap, Inc. Blended mode three dimensional display systems and methods
JP6688423B1 (ja) * 2019-08-20 2020-04-28 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
JP2021086552A (ja) * 2019-11-29 2021-06-03 三菱電機株式会社 情報処理装置、表示方法、及び表示プログラム
CN114746903B (zh) 2019-12-06 2023-11-14 奇跃公司 虚拟、增强和混合现实系统和方法
JP7184261B2 (ja) * 2020-01-30 2022-12-06 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
US11465031B2 (en) * 2020-09-16 2022-10-11 RevolutioNice, Inc. Ambulation simulation systems, terrain simulation systems, treadmill systems, and related systems and methods
CN112043396B (zh) * 2020-10-08 2022-03-04 深圳市精锋医疗科技股份有限公司 手术机器人及其图形化控制装置、图形化显示方法
FR3120719B1 (fr) * 2021-03-15 2024-04-19 Driving Simulation Ass Navigation rotationnelle en environnement virtuel avec une référence visuelle
CN115793841A (zh) * 2021-09-09 2023-03-14 华为技术有限公司 一种显示方法与电子设备
US20230222625A1 (en) * 2022-01-12 2023-07-13 Htc Corporation Method for adjusting virtual object, host, and computer readable storage medium
WO2023223933A1 (ja) * 2022-05-18 2023-11-23 ソニーグループ株式会社 情報処理方法、情報処理装置、通信システム及びコンピュータプログラム
WO2023238662A1 (ja) * 2022-06-07 2023-12-14 ソニーグループ株式会社 情報処理装置、情報処理方法、および記録媒体

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3428151B2 (ja) * 1994-07-08 2003-07-22 株式会社セガ 画像表示装置を用いた遊戯装置
JP3442270B2 (ja) * 1997-11-25 2003-09-02 株式会社ナムコ 画像生成装置及び情報記憶媒体
JPH11309269A (ja) 1998-04-27 1999-11-09 Sony Corp ゲーム装置、シミュレーション装置及びゲーム画像表示方法
JP3262772B2 (ja) 1999-12-17 2002-03-04 株式会社ナムコ 画像生成システム及び情報記憶媒体
JP3836396B2 (ja) 2001-05-18 2006-10-25 株式会社ソニー・コンピュータエンタテインメント 表示装置及び画像処理方法
JP4761528B2 (ja) * 2005-10-11 2011-08-31 任天堂株式会社 ゲームプログラムおよびゲーム装置
TWI308845B (en) * 2006-06-07 2009-04-11 Himax Display Inc Head-mounted display and image adjusting method for the same
US8587585B2 (en) * 2010-09-28 2013-11-19 Intel Corporation Backface culling for motion blur and depth of field
US8831278B2 (en) * 2010-11-30 2014-09-09 Eastman Kodak Company Method of identifying motion sickness
EP2771877B1 (en) * 2011-10-28 2017-10-11 Magic Leap, Inc. System and method for augmented and virtual reality
TW201320734A (zh) * 2011-11-03 2013-05-16 Altek Corp 產生背景模糊的影像處理方法及其影像擷取裝置
US9452354B2 (en) * 2013-06-07 2016-09-27 Sony Interactive Entertainment Inc. Sharing three-dimensional gameplay
EP3234920A4 (en) * 2014-12-23 2017-10-25 Meta Company Apparatuses, methods and systems coupling visual accommodation and visual convergence to the same plane at any depth of an object of interest
GB2534921B (en) * 2015-02-06 2021-11-17 Sony Interactive Entertainment Inc Head-mountable display system
CN104836999B (zh) * 2015-04-03 2017-03-29 深圳市魔眼科技有限公司 一种全息立体显示用于自适应视力的移动终端及方法
CN105163042B (zh) * 2015-08-03 2017-11-03 努比亚技术有限公司 一种虚化处理深度图像的装置和方法
US10713501B2 (en) * 2015-08-13 2020-07-14 Ford Global Technologies, Llc Focus system to enhance vehicle vision performance
CN105635805B (zh) * 2015-12-18 2018-12-21 潍坊歌尔电子有限公司 一种虚拟现实场景中优化运动图像的方法和装置
CN105487544B (zh) * 2016-01-18 2018-10-16 沈阳工业大学 基于模糊推理系统的多机器人角度控制围捕方法
US20170228931A1 (en) * 2016-02-08 2017-08-10 Google Inc. Limited field of view in virtual reality
CN105653227A (zh) * 2016-03-22 2016-06-08 北京全景思维科技有限公司 跟踪眼球焦距的头戴式虚拟现实显示设备及显示方法

Also Published As

Publication number Publication date
CN109478345B (zh) 2023-07-28
WO2018012395A1 (ja) 2018-01-18
US11493990B2 (en) 2022-11-08
CN109478345A (zh) 2019-03-15
JP2018010488A (ja) 2018-01-18
US20190220089A1 (en) 2019-07-18

Similar Documents

Publication Publication Date Title
JP6714791B2 (ja) シミュレーションシステム及びプログラム
US10915166B2 (en) Simulation system, processing method, and information storage medium
US10955909B2 (en) Simulation system, processing method, and information storage medium
US11014000B2 (en) Simulation system, processing method, and information storage medium
US11865453B2 (en) Simulation system, process method, and information storage medium
WO2018124280A1 (ja) シミュレーションシステム、画像処理方法及び情報記憶媒体
US20190105572A1 (en) Drivable vehicle augmented reality game
CN110769906B (zh) 模拟系统、图像处理方法以及信息存储介质
JP6712423B2 (ja) シミュレーションシステム
JP6849317B2 (ja) ゲームシステム
JP7072441B2 (ja) シミュレーションシステム及びプログラム
CN112104857A (zh) 图像生成系统、图像生成方法及信息存储介质
JP6918189B2 (ja) シミュレーションシステム及びプログラム
JP6660321B2 (ja) シミュレーションシステム及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190709

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191223

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200410

R150 Certificate of patent or registration of utility model

Ref document number: 6714791

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250