JP2005038303A - 3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラム - Google Patents

3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2005038303A
JP2005038303A JP2003276400A JP2003276400A JP2005038303A JP 2005038303 A JP2005038303 A JP 2005038303A JP 2003276400 A JP2003276400 A JP 2003276400A JP 2003276400 A JP2003276400 A JP 2003276400A JP 2005038303 A JP2005038303 A JP 2005038303A
Authority
JP
Japan
Prior art keywords
dimensional
information
execution condition
display
processing
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.)
Granted
Application number
JP2003276400A
Other languages
English (en)
Other versions
JP4085918B2 (ja
JP2005038303A5 (ja
Inventor
Yuichi Abe
友一 阿部
Hiroyuki Segawa
博之 勢川
Akio Yoshioka
章夫 吉岡
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2003276400A priority Critical patent/JP4085918B2/ja
Priority to US10/885,357 priority patent/US7536655B2/en
Publication of JP2005038303A publication Critical patent/JP2005038303A/ja
Publication of JP2005038303A5 publication Critical patent/JP2005038303A5/ja
Application granted granted Critical
Publication of JP4085918B2 publication Critical patent/JP4085918B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0325Detection arrangements using opto-electronic means using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image
    • 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
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】 3次元オブジェクトに対する処理を的確にかつ効率的に実行可能とした装置および方法を実現する。
【解決手段】 画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合にオブジェクトの把持や結合などの処理を実行可能であることを示す識別情報を提示、例えば、オブジェクトの表示態様の変更や音声出力などを実行する。本構成により、ユーザはオブジェクトの把持や結合処理が可能な位置にあることを即座に把握することができ、ストレスを感じることなく、操作効率を高めた処理が可能となる。
【選択図】 図1

Description

本発明は、3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、パーソナルコンピュータ等のディスプレイに3次元オブジェクトを表示し、表示した3次元オブジェクトの移動、形状変更などの様々な処理をユーザの操作に応じて実行するものであり、たとえばディスプレイに表示された複数の3次元オブジェクト相互の空間的位置関係等に基づき、実行可能な処理内容や処理結果をあらかじめ提示することにより、ユーザの操作性を向上させた3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラムに関する。
3次元画像をディスプレイに表示し、表示した3次元画像をユーザの入力手段により操作するシステムは、ゲーム機、コンピュータ、CAD、CGグラフィック処理装置等、様々な情報処理装置において利用されている。
ディスプレイに表示した3次元画像に含まれる様々なオブジェクト(3次元オブジェクト)に対する操作、例えば3次元オブジェクトの移動、回転や、3次元オブジェクト同士の結合や引き離し等、オブジェクトに対する様々な処理を行う場合、既存のコンピュータグラフィックスソフトや3次元CADに代表される一般的なソフトウェアでは、処理対象の3次元オブジェクトを指定する際、マウスやキーボード、あるいは2次元タブレット等の入力デバイスによって特定のオブジェクトの指定処理がなされる。
従来の機器においては、このようなオブジェクト指定処理に際して利用される入力デバイスとして、マウスやキーボード、あるいは2次元タブレット等、2次元または1次元位置の指定情報の入力が可能なデバイスが用いられていた。従って、ユーザは、ディスプレイに表示された3次元オブジェクトを指定する際、2次元または1次元情報として3次元オブジェクトの表示位置を指示することになる。ユーザは、オブジェクトの指定の後、ディスプレイに表示された3次元モデルの把持、3次元モデルの移動や回転、あるいは他の3次元モデルとの結合等、表示オブジェクトに対する様々な処理を実行することになる。
しかしながら、マウスやキーボード、2次元タブレット等は、2次元あるいは1次元情報を入力するデバイスであり、ディスプレイに表示された3次元空間に対応した操作が困難となる。そのため、3次元オブジェクトの移動方向をある平面上に限定したり、回転軸を固定したりといった制約を設定した上で、ユーザ入力に基づくオブジェクト処理を行うことが必要となっていた。
このような制約の下での処理においては、例えば、あるオブジェクトを回転しながら移動するといった操作を行う場合、平面を制約し移動した後、軸を固定し回転し、再び平面を制約し移動するといった複数の操作を繰り返すことが必要となるなど、ユーザに対して現実世界の操作とは異なる違和感のある操作が求められる。
このような問題を解決する手法として、ユーザの入力手段を3次元位置および姿勢情報を入力可能な手段として構成した3次元モデル処理装置が、例えば特許文献1に記載されている。特許文献1に記載の技術は、ディスプレイに表示した3次元オブジェクトに対する形状変更、表面着色等の様々な処理を、3次元位置および姿勢情報入力手段を適用して実行するものである。
3次元位置および姿勢情報入力手段としては、複数の方式が提案されている。代表的なものとして磁気センサを用いた磁気方式がある。
これは、ユーザの手で自由に3次元空間を移動可能とした操作物体にコイルを内蔵し、磁界発生器によって発生させた磁界に基づいて構成した磁界空間内で操作物体を移動させ、その際にコイルに誘起される電流を計測することにより、操作物体の位置、姿勢を計測し、これらの情報を3次元情報として入力する方式である。
その他、超音波発信機を操作物体に内蔵し、操作物体から受信する超音波の音圧や到達時間から3次元計測を行う超音波方式、また、操作物体に多関節アームのような機械的な可動部を接続し、その動きから操作物体の3次元位置情報を求める機械方式、さらに、3点以上のマーカを操作物体に付与し、操作物体のマーカをカメラで撮影し、得られた撮影画像情報を基に操作物体の3次元情報を取得する光学方式等、様々な3次元位置および姿勢計測装置が提案されている。
このような3次元位置および姿勢計測システムを適用することにより、ディスプレイに提示した3次元空間に対応付けた3次元情報の入力が可能となり、ユーザは、違和感を抱くことなく実空間での処理と同様の感覚で、ディスプレイに表示した3次元オブジェクトに対する処理が可能となる。
特開2001−307134号公報
しかし、このような3次元情報入力デバイスを用いた操作においても、ディスプレイ自体は2次元平面であり、ディスプレイに表示されたオブジェクトに対する操作、処理を行うユーザにとって、ディスプレイに表示された画像についての奥行き方向の認識を正しく行うことが困難であるという問題がある。具体的には、例えばディスプレイに表示された複数の3次元オブジェクトの突合せ、結合などの処理を行う場合の操作が困難となる。
すなわち、ディスプレイに表示された複数の3次元オブジェクトの突合せや結合処理を行う場合、複数の3次元オブジェクトを、同一のXYZ空間座標位置に設定することが必要となる。ディスプレイ平面をXY平面とした場合、ユーザはディスプレイに表示された複数オブジェクトをディスプレイを見ながら、XY平面としては同一位置に移動させることは比較的容易であるが、ディスプレイを見ながらオブジェクトを移動させても、奥行き方向(Z方向)について一致させることは容易ではない。例えばa,b2つのオブジェクトがある場合、aが手前にあり、bが後方にあるといったことは画面上から容易に把握することはできないという問題がある。
また、複数のオブジェクトを結合させて合体した1つのオブジェクトを生成する処理を行う場合、様々な角度からオブジェクトを観察して、結合部位を決定して各オブジェクトの結合を行うといった処理が必要となる。従来の一般的な3次元情報入力デバイスによって操作できるオブジェクトは1つであり、3次元情報入力デバイスによって1つのオブジェクトを操作し、他のオブジェクトと結合させた後、異なる方向から結合の様子を表示させると、意図した外観とは異なる外観であることが多い。所望の結合を実現するには、操作対象となるオブジェクトと結合されるオブジェクトとを交互に操作し、また、視点を変更して結合結果を確認しながら処理をするなど複雑な処理工程が必要となり、非常に手間のかかる作業となっていた。
また、異なる方向から見た画像を複数同時に表示し、これらの画像を同時に参照しながら操作する方法も開示されているが、複数の画像を同時に見ながら操作するには熟練した技術が必要である。
また、上述した特許文献1の技術では、何らかの処理が施される対象オブジェクトと、対象オブジェクトへの処理を行う編集オブジェクトを両手で同時に操作するため、ユーザが見たい角度に対象オブジェクトを傾け、編集オブジェクトで操作するといった直感的な操作が可能であるが、両手を空中で操作するため、手の揺れ等の影響を受ける。また、自由度が増加する分、細かい制御は難しい。さらに、これらは3次元位置および姿勢計測システムの誤差に依存し、誤差が大きいほど操作の困難さが増加する。
本発明はこのような点に鑑みてなされたものであり、実際に3次元モデルを処理する前に、複数の3次元モデルの空間的関係に基づき、実行可能な処理内容あるいは処理結果をあらかじめ提示し、細かい動きの制御が困難な3次元位置および姿勢計測装置を用いた場合でも、ストレスなく処理を実行できる3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
3次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行する3次元モデル処理装置であり、
操作デバイスの3次元情報を計測する3次元情報計測部と、
前記3次元情報計測部から入力する前記操作デバイスの3次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する3次元オブジェクトの表示制御処理を実行する表示情報制御部と、
前記表示情報制御部の制御に基づいて、3次元オブジェクトを含む画像を表示する画像表示部とを有し、
前記表示情報制御部は、
前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする3次元モデル処理装置にある。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記処理実行条件は、前記画像表示部に表示した異なる複数の3次元オブジェクト間の仮想空間における3次元的距離に基づいて設定される条件であることを特徴とする。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記処理実行条件は、前記画像表示部に表示した異なる複数の3次元オブジェクト間の姿勢としての相対的傾きに基づいて設定される条件であることを特徴とする。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記表示情報制御部は、前記処理実行条件を、前記3次元情報計測部における3次元情報計測精度または分解能に基づいて動的に変更する構成であることを特徴とする。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記表示情報制御部は、前記識別情報提示処理として、処理実行条件を満足する3次元オブジェクトまたは処理実行条件を満足する3次元オブジェクトに一体化された3次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理を実行する構成であることを特徴とする。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記表示変更処理は、前記3次元オブジェクトを構成する面、または線、または頂点の少なくとも1つの構成要素の、色、または大きさ、または形状、または動きの少なくともいずれか1つの属性を変更する処理であることを特徴とする。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記表示情報制御部は、前記識別情報提示処理として、処理実行条件を満足する3次元オブジェクトまたは処理実行条件を満足する3次元オブジェクトに一体化された3次元オブジェクトを他のオブジェクトと識別可能とする音声出力処理を実行する構成であることを特徴とする。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記処理実行条件は、オブジェクトの把持処理の実行条件であり、前記表示情報制御部は、前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた把持処理実行条件を満足するか否かを判定し、把持処理実行条件を満足すると判定した場合に把持処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記処理実行条件は、オブジェクトの結合処理の実行条件であり、前記表示情報制御部は、前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた結合処理実行条件を満足するか否かを判定し、結合処理実行条件を満足すると判定した場合に結合処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記表示情報制御部は、オブジェクトの結合処理が実行可能であることを示す識別情報提示処理として、結合後の態様を示す仮想結合領域を表示する処理を実行する構成であることを特徴とする。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記表示情報制御部は、前記3次元情報計測部内に設定された実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に新たなオブジェクトの生成表示を実行する構成であることを特徴とする。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記3次元モデル処理装置は、さらに、前記3次元情報計測部内に設定されたネットワーク接続用実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に表示された前記操作デバイス対応のオブジェクト情報をネットワーク接続された外部機器に送信し、該外部機器の提供する3次元空間画像内に該オブジェクトを表示させるための通信処理を実行する構成であることを特徴とする。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記3次元モデル処理装置は、さらに、前記操作デバイス対応のオブジェクトの構成情報に対応して設定されるオブジェクトの動作を定義するプログラムあるいはプログラム指示情報を前記オブジェクト情報とともにネットワーク接続された外部機器に送信し、該外部機器の提供する3次元空間画像内において、オブジェクトの構成情報に対応した動作を行うオブジェクトを表示させるための通信処理を実行する構成であることを特徴とする。
さらに、本発明の第2の側面は、
3次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行する3次元モデル処理方法であり、
操作デバイスの3次元情報を計測する3次元情報計測ステップと、
前記3次元情報計測ステップにおいて計測された前記操作デバイスの3次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する3次元オブジェクトの表示制御処理を実行する表示情報制御ステップと、
前記表示情報制御ステップにおける制御に基づいて、3次元オブジェクトを含む画像を画像表示部に表示する画像表示ステップとを有し、
前記表示情報制御ステップは、
前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする3次元モデル処理方法にある。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記処理実行条件は、前記画像表示部に表示した異なる複数の3次元オブジェクト間の仮想空間における3次元的距離に基づいて設定される条件であることを特徴とする。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記処理実行条件は、前記画像表示部に表示した異なる複数の3次元オブジェクト間の姿勢としての相対的傾きに基づいて設定される条件であることを特徴とする。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記表示情報制御ステップは、前記処理実行条件を、前記3次元情報計測部における3次元情報計測精度または分解能に基づいて動的に変更するステップを含むことを特徴とする。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記表示情報制御ステップは、前記識別情報提示処理として、処理実行条件を満足する3次元オブジェクトまたは処理実行条件を満足する3次元オブジェクトに一体化された3次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理を実行するステップを含むことを特徴とする。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記表示変更処理は、前記3次元オブジェクトを構成する面、または線、または頂点の少なくとも1つの構成要素の、色、または大きさ、または形状、または動きの少なくともいずれか1つの属性を変更する処理であることを特徴とする。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記表示情報制御ステップは、前記識別情報提示処理として、処理実行条件を満足する3次元オブジェクトまたは処理実行条件を満足する3次元オブジェクトに一体化された3次元オブジェクトを他のオブジェクトと識別可能とする音声出力処理を実行するステップを含むことを特徴とする。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記処理実行条件は、オブジェクトの把持処理の実行条件であり、前記表示情報制御ステップは、前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた把持処理実行条件を満足するか否かを判定し、把持処理実行条件を満足すると判定した場合に把持処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記処理実行条件は、オブジェクトの結合処理の実行条件であり、前記表示情報制御ステップは、前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた結合処理実行条件を満足するか否かを判定し、結合処理実行条件を満足すると判定した場合に結合処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記表示情報制御ステップは、オブジェクトの結合処理が実行可能であることを示す識別情報提示処理として、結合後の態様を示す仮想結合領域を表示する処理を実行するステップを含むことを特徴とする。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記表示情報制御ステップは、さらに、3次元情報計測部内に設定された実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に新たなオブジェクトの生成表示を実行するステップを含むことを特徴とする。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記3次元モデル処理方法は、さらに、3次元情報計測部内に設定されたネットワーク接続用実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に表示された前記操作デバイス対応のオブジェクト情報をネットワーク接続された外部機器に送信し、該外部機器の提供する3次元空間画像内に該オブジェクトを表示させるための通信処理を実行するステップを有することを特徴とする。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記3次元モデル処理方法は、さらに、前記操作デバイス対応のオブジェクトの構成情報に対応して設定されるオブジェクトの動作を定義するプログラムあるいはプログラム指示情報を前記オブジェクト情報とともにネットワーク接続された外部機器に送信し、該外部機器の提供する3次元空間画像内において、オブジェクトの構成情報に対応した動作を行うオブジェクトを表示させるための通信処理を実行するステップを含むことを特徴とする。
さらに、本発明の第3の側面は、
3次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行するコンピュータ・プログラムであり、
操作デバイスの3次元情報を計測する3次元情報計測ステップと、
前記3次元情報計測ステップにおいて計測された前記操作デバイスの3次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する3次元オブジェクトの表示制御処理を実行する表示情報制御ステップと、
前記表示情報制御ステップにおける制御に基づいて、3次元オブジェクトを含む画像を画像表示部に表示する画像表示ステップとを有し、
前記表示情報制御ステップは、
前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合にオブジェクトの把持や結合などの処理を実行可能であることを示す識別情報を提示、例えば、オブジェクトの表示態様の変更や音声出力などを実行する構成としたので、ユーザはオブジェクトの把持や結合処理が可能な位置にあることを即座に把握することができる。特にディスプレイ奥行き方向の距離感を正確に把握できない場合など、本発明の構成によれば、ユーザはオブジェクトに対する処理可能性を容易に把握することが可能となり、ユーザはストレスを感じることなく、操作効率を高めた処理が可能となる。
さらに、本発明の構成によれば、処理実行条件として、画像表示部に表示した異なる複数の3次元オブジェクト間の仮想空間における3次元的距離や3次元オブジェクト間の姿勢情報等、さまざまな情報を適用可能であり、さらに、処理実行条件を、3次元情報計測部における3次元情報計測精度または分解能に基づいて動的に変更する構成とするなど、状況に応じて最適な処理実行条件に基づく処理を行うことができる。
さらに、本発明の構成によれば、処理実行条件を満足する3次元オブジェクトまたは処理実行条件を満足する3次元オブジェクトに一体化された3次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理や音声出力を実行する構成としたので、ユーザはオブジェクトに対する処理可能性を容易に把握することが可能となり、ユーザはストレスを感じることなく、操作効率を高めた処理が可能となる。
さらに、本発明の構成によれば、オブジェクトの生成、オブジェクトのネットワークを介した通信についても操作デバイスによる処理のみで実行可能な構成としたので、キーボード等を用いた複雑な入力操作を伴うことなく様々な処理を実現することが可能となる。
以下、図面を参照しながら本発明の3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラムについて詳細に説明する。まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
[発明の概要]
図1には、本発明の一実施形態に係る3次元モデル処理装置の構成を模式的に示している。同図に示すように、3次元モデル処理装置は、表示情報制御部101、3次元情報(3次元位置および姿勢)計測部102、および画像表示部103によって構成される。
3次元情報(3次元位置および姿勢)計測部102は、ユーザが手にすることが可能であり、3次元空間を自由に移動させることが可能な複数の操作デバイス106a,106bと、磁界発生部105、3次元情報算出部104を有する。
本実施例における3次元情報(3次元位置および姿勢)計測部102は磁気センサ方式に基づく3次元情報(3次元位置および姿勢)計測部として設定した例である。なお、以下3次元情報は、3次元位置および姿勢情報を意味するものとする。
ユーザが手にすることにより3次元空間を自由に移動させることの可能な複数の操作デバイス106a,106bにはコイルが内蔵されている。磁界発生部105の発生する磁界によって設定される磁界空間内を操作デバイス106a,106bが移動することによりコイルに電流が発生する。この電流を3次元情報算出部104が計測し、複数の操作デバイス106a,106b各々の3次元情報(3次元位置および姿勢)を算出する。例えば、磁界発生部105を中心とする座標系(Xm,Ym,Zm)における操作デバイス106a,106b各々の3次元位置および姿勢が算出される。
3次元情報算出部104が算出した操作デバイス106a,106b各々の3次元位置および姿勢からなる3次元情報は、表示情報制御部101に入力され、入力情報に基づいて表示情報の生成処理、すなわち、3次元モデル制御処理が行われる。処理結果は画像表示部103へ出力され、操作デバイス106a,106b各々の3次元情報、すなわち位置、姿勢に対応した複数の3次元オブジェクト107a,107bが表示される。
すなわち、ユーザは操作デバイス106aおよび106bを両手で同時に操作することで、画像表示部103に表示される複数の3次元オブジェクト107a,107bを操作することが可能となる。
このように、3次元情報を入力可能な複数の操作デバイスを用いることで、例えばディスプレイに表示した3次元空間における積み木遊びのような3次元モデル処理を、実際の積み木遊びを行う操作に近い感覚で実現することが可能である。
なお、図1に示す例は、3次元情報(3次元位置および姿勢)計測部102を磁気方式による計測部とした構成例であるが、その他の方式、すなわち、超音波方式、機械方式、光学方式の3次元情報(3次元位置および姿勢)計測部としてもよい。あるいは、これらの方式を複合した構成を適用してもよい。また、図1においては、各構成部をケーブル接続した構成として示して、データ転送をケーブルを介して行う構成とした例を示してあるが、各構成部間のデータ転送を無線通信により実行する構成としてもよく、この場合は、各構成部を接続するケーブルは不要となる。
図2に、表示情報制御部101の詳細構成を説明するブロック図を示す。3次元情報入力部201は、3次元情報(3次元位置および姿勢)計測部102の3次元情報算出部で算出した複数の操作デバイス106a,b各々の3次元情報が入力される。
3次元モデル位置・姿勢制御部202は、3次元情報入力部201に入力する操作デバイス106a,b各々の3次元情報に基づいて、画像表示部103に表示しているオブジェクト、すなわち、操作デバイス106a,b各々に対応する各オブジェクト107a,bの位置および姿勢を更新する。
なお、表示処理対象となる3次元オブジェクトは、あらかじめデフォルトで設定されたオブジェクトとしてもよいし、あるいはユーザの操作処理の過程で動的に変更する3次元オブジェクトとしてもよい。オブジェクトに対する具体的処理については後述する。
なお、3次元モデル位置・姿勢制御部202は、複数の操作デバイスに対応する複数の3次元オブジェクトの位置および姿勢を更新する。
3次元モデル処理予測部203では、3次元モデル位置・姿勢制御部202で更新された3次元モデルの空間的関係と、処理条件蓄積部204に蓄積された処理条件設定テーブルに設定された処理実行条件と比較する。処理条件蓄積部204に蓄積されている処理条件設定テーブルは、図3に示すように、処理実行条件としての3次元モデルの空間的関係と、実行する処理態様を対応付けたテーブルである。処理実行条件としては、例えば2つの3次元オブジェクトの距離、すなわち画像表示部103に表示する3次元仮想空間における3次元的距離等の相対的位置関係や、2つの3次元オブジェクトが平行にあるなど、姿勢、向きに基づく相対的姿勢関係などである。
例えば、2つの3次元オブジェクトの距離dが予め設定された閾値距離D以下となった場合を処理実行条件とし、処理実行条件を満足するオブジェクトについての表示態様を変更したり、あるいは音を出力するなどの処理態様が設定される。同様に、2つの3次元オブジェクトの相対姿勢が平行に設定された場合を処理実行条件とし、処理実行条件を満足するオブジェクトについての表示態様を変更したり、あるいは音を出力するなどの処理態様が設定される。
3次元モデル位置・姿勢制御部202で更新された3次元モデルの空間的関係が、処理条件蓄積部204に蓄積された処理実行条件を満足する場合には処理実行部205において、処理条件蓄積部204に蓄積された処理条件設定テーブルに設定された処理を実行する。処理実行条件を満足するオブジェクトについての表示態様を変更したり、あるいは音を出力するなどの処理である。
このように、3次元モデル処理予測部203では、3次元モデル位置・姿勢制御部202で更新された3次元モデルの空間的関係が、処理条件蓄積部204に蓄積された処理実行条件を満足するか否かを判定し、満足する場合には、処理実行部205において、処理条件設定テーブルに設定された識別情報提示処理、すなわちオブジェクトの表示態様変更や、音を出力するなどの処理を行う。この処理により、ユーザは、ディスプレイに表示されたオブジェクトが把持処理可能であるか、結合可能であるかなどの処理可否を判定可能であり、オブジェクトの相対的な位置関係などを確認することが可能となる。
識別情報提示処理としては、例えば処理実行条件を満足する3次元オブジェクトまたは処理実行条件を満足する3次元オブジェクトに一体化された3次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理や、音声出力処理などである。表示変更処理としては、3次元オブジェクトを構成する面、または線、または頂点の少なくとも1つの構成要素の、色、または大きさ、または形状、または動きの少なくともいずれか1つの属性を変更する処理などである。なお、具体的な処理例については、後段で説明する。
図4には、3次元モデル処理装置のハードウェア構成例を示す。3次元モデル処理装置300は、CPU(Central Processing Unit)301、RAM(Random-Access Memory)302、ROM(Read Only Memory)303、外部記憶装置304、入力インタフェース305、出力インタフェース306、およびネットワークインタフェース307がバス308を介して接続されている。
CPU301は、3次元モデル処理装置300全体を制御するメイン・コントローラである。CPU301は、オペレーティング・システム(OS)の制御下で、例えば、立方体からなるブロックを用いて3次元モデルを組立てる積み木アプリケーションプログラムを実行する。
RAM302は、主記憶装置として機能する記憶媒体である。RAM302は、CPU301において実行されるプログラム・コードのロード領域として使用され、また実行プログラムの作業データ等の一時保管領域として使用される。
ROM303は、データを恒久的に格納する半導体メモリである。ROM303には、例えば、起動時の自己診断テスト(POST:Power On Self Test)や、ハードウェア入出力用のプログラム・コード(BIOS:Basic Input/Output System)などが書き込まれている。
外部記憶装置304は、実行ファイル形式のプログラムや各種データを格納するための記憶媒体である。外部記憶装置304としては、例えば、フラッシュメモリ等の不揮発性の半導体メモリを使用できる。あるいは、その他ハードディスク、CD,DVD、さらに外部記憶装置304としては、ネットワーク接続された他のシステムの外部記憶装置でもよい。さらにそれらの組み合わせでもよい。
入力インタフェース305は、各種の入力装置を3次元モデル処理装置300に接続するためのインタフェースである。この例では、3次元情報(3次元位置および姿勢)計測部309、キー群310、およびポインティングデバイス311が接続されている。3次元情報(3次元位置および姿勢)計測部309は、例えば磁気方式、超音波方式、機械方式および光学方式等、いずれかの処理方式により、ユーザの操作する操作デバイスの3次元的な位置および姿勢を計測する。キー群310やポインティングデバイス311は、ユーザからの指示を入力するための入力装置である。ユーザからの指示が全て3次元情報(3次元位置および姿勢)計測部309から行われる場合にはキー群310およびポインティングデバイス311は省略することが可能である。
出力インタフェース306は、ユーザに対して情報の提示をするためのインタフェースである。出力インタフェース306には、ディスプレイ312とスピーカ313とが接続されている。ディスプレイ312は、一般に、ユーザからの入力内容やその処理結果、あるいはエラー、その他のシステム・メッセージをユーザに視覚的に示すための装置である。スピーカ313は、各種情報を音によってユーザに示すための装置である。ディスプレイ312やスピーカ313を介して電子情報である画像データや、音声データが出力される。
ネットワークインタフェース307は、例えば、無線通信によってシステムをLANなどの局所的なネットワークに接続したり、さらにはインターネット314のような広域ネットワークに接続することを可能とした通信部である。
バス308は、各モジュール、入出力インタフェース、ネットワークインタフェースを介したデータ転送を可能にしている。
以上のような構成のシステムにより、3次元モデルに対する各種処理を実行することが可能となる。
[具体的な処理例]
次に、立方体形状を持つ単位ブロックを利用して様々な形状の3次元モデルを組み立てる積み木アプリケーションを例に、本発明の実施の形態の具体的な処理について説明する。
(アプリケーションの概要)
まず、積み木アプリケーションの概要について説明する。図5は積み木アプリケーションを模式的に表した図である。ユーザは操作デバイス106aおよび操作デバイス106bを入力装置として操作する。操作デバイス106aおよび操作デバイス106bには、画像表示部103に表示される操作オブジェクト401aおよび操作オブジェクト401bが対応しており、操作デバイス106aおよび操作デバイス106bを3次元空間的に動かすと、その動きに対応して画像表示部103に表示される仮想3次元空間上の操作オブジェクト401aおよび操作オブジェクト401bが動作する。
ユーザは操作オブジェクト401bを用いて、ディスプレイに表示された仮想3次元空間の下方に落ちているブロック402を把持し、他方の操作オブジェクト401aに結合させる。ブロック402は、本例では立方体形状を有し、各面は他のブロック402の各面と結合することが可能であり、この操作を繰り返すことで、立方体ブロック402を組み合わせ、任意の形状のオブジェクトを作成することが可能である。
また、一度結合したブロック402を再び把持することも可能である。すなわち、操作オブジェクト401bで落ちているブロック402を把持するのではなく、すでに操作オブジェクト401aに結合されている立方体ブロックを把持することもできる。
ブロックの把持やブロック同士の結合は操作オブジェクト401とブロック402との距離によって決定される。操作オブジェクト401がブロック402に対し、ある一定の距離に近づくと把持や結合が可能となる。
これは磁石の概念を模倣した考えである。図6に磁石の概念と本処理の概念を対比した図を示す。
図6(a)は、操作オブジェクト401とブロック402との距離が閾値距離D以下であり、この場合には、把持や結合が可能となる。一方、図6(b)は、操作オブジェクト401とブロック402との距離が閾値距離Dより大きく、この場合には、把持や結合が不可能となる。
これらの条件は、先に図3を参照して説明した処理条件蓄積部204に蓄積された処理条件設定テーブルの処理実行条件に対応するものである。処理実行条件に対応する3次元オブジェクトについては、例えば図7に示すように、他のブロックと区別された表示処理など、処理条件設定テーブルに設定された処理態様、例えば表示変更、音声出力などの処理がなされる。
図7に示す例では、把持可能ブロック451のみが、他の把持不可能ブロック452と異なる表示態様によって表示される。この処理は、処理条件蓄積部204に蓄積された処理条件設定テーブルの処理態様に対応して実行される処理である。
このように、操作オブジェクト401とブロック402との距離が、予め定めた閾値以下の距離に位置するブロック402のみ把持することが可能であり、ユーザは、表示態様の差により、どのブロックが操作オブジェクト401に近い距離にあり、把持可能なブロックであるかを容易に判別することが可能となる。
このように、本発明の構成では、把持や結合等の様々な処理において、処理を実行可能な一定条件を満たす3次元オブジェクトを選別し、ユーザに通知する構成であるので、例えば、従来のグラフイックソフトウェアのようにオブジェクト同士が3次元位置において重なりを持ったときにオブジェクト同士を結合したり、オブジェクトの把持を可能としたりする処理に比べ、ユーザはおおよその位置認識に基づいてオブジェクトを移動させれば例えば操作オブジェクト401に近接したブロック402を識別することが可能となり、ユーザは正確に操作オブジェクト401をブロック402の位置へ移動させなくても、ある程度近づいただけでブロックの把持処理等が可能となり、ストレスなく操作することが可能である。
なお、把持処理やブロック相互の結合処理の実行時には、操作デバイス106a,106bに設定されたボタン(スイッチ)を押下して指示信号を表示情報制御部101に入力し、表示情報制御部101において、指示情報に基づいて、把持可能ブロックの把持、すなわち操作オブジェクト401にブロック402を重ねて表示する表示情報の更新処理を実行する。
前述したように、ユーザにとって2次元平面からなるディスプレイ上で奥行き方向を知覚することは困難であり、ブロック402の3次元空間の座標位置(X1,Y1,Z1)へ操作オブジェクト401を正確に移動させることはユーザにとって困難であり、大きな負担となる。また、操作デバイス106を3次元空間で移動させてディスプレイに表示された操作オブジェクト401を、ディスプレイに表示された仮想3次元空間において正確に移動させることは、操作デバイス106の微細な動きの制御を要求されることになり、ユーザにとって大きな負担となる。さらに両手で同時に異なる操作オブジェクトに対応する操作デバイス操作する場合を考えると、さらに難易度が高まることになる。
これに対して、本発明の構成は、オブジェクト間の距離が所定距離以下となった場合など、ある程度の許容範囲を持つ処理実行条件を設定し、設定された処理実行条件を満足する状態となった場合に把持、あるいは結合等の処理を実行可能としたので、ユーザの操作性に緻密な正確さを要求することがなくなり、操作の容易性および効率性を高めることが可能となる。
本発明の構成においては、複数の操作オブジェクトの間の距離が閾値距離以下となった場合や、複数の操作オブジェクトの姿勢が特定条件を満足する姿勢となった場合、例えば平行となった場合など、様々な処理実行条件を満足する場合に、オブジェクトの把持や結合などの処理可能状態にあることを表示の変更や音声出力などによってユーザに通知する。ユーザは、この通知により、どのオブジェクトが把持や結合などの処理可能状態にあるかを判別して、次の操作に移行することができる。例えばユーザが操作デバイスに設定されたボタン(スイッチ)を押下することで、オブジェクトの把持や結合などの処理が実行される。
オブジェクトの把持や結合などの処理可能状態にあることは、オブジェクト間の距離が閾値距離以下となったオブジェクトや、操作オブジェクトに対して平行となったオブジェクトなど、あらかじめ設定された条件を満足するオブジェクトの表示態様の変更などによって行われる。具体的には、把持可能なブロックや結合可能なブロックの色を変更したり、拡大表示したり、結線を表示したり、吹き出しを設定したり、あるいは音声出力などを実行することで、ユーザへ処理内容を提示する。
(オブジェクト(ブロック)の生成)
ディスプレイにオブジェクト、例えば新たにブロックを生成する場合は、ブロック実物体を用いる。図8を参照して、ディスプレイに新たにブロックを生成し、表示する場合の処理について説明する。
図8に示すように、ユーザが手に持った操作デバイス106bをブロック実物体601に接触させる(もしくは近づける)ことで、ブロック実物体601に対応するブロックが生成され、操作オブジェクト401bとしてディスプレイ上に表示される。
ブロック実物体601として、例えば図に示すように赤色のブロック、青色のブロック、緑色のブロックを設定し、操作デバイス106bの接触したあるいは近づいたブロック実物体601の色を持つブロックがディスプレイに表示される。
ブロック実物体601は、その3次元位置情報が予め表示情報制御部101内に登録されており、操作デバイス106bの位置が、いずれかの色のブロック実物体601に接触または近づいたことを示す操作デバイス106の位置情報が表示情報制御部101に入力されると、その入力位置情報に従って、特定の色のブロックからなる操作オブジェクト401bをディスプレイに表示する処理を行う。図に示す例では、緑のブロック実物体601に操作デバイス106bが接触したことにより、ディスプレイに緑の色のブロックからなる操作オブジェクト401bが表示される。
このようなオブジェクト生成表示処理を行うことで、ユーザは、ディスプレイに表示された3次元空間に落ちているブロックを把持する必要はなく、操作デバイス106をブロック実物体601に接触させるという実世界上の容易な操作で仮想空間上にブロックを生成できる。
ユーザは、ブロックを複数結合させることで、例えば図8に示すキリン形状を持つオブジェクト401aなど、様々な形状を持つオブジェクトを生成することが可能となる。さらにこのようなブロックの組み合わせに基づくオブジェクトはネットワークを介して他のユーザと共有された空間へ移動させて、その空間内で、様々な動きを実行させることができる。
図9、図10を参照して、オブジェクトの共有空間への移動処理について説明する。共有3次元空間は、サーバ710の提供する3次元空間画像データであり、例えば図10に示すサーバ提供共有3次元空間730のごとき3次元画像データである。
この3次元画像データは、サーバ710のデータベースの位置情報としてのURLを指定することで、図9に示すように、ネットワーク接続された様々なクライアント721,722,723によって取得可能なデータである。
図9において操作デバイス106を操作するユーザは、操作デバイス106をネットワーク接続用実物体701に接触または近づける。
ネットワーク接続用実物体701は、その3次元位置情報が予め表示情報制御部101内に登録されており、操作デバイス106の位置が、ネットワーク接続用実物体701に接触または近づいたことを示す操作デバイス106の位置情報が表示情報制御部101に入力されると、ネットワーク接続用実物体701に対応して設定されたアドレス情報(例えばURL)に従って、オブジェクト情報をネットワーク接続制御部702を介してサーバ710に送信する。
サーバ710では、URLによって特定される3次元画像データ内に、受信オブジェクト情報に基づくオブジェクトを表示する。この結果、図10に示すように、サーバ提供共有3次元空間730内に操作オブジェクト401が表示され、これらの3次元画像は、ネットワーク接続された様々なユーザのクライアント機器のディスプレイに表示することが可能となる。サーバ提供共有3次元空間730には、他のユーザが組み立てたオブジェクトがあり、このような共有3次元空間730を複数のユーザで構築していくことが可能となる。
このように、積み木アプリケーションでは、3次元情報(3次元位置および姿勢)計測部102内においてユーザの操作する操作デバイスを用い、ブロック実物体601や、ネットワーク接続用実物体701などを組み合わせて用いることで、様々な形状のオブジェクトを組み立て、さらに組み立てたオブジェクトを複数のユーザ間で共有することが可能であり、創作と共有という楽しみを実現することができる。
また、共有3次元空間730に表示された操作オブジェクト401の動きを操作オブジェクト401の構成に基づいて変更するプログラムをサーバまたは、クライアント側からオブジェクト情報とともにサーバに送信し、操作オブジェクト401の構成に基づく動きを共有3次元空間730において実行するように設定することも可能である。
例えば図11(a)に示すように、赤のブロックの多い操作オブジェクト401の場合には、共有3次元空間730内を早く動きまわる設定のプログラムに従って動作し、図11(b)に示すように、青のブロックの多い操作オブジェクト401の場合には、共有3次元空間730内をジャンプしながら移動する設定のプログラムに従って動作し、図11(c)に示すように、緑のブロックの多い操作オブジェクト401の場合には、共有3次元空間730内を回転しながら動きまわる設定のプログラムに従って動作するといったように、操作オブジェクト401の動きを操作オブジェクト401の構成に基づいて変更するように表示プログラムを設定し、クライアントからの受信オブジェクト構成に従った動作を操作オブジェクト401に実行させるという構成が可能となる。なお、動作を規定するプログラムは、オブジェクト情報とともにサーバに送信する構成としても、あるいはサーバ自体が保有し、サーバがネットワークを介して受信するオブジェクト構成情報に基づいて、特定のプログラムを選択する構成としてもよい。
(ブロック数の表示)
次にオブジェクトを構成するブロックの数をディスプレイに表示する例について説明する。図12にブロック数をディスプレイに表示した例を示す。
図12において、操作オブジェクト401aおよび操作オブジェクト401bが、ユーザの操作により生成されたオブジェクトを示す。ディスプレイにはこれらの操作オブジェクトに対応してブロック数表示領域751a,751bに各オブジェクトを構成するブロックの数が表示される。
ブロック数表示領域751aは、操作オブジェクト401aの構成ブロック数=12を表示している。また、ブロック数表示領域751bは、操作オブジェクト401bの構成ブロック数=7を表示している。さらに全ブロック数表示領域750には、ディスプレイに表示された全てのブロック数=30を表示している。
ユーザが操作デバイスを操作し、ブロックを各オブジェクトに追加接合することで、ブロック数表示領域では、追加ブロック数に応じて数値を増加する更新がなされ、またブロックをオブジェクトから取り外す処理を行えば、取り外しブロック数に応じて数値を減少する更新がなされる。これらの制御は、表示情報制御部101において、各オブジェクトの構成ブロック数のカウント値を格納することで実行される。
このように、各オブジェクトのブロックの個数や全体の個数を表示することで、足し算や引き算などの学習に役立てることも可能である。ブロックを結合、あるいは把持することで、操作オブジェクト401を構成するブロック数が動的に変化し、楽しみながら数字の計算学習を実現することが可能である。
[処理シーケンス]
次に、本発明の3次元モデル処理装置において実行する各処理のシーケンスについてフローチャートを参照して説明する。
図13は、表示情報制御部におけるオブジェクト表示処理手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS101]積み木アプリケーションに必要な各種初期設定が行われる。例えば、操作オブジェクトの形状(図5の例では球)や色を設定ファイルから読み込んだり、仮想空間上に落ちているブロック402(図5参照)の数や色を設定し、仮想空間上の床に配置したりする。
[ステップS102]3次元情報(3次元位置および姿勢)計測部102から、各操作デバイスの3次元情報、すなわち位置と姿勢情報が入力される。
[ステップS103]ステップS102で入力された各操作デバイスの3次元情報、すなわち位置および姿勢情報を基に、画像表示部103のディスプレイに表示する操作オブジェクト401の位置および姿勢を設定する。このとき、ステップS102で入力された位置および姿勢情報をそのまま操作オブジェクト401の位置および姿勢として設定してもよいし、何らかのオフセットを加えた上で、ディスプレイに表示する操作オブジェクト401の位置および姿勢を設定してもよい。
[ステップS104]ユーザの操作する操作デバイスに対応する操作オブジェクトがブロック402を把持した状態にあるか否かを判定する。なお、初期状態でブロックを把持させた状態とする設定と、把持しない設定とすることが可能である。把持しない設定の場合には、仮想空間上に落ちているブロック402(図5参照)に、操作オブジェクト401を接触または近づけて、操作デバイスのボタンを押下することで、ブロックを把持した状態とすることができる。
ステップS104の判定において、操作オブジェクト401がブロック402を把持していると判定した場合にはステップS106へ進み、把持していない場合にはステップS105へ進む。
[ステップS105]ブロックの把持処理としてのピックアップ処理が行われる。詳細は後述する。
[ステップS106]ブロック間の結合処理が行われる。詳細は後述する。なお、処理を完了した後は、音の出力や、ブロックやオブジェクト、あるいはディスプレイの所定領域に色変化を表示するなどして、処理が完了したことを通知する構成とすることが望ましい。これは処理を実行していない(処理内容を表示している)場合と、処理を完了した場合を明確に区別するためである。また、同じような形状の3次元オブジェクトが複数存在する場合、処理完了後のオブジェクトの色を変更したり、把持している3次元オブジェクトの数を表示したりすることで、処理の完了を通知する構成としてもよい。
[ステップS107]ステップS105のピックアップ処理もしくはステップS106の結合処理を反映させた処理結果を画像表示装置103に表示する。また、処理結果に応じた音声の提示がある場合にはスピーカを通して音声を出力する。
[ステップS108]処理を終了するか判定する。本処理ルーチンを続行する場合は、ステップS102へ戻って上述と同様の動作を繰り返し実行する。また、処理が非続行ならばここで本処理ルーチン全体を終了させる。
本処理ルーチンの終了条件は、例えば3次元情報計測部102やキー群310、ポインティングデバイス311を介したユーザ入力であってもよいし、アプリケーション内であらかじめ定められたルール(例えばゲームにおけるゲーム・オーバー)であってもよい。また、メモリフルなどのハードウェア又はソフトウェア上の制約を終了条件にしてもよい。
次にステップS105のピックアップ処理について詳細に説明する。ここで、ピックアップ処理とは操作オブジェクト401をブロック402へ近づけ、ブロック402を把持する操作である。図14に、ピックアップ処理の手順を示すフローチャートを示す。以下、図14に示す処理をステップ番号に沿って説明する。
[ステップS201]画像表示装置103に表示された操作オブジェクト401と全てのブロック402との距離を計算する。距離は、画像表示装置103に表示された仮想3次元空間における距離である。
この距離算出処理においては、ピックアップできないブロックは距離算出対象からはずしてもよい。ピックアップできないブロックとは、例えば図15(a)に示すグレーのブロックである。白のブロックは、ピックアップできるブロックであり、これらのブロックをピックアップにより取り外しても図15(c)に示すようにオブジェクトが1つグループとして設定されるが、グレーのブロックをピックアップするとオブジェクトが複数のグループに分割されてしまい(図15(b)参照)、1つのブロックのみの切り離しとして処理できない。従ってこれらのブロックはピックアップ処理対象外のブロックであり、距離算出対象からはずしてもよい。
これは、複数のグループに分割されると、図15(b)に示すように、データ上は接触面のないブロックであっても一体のオブジェクトとして結合されていることになり、物理学的に矛盾する形状となるからである。しかし、必ずしも物理学に合致する必要はなく、アプリケーションによってはこのような形状を許すようにしてもよい。
あるいは、一度組み立てたブロックを壊さないように、明示的にピックアップできないブロックを指定する仕組みにしてもよい。指定されたブロックはピックアップ不可となり、距離の計算からははずされる。
[ステップS202]ステップS201で計算した操作オブジェクト401と各ブロック402との距離に基づき、操作オブジェクト401に最も近いブロックを検索する。
[ステップS203]ステップS202で検索されたブロック402がピックアップ可能か否かを判定する。ピックアップ可能ならばステップS204へ進み、不可能ならばステップS205へ進む。
ピックアップ可能か否かの判定は、先に図3を参照して説明した処理実行条件を満足するか否かの判定として行われる。ただし、処理実行条件を満足するブロックであっても、上述のステップS201でのピックアップできないブロックとされたブロックはピックアップ不可とされる。
図3を参照して説明した処理実行条件は、例えば、操作オブジェクトとブロック間の距離dが予め定めた閾値距離D以下であること、あるいは操作オブジェクトとブロックとの相対的な姿勢が予め定めた条件を満足することなどである。例えば、操作オブジェクト401とブロック402の向きを考慮してピックアップ可能かどうかを判定してもよい。例えば、操作オブジェクト401が矢印のような形状の場合、その矢印の方向のブロック402のみ、ピックアップ可能にしてもよい。
ここでは、操作オブジェクトとブロック間の距離dが予め定めた閾値距離D以下であることを処理実行条件として設定したものとして説明する。
選択したブロックが処理実行条件を満足するか否かは、ステップS201で計算された距離に基づき判定する。すなわち、操作オブジェクト401とブロック402の距離が、図13のステップS101の初期設定で設定された閾値距離Dより短い場合はピックアップ可能となり、長い場合にはピックアップ不可能と判定する。このようなピックアップ処理を判定する空間的関係は、先に図3を参照して説明した処理条件設定テーブルとして、処理条件蓄積部204に蓄積されている。
また、ピックアップ可能になる距離は3次元位置および姿勢計測装置の精度に基づいて動的に決定してもよい。例えば、精度のよい高価な3次元位置および姿勢計測装置を用いている場合には、設定閾値距離Dを短くし、精度の悪い安価な3次元位置および姿勢計測装置を用いている場合には、設定閾値距離Dを長くする。これらは3次元情報(3次元位置および姿勢)計測部102に精度情報として記録されており、図13のステップS101の初期設定時に表示情報制御部101に読み込まれる。読み込み情報に基づいて設定閾値距離Dが設定される。
また、動的に精度が変化する3次元情報(3次元位置および姿勢)計測部102を用いた場合には、計測値の信頼度に応じて設定閾値距離Dを逐次変更してもよい。例えば、光学方式の3次元位置および姿勢計測装置を用いた場合の設定閾値距離Dを逐次変更処理について図16を参照して説明する。
光学方式の3次元情報(3次元位置および姿勢)計測部は被計測物体1103(操作デバイス106に相当)上に設置された複数のマーカ1102をカメラ1101で撮影し、得られた画像1104上のマーカの位置に基づいて被計測物体1103(操作デバイス106)の位置と姿勢が計算される。このとき、マーカは最低3点撮影されなければならないが、撮影されたマーカの数が多いほどその精度は高くなる。
すなわち、図16(a)のように障害物1105や手等によってマーカ1102が隠れてしまうと撮影されるマーカの数が少なく、その精度も悪い。一方、(b)もしくは(c)のように撮影されたマーカ1102の数が多くなればなるほど、その精度は高くなることが期待される。
このように、光学方式の3次元情報(3次元位置および姿勢)計測部を適用した場合は、撮影画像中に観測されるマーカの数により信頼度を判定することが可能であり、この信頼度を基にピックアップ可能になる距離を動的に設定する。例えば、図16(a)のように撮影されるマーカの数が少なく信頼度が低いと判定される場合は、設定閾値距離Dを長くする。また、図16(c)のように撮影されるマーカの数が多く信頼度が高いと判定される場合は、設定閾値距離Dを短くする。
また、磁気方式の3次元情報(3次元位置および姿勢)計測部を適用した場合には、磁界を発生させて3次元の位置および姿勢を計測しているため、発生させた磁界に影響を与える鉄等の物質が周囲に存在する場合には精度が悪くなる。このように磁気方式の計測装置の精度は周囲の影響に大きく依存する。
従って、磁気方式の3次元情報(3次元位置および姿勢)計測部を用いる場合、アプリケーション起動時にユーザにディスプレイ上、あるいはディスプレイの前の既知の位置(例えば、ブロックの生成を表す実物体601の位置等)をポインティングしてもらい、計測値と実際の値のずれやばらつきに基づいて精度を推測し、実際の使用環境における測定精度を判定し、この判定情報に基づいて設定閾値距離Dを設定する構成としてもよい。
このように、設定閾値距離D等の処理実行条件は、3次元情報計測部における3次元情報計測精度または分解能に基づいて決定する構成とする。なお、分解能とは、計測可能最小単位であり、これらの3次元情報計測精度または分解能情報は、初期設定(図12のステップS101)において、3次元情報計測部102から表示情報制御部101に通知され、表示情報制御部101が通知情報に基づいて設定閾値距離D等の処理実行条件を決定する。また、計測の過程で精度、分解能が変化した場合も、変化情報を表示情報制御部101が3次元情報計測部102から受領し、受領情報に基づいて、動的に設定閾値距離D等の処理実行条件を変更する。
[ステップS204]ステップS202で検索され、ステップS203でピックアップ可能であると判定されたブロック402のユーザに対する通知処理を行う。例えばピックアップ可能であると判定されたブロック402を識別可能に表示する。これは視覚的にどのブロックがピックアップ可能かわかりやすくするためである。この処理としては表示態様の変更、音声出力など様々であり、先に図3を参照して説明した処理条件設定テーブルに設定された処理態様に対応する処理である。
図17にピックアップ可能ブロックを識別可能に表示する処理例を示す。(a)は他のブロックと異なる色での表示を行うことで、ピックアップ可能なブロック1201を示している。(b)はブロックの上部に噴出し1202を表示しピックアップ可能なブロック1201を示している。(c)は操作オブジェクト401からピックアップ可能なブロック1201に伸びるガイド1203を表示し、ピックアップ可能なブロック1201を示している。(d)はピックアップ可能なブロックの大きさを大きくし、ピックアップ可能なブロック1201を示している。あるいはアニメーション効果を付け加えてもよい。
さらに音の効果でピックアップ可能なブロック1201を表現してもよい。例えば、犬や猫等の動物の絵が表示されているブロックの場合、ブロックに表示されている動物の鳴き声でピックアップ可能なブロック1201を表現してもよい。
このように色や噴出し、ガイド、形状、アニメーション、音あるいはこれらの複合等でピックアップ可能なブロックを明示的に表示する。
[ステップS205]ブロック402をピックアップするか判定する。ステップS204までで候補となるピックアップ可能なブロック402がない場合、あるいはピックアップの指示がない場合には処理は終了となる。ピックアップの指示があり、ピックアップ可能なブロック402が存在する場合にはステップS206へ進む。
ここでピックアップの指示とは、例えば操作デバイス106に取り付けられたボタンの押下によって行われる。あるいは操作デバイス106を移動させて、ディスプレイに表示された操作オブジェクトをピックアップ可能なオブジェクトにさらに近づけた場合に、表示情報制御部101がピックアップの指示入力であると判定する構成としてもよい、
[ステップS206]ピックアップ可能なブロック402を把持する。把持とはブロック402を操作オブジェクト401の位置へ移動し一体化するものであり、その後、ブロック402と操作オブジェクト401の相対的な位置関係を維持することを意味する。すなわち、操作オブジェクト401を動かすと、同時に把持したブロック402も移動する。
以上のようなフローによりオブジェクトの把持(ピックアップ)処理が実行される。このように本発明の構成では、操作オブジェクト401を、ディスプレイに表示した仮想3次元空間において、把持(ピックアップ)対象オブジェトクトと同一の座標位置に設定することなく、一定距離の範囲内など、ある条件を満たすことで把持可能なブロック402をユーザに識別可能に提示することが可能であり、ユーザ入力により把持の指示があった場合にはそのブロック402を把持する処理を実行する構成としたので、3次元情報(3次元位置および姿勢)計測部102の計測精度が悪い場合でも、ユーザはストレスなく把持操作を行うことが可能となる。
次に、図13のステップS106に示す結合処理について詳細に説明する。ここで、結合処理とは操作オブジェクト401が把持しているブロック402を放し、他の操作オブジェクトが近くに位置する場合には、ブロック402を結合する操作である。図18は、結合処理の手順を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS301]自操作オブジェクトが把持しているブロック以外のブロックの3次元情報(3次元位置および姿勢情報)を取得する。ここで、操作オブジェクト401が把持しているブロック402以外にも結合を許す場合、例えば落ちているブロック402や壁のブロック402に結合する等、結合が可能な全てのブロック402についての3次元情報を取得する。
[ステップS302]ステップS301で3次元情報を取得した各ブロック402と、自操作オブジェクト401が把持している全てのブロック402との距離を計算する。このとき、結合不可能なブロック402は条件からはずしてもよい。結合できないブロック402とは、例えばブロックの結合する面にすでに他のブロックが結合している場合である。この場合、ブロック各面には1つのブロックしか結合できない。
また、複数のブロック同士を結合する場合、最終的な結合後の状態を想定し、重なるブロックが存在する場合は結合不可能と判定してもよい。図19に結合後に重なるブロックが発生する場合の例を示す。図19(a)に示すように、オブジェクト1451とオブジェクト1452の結合ブロック組1401を結合させると、図19(b)に示すように、オブジェクト1451とオブジェクト1452において、重なるブロック1402が発生する。
このような重なりブロックが発生する場合は、結合不可と判定する。なお、これらの処理の可否設定変更可能であり、重なりブロックが発生する場合であっても、結合可として処理を行う構成としてもよい。
[ステップS303]ステップS302で計算した各ブロック402間の距離に基づき、最も近いブロック402の組を検索する。
[ステップS304]ステップS303で検索されたブロック402の組が結合可能か判定する。結合可能ならばステップS305へ進み、不可能ならばステップS306へ進む。
結合可能かどうかの判定は、ピックアップ処理のピックアップ可能かどうかの判定と同様に、2つのブロック402の距離に基づき判定され、距離が図13のステップS101の初期設定等で設定された閾値距離Dより短い場合は結合可能となり、長い場合には結合不可能となる。このような結合処理を判定する処理条件は、処理条件蓄積部204に蓄積された、先に図3を参照して説明した処理条件設定テーブルに設定されている。
なお、閾値距離Dについては、ピックアップ可能かどうかの判定処理において説明したと同様、3次元情報(3次元位置および姿勢)計測部の計測精度に基づいて動的に決定する構成としてもよい。
また、上述したステップS302での結合可能かどうかの判定と同様に、結合しようとしている面にすでに結合されているブロックがある場合には、閾値距離Dのブロックであっても結合不可と判定する構成とする。ただし、重なりブロックを許容する設定の場合は、結合可と判定する。
[ステップS305]ステップS303で検索され、ステップS304で結合可能であると判定されたブロック402を識別可能とする処理を実行する。例えばハイライト表示を行う。これは視覚的にどのブロックが結合可能かわかりやすくするためである。
図20に結合可能として選択されたブロック402の表示例を示す。(a)は他のブロックと異なる色にして結合可能なブロック1501を示している。(b)は互いの結合される面である結合面1502を異なる色や模様で表し、結合されるブロックとその面を示している。(c)は結合後の様子の仮想結合領域1503を表示している。このようにブロックの位置だけでなく、姿勢も制約される場合、結合後の様子としての仮想結合領域1503を表示したり、結合面1502を表示するのが望ましい。
図15(c)のように、操作オブジェクト401と同じ形状のオブジェクトを、結合後の様子を示す仮想結合領域1503として表示することにより、従来のグリッドによる位置制約とは異なる効果が期待できる。すなわち、グリッドによる位置制約の場合、操作オブジェクト401自体が移動するため、操作オブジェクトがグリッド間を飛ぶように表示されるのに対し、本構成の場合は、操作オブジェクト401と同一形状の仮想形状1503を確認しながら、操作オブジェクト401自体は、3次元空間を滑らかに移動操作することが可能であり、より自然なコントロールが可能となる。
その他にピックアップ処理と同様に、大きさなどの形状や、アニメーション、音等で結合可能なブロックを表現してもよいし、それらの組み合わせでもよい。
[ステップS306]ブロック402を結合するか判定する。ステップS305までで結合処理候補となる結合可能なブロック402がない場合、あるいはユーザからの結合の指示がない場合には処理はステップS308へ進む。結合の指示があり、結合可能なブロック402が存在する場合にはステップS307へ進む。
ここで結合の指示とは、例えば操作デバイス106等に取り付けられたボタンが押された場合や、操作デバイス106を振る処理などであり、表示情報制御部101がこれらの指示情報を入力したか否かによって、指示の有無を判定する。
[ステップS307]結合可能なブロック402を結合する。このとき、複数のブロックを同時に把持している場合には、ブロックの塊同士が結合することとなる。
[ステップS308]把持しているブロックを放す。つまり、操作デバイスに対応してディスプレイに表示されている操作オブジェクトに一体化されたブロックを操作オブジェクトから離す。この処理に際しては、物理シミュレーションにより、ブロックが重力に従って落ちるようなアニメーションをしてもいいし、その場に浮遊しているようにしてもよい。
なお、ステップS307やステップS308の処理を完了した後は、音の出力や、ブロックやオブジェクト、あるいはディスプレイの所定領域に色変化を表示するなどして、処理が完了したことを通知する構成とすることが望ましい。これは処理を実行していない場合と、処理を完了した場合を明確に区別するためである。また、同じような形状の3次元オブジェクトが複数存在する場合、処理完了後のオブジェクトの色を変更したり、把持している3次元オブジェクトの数を表示したりすることで、処理の完了を通知する構成としてもよい。
以上のようなフローによりオブジェクトあるいはオブジェクトの構成要素としてのブロックの結合が実行される。このように本発明の構成では、操作オブジェクト401を、ディスプレイに表示した仮想3次元空間において、結合対象オブジェトクトと同一あるいは接触位置の座標位置に正確に設定することなく、一定距離の範囲内など、ある条件を満たすことで結合可能なブロック402をユーザに識別可能に提示することが可能であり、ユーザ入力により結合の指示があった場合にはオブジェクト相互またはブロック相互の結合処理を実行する構成としたので、3次元情報(3次元位置および姿勢)計測部102の計測精度が悪い場合でも、ユーザはストレスなく結合操作を行うことが可能となる。
なお、上述した実施例においては、立方体形状のブロックを3次元オブジェクトとして用いた例を説明したが、他の形状、例えば直方体、4面体、球など様々な形状を持つ3次元オブジェクトを適用することが可能である。例えば、3次元モデルがポリゴンで表現されている場合、ポリゴンや辺、頂点などをハイライトし、把持可能なオブジェクトあるいは結合可能なオブジェクトを識別表現することなどが可能である。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
以上、説明したように、本発明の構成によれば、画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合にオブジェクトの把持や結合などの処理を実行可能であることを示す識別情報を提示、例えば、オブジェクトの表示態様の変更や音声出力などを実行する構成としたので、ユーザはオブジェクトの把持や結合処理が可能な位置にあることを即座に把握することができる。特にディスプレイ奥行き方向の距離感を正確に把握できない場合などにおいても、ユーザはオブジェクトに対する処理可能性を容易に把握することが可能となり、ユーザはストレスを感じることなく、操作効率を高めた処理が可能となり、グラフィック処理を実行するコンピュータ、CAD、ゲーム機、CGグラフィック処理装置等、様々な情報処理装置において利用可能である。
本発明の3次元モデル処理装置の構成を模式的に示す図である。 本発明の3次元モデル処理装置における表示情報制御部の構成を示すブロック図である。 表示情報制御部の処理条件蓄積部の格納した処理条件設定テーブルの構成例を示す図である。 本発明の3次元モデル処理装置のハードウェア構成例を示す図である。 本発明の3次元モデル処理装置の一実施例である積み木アプリケーションの概要を説明する図である。 積み木アプリケーションの概念と磁石の概念を対比して示した図である。 閾値距離に基づく把持可能ブロックと把持不可能ブロックの区別および識別表示例について説明する図である。 積み木アプリケーションにおいて、ブロックを生成する仕組みを示す図である。 積み木アプリケーションにおけるネットワーク接続に基づく共有空間へのオブジェクト移動処理について説明する図である。 積み木アプリケーションにおいて、ネットワーク接続に基づく共有空間へのオブジェクト移動処理について説明する図である。 積み木アプリケーションにおいて、ネットワーク接続に基づく共有空間へのオブジェクト移動およびオブジェクト構成に基づく動作制御について説明する図である。 積み木アプリケーションにおいて、オブジェクトの構成ブロック数の表示例を示す図である。 表示情報制御部におけるオブジェクト表示手順を示すフローチャートである。 操作オブジェクトの操作手順であるピックアップ処理手順を示すフローチャートである。 ピックアップ処理できないブロックの例を示す図である。 光学方式3次元位置および姿勢計測装置における信頼性の違いを示す図である。 ピックアップ処理可能なブロックについての識別表示例を示す図である。 操作オブジェクトの操作手順であるブロック結合処理手順を示すフローチャートである。 結合処理が不可能な場合を示す図である。 結合処理可能なブロックの提示例を示す図である。
符号の説明
101 表示情報制御部
102 3次元情報(3次元位置および姿勢)計測部
103 画像表示部
104 3次元情報算出部
105 磁界発生部
106 操作デバイス
107 オブジェクト
201 3次元情報入力部
202 3次元モデル位置・姿勢入力部
203 3次元モデル処理予測部
204 処理条件蓄積部
205 処理実行部
301 CPU
302 RAM
303 ROM
304 外部記憶装置
305 入力インタフェース
306 出力インタフェース
307 ネットワークインタフェース
308 バス
309 3次元情報計測部
310 キー群
311 ポインティングデバイス
312 ディスプレイ
313 スピーカ
401 操作オブジェクト
402 ブロック
451 把持可能ブロック
452 把持不可能ブロック
601 ブロック実物体
701 ネットワーク接続用実物体
702 ネットワーク接続制御部
710 サーバ
721,722,723 クライアント
730 サーバ提供共有3次元空間
750 全ブロック数表示領域
751 ブロック数表示領域
1101 カメラ
1102 マーカ
1103 被計測物体
1104 画像
1201 ピックアップ可能なブロック
1401 結合ブロック
1402 重なるブロック
1501 結合可能なブロック
1503 仮想結合領域

