(57)【要約】      （修正有）【課題】オブジェクト設計の工数を減らし、設定誤りを極力減らすことの可能なオブジェクト設計支援環境を提供する。【解決手段】オブジェクトを設計するためのオブジェクト設計支援プログラムであって、コンピュータに、１）対称性を有するオブジェクトの第１の部分に対し所定の定義情報が設定された場合に、オブジェクトの第１の部分と対称の位置にある、オブジェクトの第２の部分を検索する機能、２）検索された第２の部分に対して第１の部分に対して設定された第１の定義情報を複写する機能、および３）第２の部分に対して複写された第１の定義情報のうち一部を変更することにより、第２の部分を定義する第２の定義情報に変換する機能を実行させる。【選択図】図５
2009140025.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトを設計するためのオブジェクト設計支援プログラムであって、
コンピュータに、
対称性を有するオブジェクトの第１の部分に対し所定の定義情報が設定された場合に、当該オブジェクトの第１の部分と対称の位置にある、該オブジェクトの第２の部分を検索する機能と、
検索された該第２の部分に対して該第１の部分に対して設定された該第１の定義情報を複写する機能と、
該第２の部分に対して複写された該第１の定義情報のうち一部を変更することにより、該第２の部分を定義する第２の定義情報に変換する機能と、を実行させることを特徴とするオブジェクト設計支援プログラム。
【請求項２】
オブジェクトを設計するためのオブジェクト設計支援プログラムであって、
コンピュータに、
所定の点または軸に対して対称性を有するオブジェクトの一部分を特定するために定義情報を設定する機能と、
当該オブジェクトの第１の部分と対称の位置にある、該オブジェクトの第２の部分を検索する機能と、
検索された該第２の部分に対して該第１の部分に対して設定された該第１の定義情報を複写する機能と、
該第２の部分に対して複写された該第１の定義情報のうち一部を変更することにより、該第２の部分を定義する第２の定義情報に変換する機能と、を実行させることを特徴とするオブジェクト設計支援プログラム。
【請求項３】
前記第２の部分を検索する機能、前記第１の定義情報を複写する機能、および前記第２の定義情報に変換する機能は、複写が指示された場合に、連続して実行される、請求項１または２に記載のオブジェクト設計支援プログラム。
【請求項４】
前記第１の定義情報および前記第２の定義情報は、前記オブジェクトに設定された複数のボーンのいずれか１以上を特定する情報を含む、請求項１または２に記載のオブジェクト設計支援プログラム。
【請求項５】
前記第１の定義情報および前記第２の定義情報は、特定されたボーンの各々から受ける影響の大きさを示す影響度情報を含む、請求項４に記載のオブジェクト設計支援プログラム。
【請求項６】
前記第１の部分および前記第２の部分は、いずれも前記オブジェクトのスキンを構成するポリゴンの頂点である、請求項１乃至５のいずれか一項に記載のオブジェクト設計支援プログラム。
【請求項７】
所定の点または軸に対して対称性を有するオブジェクトを設計するためのオブジェクト設計支援プログラムであって、
該オブジェクトの表面を構成するスキンが複数のポリゴンで設定されており、
各該ポリゴンを定義する各頂点に対しては、該頂点が影響を受ける関係にあるボーンを特定するための関連ボーン特定情報が設定可能であり、
該関連ボーン特定情報は、関係があるボーンの各々について、互いに対称の関係にあるボーン間で共通する共通情報および互いに対称の関係にあることを示す対称情報を含むボーン定義情報、並びに、当該関係にあるボーンの各々から受ける影響の大きさを示す影響度情報を含んで構成されているものであって、
コンピュータに、
第１の頂点に対して所定の該関連ボーン特定情報を設定する機能と、
該第１の頂点と対称の位置にある第２の頂点を検索する機能と、
検索された該第２の頂点に対して該第１の頂点に対して設定された該関連ボーン特定情報を複写する機能と、
該第２の頂点に対して複写された該第１の頂点の該関連ボーン特定情報に含まれる該ボーン定義情報について該対称情報を変更することにより、該第２の頂点に対応した関連ボーン特定情報とする機能と、
を実行させることを特徴とするオブジェクト設計支援プログラム。
【請求項８】
所定の点または軸に対して対称性を有するオブジェクトを設計するためのオブジェクト設計支援装置であって、
該オブジェクトの表面を構成するポリゴンの頂点を定義する頂点情報と、該オブジェクトの骨格を構成するボーンを定義するボーン定義情報と、を参照して、該頂点に対して、該頂点が影響を受ける関係にあるボーンを特定するための関連ボーン特定情報を設定する関連ボーン特定情報設定部と、
既に該関連ボーン特定情報が設定された頂点と対称の位置にある頂点を検索する対称頂点検索部と、
前記検索された頂点に対して既に該関連ボーン特定情報が設定された頂点に対して設定された当該関連ボーン特定情報を複写する情報複写部と、
該対称の位置にある頂点に対して複写された当該関連ボーン特定情報に含まれる、対称性を定義する対称情報を変更することにより、該複写された頂点に対応した関連ボーン特定情報とする対称情報変更部と、
を備えたことを特徴とするオブジェクト設計支援装置。
【請求項９】
前記関連ボーン特定情報は、
関係があるボーンの各々について、互いに対称の関係にあるボーン間で共通する共通情報および互いに対称の関係にあることを示す前記対称情報を含むボーン定義情報、並びに、当該関係にあるボーンの各々から受ける影響の大きさを示す影響度情報を含んで構成されている、請求項８に記載のオブジェクト設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータグラフィックスのモデリングに利用されるオブジェクト設計に係り、特に、新たなオブジェクトを効率的に設計するための支援プログラムおよび装置に関する。
【背景技術】
【０００２】
現実感の高い３Ｄ画像を表示可能に構成されている遊技機やゲーム機では、三次元モデルであるオブジェクトに対して３Ｄコンピュータグラフィックス演算を実施するよう構成されている。このオブジェクトは、予め製造者によって設計、すなわちデザインされるものである。
【０００３】
人間や動物等のキャラクタオブジェクトを定義するモデルとして、人間や動物等の自然な動作を表現させることが可能なスキンモデル（スケルトンシステム）が知られている。スキンモデルは、キャラクタオブジェクトにボーンをジョイントで接続した骨格（スケルトン）を設定し、骨格構造の中心となるルート（基点）から階層的に各ボーンを定義したモデルである。各ボーンに対しては、接続されている直上の階層に当たるボーンからの回転角が演算される。ルートに直接接続されるボーンから階層の順番に従ってこの回転角の演算を順次実行していくことで、キャラクタオブジェクトの骨格の姿勢（動き）が決定される。キャラクタオブジェクトの外形、すなわちスキン（肌）は、複数頂点からなるポリゴンの集合によって構成され、各ポリゴンの頂点の各々は、１つ以上のボーンからの影響が関係付けられている。よって、上記回転角の演算により、ボーンが動かすことにより、スキンの空間配置も決定されることになる。
【０００４】
上記のようなスキンモデルを利用した画像表示技術は、例えば、特開平１０−１８８０２８号公報（特許文献１）、特開２００５−１４１５４５号公報（特許文献２）、特開２００１−２０９８２３号公報（特許文献３）に記載されている。
【特許文献１】特開平１０−１８８０２８号公報
【特許文献２】特開２００５−１４１５４５号公報
【特許文献３】特開２００１−２０９８２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、スキンモデルを利用して新たなオブジェクトを設計するためには、スキンを構成するポリゴンの頂点の一つひとつに、関係付けられるボーンやそのボーンの重み付けを頂点情報として設定していくことになる。
【０００６】
しかしながら、一つのオブジェクトを構成するポリゴンや頂点の数は膨大であり、その総てに対し頂点情報を正確に設定していく労力は相当なものである。また、うっかり誤ったボーンを設定したり、誤った重み付け値を設定したりした場合、設計後のオブジェクトを画像表示させるまでは、その設定の誤りに気付くことができない。画像表示させてから誤った設定に気付いて該当箇所を修正する、といった工程を繰り返すのでは、オブジェクト設計に膨大な時間を費やしてしまう。このため、オブジェクト設計の工数を削減し、かつ、誤りを減らすことが可能なオブジェクト設計環境が必要であった。
【０００７】
そこで、本発明は、オブジェクト設計の工数を減らし、設定誤りを極力減らすことの可能なオブジェクト設計支援環境を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のオブジェクト設計支援プログラムは、オブジェクトを設計するためのオブジェクト設計支援プログラムであって、コンピュータに、
１）対称性を有するオブジェクトの第１の部分に対し所定の定義情報が設定された場合に、オブジェクトの第１の部分と対称の位置にある、オブジェクトの第２の部分を検索する機能と、
２）検索された第２の部分に対して第１の部分に対して設定された第１の定義情報を複写する機能と、
３）第２の部分に対して複写された第１の定義情報のうち一部を変更することにより、第２の部分を定義する第２の定義情報に変換する機能と、
を実行させることを特徴とする。
【０００９】
係る発明によれば、オブジェクトに対称性がある場合に、設計者（デザイナー）等により一部分（第１の部分）の情報が設定されたら、まず対称的な位置を構成する部分（第２の部分）に対してこの情報が複写され、次に複写された情報のうちの一部、例えば対称性に関係する定義部分の情報を第２の部分に適合するように変更される。対称性を有するオブジェクトの片側の定義情報を設定すれば、他方の側の定義情報も総て複写・変更されるので、設計に費やされる労力を大凡半減することができる。また、設定数や約半減することによりミスを生じ難くなる他、複写される定義情報については入力ミスが新たに発生する余地が無いので、設定誤りを大幅に減らすことができる。なお、この発明は、定義情報の設定機能自体を構成要素として含まないため、オブジェクト設計のためのプログラムに付加されるアドオンプログラムを適用対象としうる。
【００１０】
ここで「対称性を有するオブジェクト」とは、所定の点や軸を中心に等しい形状を備えたオブジェクト一般をいい、例えば通常の人間や脊椎動物の多くをモデリングしたオブジェクトは対称性を有するオブジェクトである。幾何学的に対称的な立体図形も対称性を有するオブジェクトである。
【００１１】
また第１および第２の「部分」には限定はなく、対称性を有するオブジェクトのサーフェス（表面）または内部の部分である。例えば、オブジェクトがスキンモデルで定義されている場合にはスキンの一部が相当する。それらの定義情報に限定は無いが、スキンモデルに適用する場合には、例えば影響を受けるボーンに関する情報を含む。
【００１２】
同様に、本発明のオブジェクト設計支援プログラムは、オブジェクトを設計するためのオブジェクト設計支援プログラムであって、コンピュータに、
１）所定の点または軸に対して対称性を有するオブジェクトの一部分を特定するために定義情報を設定する機能と、
２）オブジェクトの第１の部分と対称の位置にある、オブジェクトの第２の部分を検索する機能と、
３）検索された第２の部分に対して第１の部分に対して設定された第１の定義情報を複写する機能と、
４）第２の部分に対して複写された第１の定義情報のうち一部を変更することにより、第２の部分を定義する第２の定義情報に変換する機能と、
を実行させることを特徴とする。
【００１３】
係る発明は、定義情報の設定機能自体を構成要素として含むものであり、本発明の機能を備えるオブジェクト設計のためのプログラム自体に本発明の機能が含まれる場合を適用対象としうる。
【００１４】
ここで、上記第２の部分を検索する機能、第１の定義情報を複写する機能、および第２の定義情報に変換する機能は、複写が指示された場合に、連続して実行されるように構成することは好ましい。
【００１５】
係る発明によれば、複写の指示を契機として定義情報の複写を実行するものであり、設計者の操作等に基づき一括複写をさせるようにプログラム機能を構成する場合である。
【００１６】
例えば、上記第１の定義情報および第２の定義情報は、オブジェクトに設定された複数のボーンのいずれか１以上を特定する情報を含む。
係る発明によれば、定義情報がボーンを特定する情報を含んでおり、オブジェクトがスキンモデルである場合におけるスキンの位置がボーンの影響を受けて決まるような場合を対象としている。
【００１７】
例えば、上記第１の定義情報および前記第２の定義情報は、特定されたボーンの各々から受ける影響の大きさを示す影響度情報を含む。
係る発明によれば、オブジェクトがスキンモデルで定義されており、複数のボーンからの影響を受けてスキンの位置が決まるように定義されている場合である。
【００１８】
例えば、上記第１の部分および第２の部分は、いずれもオブジェクトのスキンを構成するポリゴンの頂点である。
係る発明は、オブジェクトがスキンモデルで定義されており、スキンがポリゴンで構成されている場合に相当している。
【００１９】
具体的に、本発明のオブジェクト設計支援プログラムは、所定の点または軸に対して対称性を有するオブジェクトを設計するためのプログラムであって、前提条件として、オブジェクトの表面を構成するスキンが複数のポリゴンで設定されており、各ポリゴンを定義する各頂点に対しては、頂点が影響を受ける関係にあるボーンを特定するための関連ボーン特定情報が設定可能であり、関連ボーン特定情報は、関係があるボーンの各々について、互いに対称の関係にあるボーン間で共通する共通情報および互いに対称の関係にあることを示す対称情報を含むボーン定義情報、並びに、関係にあるボーンの各々から受ける影響の大きさを示す影響度情報を含んで構成されている。そしてコンピュータに、
１）第１の頂点に対して所定の関連ボーン特定情報を設定する機能と、
２）第１の頂点と対称の位置にある第２の頂点を検索する機能と、
３）検索された第２の頂点に対して第１の頂点に対して設定された関連ボーン特定情報を複写する機能と、
４）第２の頂点に対して複写された第１の頂点の関連ボーン特定情報に含まれるボーン定義情報について対称情報を変更することにより、第２の頂点に対応した関連ボーン特定情報とする機能と、を実行させることを特徴とする。
【００２０】
また本発明のオブジェクト設計支援装置は、所定の点または軸に対して対称性を有するオブジェクトを設計するためのオブジェクト設計支援装置であって、オブジェクトの表面を構成するポリゴンの頂点を定義する頂点情報と、オブジェクトの骨格を構成するボーンを定義するボーン定義情報と、を参照して、頂点に対して、頂点が影響を受ける関係にあるボーンを特定するための関連ボーン特定情報を設定する関連ボーン特定情報設定部と、既に関連ボーン特定情報が設定された頂点と対称の位置にある頂点を検索する対称頂点検索部と、前記検索された頂点に対して既に関連ボーン特定情報が設定された頂点に対して設定された関連ボーン特定情報を複写する情報複写部と、対称の位置にある頂点に対して複写された関連ボーン特定情報に含まれる、対称性を定義する対称情報を変更することにより、複写された頂点に対応した関連ボーン特定情報とする対称情報変更部と、を備えたことを特徴とする。
【００２１】
ここで上記関連ボーン特定情報は、関係があるボーンの各々について、互いに対称の関係にあるボーン間で共通する共通情報および互いに対称の関係にあることを示す前記対称情報を含むボーン定義情報、並びに、関係にあるボーンの各々から受ける影響の大きさを示す影響度情報を含んで構成されている。
【００２２】
例えば、上記「共通情報」は、ボーンの位置と階層を示す情報であり、例えば、骨の位置や階層（例えば脚であって大腿部または臑部のいずれかであるか、また腕であって上腕部または下腕部のいずれであるかを示す情報）を示す情報をいう。また上記「対称情報」は、対称性の属性を示す情報であり、例えば、脊椎を軸に左右対称なキャラクタオブジェクトであれば、右または左の別を特定する情報をいう。
【００２３】
なお、本発明の設計支援プログラムは、例えばアドオンプログラムの形態で提供され、オブジェクト設計のためのプログラム本体に組み入れられるように構成されたプログラムである。または、本発明の設計支援プログラムは、アプリケーションプログラムの形態で提供され、オブジェクトの設計機能を兼ね備えたプログラムでもある。これらプログラムは、例えば記憶媒体に格納され、またはネットワーク経由でダウンロード可能に頒布されることで、流通するものである。このような記憶媒体としては、コンピュータに読み取り可能な媒体であり、各種ＲＯＭ、フラッシュメモリを備えたＵＳＢメモリ、ＵＳＢメモリ、ＳＤメモリ、メモリスティック、メモリカードや、ＦＤ、ＣＤ−ＲＯＭ、±Ｒ／Ｗ、ＲＡＭ、ＤＶＤ−ＲＯＭ、±Ｒ／Ｗ、ＲＡＭ、等の物理的な記憶媒体を含む。また広義の記憶媒体として、プログラムを伝送可能なインターネット等の伝送媒体をも含むものとする。伝送媒体を通して伝送されたプログラム（ダウンロード）されたプログラムは、そのままメモリに記憶されて、コンピュータに実行されるものだからである。
【発明の効果】
【００２４】
本発明によれば、対称性を有するオブジェクトの一部の定義情報を設定すれば、他方の側の定義情報も総て複写・変更されるので、設計に費やされる労力を大凡半減することができる。また、設定数や約半減することによりミスを生じ難くなる他、複写される定義情報については入力ミスが新たに発生する余地が無いので、設定誤りを大幅に減らすことができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の好適な実施形態として、画像開発用コンピュータにおいてオブジェクト設計プログラムを実行させる場合を例示する。ただし、以下の実施形態は本発明の適応例に過ぎず、本発明は実施形態に限定されず種々に変更して適用することが可能である。
【００２６】
（実施形態１）
本発明の実施形態１は、本発明のオブジェクト設計支援プログラムがアドオンプログラムとして提供される形態に関する。
【００２７】
（画像開発用コンピュータの構成）
図１は、画像開発用コンピュータ１のハードウェア構成を示すブロック図である。
図１に示すように、オブジェクト設計のためのハードウェア環境は、画像開発用コンピュータ１、操作入力装置２０、表示装置３０から構成される。画像開発用コンピュータ１は、オブジェクト画像等の画像設計用のハイエンドコンピュータである。操作入力装置２０は、オブジェクト画像の設計者の操作を入力するための操作入力手段であり、例えばキーボードおよびマウスを含む。表示装置３０は、画像開発用コンピュータ１の出力する画像を表示するディスプレイである。
【００２８】
画像開発用コンピュータ１は、汎用コンピュータであり、ＣＰＵ１０、ＲＯＭ１１、メインメモリ（ＲＡＭ）１２、外部記憶媒体ドライブ１３、画像処理部１４、および操作入力処理部１５を含んでいる。
【００２９】
ＣＰＵ１０は、画像開発用コンピュータの制御動作の中枢となり、システムバスＳＢを介してＩ／Ｏアドレスを出力して特定の構成要素を選択し、データの入出力を行って装置全体を統括的に制御する。ＣＰＵ１０は、プログラム読み込み時、外部記憶媒体ドライブ１３を介して外部記憶媒体ＤＭのオブジェクト設計プログラムをメインメモリ１２のオブジェクト設計プログラム記録領域１２ａに転送し、またオブジェクト設計支援プログラムをメインメモリ１２のオブジェクト設計支援プログラム記録領域１２ｂに転送する。そしてＣＰＵ１０は、オブジェクト設計プログラムを実行するように構成されている。またＣＰＵ１０は、オブジェクト設計に必要な画像（データ）を生成し、これを画像処理部１４に送信する。
【００３０】
ＲＯＭ１１は、画像開発用コンピュータの起動時に使用する起動用プログラムや装置を動かすための基本的なシステムプログラム等を格納する不揮発性メモリである。電源投入直後は、ＣＰＵ１０はこのＲＯＭ１１の起動用プログラムを実行し、外部記憶媒体ＤＭが外部記憶媒体ＤＭのデータをメインメモリ１２に転送するように動作する。
【００３１】
ＲＡＭ１２は、メインメモリであり、外部記憶媒体ＤＭから転送されたオブジェクト設計プログラムをオブジェクト設計プログラム記録領域１２ａに一時記録保持するとともに、オブジェクト設計支援プログラムをオブジェクト設計支援プログラム記録領域１２ｂに一時記録保持する。
【００３２】
外部記憶媒体ドライブ１３は、ＤＶＤ−ＲＯＭなどの外部記憶媒体ＤＭに記録されたオブジェクト設計プログラムおよびオブジェクト設計支援プログラムを読み取る。
【００３３】
画像処理部１４は、画像デコーダ１４ａ、フレームバッファ（ＶＲＡＭ）１４ｃを有するＧＰＵ１４ｂ、ディスプレイコントローラ１４ｄ等の半導体デバイスを備え、オブジェクト設計に便宜な画像を表示可能に構成されている。オブジェクト設計に便宜な画像は、例えばオブジェクトのボーン構造やスキンを構成するポリゴンを示すワイヤーフレーム表現の画像、スキンにテクスチャをマッピングしたサーフェスモデル表現の画像、オブジェクト設計に必要な頂点やポリゴン、ボーンの各々を特定する数値・文字を含むテキスト画像が挙げられる。
【００３４】
画像処理部１４の画像デコーダ１４ａは、外部記憶媒体ＤＭに格納されている、所定の形式で圧縮された画像ファイルを読み取って動画像圧縮フォーマットに対応した復号化処理によりフレーム画像を再生する。
【００３５】
画像処理部１４のＧＰＵ１４ｂは、ＣＰＵ１０からのコマンドに応じて、ワイヤーフレーム表現画像やサーフェスモデル表現の画像を生成するための画像生成アルゴリズムを実行し、ジオメトリ処理やレンダリング処理等を行って生成した１フレーム分のビデオ画像をフレームバッファ１４ｃに出力可能に構成されている。
【００３６】
ディスプレイコントローラ１４ｄは、各フレーム時間にフレームバッファ１４ｃに格納された画像データを、それぞれ次のフレーム時間に読み出し、該読み出した画像データに対応した輝度信号（明るさの情報）と色信号（色の情報）を含む映像信号を生成して表示装置３０に出力する。
【００３７】
操作入力処理部１５には、操作入力装置２０からの操作信号を入力するＩ／Ｏポートであり、操作信号が受信されるとＣＰＵ１０に対し割り込み要求を出力したり、ＣＰＵ１０からの読み出しコマンドに対応して操作信号をシステムバスＳＢに出力したりする。
【００３８】
以下、画像開発用コンピュータ１がオブジェクト開発用プログラムおよびオブジェクト開発支援プログラムを実行することにより動作する装置を「オブジェクト設計支援装置」と称する。
【００３９】
（定義情報の説明）
本発明の機能ブロックの説明に先だって、本実施形態で設計対象となるオブジェクトに関連する情報について説明する。
図３に設計対象となるオブジェクトの構成概念図を示す。本実施形態では、オブジェクトをスキンモデル（スケルトンシステム）を適用して設計する。スキンモデルは、脊椎動物の骨格に相当する構造としてオブジェクトの骨格に相当するスケルトンを複数のボーンにより構成し、皮膚に相当するスキンをボーンに関係づけて定義したモデルである。各ボーンは、ジョイント（関節）で隣接するボーンと接続されている。
【００４０】
図３に示すように、例えば、設計対象となるオブジェクトＯＢＪが、人物をモデル化したものだとする。この図では、オブジェクトＯＢＪは、ボーンＢ０、Ｂ１、Ｂ６、Ｂ[ＬまたはＲ]２〜５、Ｂ[ＬまたはＲ]７〜１０でスケルトンが構成されている。複数のボーンは階層化されており、小さい番号ほど上位の階層に属し、大きい番号ほど階層に属していることを示す。図３から明らかなように、オブジェクトＯＢＪは脊椎に相当する軸を中心に左右対称な形状をしている。また演算の出発点となる基点は、特に場所を選ばないが、例えば腰骨に相当するジョイントＪ０に設定されている。
【００４１】
本発明の特徴の一つは、このような対称性を有するオブジェクトにおけるボーンの名称付けにある。オブジェクトＯＢＪを構成するボーンのうち、対称性を有するボーンに対しては、対称性の属性として左側のボーンであることを示す「Ｌ」、右側のボーンであることを示す「Ｒ」をそれぞれ付与している。互いに対称的な位置関係にあるボーンについては、同じ階層の番号を付与している。図３を例に取れば、階層「２」に属する鎖骨部分のボーンＢ２に対しては、左側にボーン番号「ＢＬ２」が、右側にボーン番号「ＢＲ２」が付与されている。また互いに対称関係を有するボーンが存在しないボーン、図３を例に取れば、脊椎・頭部に相当するボーンＢ０、Ｂ１、Ｂ６には、対称性を有するボーンでないことを示すため、記号「Ｒ」「Ｌ」のいずれも付していない。このようなボーンの定義づけをすることによって、一つのボーンの定義情報を参照した場合に、そのボーンの階層と対称性の有無、および対称性の属性（例えば右か左か）を知ることができる。
【００４２】
なお、ボーンの名称付けルールは、システムに応じて任意に設定可能であり、人間または／およびシステム（コンピュータ）に認識可能であればそのルールに限定はない。例えば、上記例では階層を示すための数字を付与していたが、ボーンの場所を直感的に分かりやすくするため、オブジェクトのパーツの一般名称、例えば、"shoulder"、"hip"等をふしてもよい。また上記例では設計者が認識可能なようにアスキーコード（文字）による符号を付けていたが、人間が視覚的に認識する必要がないのであれば、アスキーコード以外のバイナリデータであってもよいし、バイト情報やワード情報で記録するなら特定ビットのセット／リセット状態でボーンを定義してもよい。
【００４３】
図４に基点であるジョイントＪ０からの各ボーンの計算の順序を矢印で模式的に示した図である。
図４に示すように、スキンシステムにおいて、ボーンは、基点を中心に上層から下層にかけて階層が設定されている。仮想三次元空間におけるボーンの姿勢（配置）は、そのままオブジェクトＯＢＪの姿勢を決定する。ボーンの姿勢を画像更新期間（例えばフレーム期間）毎に変更していくことで、オブジェクトＯＢＪが動画像として表現可能になる。
【００４４】
各ボーンの姿勢は、直接接続されている上位の階層のボーンの空間座標、各ボーンの長さ、上位のボーンからの相対的な回転量に基づいて演算される。例えば、基点（０、０、０）に直接接続されているボーンＢ０のベクトルをＳ０（ｘ０、ｙ０、ｚ０）とした場合、ボーンＢ０に接続されるボーンＢ１のベクトルＳ１（ｘ１、ｙ１、ｚ１）は、次のように表される。
【００４５】
Ｓ1（ｘ1、ｙ1、ｚ1）＝Ｓ0（ｘ0、ｙ0、ｚ0）＋Ｒｘ（α）・Ｒｙ（β）・Ｒｚ（γ）・ＬＢ0  …（１）
ここで、Ｒｘ（α）、Ｒｙ（β）、およびＲｚ（γ）はＸ軸周り、Ｙ軸周り、Ｚ軸周りにそれぞれα、β、γの回転量だけ回転させる回転行列、ＬＢ0はボーンＢ０の長さを示すスカラー量である。すなわち、直上の階層に割り当てられたボーンＢｎの先端に接続するボーンＢ（ｎ＋１）のベクトルは、直上の階層に位置するボーンのベクトルＳn（ｘn、ｙn、ｚn）にそこからの回転量と直上の階層に位置するボーンの長さを乗じた結果を加算するベクトル演算によって式（２）に従って得られるのである。
【００４６】
Ｓn+1（ｘn+1、ｙn+1、ｚn+1）＝Ｓn（ｘn、ｙn、ｚn）＋Ｒｘ（α）・Ｒｙ（β）・Ｒｚ（γ）・ＬＢn  …（２）
式（２）に従った演算を基点であるジョイントＪ０に直接接続されたボーンＢ０およびＢ６から下層のボーンに対して順に実行して行くことで、ボーン全体の姿勢が演算される。
【００４７】
図４では、上半身を構成するボーンについては、腰骨のジョイントＪＯからボーンＢ０の姿勢が演算され、ボーンＢ０に対しジョイントＪ１にて接続している３つのボーンＢ１、ＢＬ２、ＢＲ２の姿勢が次に平行して演算される。ボーンＢＬ２およびＢＲ２には、左右の腕を構成するボーンＢＬ３〜ＢＬ５およびＢＲ３〜ＢＲ５が連結されているので、その順でボーンの姿勢が演算される。
【００４８】
また下半身を構成するボーンについては、腰骨のジョイントＪＯからボーンＢ６の姿勢が演算され、ボーンＢ６に対しジョイントＪ５にて接続している２つのボーンＢＬ７、ＢＲ７の姿勢が次に平行して演算され、さらに左右の脚を構成するボーンＢＬ８〜ＢＬ１０およびＢＲ８〜ＢＲ１０の姿勢が連結順に演算される。
【００４９】
図５にスキンを構成するポリゴンとボーンとの関係を、左腕を例にとって模式的に示す。
スキンモデルでは、スキンＳが複数のポリゴンの集合により構成されている。個々のポリゴンは複数の頂点を決定することにより定義される。図５には、スキンを構成するポリゴンのうち一つ、ポリゴンＰ１Ｌを例示してある。ポリゴンＰ１Ｌは頂点Ｖ１〜Ｖ４により定義される。図５に示すように、ポリゴンＰ１Ｌの各頂点Ｖ１〜Ｖ４は、ボーンＢＬ３とボーンＢＬ４の２つのボーンに関連付けられる。ボーンＢＬ４はボーンＢＬ３に対する相対的な回転角で姿勢が定まる。ボーンＢＬ３とボーンＢＬ４の姿勢が定まると、それぞれのボーンに関連づけられている頂点Ｖ１〜Ｖ４の相対位置が定まる。頂点Ｖ１〜Ｖ４の相対位置が定まると、ポリゴンＰ１Ｌの相対位置が定まる。総てのポリゴンＰの位置が定まると、オブジェクトＯＢＪのサーフェスを構成するスキンＳの位置が定まる。定まったスキンＳを構成するポリゴンに対して、所定のテクスチャをマッピングすれば、オブジェクトＯＢＪがレンダリング可能となる。
【００５０】
さて本実施形態のスキンモデルでは、上記相対位置の演算を可能とするために各頂点にそれぞれ頂点情報が設定される。頂点情報は、「位置座標」と「関連ボーン特定情報」とで定義される。スキンモデルにおいて、ポリゴンを構成する個々の頂点は、ボーンの姿勢に影響を受けて相対的な空間配置が定められる。個々の頂点は、いずれか１以上のボーンと関連付けられ、関連付けられたボーンの動きに応じて相対位置が変化する。頂点の位置を定める情報が「位置座標」であり、各頂点と関係付けられたボーンを特定する情報が「関連ボーン特定情報」である。
【００５１】
また、総てのボーンの姿勢を動画像演算のために変更していない状態、すなわち設計されたままのボーンやスキンの状態を「標準姿勢」と称する。標準姿勢における個々の頂点の位置座標を意味する場合は「標準座標」と称する。
【００５２】
「関連ボーン特定情報」は、各頂点が関連付けられた１以上の関連ボーン名、関連付けられる各ボーンから受ける影響度の大きさを表す重み情報、その他付属情報から構成される。関連ボーン名は、それぞれの頂点に影響を与える１以上のボーンの前記ルールに基づく名称である。重み情報は、複数のボーンが関連付けられている場合に、関連付けられたボーンのそれぞれからどの程度の影響を受けるかを０〜１の実数で表した重み付け係数である。付属情報は、重み情報以外に頂点に影響の与える情報であり、例えばジョイントにも影響を受ける場合にはジョイントを特定する情報である。
【００５３】
図５の例では、頂点Ｖ１〜Ｖ４は、２つのボーン、ボーンＢＬ３とボーンＢＬ４とに影響を受けるので、これら２つのボーンが関連するボーン名称として定義され、それぞれのボーンに対する重み情報が付与される。一つの頂点に影響を与えるボーンに割り振られた重み情報の和は１．０となるよう配分演算がされる。すなわち、ある頂点ＶＥがボーンＢａとボーンＢｂとに影響を受け、ボーンＢａの重み係数がｘ（０≦ｘ≦１）であるとすると、ボーンＢｂの重み係数はｙ（＝１−ｘ）として定義される。
【００５４】
前述したように、本実施形態では、対称性を有するボーンの名称付けが対称性の属性によって特定される。オブジェクトのスキンを構成するポリゴンも対称性を有するように設計されているものとすれば、互いに対称の位置にあるポリゴン間における各頂点の頂点座標にも共通性がある。
【００５５】
図６Ａに、図５に例示したポリゴンＰ１Ｌの頂点Ｖ１〜Ｖ４に設定された頂点情報の設定例を、図６Ｂに、ポリゴンＰ１Ｌと対称の位置関係にあるポリゴンＰ１Ｒの頂点Ｖ１〜Ｖ４に設定された頂点情報の設定例を示す。ここで、ポリゴンＰ１Ｒは、左手の上腕上部に位置するポリゴンＰ１Ｌと対称の位置関係、すなわちポリゴンＰ１Ｌに対し脊椎軸を中心に対称の位置にある右手の上腕上部に位置するポリゴンである。
【００５６】
図６Ａおよび図６Ｂを比較すると明らかなように、各頂点情報において標準座標は、左右の配置の相違がｘ座標に現れているが、オブジェクトＯＢＪの足下からの高さに相当するｙ座標、奥行き方向の位置に相当するｚ座標は同一である。またボーン自体がスキンと同じく対称性を有するため、対称性の属性（左か右か、ＬかＲか）の相違以外は共通する関連ボーン名が付与されている。またそれぞれの互いに対称の位置関係にあるボーンについて付与される重み情報も同じである。よって、左腕のスキンがボーンの動きに連れて受ける影響と同等の影響を、右腕のスキンが対称的な配置のボーンの動きに対して受ける。
【００５７】
なお、本実施形態では、スキンモデルをボーン、ジョイント、スキンで構成したが、この他、マッスル（筋肉）を情報として付加してもよい。マッスルを付加すれば、筋肉の隆起によるスキンの動きを表現させることが可能である。
【００５８】
（機能ブロックの説明と動作原理）
次に本実施形態における機能ブロックを動作原理とともに説明する。
図２は、オブジェクト設計支援装置における機能ブロック図を、ソフトウェアプログラムとの関係も含めて示した図である。
【００５９】
図２に示すように、オブジェクト設計支援装置は、関連ボーン特定情報設定部１１１、対称頂点検索部１２１、情報複写部１２２、対称情報変更部１２３、並びに頂点情報記憶部１３１、ボーン定義情報記憶部１３２、および関連ボーン特定情報記憶部１３３を備えている。
【００６０】
これらの機能ブロックのうち、頂点情報記憶部１３１およびボーン定義情報記憶部１３２、および関連ボーン特定情報記憶部１３３は、オブジェクト設計プログラム１１０に付随して外部記憶媒体ＤＭから転送された頂点情報やボーン定義情報を記憶する、メインメモリ１２のデータ領域が相当する。関連ボーン特定情報記憶部１３３は、オブジェクト設計プログラム１１０の処理により設定される関連ボーン特定情報を格納する、メインメモリ１２のデータ領域が相当する。関連ボーン特定情報設定部１１１は、ＣＰＵ１０がオブジェクト設計プログラム１１０を実行することにより実現され、その他の機能ブロックは、ＣＰＵ１０がオブジェクト設計支援プログラム１２０を実行することにより実現される機能である。
【００６１】
（関連ボーン特定情報設定部１１１）
関連ボーン特定情報設定部１１１は、オブジェクト設計プログラムを実行することにより実現される基本的な機能であり、対称性を有するオブジェクトの一部分を特定するために定義情報を設定する機能ブロックである。この機能ブロックは、画像開発用コンピュータ１がオブジェクト設計プログラムを実行することにより実現されるオブジェクト設計支援装置の機能の一部分である。
【００６２】
オブジェクト設計支援装置全体の機能は、設計者の操作により新たなオブジェクトをデザインしたり過去にデザインしたオブジェクトを改変したりすることである。新たなオブジェクトを設計する場合、オブジェクト設計支援装置は、操作入力装置２０から入力された操作信号に基づいて、スキンシステム表現のためのオブジェクトのボーン構造を設定していく。設計者は、基部となるジョイントの標準座標を入力し、そのジョイントに直接接続される最上位の階層にあるボーンの標準位置を座標で、そのボーンの長さを数値で指定する。さらに最上位階層のボーンに接続される下層のボーンの標準位置と長さを順次設定していく。過去に作成してあるボーン構造を用いる場合には、設計済みのオブジェクトデータからボーン構造のデータだけを取り出す。
【００６３】
オブジェクト設計支援装置によって設計されたボーン構造は、ボーン定義情報記憶部１３２に記憶される。このボーン定義情報は、上述したボーン名Ｂｘｘ各ボーンの標準位置を示す座標（ｘ、ｙ、ｚ）、ボーンの長さＬＢｘを含んでいる。各ボーンはこれらの情報を設計者が指定していくことで生成される場合もあるし、過去に設計したオブジェクトのボーン定義情報をそのまま、あるいは、一部を変更して用いる場合もある。また画像データのサンプルの形式で外部記憶媒体ＤＭやネットワーク経由でダウンロードする場合もある。
【００６４】
次いでオブジェクト設計支援装置は、設計されたボーンに対するスキンに関する情報を設定する。スキンはボーン構造に対応した複数のポリゴンの各頂点がボーンとどのような関係にあるかを順次設定していくことで設計される。関連ボーン特定情報設定部１１１は、オブジェクトの一部分であるポリゴンの頂点に関連付けられる関連ボーン特定情報を設定する機能に関する。
【００６５】
ここでオブジェクトのスキンを構成するポリゴン一つひとつについての頂点の標準座標は予め設定され頂点情報記憶部１３１に記憶されているものとする。この頂点情報は、操作者が座標値を入力することや画像を見ながらポインタで位置を特定することで設定するものとしてもよいが、過去に設計済みのオブジェクトデータを参照して一部のポリゴンの頂点座標を改変してもよい。
【００６６】
スキンの動きに大きな影響を与え、設計者のセンスが生きるのは、各頂点に対して設定する関連ボーン特定情報である。各頂点にどのようなボーンにどの程度の重みで関連付けるかによって、動画像表示した場合のスキンの姿勢が大きく影響を受けるからである。
【００６７】
関連ボーン特定情報設定部１１１は、頂点情報記憶部１３１から各頂点の標準座標を読み出し、それに対応する関連ボーン特定情報を設計者の操作に基づいて設定していく。設計すべき関連ボーン特定情報は、図６Ａに示すように、標準座表が定められた頂点に対して、どのボーンの影響を受けるかを定める関連ボーン名、関連付けられたボーンの重み情報、その他付属情報である。
【００６８】
ここで、設計者は、対称性を有するオブジェクトの設計をする際に、対称性を有する部位の片側を設計していくものとする。例えば、図３に示すように左右に対称的なオブジェクトＯＢＪを設計する場合には、脊椎軸の左側から設定していくなら左側のスキンの頂点情報を設定していく。そして、図６Ａに示すように、ポリゴンＰ１Ｌが設定されたら次のポリゴンＰ２Ｌを設定する、というように、順に各ポリゴンの頂点情報を設定していく。
【００６９】
ここで、図６Ａのように対称性を有するオブジェクトの片側部分の標準座標が設定されたとしても、この片側部分と対称の関係のある片側部分にはまだ関連ボーン特定情報が設定されていない。すなわち左側のポリゴンＰ１Ｌ、Ｐ２Ｌの頂点情報が総て設定された段階でも、対称的な位置にある右側のポリゴンＰ１Ｒ、Ｐ２Ｒの頂点情報は、図６Ｃに示すように、標準座標以外何も設定されていない。
【００７０】
（対称頂点検索部１２１）
対称頂点検索部１２１は、オブジェクト設計支援プログラムを実行することにより実現されるアドオン機能であり、頂点情報記憶部１３１に格納された頂点情報を参照して、関連ボーン特定情報が設定されたオブジェクトの各頂点（第１の部分）についてそれと対称の位置にある頂点（第２の部分）を検索する機能ブロックである。
【００７１】
対称の位置にある頂点は、オブジェクトが対称性を有しているが故に標準座標が近似している。例えば、図６Ａと図６Ｃとを比べると判るように、右側のポリゴンＰ１Ｌの頂点における標準座標と左側のポリゴンＰ１Ｒの頂点における標準座標は、ｘ座標が異なるだけでその他の座標値が一緒である。よってｘ座標以外の座標が一致するか否かによって対称の位置にある頂点が検索可能となる。
【００７２】
なお、対称の位置にある頂点は、標準座標を参照して検索する他に、対称の位置にある頂点同士を関連づける情報を参照することで検索することもできる。例えば、ポリゴンの名称を基点から左右に分けて一定の法則（例えば連番）に従って付与しておけば、対称であること以外の部分で同じ名称付けがされているポリゴンを対称の位置にあるポリゴンとして特定でき、その頂点を検索できる。例えばポリゴンＰ１Ｌに対しては、下線部分が共通であるポリゴンＰ１Ｒが対称的な位置に配置されるポリゴンとして特定可能である。
【００７３】
ここで、対称頂点検索部１２１は、設計者の複写指示がされたことを条件として、対称の位置にある頂点を探し出すよう機能する。対称性を有するオブジェクトに対してあるまとまりのある頂点に対し関連ボーン特定情報を設定した設計者は、オブジェクト設計支援装置の操作入力装置２０を操作して、頂点情報を複写する旨のコマンドを入力する。対称頂点検索部１２１はこのコマンドが入力された場合に、既に関連ボーン特定情報が設定された頂点について対称の位置にある頂点を検索するのである。設計者が頂点情報の複写をする意図を示した場合に本発明の複写を実行する場合である。
【００７４】
ただし、設計者の操作に係らせずに頂点の検索を実行するようにしてもよい。例えば、一つまたは所定数の頂点について関連ボーン特定情報の設定が終了したらオブジェクト設計支援装置が自動的に対称的な位置にある頂点を検索するように機能させてもよい。
【００７５】
（情報複写部１２２）
情報複写部１２２は、オブジェクト設計支援プログラムを実行することにより実現されるアドオン機能であり、検索された頂点（第２の部分）に対して既に設計されている頂点（第１の部分）に対して設定された関連ボーン特定情報（第１の定義情報）を複写する機能ブロックである。
【００７６】
情報複写部１２２は、関連ボーン特定情報が設定された頂点と対称の位置にある頂点に対してその関連ボーン特定情報を複写していく。例えば図７に示すように、左上腕の一つの頂点ＶａＬの情報が右上腕の対称位置にある頂点ＶａＲに複写される。左掌の頂点ＶｂＬの情報が右掌の対称位置にある頂点ＶｂＲに複写され、左臑の頂点ＶｃＬの情報が右臑の対称位置にある頂点ＶｃＲに複写される。このように対称性を有するオブジェクトの片側から他方の側へ関連ボーン特定情報が複写されるのである。
【００７７】
例えば、図６Ａに示した左上腕のポリゴンＰ１Ｌの頂点Ｖ１〜Ｖ４に対しては、右上腕のポリゴンＰ１Ｒの頂点Ｖ１〜Ｖ４がそれぞれ検索されるので、それらに関連ボーン特定情報を悉く複写する。
【００７８】
図９ＡにポリゴンＰ１Ｒの頂点Ｖ１〜Ｖ４について複写された直後の情報を示す。図９Ａに示すように、検索された右上腕のポリゴンＰ１Ｒの各頂点の標準座標に対し、対称の位置にある左上腕のポリゴンＰ１Ｌの各頂点の関連ボーン特定情報がそのまま複写されている。
【００７９】
（対称情報変更部１２３）
対称情報変更部１２３は、対称的な位置にあるポリゴンの頂点（第２の部分）に対して複写された関連ボーン特定情報（第１の定義情報）のうち一部を変更することにより、対称的な位置にあるポリゴンの頂点を定義する関連ボーン特定情報（第２の定義情報）に変換する機能ブロックである。
【００８０】
言い換えれば、対称情報変更部１２３は、複写した対称の位置にある頂点のための関連ボーン特定情報を当該頂点に適合した関連ボーン特定情報とする。具体的には、複写された関連ボーン名は対称的な位置にある頂点が関連付けられたボーン名に過ぎないところ、これを当該頂点が関連付けられるべきボーン名に変更することである。
【００８１】
本実施形態の名称付けルールでは、対称の位置にあるボーンは互いに同じ階層番号が付与され、唯一対称の属性、すなわち右である左であるかに違いがある名称が付与されている。そこで、対称情報変更部１２３は、複写された関連ボーン特定情報のうち、関連ボーン名を、それぞれ対称の位置にあるボーン名に変更していく。本実施形態の例に従えば、右側に配置されたボーンの名称が左側に配置されたボーンの名称に変更される。
【００８２】
例えば、図９Ａに示すように左上腕のポリゴンＰ１Ｌの頂点Ｖ１〜Ｖ４の関連ボーン特定情報が複写された、右上腕のポリゴンＰ１Ｒの頂点Ｖ１〜Ｖ４において、それらの関連ボーン特定情報のうち関連ボーン名のフィールドに記録された左側のボーン名称が、図９Ｂに示すように右側のボーン名称に変更される。ボーン名称が対称の位置にあるボーン名称に変更されたとしても、個々の頂点に対するボーンの影響度も対称的であるため、重み情報自体を変更する必要はない。また付属情報についても対称的であれば変更が不要である。
【００８３】
変更された関連ボーン特定情報は、関連ボーン特定情報記憶部１３３に記憶される。よって、対称性を有するオブジェクトの片側の関連ボーン特定情報が設定できれば、複写と変更によって他方の側の関連ボーン特定情報も生成することができることになる。
（動作の説明）
次に図８Ａおよび図８Ｂに示すフローチャートに基づいて本実施形態の動作を説明する。
図８Ａは、画像設計用コンピュータがオブジェクト設計プログラム１１０を実行することにより実現される動作を示すフローチャートである。
【００８４】
ステップＳ１０は、オブジェクト設計プログラム１１０において実現されるオブジェクト設計に纏わる各種の処理ステップの一部である。ステップＳ１０において、関連ボーン特定情報設定部１１１は定義情報設定ルーチンを実行する。定義情報設定ルーチンは、設計者の操作に基づいて、オブジェクトのスキンを構成するポリゴンの標準座標に対応する関連ボーン特定情報を設定するためのルーチンである。例えば、設計者は、設計対象となっている対称性を有するオブジェクトのうち、対称性のある部位の片側だけ、例えば左右対称なオブジェクトであれば、左側だけまたは右側だけの情報を設定する。
【００８５】
図８Ｂは、画像設計用コンピュータがオブジェクト設計支援のアドオンプログラムを実行することより実現される動作を示すフローチャートである。
ステップＳ２０において、当該オブジェクト設計支援プログラム１２０は、操作入力装置２０からの操作信号を監視し、操作信号が複写コマンドであるか否かを判定する。複写コマンドではなかった場合には（ＮＯ）、一旦当該アドオンプログラムの処理ルーチンから復帰する。一方、操作信号が複写コマンドであった場合には（ＹＥＳ）、本発明に関連するオブジェクト設計支援処理に移行する。
【００８６】
まずステップＳ１００において、対称頂点検索部１２１は、ポリゴンを指示するためのポリゴンポインタを最初のポリゴンにセットする。複数のポリゴンは、前述したように一定のルールに従って各々のポリゴンを区別するための名称付けがされているため、当該ルール付けに基づいてポリゴンポインタの操作により漏れなく各ポリゴンを順番に指示していくことが可能である。
【００８７】
次いでステップＳ１０１に移行し、対称頂点検索部１２１はポリゴンポインタにより指示された一つのポリゴンについて、その各頂点を順番に指示するための頂点ポインタをセットする。頂点は、基準となる頂点から順番に各頂点を指示するためのルール付けがされている。例えば基準となる頂点から時計回りまたは反時計回りに頂点を指示していくといったルール付けがされている。当該ルール付けがされていれば、頂点ポインタを操作することで漏れなくポリゴンを定義している頂点を順番に指示していくことが可能である。
【００８８】
次いでステップＳ１０２において、対称頂点検索部１２１は頂点ポインタの指示する頂点についての頂点情報を頂点情報記憶部１３１から読み取る。そしてステップＳ１０３に移行し、対称頂点検索部１２１は頂点情報記憶部１３１に記憶された頂点情報を参照し、対称的な位置に配置されている頂点が存在するか否かを判定する。対称的な位置に頂点が配置されているか否かは、前述したように特定の座標（図７のように左右対称なオブジェクトならｘ座標）以外の座標の一致を判定し、または、対称の位置にある頂点同士を関連づける特有の情報を参照することで判定可能である。例えば、図６ＡのポリゴンＰ１Ｌにおける頂点Ｖ１を例にとれば、そのｙ座標ｙ１、ｚ座標ｚ１が複写先の図６ＢのポリゴンＰ１Ｒにおける頂点Ｖ１のｙ座標、ｚ座標と一致するかが判定される。
【００８９】
ステップＳ１０３における判定の結果、対称的な位置に頂点が存在していた場合（ＹＥＳ）、情報複写部１２２は関連ボーン特定情報記憶部１３３から、対称性比較の元となった頂点に設定済みの関連ボーン名（例えば、図６ＡのポリゴンＰ１Ｌにおける頂点Ｖ１であれば、関連ボーン名ＢＬ３およびＢＬ４）を読み取り、対称的な位置に存在する頂点の関連ボーン特定情報の記憶領域に、読み取った関連ボーン特定情報を複写する。次いでステップ１０５において、当該記憶領域に対称性比較の元となった頂点の重み情報を複写する。さらにステップＳ１０６において、付属情報が存在している場合には当該領域に対称性比較の元となった頂点の付属情報を複写する。
【００９０】
以上の関連ボーン特定情報の複写が終了した段階では、例えば図６Ａに示すポリゴンＰ１Ｌの頂点情報の関連ボーン特定情報がそっくり、対称的な位置に配置されたポリゴンＰ１Ｒの関連ボーン特定情報として複写され、図９Ａのような記憶状態となる。
【００９１】
次いでステップＳ１０７において、対称情報変更部１２３は複写された対称性比較の元となった頂点のための関連ボーン名を複写先の頂点のための関連ボーン名に変更する。これにより、例えば複写直後に図９Ａの状態であったポリゴンＰ１Ｒの関連ボーン特定情報が図９Ｂのような情報に変更される。以上の処理で一つの頂点についての処理が完了する。
【００９２】
なお、ステップＳ１０３において対称的な位置にある頂点が存在しない場合（ＮＯ）、脊椎軸に沿ったポリゴンの頂点であったりそもそも対称性を有しないオブジェクトの頂点であったりする可能性があるので、情報の複写をせずにステップＳ１０８に移行する。
【００９３】
ステップＳ１０８において、頂点ポインタが一つ進められ、ステップＳ１０９において当該ポリゴンについてさらに頂点が存在しているか否かが判定される。当該ポリゴンに操作未了の頂点が残っている場合（ＮＯ）、ステップＳ１０２に移行し、その頂点の頂点情報の読み取りからの処理が繰り返される。
【００９４】
ステップＳ１０９において、当該ポリゴンについて総ての頂点の処理が完了している場合（ＹＥＳ）、ステップＳ１１０に移行し、ポリゴンポインタが一つ進められ、ステップＳ１１１において当該オブジェクトについてさらにポリゴンが存在しているか否かが判定される。当該オブジェクトに操作未了のポリゴンが残っている場合（ＮＯ）、ステップＳＳ１０１に移行して頂点ポインタがリセットされ、再びステップＳ１０２以降の処理が繰り返される。
【００９５】
以上のとおり、本実施形態１によれば、オブジェクト設計支援の機能がオブジェクト設計プログラムに対するアドオンプログラムの形式で提供されるので、当該アドオンプログラムを物理的な記憶媒体に記憶させて配布したりネットワーク経由でダウンロード可能にサーバに保存して配布したりすることに適する。
【００９６】
また本実施形態では、さらに以下の利点を有する。
（１）本実施形態によれば、オブジェクトに対称性がある場合に、設計者（デザイナー）等により第１の部分としてポリゴンの頂点に関連ボーン特定情報が設定されたら、対称的な位置を構成する第２の部分、すなわち対称的な位置にある頂点にこの関連ボーン特定情報が複写され、次に複写された情報のうちの対称性に関係する関連ボーン名が複写先の頂点に適合するように変更される。よって、対称性を有するオブジェクトの片側の定義情報を設定するだけで、他方の側に関連ボーン特定情報が自動的に複写・変更されることになり、設計に費やされる労力を大凡半減することができる。また、設定数や約半減することによりミスを生じ難くなる他、複写される情報については入力ミスが新たに発生する余地が無いので、設定誤りを大幅に減らすことができる。
【００９７】
（２）本実施形態によれば、設計者により複写が指示された場合に、連続して実行されるので、設計者の判断による一括複写に対応させることが可能である。
【００９８】
（３）本実施形態によれば、定義情報として頂点に対して関連付けられた１以上のボーン名が複写されるので、試行錯誤が必要で設定が面倒な関連するボーンの設定をそのまま対称の位置にある頂点に移行させ、関連ボーン名の設定にかかる労力を大幅に減ずることが可能である。
【００９９】
（４）本実施形態によれば、定義情報として関連付けられたボーンの各々から頂点が受ける影響の大きさを示す重み情報が複写されるので、試行錯誤が必要で設定が面倒な関連ボーンの重み情報をそのまま対称の位置にある頂点に移行させ、重み情報の設定にかかる労力を大幅に減ずることが可能である。
【０１００】
（実施形態２）
本発明の実施形態２は、本発明のオブジェクト設計支援プログラムがオブジェクト設計プログラム本体の一部として提供される形態に関する。
本実施形態に関するハードウェア（画像開発用コンピュータ）の構成は、前記実施形態１と同様であり、その説明を省略する。
【０１０１】
図１０は、本実施形態２における機能ブロック図である。
図１０に示すように、本実施形態２において、本発明に係る対称頂点検索部１２１、情報複写部１２２、および対称情報変更部１２３が、関連ボーン特定情報設定部１１１とともにオブジェクト設計プログラム１１０に含まれている。この点、これら機能ブロックがアドオンプログラムであるオブジェクト設計支援プログラム１２０によって提供されていた上記実施形態１と異なる。よって、本実施形態では、対称頂点検索部１２１、情報複写部１２２、および対称情報変更部１２３による諸機能は、オブジェクト設計プログラム１１０の本体機能の一環として提供される。各機能ブロックの動作は上記実施形態１と同様なので説明を省略する。
【０１０２】
図１１Ａおよび図１１Ｂに、本実施形態２における動作を説明するフローチャートを示す。図１１Ａは、関連ボーン特定情報設定部１１１に関わる処理ステップである。図１１Ｂは、本発明に係るオブジェクト設計支援処理に関する処理ステップである。
【０１０３】
ステップＳ１０において、オブジェクト設計に纏わる各種の処理の一環として、関連ボーン特定情報設定部１１１は定義情報設定ルーチンを実行する。これは上記実施形態１と同様である。
【０１０４】
さらにステップＳ１１において、操作入力装置２０からの操作信号が複写コマンドであるか否かが判定される。複写コマンドではなかった場合には（ＮＯ）、オブジェクト設計に関わる他の処理に移行する。一方、操作信号が複写コマンドであった場合には（ＹＥＳ）、ステップＳ１２に移行し、オブジェクト設計支援処理のためのサブモジュールがコールされる。
【０１０５】
図１１Ｂに示すように、オブジェクト設計支援サブモジュールでは、コール後、ステップＳ１００移行の各種処理ステップが実行される。上記実施形態１のステップ番号と同じ番号が付されたステップで実施される処理は、上記実施形態１における処理と同じであるため、説明を省略する。
【０１０６】
以上、本実施形態２によれば、オブジェクト設計支援処理がオブジェクト設計プログラムの本体の一部として提供されるので、標準で本発明の定義情報複写機能を設ける形態を採用する場合に適する。その他の利点については、上記実施形態１と同様である。
【０１０７】
（変形例）
本発明は、上記に限定されることなく種々に変形して実施することが可能である。
例えば、上記実施形態では、対称性を有するオブジェクトとして、左右に対称性を有するキャラクタオブジェクトを例示したが、対称性を有するオブジェクトはこれに限定されない。仮想的な点や軸に対して三次元空間の任意の方向に対称性を有していれば、本発明を適用可能なオブジェクトとなる。
【０１０８】
また上記実施形態では、対称性を判定するオブジェクトの部分が頂点であったが、これに限定されない。ポリゴン自体やオブジェクト内部の特定部位について対称性を有しているか否かを判定可能である。
【０１０９】
また上記実施形態では、対称性の判定が、対称性判定の対象となる部分の位置座標が一致するか否かに基づいていたが、これに限られない。対称の関係にある部分の対に対して、互いに対称の関係を有していることを示す情報が付与されていれば、その情報を参照することにより、定義情報を複写すべきか否かを判定可能である。
【０１１０】
また上記実施形態では、対称性を有している部分が存在する場合に複写する情報を関連ボーン特定情報としたがこれに限らない。対称性判定の対象となっている部分に付随するあらゆる情報、例えば法線ベクトル、色等の画像情報、その部位に設定された属性を複写対象とすることが可能である。
【０１１１】
また上記実施形態では、第１の部分に対応する対称的な位置に存在する第２の部分が存在する場合に、まず第１の部分に関する定義情報を複写し、次いで複写後の定義情報の一部（関連ボーン名）を変更していたが、この順序に限らない。複写するために第１の部分の定義情報を一時的にメモリに読み込んだ段階で定義情報の一部を第２の部分に適合するように変更し、変更後の定義情報を第２の部分に付随するものとして書き込むようにしてもよい。
【図面の簡単な説明】
【０１１２】
【図１】本発明の実施形態に係る画像設計用コンピュータ（オブジェクト設計支援装置）の構成図
【図２】本発明の実施形態１に係るオブジェクト設計支援装置のブロック図
【図３】設計対象となるキャラクタオブジェクトのボーン構成の説明図
【図４】ボーン構成における階層と演算順序の説明図
【図５】ポリゴン（頂点）とボーンとの関連付けを示す図
【図６Ａ】左腕におけるポリゴンＰ１Ｌの頂点情報設定例
【図６Ｂ】右腕におけるポリゴンＰ１Ｒの頂点情報設定例
【図６Ｃ】右腕におけるポリゴンＰ１Ｒの複写前の頂点情報設定例
【図７】キャラクタオブジェクトにおける対称性判定と複写の概念図
【図８Ａ】実施形態１におけるオブジェクト設計処理のフローチャート
【図８Ｂ】実施形態１におけるオブジェクト設計支援処理のフローチャート
【図９Ａ】複写直後におけるポリゴンＰ１Ｒの頂点情報設定例
【図９Ｂ】変更後におけるポリゴンＰ１Ｒの頂点情報設定例
【図１０】本発明の実施形態２に係るオブジェクト設計支援装置のブロック図
【図１１Ａ】実施形態２におけるオブジェクト設計処理のメインフローチャート
【図１１Ｂ】実施形態１におけるオブジェクト設計処理のサブフローチャート
【符号の説明】
【０１１３】
１  画像開発用コンピュータ、１２  メインメモリ、１２ａ  オブジェクト設計プログラム記録領域、１２ｂ  オブジェクト設計支援プログラム記録領域、１３  外部記憶媒体ドライブ、１３  外部記憶媒体ドライブ、１４  画像処理部、１４ａ  画像デコーダ、１４ｃ  フレームバッファ、１４ｄ  ディスプレイコントローラ、１５  操作入力処理部、２０  操作入力装置、３０     表示装置、１１０  オブジェクト設計プログラム、１１１  関連ボーン特定情報設定部、１２０  オブジェクト設計支援プログラム、１２１  対称頂点検索部、１２２  情報複写部、１２３  対称情報変更部、１３１  頂点情報記憶部、１３２  ボーン定義情報記憶部、１３３  関連ボーン特定情報記憶部、Ｂｘ  ボーン、ＢＬｘ  対称性のある左側のボーン、ＢＲｘ  対称性のある右側のボーン、ＤＭ  外部記憶媒体、Ｊｘ  ジョイント、Ｐ  ポリゴン、Ｐ１Ｌ  左側ポリゴン、Ｐ１Ｒ  右側ポリゴン
【図１】
2009140025.tif 000003
【図２】
2009140025.tif 000004
【図３】
2009140025.tif 000005
【図４】
2009140025.tif 000006
【図５】
2009140025.tif 000007
【図６Ａ】
2009140025.tif 000008
【図６Ｂ】
2009140025.tif 000009
【図６Ｃ】
2009140025.tif 000010
【図７】
2009140025.tif 000011
【図８Ａ】
2009140025.tif 000012
【図８Ｂ】
2009140025.tif 000013
【図９Ａ】
2009140025.tif 000014
【図９Ｂ】
2009140025.tif 000015
【図１０】
2009140025.tif 000016
【図１１Ａ】
2009140025.tif 000017
【図１１Ｂ】
2009140025.tif 000018