JP2008033940A - ランタイム・コンピュータ・グラフィックス・アニメーション・エンジンにおけるメッシュ用変形データからスケルトン用アニメーション・データへの変換、スキニング、およびシェーディング - Google Patents
ランタイム・コンピュータ・グラフィックス・アニメーション・エンジンにおけるメッシュ用変形データからスケルトン用アニメーション・データへの変換、スキニング、およびシェーディング Download PDFInfo
- Publication number
- JP2008033940A JP2008033940A JP2007198396A JP2007198396A JP2008033940A JP 2008033940 A JP2008033940 A JP 2008033940A JP 2007198396 A JP2007198396 A JP 2007198396A JP 2007198396 A JP2007198396 A JP 2007198396A JP 2008033940 A JP2008033940 A JP 2008033940A
- Authority
- JP
- Japan
- Prior art keywords
- animation
- target
- mesh
- source
- skin
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/32—Image data format
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】キャラクタ・モデリング、アニメーション・ツールからのオブジェクトのアニメーションを、ランタイム・アニメーション・システムで用いられる表現に変換する。
【解決手段】ランタイム・アニメーション・エンジンは、通例、ターゲット構造、ターゲット・スキン、シェーディングを用いて、オブジェクトのアニメーションを表現する。オブジェクトのモーションをソース構造からターゲット構造に移転することに加え、変形およびシェーディングも変換する。ソース・スキンの変形に関する低分解能情報を、スキニング重みの集合に変換し、ターゲット・スキンを、アニメーションのフレーム毎に、ターゲット構造および仮想骨と関連付ける。ソース・スキンの変形からの高分解能の詳細を、正規図の集合、マスク、動画マスク・パラメータに変換し、シェーダがそれを用いる。
【選択図】図1
【解決手段】ランタイム・アニメーション・エンジンは、通例、ターゲット構造、ターゲット・スキン、シェーディングを用いて、オブジェクトのアニメーションを表現する。オブジェクトのモーションをソース構造からターゲット構造に移転することに加え、変形およびシェーディングも変換する。ソース・スキンの変形に関する低分解能情報を、スキニング重みの集合に変換し、ターゲット・スキンを、アニメーションのフレーム毎に、ターゲット構造および仮想骨と関連付ける。ソース・スキンの変形からの高分解能の詳細を、正規図の集合、マスク、動画マスク・パラメータに変換し、シェーダがそれを用いる。
【選択図】図1
Description
電子ゲームは、実在するようなキャラクタ、プレイ環境、および双方向処理を得るために、三次元モデリング、アニメーション、およびレンダリング技法を用いることは珍しくない。ソニーのPLAYSTATION、任天堂のGAMECUBE、およびMicrosoftのXBOXゲーム・コンソールのような電子ゲーム・プラットフォームの中には、「エンジン」を有し、プレイ中、即ち、ランタイムにおいてリアル・タイムに三次元アニメーションのレンダリングを行う場合がある。ゲーム・エンジンの例には、ValveのSource、およびEpicのUnrealが含まれるが、これらに限定されるのではない。
これらのゲーム・エンジンは、一般に、キャラクタを、付随するエンベロープまたはスキンを有するスケルトンとして表し、これに対して、シェーディングと呼ばれるプロセスを用いて、カラーやテキスチャを適用する。通例、スケルトンは、相互接続した骨(bone)、または関連する骨の集合によって定義する。エンベロープまたはスキンは、通例、三次元メッシュとして定義する。エンベロープ重みまたはスキニング重みの集合が、スケルトンにおける骨間、およびエンベロープまたはスキンを定義するメッシュにおける頂点間の関係を定義する。これらの重みを定義するプロセスをスキニングと呼ぶ。アニメーションを適用するのは、スケルトンに対してである。エンベロープ重みの集合は、スケルトンの動きに応答してメッシュをどのように変形するかを決定する。正規図の集合が、どのようにシェーディングをメッシュに適用するかに作用する。エンベロープ重みおよび正規図は、ときと共に移り変わることができる。
ゲームを開発するとき、アーティストは、種々の三次元モデリング、アニメーション、およびレンダリング・ツールを用いて、ゲームのキャラクタおよび環境を定義する。通例、これらのアーティストは、ゲーム・エンジンにおいて用いる分解能よりも高い分解能で、モデルを加工する。更に、モデルまたはアニメーションを作成するために用いられるツールはキャラクタおよびアニメーションを表現することができるが、ゲーム・エンジンにおいて用いられる表現とは異なる場合がある。即ち、ツールにおけるメッシュのモーション、変形、およびシェーディングの表現が、ゲーム・エンジンにおける表現とは異なる場合、キャラクタおよびアニメーションの表現を、ゲーム・エンジンが用いることができる表現に変換する必要がある。
キャラクタ・モデリングおよび/またはアニメーション・ツールからのオブジェクトのアニメーションを、ゲーム・エンジンのような、ランタイム・アニメーション・システムにおいて用いられる表現に変換する。このようなツールは、通例、構造およびソース・スキンを用いてオブジェクトを表現する。ランタイム・アニメーション・エンジンは、通例、ターゲット構造、ターゲット・スキンおよびシェーディングを用いて、オブジェクトのアニメーションを表現する。オブジェクトのモーションをそのソース構造からターゲット構造に移転することに加えて、変形およびシェーディングも変換する。ソース・スキンの変形に関する低分解能情報を、スキニング重みの集合に変換し、ターゲット・スキンを、アニメーションのフレーム毎に、ターゲット構造および動画変形に追加する仮想骨と関連付ける。ソース・スキンの変形からの高分解能の詳細を、正規図の集合、1つ以上のマスク、および動画マスク・パラメータに変換し、1つ以上のシェーダがそれを用いる。
この変換プロセスは、オブジェクトのアニメーションを定義するために用いられるキャラクタ・モデリングおよび/またはアニメーション・ツールによって適用することができ、あるいは別個のツールにおいて実装することもできる。変換プロセスは、ランタイム・アニメーション・エンジン用のオブジェクトについて定義したターゲット構造およびターゲット・スキンを用い、ソース構造およびターゲット構造間の関係を指定し、ソース・スキンにおける頂点およびターゲット・スキンにおける頂点の間の関係を指定する必要がある。
モーション・リターゲッティング技法(motion retargetting technique)を用いて、ソース構造からターゲット構造にモーションを移転することができる。このような技法は、2005年5月20日に出願され、"TRANSFER OF MOTION BETWEEN ANIMATED CHARACTERS"(動画で表現したキャラクタ間のモーション移転)と題する米国特許出願第11/134,653号に記載されている。その内容は、ここで引用したことにより、本願にも含まれるものとする。
低分解能の変形は、仮想骨をターゲット構造に追加することによって、そしてスキニング重みおよびフレーム毎の動画変形データを計算することによって得られる。最初に、ロケータと呼ばれるキー・ポイントを、ソース・メッシュ上に置く。アーティストは、どのポイントがロケータであるか指定することができる。これらのロケータは、ターゲット構想に追加する仮想骨を指定するために用いられ、ターゲット・スケルトンのキー構造にペアレンティング(parent)される。ペアレンティングは、ユーザ・インターフェースによって定義することができ、ユーザはメッシュのどの部分がスケルトンのどのキー構造にペアレンティングされるか特定することができる。スキニング重みを計算するには、ロケータに対応するターゲット・メッシュ上のポイントを特定する。ターゲット・メッシュ上において特定されたこれらのポイントを、ターゲット構造に追加された仮想骨と関連付ける。特定された各ポイントは、その対応する仮想骨に対して100%のスキニング重みを有する。ターゲット・メッシュにおける他のポイントに対する重みは、ロケータに対応するターゲット・メッシュにおける最も近いポイントまでの重み付けトポロジ距離に応じて決定する。
フレーム毎の動画変形データも計算する。フレーム毎に、関連付けられた骨を基準にして、ソース・メッシュ上にある各キー・ポイント(ロケータ)の変位を計算する。ユーザは、ペアレンティング・マップを通じて、メッシュにおけるポイントとソース構造における骨との間の関係を指示することができる。ペアレンティング・マップは、ディスプレイにおいてメッシュ上に描画することによって定義することができる。この各ロケータの変位を、ターゲット構造に追加したこのロケータに対応する仮想骨のローカル空間に変形する。フレーム毎の各ロケータに対する変換(transform)変位値の集合は、動画変形(animated deformation)データの集合となる。その結果、ランタイムにおいて動画変形データによって各仮想骨を動かすと、これら動画で表現した仮想骨に対するメッシュのスキニングに合わせて、メッシュが変形する。
シェーディングについての情報を発生するためには、2つの正規図を計算する。第1の正規図は、ソース・スキンの基準ポーズとターゲット・スキンの基準ポーズとの間の差として計算する。第2の正規図は、応力を受けた状態におけるソース・スキンとターゲット・スキンの基準ポーズとの間の差として計算する。これらの正規図は、ソース・スキンにおける詳細な、高周波の変動を取り込み、次いでシェーディングを通じてターゲット・スキンに適用する。
また、シェーディングは1つ以上のマスクおよび対応する動画マスク・パラメータも用いる。各マスクには、ソース・スキンの領域が関連付けられており、ソース・スキンは、ツールが用いるディフォーマ(deformer)と関連付けることができる。各マスクおよびその対応する動画マスク・パラメータは、配合パラメータを定義する。配合パラメータは、ランタイム・シェーダが用いる正規図を提供するための、第2正規図の第1正規図との配合度合いを制御する。正規図の配合制御の分解能を高めるためには、用いるマスクを増加すればよい。ユーザがこれらのマスクを編集できるようにするために、ユーザ・インターフェースを備えるとよい。これらのマスクを共に乗算し、フレーム毎の動画メッシュ・パラメータに基づいて倍率調整する(scale)。ツールにおけるアニメーションのフレーム毎に、各マスクを倍率調整する動画マスク・パラメータを計算する。マスクと関連付けられているソース・スキンの領域における応力のレベルを、各フレームにおいて計算し、マスクに対してこのパラメータを供給する。その結果、マスクを動画マスク・パラメータによって倍率調整し共に配合すると、領域における応力のレベルに基づいて、当該領域に対する応力正規図(stressed normal map)が露顕され、微妙な変形の詳細の幻想(illusion)を作成する。
移転したモーション、仮想骨、スキニング重み、フレーム毎のスキニング・ディフォーマ、正規図、マスク、およびフレーム毎のアニメーション・マスク・パラメータをゲーム・エンジンに供給する。シェーダ、ターゲット・スキン、およびターゲット・スケルトンが与えられれば、ゲーム・エンジンに供給された情報は、アニメーション、特に、ソース・ツールが発生した、ソース・オブジェクトのメッシュの変形を高い忠実度で再生するには十分である。
これより図1を参照して、1つのキャラクタ・モデリングまたはアニメーション・ツールからのキャラクタおよびアニメーションの、ランタイム・アニメーション・システムにおいて用いる表現への変換についてここで説明する。
アニメーション・ツール100により、ユーザはキャラクタまたはその他のオブジェクトおよび付随するアニメーションを定義することができる。キャラクタまたはその他のオブジェクトは、ソース構造102と呼ばれる、スケルトンのような基礎構造と、ソース・メッシュ104と呼ばれる表面とを有することができる。エクスポータ(exporter)110は、キャラクタおよびアニメーションの表現を、ランタイム・アニメーション・システムが用いるフォーマットに変換する。この変換を行うには、a.低分解能の変形を、ターゲット構造に追加する仮想骨123の集合、ターゲット・メッシュ121におけるポイントを仮想骨に関連付けるためのスキニング重み122、およびアニメーションのフレーム毎の動画変形データ124に変換し、b.高分解能の変形詳細を、正規図126の集合、1つ以上のマスク128の集合、1つ以上のシェーダ132が用いる、マスク毎の各フレームに対する動画マスク・パラメータ130に変換する。この情報は、動画で表現したキャラクタをリアル・タイムで再生するために、ランタイム・アニメーション・システムが用いることができる。即ち、ターゲット構造、ターゲット・メッシュ、仮想骨、スキニング重み、および動画変形データは、ランタイム・スキニングに用いられ、一方正規図、マスク、動画マスク・パラメータ、およびシェーダは、ランタイム・シェーディングに用いられる。
この変換を行うために、エクスポータは、ソース・アニメーションに加えて、ユーザ入力112、ならびにターゲット構造120およびターゲット・メッシュ121の指定を受ける。ソース・アニメーションは、ソース構造およびソース・メッシュを含む。ターゲット・メッシュは、ソース・メッシュと同一でもよいが、通例、ソース・メッシュよりも分解能が低い。ソース構造およびターゲット構造も通例では異なる。
モーションは、モーション・リターゲッティング技法を用いて、ソース構造からターゲット構造に移転することができる。このような技法は、2005年5月20日に出願され、"TRANSFER OF MOTION BETWEEN ANIMATED CHARACTERS"(動画で表現したキャラクタ間のモーション移転)と題する米国特許出願第11/134,653号に記載されている。その内容は、ここで引用したことにより、本願にも含まれるものとする。リターゲット・モーション114は、ランタイム・アニメーション・システムがターゲット構造を操作する際に用いることができる。
低分解能変形情報は、2部分で発生する。まず、仮想骨をターゲット構造に追加し、ユーザが特定したソース・メッシュにおけるキー・ポイント(ロケータと呼ぶ)に基づいて、ターゲット・メッシュを仮想骨に関連付けるためのスキニング重みを定義する。第2に、アニメーションの各フレームにおけるこれらのキー・ポイントにおいて、メッシュの変形に基づいて、フレーム毎の動画変形データを発生する。
初期状態では、エクスポータは、ソース・メッシュおよびターゲット・メッシュを表示し、2つのメッシュの位置、方位、および倍率(scale)を整合させる。メッシュを整合したなら、エクスポータは、ソース・メッシュ座標空間とターゲット・メッシュ座標空間との間の変換(transform)を決定することができる。
エクスポータは、ソース・メッシュを表示し、ソース・メッシュの頂点において、「ロケータ」と呼ばれる場所を特定させる。ロケータは、ユーザが最も大きな変形のエリアのアンカー位置に置き、あらゆる主要な変形エリアは少なくとも1つのロケータを有するはずである。ユーザ・インターフェースは、ソース・メッシュを表示し、所望のロケータを示すためにユーザに単にメッシュを描画させるか、またはメッシュ上のポイントを選択させる。ロケータは、メッシュ上の位置と、方位(表面上のそのポイントに対して垂直)と、スピンとを有する。ユーザは、各ロケータの位置、およびそのスピンを制御することができる。各ロケータは、メッシュとキャラクタのスケルトンとの間のペアレンティング情報に基づいて、ターゲット構造における対応する骨にペアレンティングされている仮想骨を定義するために用いられる。
図2は、フェース・アニメーションについての情報をエクスポートするときに、どこにロケータを置けばよいかを示す。例えば、ロケータは、顔の左右両側における以下のポイントの各々に置くとよい。前頭内側200、目の上202、目の下204、鼻の脇206、鼻腔208、鼻唇褶(nasal labial fold)210、唇の上212、唇の下214、口の中心216、顎骨218、えら(cheek puffer)220、頬骨222。ロケータの一部は、鼻先240、および顎242のような、顔の中心付近に置くとよい。
エクスポータは、メッシュにおける各ポイントのスケルトンにおける各骨に対するペアレンティングを、ユーザに特定させる。例えば、メッシュを表示し、スケルトンの骨毎に、ユーザが選択した骨と関連付けられている頂点を特定するように、メッシュに着色することができるユーザ・インターフェースを提供する。ソース・メッシュ、ソース・スケルトン、ターゲット・スケルトン、およびターゲット・メッシュ間の関係が与えられたなら、このペアレンティングは、ソース・メッシュにおける各ポイントをターゲット構造における各骨にどのようにペアレンティングするか指定するために、1回行うことができる。このペアレンティングは、関連する骨のモーションによって変形するメッシュのエリアを示す。図3Aは、顎骨の典型的なペアレンティングを示し、一方図3Bは首骨の典型的なペアレンティングを示す。図3Aでは、ポイント300は、顎骨(図示せず)と関連付けられているように示されている。図3Bでは、ポイント206は、首骨と関連付けられているように示されている。ポイント308は、首骨と関連付けられていない。
ロケータによって定義された仮想骨が与えられれば、ロケータに対応するターゲット・メッシュ上のポイントを特定することにより、スキニング重みを計算する。ターゲット・メッシュ上において特定されたポイントは、ターゲット構造における仮想骨と関連付けられる。特定された各ポイントは、それをその対応する仮想骨に関連付ける場合、100%のスキニング重みを有する。ターゲット・メッシュにおける他のポイントに対する重みは、ロケータに対応するターゲット・メッシュにおける最も近いポイントまでの重み付けトポロジ距離(weighted topological distance)にしたがって決定する。
即ち、ここで図4を参照すると、アーティストが着色したロケータ(l0〜ln)毎に、ターゲット・メッシュにおける(p10〜pln)内の最も近いポイントを特定する(400)。ポイント−ロケータの関係を、プログラムのメモリおよびロケータの名称双方に格納する。ターゲット・メッシュ(p)上のあらゆるポイントについて、その直近の隣接ポイント(nl)を特定する。これらのポイントに関する情報は、キャッシュするとよい。402で示すように、ターゲット・メッシュのあらゆるポイントに対して、404において決定したように、それに関連付けられたロケータがあり、したがって、406で示すように、そのポイントは100%の重みを受ける。このように、ロケータを添付したソース・メッシュにおけるポイントのあらゆる変位をも、ターゲット・メッシュにおけるこのポイントに完全に適用する。ターゲット・メッシュにおけるポイントがロケータと関連付けられていない場合、再帰プロセスを適用し、隣接ポイントn1、n2、n3...の各々を、トポロジ距離の順に次々に検査する。近隣ポイントにロケータが関連付けられていると408において判定された場合、ロケータの指示を、それを発見した再帰ステップ(x)の指示と共に、ターゲット・メッシュにおけるそのポイントに対して一時的に格納する(410)。412に示すように、発見するロケータの数に対する既定の限度に達するまで、隣接ポイントを検査する。例えば、限度が3の場合、隣接ポイントを評価するプロセスは、3つのロケータを発見したときに停止する。414に示すように、ロケータ毎に格納した再帰ステップを反転させ(1/x)、その結果を100%に対して正規化する。これがスキニング法線(skinning normal)である。このように、ターゲット・メッシュにおける各ポイントに対して発見したロケータが近い程、それらの当該ポイントに対する影響は大きくなる。このプロセスの結果、ターゲット・メッシュにおける各ポイントは、1つ以上のロケータの指示と、その対応する重みとを有し、全ての重みを加算すると100%となる。これらのスキニング重みは、ロケータを指定することによって付加された仮想骨に関係する。
適正な有効範囲(coverage)を確保するために、エンベロープを平滑化し、ポイント毎に指定した数のロケータに重みを再度クリップ(clip)する。クリッピングを行うには、重みを降順に並び替え、一番小さい重みを除去し、残った重みを100%に対して正規化する。多数のターゲット・メッシュが利用可能な場合、異なるエンベロープを保存することができ、一部はポイント毎の骨を多くし、一部は少なくすることができる。
圧縮データにはめ込むように重みを更に最適化するためには、重みを丸めるとよい。この丸みに対する正確度はユーザが指定すればよい。丸める場合、影響が少ない重みを切り捨て、丸め誤差を最も影響が多い重みに加算すると、ポイント毎の重みの総和は100%のままである。
これより図5を参照すると、フレーム毎の動画変形データを以下のように計算する。フレーム毎に、各ロケータ(500で示すような)を処理する。ロケータ毎に、そのソース・メッシュ上におけるその基準ポーズからの変位を、それが関連付けられている骨のいずれの動きをも参照して判定する(502)。各ロケータのこの変位を、ターゲット構造におけるその対応する仮想骨のローカル空間に変換する(504)。処理するロケータが未だ残っているとステップ506において判定した場合、これらのステップ500、502、および504を、フレームにおけるロケータ毎に繰り返す。フレーム毎の各ロケータに対する変換変位値の集合を、動画変形データの集合として出力する(508)。この動画変形データを用いて、ランタイムにおいて動画変形データによって各仮想骨を動かした場合、メッシュのスキニングによって、メッシュをこれらの動画仮想骨に変形する。
シェーディングについての情報を発生するためには、2つの正規図(normal map)を計算する。第1の正規図は、ソース・スキンの基準ポーズとターゲット・スキンの基準ポーズとの間の差として計算する。第2の正規図は、応力状態におけるソース・スキンと、ターゲット・スキンの基準ポーズとの間の差として計算する。これらの正規図により、ソース・スキンにおける詳細な高周波の変動を取り込む変換が可能となり、シェーディングによってこれらをターゲット・スキンに適用する。
また、シェーディングは、1つ以上のマスク、および対応する動画マスク・パラメータも用いる。各マスクには、ソース・スキンの領域が関連付けられており、ツールが用いるディフォーマと関連付けることもできる。各マスクおよびその対応する動画マスク・パラメータは、ランタイム・シェーダが用いる正規図を提供するために、どの位第2正規図を第1正規図と配合するかについての配合パラメータ制御を定義する。正規図の配合制御の分解能を高めるには、より多くのマスクを用いればよい。ユーザ・インターフェースを設けて、ユーザがこれらのマスクを編集できるようにするとよい。これらもマスクを共に乗算し、フレーム毎の動画マスク・パラメータに基づいて倍率調整する。
ツールにおけるアニメーションのフレーム毎に、各マスクの倍率調整を行う動画マスク・パラメータを計算する。マスクと関連付けられているソース・スキンの領域における応力のレベルを、各フレームにおいて計算し、このパラメータをそのマスクに供給する。その結果、動画マスク・パラメータによってマスクを倍率調整し、共に配合すると、ある領域における応力レベルに基づいて、微妙な変形の詳細の幻想を作成するために、当該領域に対する応力正規図が露顕される。
マスクは、画像データを用いて表すことができ、各画素がソース・メッシュ上のポイントに対応する。各カラー成分が1つのマスクを表すこともできる。つまり、1つの画像は3つのマスクを表すことができる。
ソース・ツールにおいて用いられるシェーダに対応するランタイム・エンジンのシェーダも必要である。例えば、OpenGL、CGFX、またはDirectXフォーマットのシェーダのように、ソース・ツールにおけるシェーダが実装されている場合、殆どのランタイム・エンジンは同じシェーダを用いることができる。
通例、ランタイム・エンジンは、シェーダおよび配合正規図を用いて、オブジェクトの表面に着色し、模様を付ける。キャラクタまたはオブジェクトがときと共に活動すると、アニメーション・マスクの使用によって正規図を配合する結果、シェーディングが変化する。通例、シェーディングは、皺や髪のような、高分解能の詳細を与える。この技法により、これらの特性の変化をランタイム・エンジンに移転することが可能となる。
ここに記載するシステムの種々の構成要素は、汎用コンピュータを用いて、コンピュータ・プログラムとして実現することができる。このようなコンピュータ・システムは、通例、ユーザに情報を表示する出力デバイスと、ユーザからの入力を受ける入力デバイスの双方に接続された主ユニットを含む。主ユニットは、一般に、相互接続機構を通じてメモリ・システムに接続されているプロセッサを含む。入力デバイスおよび出力デバイスも、相互接続機構を通じて、プロセッサおよびメモリ・システムに接続されている。
1つ以上の出力デバイスをコンピュータ・システムに接続することもできる。出力デバイスの例には、陰極線管ディスプレイ(CRT)、液晶ディスプレイ(LCD)、およびその他のビデオ出力デバイス、プリンタ、モデムのような通信デバイス、ならびにディスクまたはテープのような記憶装置が含まれるが、これらに限定する訳ではない。1つ以上の入力デバイスをコンピュータ・システムに接続することもできる。入力デバイスの例には、キーボード、キーパッド、トラック・ボール、マウス、ペンおよびタブレット、通信デバイス、ならびにデータ入力デバイスが含まれるが、これらに限定する訳ではない。本発明は、コンピュータ・システムと組み合わせて用いられる特定の入力または出力デバイスにも、ここに記載したものにも限定されることはない。
コンピュータ・システムは、コンピュータ・プログラミング言語を用いてプログラム可能な、汎用コンピュータ・システムとすることができる。また、コンピュータ・システムは、特別にプログラムされた、特殊目的ハードウェアとすることもできる。汎用コンピュータ・システムでは、プロセッサは、通例、市販のプロセッサである。また、汎用コンピュータは、通例、オペレーティング・システムを含み、オペレーティング・システムが、他のコンピュータ・プログラムの実行を制御し、スケジューリング、デバッグ、入力/出力制御、アカウンティング、コンパイル、ストレージの割り当て、データ管理、およびメモリ管理、ならびに通信制御および関係するサービスを行う。
メモリ・システムは、通例、コンピュータ読み取り可能媒体を含む。この媒体は、揮発性または不揮発性、書き込み可能または書き込み不可能、および/または書き換え可能または書き換え不可能な場合がある。メモリ・システムは、通例、二進形式でデータを格納する。このようなデータは、マイクロプロセッサが実行するアプリケーション・プログラム、またはディスク上に格納されアプリケーション・プログラムが処理する情報を定義することができる。本発明は、特定のメモリ・システムに限定されることはない。
ここに記載するようなシステムは、ソフトウェアまたはハードウェアまたはファームウェア、あるいはこれら3つの組み合わせで実施することができる。システムの種々のエレメントは、個別であれ組み合わせであれ、コンピュータによる実行のためにコンピュータ読み取り可能媒体上にコンピュータ・プログラム命令が格納されている、1つ以上のコンピュータ・プログラム製品として実施することができる。プロセスの種々のステップは、このようなコンピュータ・プログラム命令を実行するコンピュータによって、行うことができる。コンピュータ・システムは、マルチプロセッサ・コンピュータ・システムでもよく、あるいはコンピュータ・ネットワークを通じて接続されている多数のコンピュータを含むこともできる。図1に示した構成要素は、コンピュータ・プログラムの別個のモジュールでもよく、または別個のコンピュータ上で動作可能な、別個のコンピュータ・プログラムでもよい。これらの構成要素によって生成されるデータは、メモリ・システムに格納するか、またはコンピュータ・システム間で送信することができる。
以上実施形態の一例について説明したが、前述したことは単なる例示であり限定ではなく、一例として提示したにすぎないことは、当業者には明白なはずである。多数の変更やその他の実施形態も、当技術分野における通常技術の1つの範囲内にあり、本発明の範囲内に該当するものとする。
100 アニメーション・ツール
102 ソース構造
104 ソース・メッシュ
110 エクスポータ
112 ユーザ入力
114 モーション
120 ターゲット構造
121 ターゲット・メッシュ
122 スキニング重み
123 骨
124 動画変形データ
126 正規図
128 マスク
130 マスク・パラメータ
102 ソース構造
104 ソース・メッシュ
110 エクスポータ
112 ユーザ入力
114 モーション
120 ターゲット構造
121 ターゲット・メッシュ
122 スキニング重み
123 骨
124 動画変形データ
126 正規図
128 マスク
130 マスク・パラメータ
Claims (4)
- 第1ツールからのオブジェクトのアニメーションを、ランタイム・アニメーション・システムにおいて用いる表現に変換する方法であって、前記第1ツールは、ソース・スキンを用いて前記オブジェクトを表現し、前記ランタイム・アニメーション・エンジンは、ターゲット構造、ターゲット・スキン、およびシェーディングを用い、前記方法は、
前記第1ツールからの前記オブジェクトの前記アニメーションを用いて、前記ターゲット構造に付加する仮想骨の集合、前記ターゲット・スキンを前記仮想骨に関連付けるスキニング重み、およびアニメーションのフレーム毎に前記仮想骨の動きを指定する動画変形データを記述する情報を発生するステップと、
前記第1ツールからの前記オブジェクトの前記アニメーションを用いて、正規図の集合、1つ以上のマスク、および前記ランタイム・アニメーション・システムのために1つ以上のシェーダが用いる動画マスク・パラメータを記述する情報を発生するステップと、
を備えている、方法。 - 請求項1記載の方法であって、更に、前記ソース構造から前記ターゲット構造にモーションをリターゲットするステップを備えている、方法。
- コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納されているコンピュータ・プログラム命令であって、コンピュータによって処理されると、当該コンピュータに、第1ツールからのオブジェクトのアニメーションを、ランタイム・アニメーション・システムにおいて用いる表現に変換する方法を実行するように命令し、前記第1ツールは、ソース・スキンを用いて前記オブジェクトを表現し、前記ランタイム・アニメーション・エンジンは、ターゲット構造、ターゲット・スキン、およびシェーディングを用い、前記方法は、
前記第1ツールからの前記オブジェクトの前記アニメーションを用いて、前記ターゲット構造に付加する仮想骨の集合、前記ターゲット・スキンを前記仮想骨に関連付けるスキニング重み、およびアニメーションのフレーム毎に前記仮想骨の動きを指定する動画変形データを記述する情報を発生するステップと、
前記第1ツールからの前記オブジェクトの前記アニメーションを用いて、正規図の集合、1つ以上のマスク、および前記ランタイム・アニメーション・システムのために1つ以上のシェーダが用いる動画マスク・パラメータを記述する情報を発生するステップと、
を備えている、コンピュータ・プログラム製品。 - 請求項3記載のコンピュータ・プログラム製品であって、更に、前記ソース構造から前記ターゲット構造にモーションをリターゲットするステップを備えている、コンピュータ・プログラム製品。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/496,241 US7859538B2 (en) | 2006-07-31 | 2006-07-31 | Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008033940A true JP2008033940A (ja) | 2008-02-14 |
Family
ID=38657699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007198396A Pending JP2008033940A (ja) | 2006-07-31 | 2007-07-31 | ランタイム・コンピュータ・グラフィックス・アニメーション・エンジンにおけるメッシュ用変形データからスケルトン用アニメーション・データへの変換、スキニング、およびシェーディング |
Country Status (4)
Country | Link |
---|---|
US (1) | US7859538B2 (ja) |
EP (1) | EP1884896A3 (ja) |
JP (1) | JP2008033940A (ja) |
CA (1) | CA2593485A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2090430A2 (en) | 2008-02-15 | 2009-08-19 | Okamoto Chemical Industry Co., Ltd | Photosensitive composition and lithographic printing original plate using the composition |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8115774B2 (en) * | 2006-07-28 | 2012-02-14 | Sony Computer Entertainment America Llc | Application of selective regions of a normal map based on joint position in a three-dimensional model |
JP4842242B2 (ja) * | 2006-12-02 | 2011-12-21 | 韓國電子通信研究院 | キャラクタアニメーション時の皮膚のしわのリアルタイム表現方法及び装置 |
US20090213138A1 (en) * | 2008-02-22 | 2009-08-27 | Pixar | Mesh transfer for shape blending |
US8144155B2 (en) * | 2008-08-11 | 2012-03-27 | Microsoft Corp. | Example-based motion detail enrichment in real-time |
US8683429B2 (en) | 2008-08-25 | 2014-03-25 | Adobe Systems Incorporated | Systems and methods for runtime control of hierarchical objects |
US8373704B1 (en) * | 2008-08-25 | 2013-02-12 | Adobe Systems Incorporated | Systems and methods for facilitating object movement using object component relationship markers |
US8704832B2 (en) | 2008-09-20 | 2014-04-22 | Mixamo, Inc. | Interactive design, synthesis and delivery of 3D character motion data through the web |
US8749556B2 (en) | 2008-10-14 | 2014-06-10 | Mixamo, Inc. | Data compression for real-time streaming of deformable 3D models for 3D animation |
WO2010060113A1 (en) * | 2008-11-24 | 2010-05-27 | Mixamo, Inc. | Real time generation of animation-ready 3d character models |
US8659596B2 (en) | 2008-11-24 | 2014-02-25 | Mixamo, Inc. | Real time generation of animation-ready 3D character models |
US8982122B2 (en) | 2008-11-24 | 2015-03-17 | Mixamo, Inc. | Real time concurrent design of shape, texture, and motion for 3D character animation |
US20100259547A1 (en) | 2009-02-12 | 2010-10-14 | Mixamo, Inc. | Web platform for interactive design, synthesis and delivery of 3d character motion data |
US20100285877A1 (en) * | 2009-05-05 | 2010-11-11 | Mixamo, Inc. | Distributed markerless motion capture |
US8928672B2 (en) | 2010-04-28 | 2015-01-06 | Mixamo, Inc. | Real-time automatic concatenation of 3D animation sequences |
US8797328B2 (en) * | 2010-07-23 | 2014-08-05 | Mixamo, Inc. | Automatic generation of 3D character animation from 3D meshes |
US8464153B2 (en) * | 2011-03-01 | 2013-06-11 | Lucasfilm Entertainment Company Ltd. | Copying an object in an animation creation application |
US20120280991A1 (en) * | 2011-05-03 | 2012-11-08 | Microsoft Corporation | Employing mesh files to animate transitions in client applications |
US10049482B2 (en) | 2011-07-22 | 2018-08-14 | Adobe Systems Incorporated | Systems and methods for animation recommendations |
US9786083B2 (en) | 2011-10-07 | 2017-10-10 | Dreamworks Animation L.L.C. | Multipoint offset sampling deformation |
US10748325B2 (en) | 2011-11-17 | 2020-08-18 | Adobe Inc. | System and method for automatic rigging of three dimensional characters for facial animation |
US9747495B2 (en) | 2012-03-06 | 2017-08-29 | Adobe Systems Incorporated | Systems and methods for creating and distributing modifiable animated video messages |
US10134167B2 (en) | 2013-03-15 | 2018-11-20 | Dreamworks Animation Llc | Using curves to emulate soft body deformation |
US9418465B2 (en) | 2013-12-31 | 2016-08-16 | Dreamworks Animation Llc | Multipoint offset sampling deformation techniques |
US10489956B2 (en) | 2015-07-27 | 2019-11-26 | Autodesk, Inc. | Robust attribute transfer for character animation |
KR102636243B1 (ko) * | 2016-02-19 | 2024-02-14 | 삼성전자주식회사 | 이미지를 처리하기 위한 방법 및 그 전자 장치 |
US10559111B2 (en) | 2016-06-23 | 2020-02-11 | LoomAi, Inc. | Systems and methods for generating computer ready animation models of a human head from captured data images |
WO2017223530A1 (en) | 2016-06-23 | 2017-12-28 | LoomAi, Inc. | Systems and methods for generating computer ready animation models of a human head from captured data images |
US10410431B2 (en) | 2017-07-11 | 2019-09-10 | Nvidia Corporation | Skinning a cluster based simulation with a visual mesh using interpolated orientation and position |
EP3659117A4 (en) | 2017-07-28 | 2022-08-03 | Baobab Studios, Inc. | SYSTEMS AND METHODS FOR REAL-TIME COMPLEX CHARACTER ANIMATIONS AND INTERACTIVITY |
US10627978B2 (en) | 2017-12-05 | 2020-04-21 | Dodles, Inc. | Virtual stack button for software having a branched task structure |
US10198845B1 (en) | 2018-05-29 | 2019-02-05 | LoomAi, Inc. | Methods and systems for animating facial expressions |
US11551393B2 (en) | 2019-07-23 | 2023-01-10 | LoomAi, Inc. | Systems and methods for animation generation |
CN111462283B (zh) * | 2020-03-27 | 2023-03-03 | 厦门梦加网络科技股份有限公司 | 大量相同角色动画播放方法、介质、设备及装置 |
CN111563946B (zh) * | 2020-05-22 | 2023-09-08 | 网易(杭州)网络有限公司 | 一种对虚拟模型蒙皮的方法及装置、存储介质及电子设备 |
CN113129415B (zh) * | 2020-06-22 | 2024-07-12 | 完美世界(北京)软件科技发展有限公司 | 动画混合空间剖分方法、装置、设备和可读介质 |
CN111773686A (zh) * | 2020-06-30 | 2020-10-16 | 完美世界(北京)软件科技发展有限公司 | 动画的生成方法和装置、存储介质、电子装置 |
CN112107865A (zh) * | 2020-09-27 | 2020-12-22 | 完美世界(北京)软件科技发展有限公司 | 一种面部动画模型处理方法、装置、电子设备及存储介质 |
CN112509099B (zh) * | 2020-11-30 | 2024-02-06 | 北京百度网讯科技有限公司 | 虚拟形象驱动方法、装置、设备和存储介质 |
CN112948273B (zh) * | 2021-04-16 | 2024-03-22 | 深圳市腾讯信息技术有限公司 | 一种游戏资源的测试方法、相关装置、设备及存储介质 |
CN113706666A (zh) * | 2021-08-11 | 2021-11-26 | 网易(杭州)网络有限公司 | 动画数据处理方法、非易失性存储介质及电子装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030193503A1 (en) * | 2002-04-10 | 2003-10-16 | Mark Seminatore | Computer animation system and method |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0887609A (ja) | 1994-07-21 | 1996-04-02 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
US5767861A (en) | 1994-08-11 | 1998-06-16 | Kabushiki Kaisha Sega Enterprises | Processing apparatus and method for displaying a moving figure constrained to provide appearance of fluid motion |
JP3168244B2 (ja) | 1996-02-13 | 2001-05-21 | 株式会社セガ | 画像生成装置およびその方法 |
JPH09330424A (ja) | 1996-06-07 | 1997-12-22 | Matsushita Electric Ind Co Ltd | 3次元骨格構造の動き変換装置 |
US5852450A (en) | 1996-07-11 | 1998-12-22 | Lamb & Company, Inc. | Method and apparatus for processing captured motion data |
JP2903303B2 (ja) | 1996-09-03 | 1999-06-07 | 株式会社モノリス | アニメーション処理方法およびその応用 |
US6826759B2 (en) * | 1997-04-01 | 2004-11-30 | Sun Microsystems, Inc. | Method and apparatus for discovering and activating software components |
US6501477B2 (en) | 1997-08-01 | 2002-12-31 | Matsushita Electric Industrial Co., Ltd. | Motion data generation apparatus, motion data generation method, and motion data generation program storage medium |
JPH11185055A (ja) | 1997-12-24 | 1999-07-09 | Fujitsu Ltd | 動きデータ作成装置およびそのプログラムを格納した記憶媒体 |
US6215496B1 (en) | 1998-07-23 | 2001-04-10 | Microsoft Corporation | Sprites with depth |
US6326972B1 (en) | 1998-08-21 | 2001-12-04 | Pacific Data Images, Inc. | 3D stroke-based character modeling suitable for efficiently rendering large crowds |
US6535215B1 (en) | 1999-08-06 | 2003-03-18 | Vcom3D, Incorporated | Method for animating 3-D computer generated characters |
US6826540B1 (en) | 1999-12-29 | 2004-11-30 | Virtual Personalities, Inc. | Virtual human interface for conducting surveys |
JP3561456B2 (ja) | 2000-01-24 | 2004-09-02 | コナミ株式会社 | ビデオゲーム装置、ビデオゲームにおけるキャラクタ動作設定方法及びキャラクタ動作設定プログラムが記録されたコンピュータ読み取り可能な記録媒体 |
JP3618298B2 (ja) | 2000-01-28 | 2005-02-09 | 株式会社スクウェア・エニックス | モーション表示方法、ゲーム装置及び記録媒体 |
US6503144B1 (en) | 2000-01-28 | 2003-01-07 | Square Co., Ltd. | Computer readable program product storing program for ball-playing type game, said program, and ball-playing type game processing apparatus and method |
US6377281B1 (en) | 2000-02-17 | 2002-04-23 | The Jim Henson Company | Live performance control of computer graphic characters |
JP3569201B2 (ja) | 2000-06-05 | 2004-09-22 | 株式会社スクウェア・エニックス | 特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体及び方法、並びにゲーム装置 |
US6522332B1 (en) | 2000-07-26 | 2003-02-18 | Kaydara, Inc. | Generating action data for the animation of characters |
JP4380042B2 (ja) | 2000-09-04 | 2009-12-09 | ソニー株式会社 | アニメーション生成方法および装置 |
JP2002319036A (ja) | 2001-02-13 | 2002-10-31 | Sega Corp | アニメーション生成プログラム |
US6888549B2 (en) | 2001-03-21 | 2005-05-03 | Stanford University | Method, apparatus and computer program for capturing motion of a cartoon and retargetting the motion to another object |
US7102647B2 (en) * | 2001-06-26 | 2006-09-05 | Microsoft Corporation | Interactive horizon mapping |
US7012608B1 (en) | 2001-08-02 | 2006-03-14 | Iwao Fujisaki | Simulation device |
JP4133216B2 (ja) | 2001-10-29 | 2008-08-13 | 本田技研工業株式会社 | 人間補助装置のシミュレーション・システム、方法、およびコンピュータ・プログラム |
US6822653B2 (en) * | 2002-06-28 | 2004-11-23 | Microsoft Corporation | Methods and system for general skinning via hardware accelerators |
GB0216819D0 (en) | 2002-07-19 | 2002-08-28 | Kaydara Inc | Generating animation data |
JP3760347B2 (ja) | 2002-07-30 | 2006-03-29 | 株式会社光栄 | プログラム、記録媒体、ゲームキャラクタ描画方法及びゲーム装置 |
US7126607B2 (en) | 2002-08-20 | 2006-10-24 | Namco Bandai Games, Inc. | Electronic game and method for effecting game features |
TW587389B (en) * | 2002-08-23 | 2004-05-11 | Bextech Inc | Method and apparatus of capturing images |
US7034835B2 (en) | 2002-11-29 | 2006-04-25 | Research In Motion Ltd. | System and method of converting frame-based animations into interpolator-based animations |
US7168953B1 (en) | 2003-01-27 | 2007-01-30 | Massachusetts Institute Of Technology | Trainable videorealistic speech animation |
US7068277B2 (en) | 2003-03-13 | 2006-06-27 | Sony Corporation | System and method for animating a digital facial model |
US7333111B2 (en) | 2003-04-25 | 2008-02-19 | Honda Giken Kogyo Kabushiki Kaisha | Joint component framework for modeling complex joint behavior |
US20040227761A1 (en) * | 2003-05-14 | 2004-11-18 | Pixar | Statistical dynamic modeling method and apparatus |
US7221379B2 (en) | 2003-05-14 | 2007-05-22 | Pixar | Integrated object squash and stretch method and apparatus |
GB2404315A (en) | 2003-07-22 | 2005-01-26 | Kelseus Ltd | Controlling a virtual environment |
US20060139355A1 (en) | 2004-12-27 | 2006-06-29 | Seyoon Tak | Physically based motion retargeting filter |
US20060274070A1 (en) | 2005-04-19 | 2006-12-07 | Herman Daniel L | Techniques and workflows for computer graphics animation system |
US20060262119A1 (en) | 2005-05-20 | 2006-11-23 | Michael Isner | Transfer of motion between animated characters |
CA2553508A1 (en) | 2005-07-29 | 2007-01-29 | Avid Technology, Inc. | Transfer of attributes between geometric surfaces of arbitrary topologies with distortion reduction and discontinuity preservation |
US7298374B2 (en) * | 2005-08-02 | 2007-11-20 | Sony Computer Entertainment America Inc. | Scheme for providing wrinkled look in computer simulation of materials |
-
2006
- 2006-07-31 US US11/496,241 patent/US7859538B2/en active Active
-
2007
- 2007-07-12 CA CA002593485A patent/CA2593485A1/en not_active Abandoned
- 2007-07-20 EP EP07252885A patent/EP1884896A3/en not_active Withdrawn
- 2007-07-31 JP JP2007198396A patent/JP2008033940A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030193503A1 (en) * | 2002-04-10 | 2003-10-16 | Mark Seminatore | Computer animation system and method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2090430A2 (en) | 2008-02-15 | 2009-08-19 | Okamoto Chemical Industry Co., Ltd | Photosensitive composition and lithographic printing original plate using the composition |
Also Published As
Publication number | Publication date |
---|---|
US20080024487A1 (en) | 2008-01-31 |
EP1884896A2 (en) | 2008-02-06 |
EP1884896A3 (en) | 2008-03-26 |
US7859538B2 (en) | 2010-12-28 |
CA2593485A1 (en) | 2008-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7859538B2 (en) | Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine | |
US8154544B1 (en) | User specified contact deformations for computer graphics | |
CN112652044B (zh) | 粒子特效渲染方法、装置、设备及存储介质 | |
Wang et al. | Multi-weight enveloping: least-squares approximation techniques for skin animation | |
US6700586B1 (en) | Low cost graphics with stitching processing hardware support for skeletal animation | |
US9305387B2 (en) | Real time generation of animation-ready 3D character models | |
US7057619B2 (en) | Methods and system for general skinning via hardware accelerators | |
CN109448137B (zh) | 交互方法、交互装置、电子设备及存储介质 | |
JP4663693B2 (ja) | 3次元モデルにおけるジョイントの位置に基づいたノーマルマップの選択的領域の適用 | |
EP1748391A2 (en) | Three-dimensional animation of soft tissue of characters using controls associated with a surface mesh | |
US20060256112A1 (en) | Statistical rendering acceleration | |
US20060161572A1 (en) | Method and system for visualization of dynamic three-dimensional virtual objects | |
KR20080018407A (ko) | 3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을기록한 컴퓨터 판독가능 기록매체 | |
JP4842242B2 (ja) | キャラクタアニメーション時の皮膚のしわのリアルタイム表現方法及び装置 | |
JP4206547B2 (ja) | 画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体 | |
US6670954B2 (en) | Three-dimensional skeleton data error absorbing apparatus | |
JP3625201B2 (ja) | 3次元モデル変形プログラム、3次元モデル変形方法及びビデオゲーム装置 | |
JP3576126B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
US7477253B2 (en) | Storage medium storing animation image generating program | |
CN109445868A (zh) | 一种游戏场景中路段模型的生成方法和装置 | |
Tóth et al. | An Approximative and Semi-automated Method to Create MPEG-4 Compliant Human Face Models. | |
JP2005078121A (ja) | 流体の飛沫シミュレーション装置、方法、およびプログラム | |
US8395627B2 (en) | Spline technique for 2D electronic game | |
Karunaratne et al. | A new efficient expression generation and automatic cloning method for multimedia actors | |
CN116168156A (zh) | 虚拟云朵模型处理方法、装置和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091207 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100428 |