Claims (27)

  1. 3次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行する3次元モデル処理装置であり、
    操作デバイスの3次元情報を計測する3次元情報計測部と、
    前記3次元情報計測部から入力する前記操作デバイスの3次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する3次元オブジェクトの表示制御処理を実行する表示情報制御部と、
    前記表示情報制御部の制御に基づいて、3次元オブジェクトを含む画像を表示する画像表示部とを有し、
    前記表示情報制御部は、
    前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする3次元モデル処理装置。
  2. 前記処理実行条件は、
    前記画像表示部に表示した異なる複数の3次元オブジェクト間の仮想空間における3次元的距離に基づいて設定される条件であることを特徴とする請求項1に記載の3次元モデル処理装置。
  3. 前記処理実行条件は、
    前記画像表示部に表示した異なる複数の3次元オブジェクト間の姿勢としての相対的傾きに基づいて設定される条件であることを特徴とする請求項1に記載の3次元モデル処理装置。
  4. 前記表示情報制御部は、
    前記処理実行条件を、前記3次元情報計測部における3次元情報計測精度または分解能に基づいて動的に変更する構成であることを特徴とする請求項1に記載の3次元モデル処理装置。
  5. 前記表示情報制御部は、
    前記識別情報提示処理として、処理実行条件を満足する3次元オブジェクトまたは処理実行条件を満足する3次元オブジェクトに一体化された3次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理を実行する構成であることを特徴とする請求項1に記載の3次元モデル処理装置。
  6. 前記表示変更処理は、前記3次元オブジェクトを構成する面、または線、または頂点の少なくとも1つの構成要素の、色、または大きさ、または形状、または動きの少なくともいずれか1つの属性を変更する処理であることを特徴とする請求項5に記載の3次元モデル処理装置。
  7. 前記表示情報制御部は、
    前記識別情報提示処理として、処理実行条件を満足する3次元オブジェクトまたは処理実行条件を満足する3次元オブジェクトに一体化された3次元オブジェクトを他のオブジェクトと識別可能とする音声出力処理を実行する構成であることを特徴とする請求項1に記載の3次元モデル処理装置。
  8. 前記処理実行条件は、オブジェクトの把持処理の実行条件であり、
    前記表示情報制御部は、
    前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた把持処理実行条件を満足するか否かを判定し、把持処理実行条件を満足すると判定した場合に把持処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする請求項1に記載の3次元モデル処理装置。
  9. 前記処理実行条件は、オブジェクトの結合処理の実行条件であり、
    前記表示情報制御部は、
    前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた結合処理実行条件を満足するか否かを判定し、結合処理実行条件を満足すると判定した場合に結合処理実行可能であることを示す識別情報提示処理を実行する構成であることを特徴とする請求項1に記載の3次元モデル処理装置。
  10. 前記表示情報制御部は、
    オブジェクトの結合処理が実行可能であることを示す識別情報提示処理として、結合後の態様を示す仮想結合領域を表示する処理を実行する構成であることを特徴とする請求項9に記載の3次元モデル処理装置。
  11. 前記表示情報制御部は、
    前記3次元情報計測部内に設定された実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に新たなオブジェクトの生成表示を実行する構成であることを特徴とする請求項1に記載の3次元モデル処理装置。
  12. 前記3次元モデル処理装置は、さらに、
    前記3次元情報計測部内に設定されたネットワーク接続用実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に表示された前記操作デバイス対応のオブジェクト情報をネットワーク接続された外部機器に送信し、該外部機器の提供する3次元空間画像内に該オブジェクトを表示させるための通信処理を実行する構成であることを特徴とする請求項1に記載の3次元モデル処理装置。
  13. 前記3次元モデル処理装置は、さらに、
    前記操作デバイス対応のオブジェクトの構成情報に対応して設定されるオブジェクトの動作を定義するプログラムあるいはプログラム指示情報を前記オブジェクト情報とともにネットワーク接続された外部機器に送信し、該外部機器の提供する3次元空間画像内において、オブジェクトの構成情報に対応した動作を行うオブジェクトを表示させるための通信処理を実行する構成であることを特徴とする請求項12に記載の3次元モデル処理装置。
  14. 3次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行する3次元モデル処理方法であり、
    操作デバイスの3次元情報を計測する3次元情報計測ステップと、
    前記3次元情報計測ステップにおいて計測された前記操作デバイスの3次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する3次元オブジェクトの表示制御処理を実行する表示情報制御ステップと、
    前記表示情報制御ステップにおける制御に基づいて、3次元オブジェクトを含む画像を画像表示部に表示する画像表示ステップとを有し、
    前記表示情報制御ステップは、
    前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする3次元モデル処理方法。
  15. 前記処理実行条件は、
    前記画像表示部に表示した異なる複数の3次元オブジェクト間の仮想空間における3次元的距離に基づいて設定される条件であることを特徴とする請求項14に記載の3次元モデル処理方法。
  16. 前記処理実行条件は、
    前記画像表示部に表示した異なる複数の3次元オブジェクト間の姿勢としての相対的傾きに基づいて設定される条件であることを特徴とする請求項14に記載の3次元モデル処理方法。
  17. 前記表示情報制御ステップは、
    前記処理実行条件を、前記3次元情報計測部における3次元情報計測精度または分解能に基づいて動的に変更するステップを含むことを特徴とする請求項14に記載の3次元モデル処理方法。
  18. 前記表示情報制御ステップは、
    前記識別情報提示処理として、処理実行条件を満足する3次元オブジェクトまたは処理実行条件を満足する3次元オブジェクトに一体化された3次元オブジェクトを他のオブジェクトと識別可能とする表示変更処理を実行するステップを含むことを特徴とする請求項14に記載の3次元モデル処理方法。
  19. 前記表示変更処理は、前記3次元オブジェクトを構成する面、または線、または頂点の少なくとも1つの構成要素の、色、または大きさ、または形状、または動きの少なくともいずれか1つの属性を変更する処理であることを特徴とする請求項18に記載の3次元モデル処理方法。
  20. 前記表示情報制御ステップは、
    前記識別情報提示処理として、処理実行条件を満足する3次元オブジェクトまたは処理実行条件を満足する3次元オブジェクトに一体化された3次元オブジェクトを他のオブジェクトと識別可能とする音声出力処理を実行するステップを含むことを特徴とする請求項14に記載の3次元モデル処理方法。
  21. 前記処理実行条件は、オブジェクトの把持処理の実行条件であり、
    前記表示情報制御ステップは、
    前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた把持処理実行条件を満足するか否かを判定し、把持処理実行条件を満足すると判定した場合に把持処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする請求項14に記載の3次元モデル処理方法。
  22. 前記処理実行条件は、オブジェクトの結合処理の実行条件であり、
    前記表示情報制御ステップは、
    前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた結合処理実行条件を満足するか否かを判定し、結合処理実行条件を満足すると判定した場合に結合処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とする請求項14に記載の3次元モデル処理方法。
  23. 前記表示情報制御ステップは、
    オブジェクトの結合処理が実行可能であることを示す識別情報提示処理として、結合後の態様を示す仮想結合領域を表示する処理を実行するステップを含むことを特徴とする請求項22に記載の3次元モデル処理方法。
  24. 前記表示情報制御ステップは、さらに、
    3次元情報計測部内に設定された実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に新たなオブジェクトの生成表示を実行するステップを含むことを特徴とする請求項14に記載の3次元モデル処理方法。
  25. 前記3次元モデル処理方法は、さらに、
    3次元情報計測部内に設定されたネットワーク接続用実物体設定位置近傍に前記操作デバイスが位置したことを示す入力情報に基づいて、前記画像表示部に表示された前記操作デバイス対応のオブジェクト情報をネットワーク接続された外部機器に送信し、該外部機器の提供する3次元空間画像内に該オブジェクトを表示させるための通信処理を実行するステップを有することを特徴とする請求項14に記載の3次元モデル処理方法。
  26. 前記3次元モデル処理方法は、さらに、
    前記操作デバイス対応のオブジェクトの構成情報に対応して設定されるオブジェクトの動作を定義するプログラムあるいはプログラム指示情報を前記オブジェクト情報とともにネットワーク接続された外部機器に送信し、該外部機器の提供する3次元空間画像内において、オブジェクトの構成情報に対応した動作を行うオブジェクトを表示させるための通信処理を実行するステップを含むことを特徴とする請求項25に記載の3次元モデル処理方法。
  27. 3次元オブジェクトをディスプレイに表示し、入力手段からの入力情報に基づいて表示オブジェクトに対する処理を実行するコンピュータ・プログラムであり、
    操作デバイスの3次元情報を計測する3次元情報計測ステップと、
    前記3次元情報計測ステップにおいて計測された前記操作デバイスの3次元情報に基づいて、前記操作デバイスに対応して画像表示部に表示する3次元オブジェクトの表示制御処理を実行する表示情報制御ステップと、
    前記表示情報制御ステップにおける制御に基づいて、3次元オブジェクトを含む画像を画像表示部に表示する画像表示ステップとを有し、
    前記表示情報制御ステップは、
    前記画像表示部に表示した異なる複数の3次元オブジェクトの相対的位置または相対的姿勢が予め定めた処理実行条件を満足するか否かを判定し、処理実行条件を満足すると判定した場合に処理実行可能であることを示す識別情報提示処理を実行するステップを含むことを特徴とするコンピュータ・プログラム。
JP2003276400A 2003-07-18 2003-07-18 3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラム Expired - Fee Related JP4085918B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003276400A JP4085918B2 (ja) 2003-07-18 2003-07-18 3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラム
US10/885,357 US7536655B2 (en) 2003-07-18 2004-07-06 Three-dimensional-model processing apparatus, three-dimensional-model processing method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003276400A JP4085918B2 (ja) 2003-07-18 2003-07-18 3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラム

Publications (3)

Publication Number Publication Date
JP2005038303A true JP2005038303A (ja) 2005-02-10
JP2005038303A5 JP2005038303A5 (ja) 2005-06-16
JP4085918B2 JP4085918B2 (ja) 2008-05-14

Family

ID=34100774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003276400A Expired - Fee Related JP4085918B2 (ja) 2003-07-18 2003-07-18 3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラム

Country Status (2)

Country Link
US (1) US7536655B2 (ja)
JP (1) JP4085918B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011110156A (ja) * 2009-11-25 2011-06-09 Mega Chips Corp ゲームシステム
KR20160052952A (ko) * 2014-10-29 2016-05-13 중앙대학교 산학협력단 3차원 형상의 모델링을 위한 블록 및 사용자 단말기와 이를 이용한 3차원 형상의 모델링 방법
WO2023073760A1 (ja) * 2021-10-25 2023-05-04 株式会社ソニー・インタラクティブエンタテインメント 表示制御システム、表示制御方法、及びプログラム
WO2023157322A1 (ja) * 2022-03-03 2023-08-24 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置
WO2023157323A1 (ja) * 2022-03-03 2023-08-24 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
KR102622063B1 (ko) * 2022-12-06 2024-01-05 이민철 물리적인 건축 블록들을 기반으로 한 메타버스 플랫폼 상의 건축물 3d 모델링 구현 방법, 장치 및 시스템

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000113221A (ja) * 1998-09-30 2000-04-21 Sony Corp 情報処理装置および方法、並びに提供媒体
US7545373B2 (en) 2004-08-03 2009-06-09 Nextpat Limited Applications with integrated capture
JP2006195971A (ja) * 2004-12-16 2006-07-27 Canon Inc 三次元cadシステム
JP4914123B2 (ja) * 2005-07-15 2012-04-11 キヤノン株式会社 画像処理装置及び方法
JP5075330B2 (ja) * 2005-09-12 2012-11-21 任天堂株式会社 情報処理プログラム
US8157651B2 (en) * 2005-09-12 2012-04-17 Nintendo Co., Ltd. Information processing program
JP5204381B2 (ja) * 2006-05-01 2013-06-05 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム及びゲーム処理方法
CN101785031A (zh) * 2007-01-05 2010-07-21 兰德马克绘图国际公司,哈里伯顿公司 用于在多个三维数据对象的显示中选择性成像物体的系统和方法
US8560969B2 (en) * 2008-06-26 2013-10-15 Landmark Graphics Corporation Systems and methods for imaging operations data in a three-dimensional image
JP5759375B2 (ja) * 2008-08-12 2015-08-05 コーニンクレッカ フィリップス エヌ ヴェ 動き検出システム
US20100138793A1 (en) * 2008-12-02 2010-06-03 Microsoft Corporation Discrete objects for building virtual environments
US10150033B2 (en) * 2010-08-20 2018-12-11 Nintendo Co., Ltd. Position calculation system, position calculation device, storage medium storing position calculation program, and position calculation method
JP5652097B2 (ja) * 2010-10-01 2015-01-14 ソニー株式会社 画像処理装置、プログラム及び画像処理方法
US9827507B2 (en) * 2011-05-23 2017-11-28 Lego A/S Toy construction system for augmented reality
CA2836505C (en) 2011-05-23 2018-10-30 Lego A/S Generation of building instructions for construction element models
JP5973788B2 (ja) * 2012-05-28 2016-08-23 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
US20140002443A1 (en) * 2012-06-29 2014-01-02 Blackboard Inc. Augmented reality interface
WO2014145532A1 (en) * 2013-03-15 2014-09-18 Rubicon Group Holding Limited Augmented reality systems and methods used to identify toys and trigger video and graphics
JP5790692B2 (ja) * 2013-03-29 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法および記録媒体
US9123171B1 (en) * 2014-07-18 2015-09-01 Zspace, Inc. Enhancing the coupled zone of a stereoscopic display
US10001901B2 (en) * 2016-06-14 2018-06-19 Unity IPR ApS System and method for texturing in virtual reality and mixed reality environments
JP7050110B2 (ja) * 2020-04-03 2022-04-07 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0749745A (ja) 1993-08-04 1995-02-21 Matsushita Electric Ind Co Ltd ポインティングデバイス
JP3559335B2 (ja) 1995-02-03 2004-09-02 富士通株式会社 三次元画像処理装置
US6720949B1 (en) * 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
JP3228917B2 (ja) 1998-07-21 2001-11-12 日立電子サービス株式会社 教育シミュレータ
JP4053693B2 (ja) 1999-07-22 2008-02-27 日精株式会社 リフトのレベルロック装置
JP2001307134A (ja) 2000-04-19 2001-11-02 Sony Corp 三次元モデル処理装置および三次元モデル処理方法、並びにプログラム提供媒体
JP2001325611A (ja) * 2000-05-15 2001-11-22 Sony Corp 3次元モデル処理装置および3次元モデル処理方法、並びにプログラム提供媒体

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011110156A (ja) * 2009-11-25 2011-06-09 Mega Chips Corp ゲームシステム
KR20160052952A (ko) * 2014-10-29 2016-05-13 중앙대학교 산학협력단 3차원 형상의 모델링을 위한 블록 및 사용자 단말기와 이를 이용한 3차원 형상의 모델링 방법
WO2016068593A3 (ko) * 2014-10-29 2016-06-23 중앙대학교 산학협력단 3차원 형상의 모델링을 위한 블록 및 사용자 단말기와 이를 이용한 3차원 형상의 모델링 방법
KR101653878B1 (ko) 2014-10-29 2016-09-05 중앙대학교 산학협력단 3차원 형상의 모델링을 위한 블록 및 사용자 단말기와 이를 이용한 3차원 형상의 모델링 방법
WO2023073760A1 (ja) * 2021-10-25 2023-05-04 株式会社ソニー・インタラクティブエンタテインメント 表示制御システム、表示制御方法、及びプログラム
WO2023157322A1 (ja) * 2022-03-03 2023-08-24 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置
WO2023157323A1 (ja) * 2022-03-03 2023-08-24 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP7487415B2 (ja) 2022-03-03 2024-05-20 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
KR102622063B1 (ko) * 2022-12-06 2024-01-05 이민철 물리적인 건축 블록들을 기반으로 한 메타버스 플랫폼 상의 건축물 3d 모델링 구현 방법, 장치 및 시스템

Also Published As

Publication number Publication date
JP4085918B2 (ja) 2008-05-14
US7536655B2 (en) 2009-05-19
US20050024360A1 (en) 2005-02-03

Similar Documents

Publication Publication Date Title
JP4085918B2 (ja) 3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラム
US10960298B2 (en) Boolean/float controller and gesture recognition system
JP6810093B2 (ja) ロボットのシミュレーション装置
KR102403579B1 (ko) 프로세스 중의 오브젝트 트래킹
JP6730642B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP6653526B2 (ja) 測定システムおよびユーザインタフェース装置
JP4863435B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
US8271888B2 (en) Three-dimensional virtual world accessible for the blind
JP2010026818A (ja) 画像処理プログラム、画像処理装置及び画像処理方法
JP2021524094A (ja) アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置
JP2003178259A (ja) 情報処理装置、情報処理装置の制御方法、その方法をコンピュータに実行させるためのプログラム
CN107065790A (zh) 用于确定虚拟环境中的虚拟机器人的配置的方法和系统
JP2018092313A (ja) 情報処理装置、情報処理方法およびプログラム
JP6730577B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2008276701A (ja) 情報処理システム、情報処理プログラム
JP2022153509A (ja) 測定支援システム
JP2006039872A (ja) 情報処理方法及び情報処理装置
CN108762726B (zh) 基础框架开发平台及通过平台设计游戏的方法
JP5519610B2 (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
JP4447896B2 (ja) 画像処理装置および方法
JP2004213518A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2020067204A1 (ja) 学習用データ作成方法、機械学習モデルの生成方法、学習用データ作成装置及びプログラム
JP2015121892A (ja) 画像処理装置、画像処理方法
JP6837109B2 (ja) 制御システム
JP2004054828A (ja) 画像処理装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071114

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: 20080129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080211

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120229

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees