JP2009020874A - Hair simulation method, and device therefor - Google Patents

Hair simulation method, and device therefor Download PDF

Info

Publication number
JP2009020874A
JP2009020874A JP2008151141A JP2008151141A JP2009020874A JP 2009020874 A JP2009020874 A JP 2009020874A JP 2008151141 A JP2008151141 A JP 2008151141A JP 2008151141 A JP2008151141 A JP 2008151141A JP 2009020874 A JP2009020874 A JP 2009020874A
Authority
JP
Japan
Prior art keywords
hair
master
particle
bundle
simulation
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
Application number
JP2008151141A
Other languages
Japanese (ja)
Inventor
Maki Oshita
真樹 尾下
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.)
Kyushu Institute of Technology NUC
Original Assignee
Kyushu Institute of Technology NUC
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 Kyushu Institute of Technology NUC filed Critical Kyushu Institute of Technology NUC
Priority to JP2008151141A priority Critical patent/JP2009020874A/en
Publication of JP2009020874A publication Critical patent/JP2009020874A/en
Pending legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a hair simulation method capable providing an animation image rich in reality, and capable of shortening extremely a processing time in simulation. <P>SOLUTION: This hair simulation method is provided with a hair master simulation step of constituting a hair bundle of hair members distributed in the periphery of one hair master, using a particle model as a model of each of the hair masters and hair members, including a hair master initialization step and a hair member initialization step, and for calculating positions of all the master particles constituting the hair master, and a hair member deformation step for changing relative coordinates among the respective member particles constituting the respective hair members, based on motion speed vectors of the master particles, and is provided further a hair member generation step for calculating a position of each member particle in each hair member, based on the positions of the master particles calculated in the hair master simulation step and based on a relative position of the member particle changed in the hair member deformation step. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、髪シミュレーション方法に関するものである。   The present invention relates to a hair simulation method.

髪シミュレーションは、コンピュータアニメーションの分野では重要な技術の一つであり、髪についてのモデリング、シミュレーション、レンダリング等に関する方法は、長年、研究、開発されている。   Hair simulation is one of the important technologies in the field of computer animation, and methods related to modeling, simulation, rendering, etc. about hair have been researched and developed for many years.

しかし、人間の髪は10万本またはそれ以上の本数の毛髪からなるものであり、これをシミュレートするためには大量のデータを処理する必要がある。このようなことから、これまで、リアルタイムシミュレーションは実現することが難しかった。したがって、これまでの研究の多くは、いわゆるオフライン(off-line)アニメーションを目的としたものであった。
ケン アンジョー等、「髪の自然な美しさを引き出すための簡単な方法(A Simple Method for Extracting the NaturalBeauty of Hair)」、ACM コンピュータグラフィック(SIGGRAPH 92)、第26巻、第2号、111頁から120頁、1992年 ヨウスケ バンド等、「緩やかに連結された粒子モデルによる髪のアニメーション(AnimatingHair with Loosely Connected Particles)」、コンピュータグラフィックフォーラム(ユーログラフィックの会報 2003) 第22巻、第3号、411−418ページ 2003年 エフ バーテイルス等、「毛髪の束の多重解像度制御(AdaptiveWisp Tree - Amultiresolution control structure for simulating dynamic clustering in hairmotion」、ACM SIGGRAPH、コンピュータアニメーションにおけるユーログラフィック シンポジウム 2003、207−213頁、2003年 キラン エス.バハット等、「ビデオからの衣服シミュレーションパラメータの推定(EstimatingCloth Simulation Parameters from Video)」、ACM SIGGRAPH、コンピュータアニメーションにおけるユーログラフィック シンポジウム 2003、37−51頁、2003年 ジョニー ティー.チャン等、「髪の相互作用に関する現実的なモデル(APractical Model for Hair Mutual Interactions)」、ACM SIGGRAPH、コンピュータアニメーションにおけるユーログラフィック シンポジウム 2002、73−80頁、2002年7月 ビョンウォン チョー等、「対話的な髪型生成のための統計的束モデルおよび擬似物理的アプローチ(AStatistical Wisp Model and Pseudo physical Approaches for Interactive HairstyleGeneration)」、映像化とコンピュータグラフィックについてのIEEE会報、第11巻、第2号、160−170頁、2005年3月 ランディマ ファーナンド等、「プログラマブル リアルタイム グラフィックのためのガイド本(TheCg Tutorial : The Definitive Guide to Programmable Real - Time Graphics)」、アディッション−ウェスリー プロフェッショナル 2003年 ライーブ グプタ等、「リアルタイム髪シミュレーションのための最適化フレームワーク(OptimizedFramework for Real Time Hair Simulation)」、コンピュータグラフィックインターナショナル(CGI2006)、702−710頁、2006年6月 スニル ハダップ アンド ナディア マグネナット−サルマン、「連続体としての髪の動きのモデリング(ModelingDynamic Hair as a Continuum)」、コンピュータグラフィックフォーラム(ユーログラフィック2001)、第20巻、第3号、2001年 ジェームス ティー.カジヤ等、「三次元テクスチャによる毛のレンダリング(RenderingFur with Three Demensional Textures)」、ACM SIGGRAPH、コンピュータグラフィック(SIGGRAPH89)、第23巻、第3号、271−280頁、1989年 ティー−ヨン キム アンド ウルリッチ ニューマン、「多重解像度表現された髪の対話的なモデリングおよび編集(InteractiveMultiresolution Hair Modeling and Editing)」、グラフィックについてのACM会報、(SIGGRAPH2002)、第21巻、第3号、620−629頁、2002年 トム ロコビック等、「ディープ シャドウ マップス(DeepShadow Maps)」、SIGGRAPH2000、385−392頁、2000年 マーク メイヤー等、「仮想現実における衣服のようなものの対話的なアニメーション(InteractiveAnimation of Cloth-like Objects in Virtual Reality)」、映像およびコンピュータアニメーションの雑誌、第12巻、第1版、1−12頁、2001年5月 フバート ヌグイェン アンド ウイリアム ドネリー.「ナルのデモにおける髪のアニメーションとレンダリング(HairAnimation and Rendering in the Nalu Demo)」、GPU Gems2、361−380頁、2005年 nVidia「GPUを用いた衣服シミュレーションのデモ(GPU Cloth)」,http://developer. nvidia.com/, 2005年 シルバイン パリス等、「複数の画像からの髪の形状の計測(Captureof Hair Geometry from Multiple Images)」、グラフィックについてのACM会報、(SIGGRAPH2004)、第23巻、第3版、712−719頁、2004年 パスカル ボリノ等、「複雑な髪型のリアルタイムアニメーション(Real-TimeAnimation of Complex Hairstyles)」、映像とコンピュータグラフィックのIEEEの会報、第12巻、第2号、2006年3−4月 ロドリゲス ナバロ ジェー等、「人間の動きに合わせた衣服の高速シミュレーション(FastCloth Simulation on Moving Humanoids)」、ユーログラフィック2005 ショートプレゼンテーション、85−88頁、2005年 シュー ドン ヤン等、「毛髪の束のモデル(TheCluster Hair Model)」、グラフィックモデル、第62巻、第2版、85−103頁、2000年3月 イゾウ ユー等、「リアルな髪型の仮想モデリング(ModelingRealistic Virtual Hairstyles)」、パシフィックグラフィック2001、295−304頁、2001年 ケリー ワード等、「多重解像度表現を用いた髪のモデリング(ModelingHair Using Level-of-Detail Representations)」、コンピュータアニメーションとソーシャルエージェント2003、41−47頁、2003年 ヤスヒコ ワタナベ等、「髪の画像生成のための三角柱モデル手法(ATrigonal Prism-Based Method for Hair Image Generation)」、IEEEコンピュータグラフィックとアプリケーション、第12巻、第1版、47−53頁、1992年1月
However, human hair consists of 100,000 or more hairs, and in order to simulate this, it is necessary to process a large amount of data. For these reasons, it has been difficult to implement real-time simulations. Thus, much of the research so far has been aimed at so-called off-line animation.
From Ken Anjo et al., “A Simple Method for Extracting the Natural Beauty of Hair”, ACM Computer Graphic (SIGGRAPH 92), Vol. 26, No. 2, p. 111 120 pages, 1992 Yosuke Band et al., “Animating Hair with Loosely Connected Particles”, Computer Graphic Forum (Eurographic Bulletin 2003) Vol. 22, No. 3, pages 411-418 2003 F. Verteils et al., “Adaptive Wisp Tree-Amultiresolution control structure for simulating dynamic clustering in hairmotion”, ACM SIGGRAPH, Eurographic Symposium on Computer Animation 2003, 207-213, 2003 Kiran S. Bahat et al., “Estimating Cloth Simulation Parameters from Video”, ACM SIGGRAPH, Eurographic Symposium on Computer Animation 2003, 37-51, 2003 Johnny Tea. Chang et al., “APractical Model for Hair Mutual Interactions”, ACM SIGGRAPH, Eurographic Symposium on Computer Animation 2002, 73-80, July 2002 Byungwon Cho et al., “Statistical Wisp Model and Pseudo physical Approaches for Interactive Hairstyle Generation”, Volume 11 of the IEEE Bulletin on Imaging and Computer Graphics, Volume 11 , No. 2, pages 160-170, March 2005 Randima Fernando et al., "The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics", Addition-Wesley Professional 2003 Live Gupta et al., “Optimized Framework for Real Time Hair Simulation”, Computer Graphic International (CGI 2006), pages 702-710, June 2006 Sunil Haddup and Nadia Magnenat-Salman, “Modeling Dynamic Hair as a Continuum”, Computer Graphic Forum (Eurographic 2001), Vol. 20, No. 3, 2001 James Tea. Kazuya et al., “Rendering Fur with Three Demensional Textures”, ACM SIGGRAPH, Computer Graphics (SIGGRAPH 89), Vol. 23, No. 3, pp. 271-280, 1989 Tee-Yong Kim and Ulrich Newman, “Interactive Multiresolution Hair Modeling and Editing”, ACM Bulletin on Graphics, (SIGGRAPH 2002), Vol. 21, No. 3, 620 -629, 2002 Tom Rocovic, et al., “Deep Shadow Maps”, SIGGRAPH 2000, pages 385-392, 2000 Mark Mayer et al., “Interactive Animation of Cloth-like Objects in Virtual Reality”, Magazine of Video and Computer Animation, Volume 12, 1st Edition, 1-12, May 2001 Hubert Nguyen and William Donnelly. "HairAnimation and Rendering in the Nalu Demo", GPU Gems2, 361-380, 2005 nVidia “Demonstration of clothing simulation using GPU (GPU Cloth)”, http: // developer. nvidia.com/, 2005 Sylvain Paris et al., “Capture of Hair Geometry from Multiple Images”, ACM Newsletter on Graphics, (SIGGRAPH 2004), Vol. 23, 3rd edition, pages 712-719, 2004 Pascal Borino et al., “Real-Time Animation of Complex Hairstyles”, IEEE newsletter on video and computer graphics, Vol. 12, No. 2, March-April 2006 Rodriguez Navarro J. et al., “FastCloth Simulation on Moving Humanoids”, Eurographic 2005 Short Presentation, pp. 85-88, 2005 Shu Dong Yang et al., “The Cluster Hair Model”, Graphic Model, Vol. 62, 2nd edition, pp. 85-103, March 2000 Izo Yu et al., “Modeling Realistic Virtual Hairstyles”, Pacific Graphics 2001, 295-304, 2001 Kelly Ward et al., “Modeling Hair Using Level-of-Detail Representations”, Computer Animation and Social Agents 2003, 41-47, 2003 Yashiko Watanabe et al., “Atrigonal Prism-Based Method for Hair Image Generation”, IEEE Computer Graphics and Applications, Vol. 12, 1st edition, pp. 47-53, 1992 1 Moon

ところで、近年、オンラインアニメーションを用いるコンピュータゲームやバーチャルリアリティの分野で、リアルタイム髪シミュレーションが必要とされている。   By the way, in recent years, real-time hair simulation is required in the field of computer games using online animation and virtual reality.

髪シミュレーションを実現するための一般的な技術として、粒子モデルを用いる方法が広く用いられている。この方法は、髪を構成する各毛髪を、多数の粒子のつながりとしてモデル化し、各粒子に作用する力に基づいて各粒子の動きを計算することで、毛髪の動きをシミュレーションするものである。   As a general technique for realizing hair simulation, a method using a particle model is widely used. In this method, each hair constituting the hair is modeled as a connection of a large number of particles, and the movement of each particle is calculated based on the force acting on each particle, thereby simulating the movement of the hair.

ところが、人間の髪全体は1万本〜10万本もの多数の毛髪によって構成されるため、粒子モデルを用いた手法で全ての髪の運動を計算しようとすると、最新のハードウェアを用いたとしても、アニメーションの各フレーム処理に数秒程度の時間を要してしまい、リアルタイムでのアニメーションは非現実的である。   However, human hair as a whole is composed of as many as 10,000 to 100,000 hairs, so if you try to calculate the movement of all the hair using the particle model method, the latest hardware is used. However, it takes about several seconds to process each frame of animation, and real-time animation is unrealistic.

毛髪の大きく数を減らしたり、シミュレーションモデルを単純化したりすることで、粒子モデルを用いる手法でも、リアルタイムシミュレーションを実現することは可能である。しかし、そのような方法では、リアリティに欠けるアニメーションになるという問題がある。   Real-time simulation can be realized even with a method using a particle model by reducing the number of hairs or simplifying the simulation model. However, such a method has a problem that the animation lacks reality.

そのため、このような手法は、現在は、ごく一部のコンピュータゲームでしか使用されていない。多くのコンピュータゲームでは、依然として、ポリゴンによって表現された全く動きのない髪が使用されている。   For this reason, such a technique is currently used only in a few computer games. Many computer games still use hair with no movement represented by polygons.

そこで、このような粒子モデルの問題を解決し、高速に処理を行い、かつ、自然な髪を生成するための方法として、粗い毛髪モデルと詳細な毛髪モデルを組み合わせる手法が開発されている。   Thus, as a method for solving such a problem of the particle model, performing processing at high speed, and generating natural hair, a method of combining a rough hair model and a detailed hair model has been developed.

この手法では、まず、粗い毛髪モデルを用いて、物理シミュレーションにより、髪の動きを計算する。ここでは、粗いモデルを使用するため、高速にシミュレーションを実現できる。その後、粗い毛髪モデルから、より多数の毛髪によって構成される詳細な毛髪モデルを動的に生成することで、自然な髪を実現する。この処理では、通常、物理シミュレーションは用いず、幾何学的な処理によって多数の毛髪を生成する。   In this method, first, hair movement is calculated by physical simulation using a rough hair model. Here, since a rough model is used, simulation can be realized at high speed. Thereafter, a natural hair is realized by dynamically generating a detailed hair model composed of a larger number of hairs from a rough hair model. In this process, a physical simulation is not usually used, and a large number of hairs are generated by a geometric process.

ところが、従来の手法では、多数の毛髪を生成する際に、固定のパラメタを用いて毛髪を生成していために、生成される髪の動きが不自然である、という課題があった。   However, in the conventional method, when a large number of hairs are generated, the hair is generated using fixed parameters, and thus there is a problem that the movement of the generated hair is unnatural.

また、粗い毛髪モデルから詳細な毛髪モデルを生成するための、最も単純な手法として、毛髪の補間を用いたものがある(参考文献5,14)。   Further, as a simplest method for generating a detailed hair model from a rough hair model, there is a method using hair interpolation (Reference Documents 5 and 14).

この手法は、少数の毛髪の間に、周囲の毛髪を補間して新たな毛髪を新しく生成するものある。このような方法では、少数の毛髪から多数の毛髪を生成したときに、周囲の毛髪と一定の間隔が保たれ、毛髪の形状が均一であるような髪が生成されてしまう。   In this method, new hair is newly generated by interpolating surrounding hair between a small number of hairs. In such a method, when a large number of hairs are generated from a small number of hairs, a certain distance from the surrounding hair is maintained, and hair having a uniform hair shape is generated.

ところが、現実の人間の毛髪は、周囲の髪と独立に運動するのではなく、近隣の毛髪同士が束になって互いに影響し合いながら運動する。したがって、毛髪を単純に補間する方法では、このような人間の髪の動きを再現できないため、自然な髪の動きが生成できない。   However, real human hair does not move independently of the surrounding hair, but moves while bundling nearby hairs influencing each other. Therefore, the method of simply interpolating hair cannot reproduce such human hair movement, and thus cannot generate natural hair movement.

粗い毛髪モデルから詳細な毛髪モデルを生成するための別の方法として、毛髪の束を用いる手法がある。   Another method for generating a detailed hair model from a rough hair model is to use a hair bundle.

これは、粗い毛髪モデルの各毛髪を、毛髪の束を代表する1本の毛髪とみなして、各毛髪の周囲に一定数の毛髪を生成するなどして、各毛髪から毛髪の束を生成する手法である。これらの手法の多くは、主に髪のアニメーションではなく、髪の静止画像を生成することを目的としたものである。   This considers each hair of a rough hair model as a single hair that represents a bundle of hairs, and produces a bundle of hairs from each hair, such as creating a certain number of hairs around each hair. It is a technique. Many of these methods are primarily intended to generate still images of hair, not hair animation.

ところが、これらの手法では、固定の媒介変数に従って各毛髪から毛髪の束を生成するため、ある毛髪から生成される毛髪の束の形状は常に同じになってしまう。現実の人間の毛髪の束の形状は、当然ながら、その運動にともなって変化する。そのため、これらの手法を単純に髪のアニメーションに適用すると、不自然な髪が生成されてしまう、という問題があった。   However, in these methods, since a hair bundle is generated from each hair according to a fixed parameter, the shape of the hair bundle generated from a certain hair is always the same. The shape of the actual human hair bundle naturally changes with the movement. Therefore, when these methods are simply applied to hair animation, there is a problem that unnatural hair is generated.

本発明は、従来手法の問題点を鑑みて、従来のリアルタイムシミュレーションによる髪の不自然さを少ない計算コストで解消するような、髪シミュレーション手法を提供することを課題とする。   In view of the problems of the conventional technique, an object of the present invention is to provide a hair simulation technique that can eliminate the unnaturalness of hair by a conventional real-time simulation at a low calculation cost.

請求項1に記載の発明は、コンピュータアニメーションやコンピュータゲームに登場するキャラクタの髪の動きをシミュレートし、フレーム画像を連続的に表示することでアニメーションを生成するための、髪シミュレーション方法であって、前記キャラクタの髪は、分散配置された複数の毛髪の束で構成されるものであり、各束は、当該束を代表する1本のマスタ毛髪と、当該マスタ毛髪の周りに散在するメンバ毛髪とで構成されるものであり、各マスタ毛髪は、多数のマスタ粒子のつながりによって構成されていると共に、各メンバ毛髪は、多数のメンバ粒子のつながりによって構成されており、シミュレーションの初期化を行うためのステップとして、あらかじめ定義された髪の情報に従って、マスタ毛髪を構成するマスタ粒子の位置を初期化するマスタ毛髪初期化ステップと、あらかじめ定義された束の形状や毛髪の形状の情報に従って、対応するマスタ粒子に対するメンバ粒子の相対位置を初期化するメンバ毛髪初期化ステップと、を含み、前記フレーム画像を生成して表示するシミュレーションステップとして、粒子モデルを用いた物理シミュレーションによって、前記各マスタ毛髪の動きをシミュレートし、各マスタ毛髪を構成する全てのマスタ粒子の位置を計算する、マスタ毛髪シミュレーションステップと、前記各束について、各メンバ毛髪を構成する各メンバ粒子の、当該メンバ粒子に対応するマスタ粒子に対する相対座標を、当該マスタ粒子の運動速度ベクトルに基づいて変化させるメンバ毛髪変形ステップと、マスタ毛髪シミュレーションステップにおいて計算されたマスタ粒子の位置と、メンバ毛髪変形ステップにおいて変化されたメンバ粒子の相対位置とから、前記各マスタ毛髪の周りに散在するメンバ毛髪のメンバ粒子の位置を計算するメンバ毛髪生成ステップと、前記メンバ毛髪生成ステップで計算されたメンバ粒子の位置に基づいて、全てのメンバ毛髪を描画してフレーム画像を生成するレンダリングステップと、を含む髪シミュレーション方法である。   The invention according to claim 1 is a hair simulation method for simulating the movement of hair of a character appearing in a computer animation or a computer game and generating an animation by continuously displaying frame images. The character's hair is composed of a plurality of hair bundles dispersedly arranged, and each bundle has one master hair representing the bundle and member hairs scattered around the master hair. Each master hair is composed of a number of master particles, and each member hair is composed of a number of member particles to initialize the simulation. As a step for the position of the master particles constituting the master hair according to the predefined hair information A master hair initializing step for initializing, and a member hair initializing step for initializing the relative position of the member particles with respect to the corresponding master particles according to information on the shape of the bundle and the shape of the hair defined in advance, As a simulation step of generating and displaying a frame image, a master hair that simulates the movement of each master hair by a physical simulation using a particle model and calculates the positions of all the master particles constituting each master hair A simulation step, and a member hair deformation step for changing the relative coordinates of each member particle constituting each member hair with respect to the master particle corresponding to the member particle based on the motion velocity vector of the master particle for each bundle. , Master hair simulation step A member hair generation step for calculating the position of the member particles of the member hair scattered around each master hair from the calculated position of the master particles and the relative position of the member particles changed in the member hair deformation step; And a rendering step of generating a frame image by drawing all the member hairs based on the positions of the member particles calculated in the member hair generation step.

本発明はメンバ毛髪変形ステップを備えており、本発明では、マスタ毛髪(すなわち粗いモデルの毛髪)の運動速度に着目して髪の束の形状が変化するようになっている。従来の毛髪の束を生成する手法は、固定の形状の毛髪の束を生成するものであり、生成されるアニメーションは不自然なものであったが、本発明によれば、マスタ毛髪の運動速度に応じて形状が動的に変化するような毛髪の束を生成するので、より自然な髪のアニメーションを生成できる。   The present invention includes a member hair deformation step. In the present invention, the shape of the hair bundle is changed by paying attention to the movement speed of the master hair (that is, rough model hair). The conventional method for generating a hair bundle is to generate a hair bundle having a fixed shape, and the generated animation is unnatural. Since a hair bundle whose shape changes dynamically according to the frequency is generated, a more natural hair animation can be generated.

請求項2に記載の発明は、請求項1に記載の髪シミュレーション方法であって、前記メンバ毛髪変形ステップは、マスタ粒子の運動速度ベクトルに応じて、速度が大きくなるほど束が広がるように、各メンバ粒子の、対応するマスタ粒子に対する相対位置を変化させる、束形状変形ステップと、マスタ粒子の運動速度ベクトルに応じて、速度が大きくなるほど髪の毛が水平方向に圧縮されるように、各メンバ粒子の、対応するマスタ粒子に対する相対位置を変化させる、毛形状変形ステップと、を含むものである。   Invention of Claim 2 is the hair simulation method of Claim 1, Comprising: Each said member hair deformation | transformation step is carried out so that a bundle | flux may spread so that a speed | rate may become large according to the motion velocity vector of a master particle. In accordance with the bundle shape deformation step that changes the relative position of the member particle with respect to the corresponding master particle and the motion velocity vector of the master particle, the hair of each member particle is compressed in the horizontal direction as the velocity increases. And a hair shape deformation step of changing a relative position with respect to the corresponding master particle.

本発明によれば、毛髪の束の水平方向の運動速度に応じて、毛髪の束が後方に広がるような効果、及び、個々の毛髪が空気抵抗により横方向につぶれるような効果を、少ない計算コストで実現することができる。   According to the present invention, depending on the movement speed of the hair bundle in the horizontal direction, the effect that the hair bundle spreads backward and the effect that the individual hairs are crushed laterally due to air resistance are less calculated. Can be realized at a cost.

請求項3に記載の発明は、コンピュータアニメーションやコンピュータゲームに登場するキャラクタの髪の動きをシミュレートし、フレーム画像を連続的に表示することでアニメーションを生成するための、髪シミュレーション装置であって、前記キャラクタの髪は、分散配置された複数の毛髪の束で構成されるものであり、各束は、当該束を代表する1本のマスタ毛髪と、当該マスタ毛髪の周りに散在するメンバ毛髪とで構成されるものであり、各マスタ毛髪は、多数のマスタ粒子のつながりによって構成されていると共に、各メンバ毛髪は、多数のメンバ粒子のつながりによって構成されており、シミュレーションの初期化を行う手段として、あらかじめ定義された髪の情報に従って、マスタ毛髪を構成するマスタ粒子の位置を初期化するマスタ毛髪初期化手段と、あらかじめ定義された束の形状や毛髪の形状の情報に従って、対応するマスタ粒子に対するメンバ粒子の相対位置を初期化するメンバ毛髪初期化手段と、を含み、前記フレーム画像を生成して表示する手段として、粒子モデルを用いた物理シミュレーションによって、前記各マスタ毛髪の動きをシミュレートし、各マスタ毛髪を構成する全てのマスタ粒子の位置を計算する、マスタ毛髪シミュレーション手段と、前記各束について、各メンバ毛髪を構成する各メンバ粒子の、当該メンバ粒子に対応するマスタ粒子に対する相対座標を、当該マスタ粒子の運動速度ベクトルに基づいて変化させるメンバ毛髪変形手段と、マスタ毛髪シミュレーションステップにおいて計算されたマスタ粒子の位置と、メンバ毛髪変形ステップにおいて変化されたメンバ粒子の相対位置とから、前記各マスタ毛髪の周りに散在するメンバ毛髪のメンバ粒子の位置を計算するメンバ毛髪生成手段と、前記メンバ毛髪生成ステップで計算されたメンバ粒子の位置に基づいて、全てのメンバ毛髪を描画してフレーム画像を生成するレンダリング手段と、を含む髪シミュレーション装置である。   The invention according to claim 3 is a hair simulation device for simulating the movement of the hair of a character appearing in a computer animation or a computer game, and generating an animation by continuously displaying frame images. The character's hair is composed of a plurality of hair bundles dispersedly arranged, and each bundle has one master hair representing the bundle and member hairs scattered around the master hair. Each master hair is composed of a number of master particles, and each member hair is composed of a number of member particles to initialize the simulation. As a means, the position of the master particles constituting the master hair is initialized according to the predefined hair information. Master hair initialization means, and member hair initialization means for initializing the relative position of the member particles with respect to the corresponding master particles in accordance with information on the shape of the bundle and the shape of the hair defined in advance. As a means for generating and displaying, a master hair simulation means for simulating the movement of each master hair by a physical simulation using a particle model and calculating the positions of all master particles constituting each master hair; Member hair deformation means for changing the relative coordinates of each member particle constituting each member hair with respect to the master particle corresponding to the member particle on the basis of the motion velocity vector of the master particle, and the master hair simulation. Master particle position calculated in step and member hair deformation Member hair generating means for calculating the position of the member particles of the member hair scattered around the respective master hairs from the relative positions of the member particles changed in step, and the member particles calculated in the member hair generating step And a rendering means for rendering a frame image by drawing all member hairs based on the position.

本発明はメンバ毛髪変形手段を備えており、本発明では、マスタ毛髪(すなわち粗いモデルの毛髪)の運動速度に着目して毛髪の束の形状が変化するようになっている。従来の毛髪の束を生成する手法を用いた装置は、固定の形状の毛髪の束を生成するものであり、生成されるアニメーションは不自然なものであったが、本発明によれば、マスタ毛髪の運動速度に応じて形状が動的に変化するような毛髪の束を生成するので、より自然な髪のアニメーションを生成できる。   The present invention is provided with member hair deformation means. In the present invention, the shape of the hair bundle is changed by paying attention to the movement speed of the master hair (that is, coarse model hair). An apparatus using a conventional method for generating a hair bundle generates a hair bundle having a fixed shape, and the generated animation is unnatural. Since a hair bundle whose shape dynamically changes according to the movement speed of the hair is generated, a more natural hair animation can be generated.

請求項4の発明は、請求項3に記載の髪シミュレーション装置であって、前記メンバ毛髪変形手段は、マスタ粒子の運動速度ベクトルに応じて、速度が大きくなるほど束が広がるように、各メンバ粒子の、対応するマスタ粒子に対する相対位置を変化させる、束形状変形手段と、マスタ粒子の運動速度ベクトルに応じて、速度が大きくなるほど髪の毛が水平方向に圧縮されるように、各メンバ粒子の、対応するマスタ粒子に対する相対位置を変化させる、毛形状変形手段と、を含むものである。   According to a fourth aspect of the present invention, in the hair simulation apparatus according to the third aspect, the member hair deformation means is configured so that each member particle deforms such that the bundle spreads as the velocity increases according to the motion velocity vector of the master particle. In accordance with the bundle shape deforming means for changing the relative position of the corresponding master particle, and the movement speed vector of the master particle, each member particle corresponds so that the hair is compressed in the horizontal direction as the speed increases. Hair shape deformation means for changing the relative position to the master particle.

本発明によれば、毛髪の束の水平方向の運動速度に応じて、毛髪の束が後方に広がるような効果、及び、個々の毛髪が空気抵抗により横方向につぶれるような効果を、少ない計算コストで実現することができる。   According to the present invention, depending on the movement speed of the hair bundle in the horizontal direction, the effect that the hair bundle spreads backward and the effect that the individual hairs are crushed laterally due to air resistance are less calculated. Can be realized at a cost.

本発明によれば、マスタ毛髪の運動速度に応じて形状が動的に変化するような毛髪の束を生成するので、より自然な髪のアニメーションを生成できる。そして、結果として、本発明によって、従来のリアルタイムシミュレーションの不自然さを解決し、自然な髪のアニメーションをリアルタイムに生成することができる。   According to the present invention, since a hair bundle whose shape dynamically changes according to the movement speed of the master hair is generated, a more natural hair animation can be generated. As a result, according to the present invention, the unnaturalness of the conventional real-time simulation can be solved and a natural hair animation can be generated in real time.

以下、本発明に係る髪シミュレーション方法と、当該方法を用いた髪シミュレーション装置の実施形態について、図面を用いて詳細に説明する。   Hereinafter, embodiments of a hair simulation method according to the present invention and a hair simulation device using the method will be described in detail with reference to the drawings.

まず、本発明に係る髪シミュレーション方法について説明する。   First, the hair simulation method according to the present invention will be described.

図1に示されるように、髪シミュレーション方法は、「初期化ステップ」と、初期化により生成された毛髪をシミュレートする「シミュレーションステップ」の2つのステップを備えており、シミュレーションを行って計算した結果に基づいてスクリーン等の出力先に毛髪をレンダリングできるようになっている。   As shown in FIG. 1, the hair simulation method includes two steps of “initialization step” and “simulation step” for simulating the hair generated by the initialization. Based on the result, the hair can be rendered to an output destination such as a screen.

初期化ステップは、髪の毛についての粗いモデル(図3(a)参照)の初期化ステップと、詳細モデル(図3(b)参照)の初期化ステップとを備えている。粗いモデルの初期化ステップは、後述するマスタ毛髪を構成するマスタ粒子の位置を初期化するステップである(以下、「マスタ毛髪初期化ステップ」と称する)。そして、詳細モデルの初期化ステップは、後述するメンバ毛髪のメンバ粒子と対応するマスタ粒子の間の相対位置を初期化するステップである(以下、「メンバ毛髪初期化ステップ」と称する)。   The initialization step includes an initialization step for a rough model of hair (see FIG. 3A) and an initialization step for a detailed model (see FIG. 3B). The rough model initialization step is a step of initializing the positions of master particles constituting the master hair described later (hereinafter referred to as “master hair initialization step”). The detailed model initialization step is a step of initializing the relative position between the member particles of the member hair described later and the corresponding master particles (hereinafter referred to as “member hair initialization step”).

シミュレーションステップは、初期化により生成された各マスタ毛髪(粗いモデルを構成する毛髪)の動きをシミュレートして各マスタ毛髪を構成する全てのマスタ粒子の位置を計算する「マスタ毛髪シミュレーションステップ」と、上記メンバ毛髪初期化ステップにおいて計算された、各メンバ毛髪(詳細モデルを構成する毛髪)を構成する各メンバ粒子の相対座標を、メンバ粒子に対応するマスタ粒子の運動速度に基づいて変化させる「メンバ毛髪変形ステップ」と、マスタ毛髪シミュレーションステップにおいて計算されたマスタ粒子の位置及びメンバ毛髪変形ステップにおいて変化されたメンバ粒子の相対位置からメンバ毛髪のメンバ粒子の位置を計算する「メンバ毛髪生成ステップ」と、シミュレーションステップにおける計算結果に基づいてスクリーン等に毛髪を出力する「レンダリングステップ」とを備えている。   The simulation step is a “master hair simulation step” for simulating the movement of each master hair (hair constituting a rough model) generated by initialization and calculating the positions of all master particles constituting each master hair. The relative coordinate of each member particle constituting each member hair (hair constituting the detailed model) calculated in the member hair initialization step is changed based on the movement speed of the master particle corresponding to the member particle. Member hair deformation step ”and“ member hair generation step ”for calculating the position of the member particles of the member hair from the position of the master particle calculated in the master hair simulation step and the relative position of the member particle changed in the member hair deformation step And calculation results in the simulation step And it outputs the hair on a screen or the like based on and a "rendering step".

このように、本発明に係る髪シミュレーション方法は、粗いモデルを使用した髪の物理シミュレーションと、粗いモデルを基に多数の毛髪の束(詳細モデル)を動的に生成する方法とを組み合わせることで、自然な髪のシミュレーションを高速に実現するものである。   As described above, the hair simulation method according to the present invention combines the physical simulation of hair using a rough model with the method of dynamically generating a large number of hair bundles (detailed models) based on the rough model. Realizes natural hair simulation at high speed.

次に、髪シミュレーション方法のシステム構成を、処理の流れに沿って図1、図2を参照しつつ詳細に説明する。   Next, the system configuration of the hair simulation method will be described in detail along the processing flow with reference to FIGS.

<<<初期化ステップ>>>
シミュレーションステップに先立ち、初期化ステップの処理を行う必要がある。先述の通り、初期化ステップは、マスタ毛髪初期化ステップ、メンバ毛髪初期化ステップに分けられる。以下、各ステップの処理を順に説明する。
<<< Initialization step >>>
Prior to the simulation step, it is necessary to perform an initialization step. As described above, the initialization step is divided into a master hair initialization step and a member hair initialization step. Hereinafter, the processing of each step will be described in order.

<<マスタ毛髪初期化ステップ>>
まず、マスタ毛髪初期化ステップが実行される。マスタ毛髪初期化ステップは、粗いモデルを生成するステップである。
<< Master hair initialization step >>
First, a master hair initialization step is executed. The master hair initialization step is a step of generating a rough model.

粗いモデルは、人間(キャラクタ)の頭部に分散配置された複数のマスタ毛髪で構成されている。つまり、マスタ毛髪初期化ステップは、分散配置された複数のマスタ毛髪を生成するステップである。各マスタ毛髪は、粒子モデルによってモデル化されている。つまり、各マスタ毛髪は、複数のマスタ粒子が連続的につながった、粒子の連続連結体としてモデル化されている。以下、マスタ毛髪を構成する各粒子のことを、マスタ粒子と呼ぶ。   The rough model is composed of a plurality of master hairs distributed on the head of a human (character). That is, the master hair initialization step is a step of generating a plurality of master hairs arranged in a distributed manner. Each master hair is modeled by a particle model. That is, each master hair is modeled as a continuous connected body of particles in which a plurality of master particles are continuously connected. Hereinafter, each particle constituting the master hair is referred to as master particle.

マスタ毛髪初期化ステップでは、人体モデルの頭部の適当な位置に、頭皮に対して直交する方向(法線方向)に伸びる状態で複数のマスタ毛髪を分散配置させる。また、初期化の段階で配置されるマスタ毛髪は直線状に延びるものである。したがって、複数のマスタ毛髪は、頭部を中心として放射状に延びる状態で生成される。   In the master hair initialization step, a plurality of master hairs are distributed and arranged at appropriate positions on the head of the human body model in a state extending in a direction (normal direction) perpendicular to the scalp. Moreover, the master hair arrange | positioned in the step of initialization extends linearly. Accordingly, the plurality of master hairs are generated in a state of extending radially around the head.

人体モデルのどの範囲にマスタ毛髪を生成するかについて、ユーザは、表現したい髪型に応じて、任意の範囲を指定することができる。また、各マスタ毛髪の長さli,も、同様に、ユーザが任意の値を設定することができる。つまり、あらかじめ定義された毛髪生成範囲情報、毛髪生成範囲内の各点におけるマスタ毛髪の方向・長さ情報等の、マスタ毛髪初期化情報に基づいて、粗いモデルの初期状態を決定することができる。これらの情報に基づき、上記の処理を行うことで、各マスタ粒子の座標pi,kが初期化される。ここで、pi,kは、i番目のマスタ毛髪の、k番目の粒子の座標を表している。 With respect to which range of the human body model the master hair is to be generated, the user can specify an arbitrary range according to the hairstyle to be expressed. Similarly , the length l i of each master hair can be set arbitrarily by the user. That is, the initial state of the rough model can be determined based on the master hair initialization information such as the pre-defined hair generation range information and the master hair direction / length information at each point in the hair generation range. . By performing the above processing based on these pieces of information, the coordinates p i, k of each master particle are initialized. Here, p i, k represents the coordinates of the k th particle of the i th master hair.

なお、マスタ毛髪の本数も、ユーザが任意に設定することができる。当髪シミュレーション方法では、マスタ毛髪初期化ステップにおいて、500本から数千本程度のマスタ毛髪を生成している。   Note that the number of master hairs can be arbitrarily set by the user. In the hair simulation method, about 500 to several thousand master hairs are generated in the master hair initialization step.

また、各マスタ毛髪を表現するために用いる粒子の数は、特に限定されるものではないが、毛髪1本当たり10個から20個程度の数の粒子が使用される。本実施形態では、毛髪1本当たり10個の粒子を使用している。   Further, the number of particles used for expressing each master hair is not particularly limited, but about 10 to 20 particles are used per hair. In this embodiment, 10 particles are used per hair.

<<メンバ毛髪初期化ステップ>>
次に、メンバ毛髪初期化ステップが実行される。メンバ毛髪初期化ステップは、詳細モデルを生成するための情報(メンバ毛髪を構成する各メンバ粒子の、対応するマスタ粒子に対する相対位置)を初期化するステップである。
<< Member hair initialization step >>
Next, a member hair initialization step is performed. The member hair initialization step is a step of initializing information (relative position of each member particle constituting the member hair with respect to the corresponding master particle) for generating a detailed model.

詳細モデルは、毛髪の束(以下、単に「束」と称することがある)の複数の集まりで構成されており、各束は、マスタ毛髪の周りに散在する状態で配置された複数のメンバ毛髪で構成されている。そして、各束を構成するメンバ毛髪の数は、特に限定されるものではないが、10本から20本程度の数である。本実施形態では、各マスタ毛髪の周りに10本から20本のメンバ毛髪を生成している。従って、粗いモデルを構成する各マスタ毛髪は、詳細モデルの毛髪の束を代表する毛髪であるということができる。このように、マスタ毛髪の周りに散在する状態で複数のメンバ毛髪を生成することで、毛髪の束を生成する。   The detailed model is composed of a plurality of collections of hair bundles (hereinafter simply referred to as “bundles”), and each bundle is a plurality of member hairs arranged around the master hair. It consists of The number of member hairs constituting each bundle is not particularly limited, but is about 10 to 20 hairs. In this embodiment, 10 to 20 member hairs are generated around each master hair. Therefore, it can be said that each master hair constituting the rough model is hair representative of a bundle of hairs of the detailed model. In this manner, a plurality of member hairs are generated in a state of being scattered around the master hair, thereby generating a hair bundle.

毛髪の束の各メンバ毛髪は、粗いモデルのマスタ毛髪と同様、粒子モデルによってモデル化されている。以下、メンバ毛髪を構成する各粒子のことを、メンバ粒子と呼ぶ。メンバ毛髪初期化ステップでは、あらかじめ定義された束の形状や毛髪の形状の情報に従って、対応するマスタ粒子に対するメンバ粒子の相対位置を初期化する。そして、後のシミュレーションステップでは、後述するように、マスタ毛髪を構成するマスタ粒子の速度に基づいて、毛髪の束の形状や個々の毛髪の形状をコントロールするように、メンバ粒子の相対座標を変化させる(図4(c)参照)。最終的に、各メンバ粒子の相対位置と、対応するマスタ粒子の位置に基づいて、各メンバ粒子の位置を決定することで、詳細モデルが生成されることになる。   Each member hair of the hair bundle is modeled by a particle model, similar to the coarse model master hair. Hereinafter, each particle constituting the member hair is referred to as a member particle. In the member hair initialization step, the relative positions of the member particles with respect to the corresponding master particles are initialized in accordance with information on the shape of the bundle and the shape of the hair defined in advance. In the subsequent simulation step, as will be described later, the relative coordinates of the member particles are changed so as to control the shape of the hair bundle and the shape of each hair based on the speed of the master particles constituting the master hair. (See FIG. 4C). Finally, a detailed model is generated by determining the position of each member particle based on the relative position of each member particle and the position of the corresponding master particle.

なお、粗いモデルを基に詳細モデルを生成する方法としては、種々の方法があるが(参考文献6,5,14,3参照)、先述の通り、本発明では、粗いモデルを構成するマスタ毛髪の周りに所定本数のメンバ毛髪を生成することによって毛髪の束のモデル(詳細モデル、図4(a)(b)参照)を生成するという手法を用いた。   There are various methods for generating a detailed model based on a rough model (see References 6, 5, 14, and 3). As described above, in the present invention, the master hair constituting the rough model is used. A method of generating a hair bundle model (detailed model, see FIGS. 4A and 4B) by generating a predetermined number of member hairs around the hair.

つまり、ここでは、詳細モデルである毛髪の束の基本的形状を、あらかじめ定義された束の形状の情報や毛髪の形状の情報(毛髪長さ情報や髪の広がり具合情報など、毛髪束初期化情報や毛髪形状初期化情報)に基づいて決定する。より具体的には、毛髪の束の基本的形状を、所定の長さや広がりなどの束の形状を表す関数や、振幅や周期や位相などの毛髪の形状を表す媒介変数を用いて決定する。すなわち、これらの関数や媒介変数を用いて各メンバ毛髪を構成する各メンバ粒子の、対応するマスタ粒子に対する相対座標を初期化する。
以下、各メンバ粒子の相対座標を計算する手順をより具体的に説明する。
各メンバ粒子の相対座標は、束の形状を表すオフセット(ui,j,k,vi,j,k,ti,j,k)、及び、毛髪の形状を表すオフセット(cui,j,k,cvi,j,k)により表される。つまり、メンバ毛髪初期化ステップは、束の形状を表すオフセットを計算する「束形状初期化ステップ」と、毛髪の形状を表すオフセットを計算する「毛形状初期化ステップ」とを有する。各ステップについては後述する。なお、添字i,j,kは、i番目のマスタ毛髪の、j番目のメンバ毛髪の、k番目の粒子であることを表す。ui,j,k,vi,j,k,ti,j,kは、マスタ毛髪に対して水平な方向を(ui,j,k,vi,j,k)、垂直な方向をti,j,kとする、マスタ毛髪のローカル座標系によって表された、束の形状を表すための、各メンバ粒子のオフセットである(図8)。また、(cui,j,k,cvi,j,k)は、毛髪の形状を表すための、各メンバ粒子のオフセットである。基準位置に対するメンバ粒子の、マスタ毛髪に対して水平方向の位置変化を表す。各メンバ粒子の、マスタ粒子に対する相対座標qi,j,k(=u’i,j,k,v’i,j,k,t’i,j,k)は、束の形状を表すオフセット(ui,j,k,vi,j,k,ti,j,k)、毛髪の形状を表すオフセット(cui,j,k,cvi,j,k)の和により表現される。
In other words, here, the basic shape of the hair bundle, which is a detailed model, is used to initialize the hair bundle, including predefined bundle shape information and hair shape information (such as hair length information and hair spread information). Information and hair shape initialization information). More specifically, the basic shape of the hair bundle is determined using a function representing the shape of the bundle such as a predetermined length and spread, and a parameter representing the shape of the hair such as amplitude, period and phase. That is, the relative coordinates of each member particle constituting each member hair with respect to the corresponding master particle are initialized using these functions and parameters.
Hereinafter, the procedure for calculating the relative coordinates of each member particle will be described more specifically.
The relative coordinates of each member particle include an offset (u i, j, k , v i, j, k , t i, j, k ) representing the shape of the bundle, and an offset (cu i, j ) representing the shape of the hair. , k , cv i, j, k ). That is, the member hair initialization step includes a “bundle shape initialization step” for calculating an offset representing the shape of the bundle, and a “hair shape initialization step” for calculating an offset representing the shape of the hair. Each step will be described later. The subscripts i, j, and k represent the k-th particle of the j-th member hair of the i-th master hair. u i, j, k , v i, j, k , t i, j, k are horizontal directions with respect to the master hair (u i, j, k , v i, j, k ), vertical directions T i, j, k is the offset of each member particle to represent the shape of the bundle, expressed in the local coordinate system of the master hair (FIG. 8). Further, (cu i, j, k , cv i, j, k ) is an offset of each member particle for representing the shape of the hair. It represents the change in the position of the member particles in the horizontal direction relative to the master hair with respect to the reference position. The relative coordinates q i, j, k (= u ′ i, j, k , v ′ i, j, k , t ′ i, j, k ) of each member particle with respect to the master particle are offsets representing the shape of the bundle. (U i, j, k , v i, j, k , t i, j, k ), expressed by the sum of offsets (cu i, j, k , cv i, j, k ) representing the shape of the hair .

また、ここでは、長さ割当て関数D(l)および半径関数R(s)といった関数を用いて、毛髪の束の形状を決定し、各マスタ粒子の束の形状を表すオフセット(ui,j,k,vi,j,k,ti,j,k)を決定する。長さ割当て関数D(l)は、各マスタ毛髪の長さを表す媒介変数である。そして、半径関数R(s)は、マスタ毛髪上の所定の点(粒子位置)s(0≦s≦1)における束の最大半径(最大動径)を表す媒介変数である。なお、sはマスタ毛髪の根元から先端に向かって変化する値であり、“s=0”の点はマスタ毛髪の根元位置の点(粒子)に対応し、“s=1”の点はマスタ毛髪の先端位置の点(粒子)に対応するものとする。長さ割当て関数D(l)や半径関数R(s)の媒介関数は、アニメーション作製者などのユーザが、各マスタ毛髪ごとに、表現したい毛髪の束の形状に応じた関数を設定することができる。図5(a)(b)には、異なる長さ割当て関数D(l)や半径関数R(s)を使用したときの、生成される毛髪の束の形状の違いの例を示している。 Here, the shape of the hair bundle is determined using functions such as the length assignment function D (l) and the radius function R (s), and the offset (u i, j representing the shape of each master particle bundle is determined. , k , v i, j, k , t i, j, k ). The length assignment function D (l) is a parameter representing the length of each master hair. The radius function R (s) is a parameter representing the maximum radius (maximum moving radius) of the bundle at a predetermined point (particle position) s (0 ≦ s ≦ 1) on the master hair. Here, s is a value that changes from the root of the master hair toward the tip, the point “s = 0” corresponds to the point (particle) at the root position of the master hair, and the point “s = 1” is the master hair. It shall correspond to the point (particle) at the tip position of the hair. As the mediation functions of the length assignment function D (l) and the radius function R (s), a user such as an animation creator can set a function corresponding to the shape of the hair bundle to be expressed for each master hair. it can. FIGS. 5 (a) and 5 (b) show examples of differences in the shape of the generated hair bundle when different length assignment functions D (l) and radius functions R (s) are used.

<束形状初期化ステップ>
以下、各マスタ粒子の、束の形状を表すオフセットqi,j,k(=ui,j,k,vi,j,k,ti,j,k)を決定する手順を説明する。
<Bundle shape initialization step>
Hereinafter, a procedure for determining the offset q i, j, k (= u i, j, k , v i, j, k , t i, j, k ) representing the shape of the bundle of each master particle will be described.

まず、半径関数R(s)を含む次の数式を用いて、メンバ毛髪の根元のメンバ粒子の水平方向のオフセット(ui,j,0,vi,j,0)を決定する。なお、ここでいう水平方向とは、マスタ毛髪の延伸方向(接線方向)に対して直交する方向(法線方向)のことである。 First, the horizontal offset (u i, j, 0 , v i, j, 0 ) of the member particle at the root of the member hair is determined using the following formula including the radius function R (s). In addition, the horizontal direction here is a direction (normal direction) orthogonal to the extending direction (tangential direction) of the master hair.

位置(α,β)は、マスタ毛髪に直交する平面状での、円座標系(極座標系)上の位置を表すものである。ここで、αは中心点からの半径比率を表し、β中心点に対する方位角を表す。α、βは、各メンバ毛髪ごとに、乱数により決定する。式(1)で用いている、rand()はランダム関数であり、rand(0.0〜1.0)は0.0から1.0の間の値をランダムにとり、rand(0.0〜2π)は0.0〜2πの間の角度をランダムにとる。   The position (α, β) represents a position on a circular coordinate system (polar coordinate system) in a planar shape perpendicular to the master hair. Here, α represents a radius ratio from the center point, and represents an azimuth angle with respect to the β center point. α and β are determined by random numbers for each member hair. Rand () used in equation (1) is a random function, rand (0.0 to 1.0) is a random value between 0.0 and 1.0, and rand (0.0 to 2π) is 0.0 Randomly take an angle between ˜2π.

そして、各メンバ毛髪の長さli,jを、長さ割当て関数D(l)を含む次の式(2)で定める。変数li,jは、粗いモデルのi番目のマスタ毛髪に基づいた束の、j番目のメンバ毛髪の長さを表している。なお、rand(0.0〜1.0)は、0.0から1.0の間の数をランダムに定めるランダム関数である。ランダムに決定された0.0から1.0の間の数に一致するまで、li,jを徐々に加算させながらD(l)を積分していき、値が一致した時点で停止することで、マスタ毛髪の長さli,jを決定する。 Then, the length l i, j of each member hair is determined by the following equation (2) including the length assignment function D (l). The variable l i, j represents the length of the j-th member hair of the bundle based on the i-th master hair of the coarse model. Note that rand (0.0 to 1.0) is a random function that randomly determines a number between 0.0 and 1.0. Integrate D (l) while gradually adding l i, j until it matches a randomly determined number between 0.0 and 1.0, and stop when the values match Thus, the length l i, j of the master hair is determined.

最後に、ここまでに決定した、各メンバ毛髪の根元のメンバ粒子の水平方向の相対位置(ui,j,0,vi,j,0)、及び、各メンバ毛髪の長さli,jに基づいて、各メンバ毛髪の各メンバ粒子のオフセット(ui,j,k,vi,j,k,ti,j,k)を、次の式(3)を用いて計算する。 Finally, the horizontal relative position (u i, j, 0 , v i, j, 0 ) of the member particles at the base of each member hair determined so far, and the length l i, Based on j , the offset (u i, j, k , v i, j, k , t i, j, k ) of each member particle of each member hair is calculated using the following equation (3).

<毛形状初期化ステップ>
次に、各マスタ粒子の、毛髪の形状を表すオフセットqi,j,k(=ui,j,k,vi,j,k,ti,j,k)を決定する手順を説明する。
<Hair shape initialization step>
Next, a procedure for determining an offset q i, j, k (= u i, j, k , v i, j, k , t i, j, k ) representing the shape of the hair of each master particle will be described. .

これまでに決定した各マスタ粒子の束形状を現すオフセットにより、マスタ毛髪の位置を水平方向に移動した状態の、直線的な髪の毛を表現することができる。しかし、実際の人間の毛髪は、必ずしも直線的なものだけではなく、細かいカーブがかかったような毛髪も存在する。そこで、このような毛髪の形状を表現するために、毛髪の形状を表すオフセット(cui,j,k,cvi,j,k)を使用する。
本実施形態では、サインカーブの係数を媒介変数として、(cui,j,k,cvi,j,k)を決定する。参考文献20で論じられているように、人間の毛髪のさまざまな形状は、サインカーブ(正弦波)と半径関数の組み合わせにより表現できる。本実施形態では、既に、束の形状を決めるために半径関数を適用しているので、毛髪の形状を決定する要素として、次の式(4)に示すように、サインカーブを使用する。
With the offset that represents the bundle shape of each master particle determined so far, it is possible to represent a straight hair with the position of the master hair moved in the horizontal direction. However, actual human hair is not necessarily straight, and there is hair that has a fine curve. Therefore, in order to represent such a hair shape, an offset (cu i, j, k , cv i, j, k ) representing the hair shape is used.
In the present embodiment, (cu i, j, k , cv i, j, k ) is determined using the coefficient of the sine curve as a parameter. As discussed in reference 20, various shapes of human hair can be represented by combinations of sine curves (sine waves) and radial functions. In this embodiment, since the radius function has already been applied to determine the shape of the bundle, a sine curve is used as an element for determining the shape of the hair as shown in the following equation (4).

(αu,αv,f,θ)は、サインカーブの形状を変化させる媒介変数であり、αu,αvは各方向(u方向およびv方向)についての振幅、fはカーブの周期、θは位相を表している。なお、振幅は、毛髪のカーブの水平方向の大きさを表しており、振幅が大きいほど、大きく曲がった毛髪となる。周期は、カーブとカーブの間の距離を表しており、周期の値が大きいほど、カーブとカーブの間が狭くなり縮れたような毛髪となる。また、位相は、カーブの垂直方向のずれを表している。 u , α v , f, θ) are parameters that change the shape of the sine curve, α u , α v are amplitudes in each direction (u direction and v direction), f is the period of the curve, θ represents the phase. The amplitude represents the size of the hair curve in the horizontal direction, and the larger the amplitude, the more the hair is bent. The period represents the distance between the curves, and the larger the period value, the narrower and narrower the hair between the curves. Further, the phase represents a deviation in the vertical direction of the curve.

このように、各メンバ毛髪は、それぞれ個別の媒介変数(αu,αv,f,θ)を持っている。これらの値は、ユーザが、表現したい髪型に応じて、任意の値を各メンバ毛髪に設定することができる。しかしながら、各メンバ毛髪ごとに個別の値を設定するのは大変である。そこで、本実装形態では、基本的に、各マスタ毛髪(各束)ごとに値を設定し、同じマスタ毛髪に基づいて生成される(同じ束に属する)全てのメンバ毛髪について、同じ媒介変数を使用する。   Thus, each member hair has an individual parameter (αu, αv, f, θ). These values can be set for each member hair by the user depending on the hairstyle desired to be expressed. However, it is difficult to set individual values for each member hair. Therefore, in the present embodiment, basically, a value is set for each master hair (each bundle), and the same parameter is set for all member hairs generated (belonging to the same bundle) based on the same master hair. use.

しかしながら、同一の束の全毛髪について、完全に同じ媒介変数を使用すると、全く同じ形状の毛髪が多数生成されることになり、リアリティに欠ける画像が生成されるおそれがある。そこで、個々のメンバ毛髪の媒介変数に対して、乱数により一定の変化を加える。乱数を用いることで、一様でない毛髪が生成されることになり、シミュレーションのリアリティが高まる。なお、図6(a)(b)(c)に、本実施形態のモデルを使用して生成されたカーブやねじれた毛髪を示した。   However, if the same parameter is used for all hairs in the same bundle, a large number of hairs having exactly the same shape may be generated, and an image lacking reality may be generated. Therefore, a constant change is added to the parameter of each member hair by a random number. By using random numbers, non-uniform hair is generated, and the reality of the simulation is increased. FIGS. 6A, 6B and 6C show curves and twisted hair generated using the model of this embodiment.

<<メンバ毛髪初期化ステップ>>のまとめ
このように、メンバ毛髪初期化ステップでは、上記処理により、i番目のマスタ毛髪の束を構成する、j番目のメンバ毛髪のk番目の粒子が持つ、束の形状を表すオフセット(ti,j,k,ui,j,k,vi,j,k)と、毛髪の形状を表すオフセット(cui,j,k,cvi,j,k)を計算した。後述のシミュレーションステップでは、これらのオフセットをメンバ粒子の運動速度に応じて変化させ、変化させたオフセットに基づきメンバ毛髪を生成することになる。
<< Summary of Member Hair Initialization Step >> As described above, in the member hair initialization step, the k-th particle of the j-th member hair, which constitutes the bundle of the i-th master hair, has the above-described process. An offset (t i, j, k , u i, j, k , v i, j, k ) representing the shape of the bundle and an offset (c i, j, k , cv i, j, k ) representing the shape of the hair ) Was calculated. In the simulation step described later, these offsets are changed according to the movement speed of the member particles, and member hair is generated based on the changed offset.

なお、上記の処理で用いた各オフセットの計算方法や、計算に使用する式(1),(3)および(4)は、より複雑なものを用いてもよい。より複雑なモデルを使用することで、設定者の手間はかかる代わりに、より細かい毛髪の形状を設定することが可能になると考えられる。 It should be noted that more complicated methods may be used for the calculation method of each offset used in the above processing and the equations (1), (3), and (4) used for the calculation. By using a more complicated model, it is considered that it is possible to set a finer hair shape instead of taking the effort of the setter.

最後に、次の式(5)に示されるように、束の形状を表すオフセット(ui,j,k,vi,j,k,ti,j,k)と、毛髪の形状を表すオフセット(cui,j,k,cvi,j,k)を加えることで、各メンバ粒子の相対位置qi,j,k(=u’i,j,k,v’i,j,k,ti,j,k)を表すことができる。 Finally, as shown in the following equation (5), the offset (u i, j, k , v i, j, k , t i, j, k ) representing the shape of the bundle and the shape of the hair are represented. By adding an offset (cu i, j, k , cv i, j, k ), the relative position q i, j, k (= u ′ i, j, k , v ′ i, j, k ) of each member particle , T i, j, k ).

この各メンバ粒子の相対値とq i,j,k=(u’ i,j,k,v’ i,j,k,ti,j,k)と、マスタ毛髪に基づいて、各メンバ粒子の絶対位置を計算し、メンバ毛髪を生成することができる。 Based on the relative value of each member particle and q i, j, k = (u ′ i, j, k , v ′ i, j, k , t i, j, k ) and the master hair, each member particle The absolute position of the member hair can be calculated.

<<<シミュレーションステップ>>>
上記の初期化ステップが完了した後、実際に毛髪のアニメーションを生成するための、シミュレーションステップを実行する。先述の通り、シミュレーションステップは、マスタ毛髪シミュレーションステップ、メンバ毛髪シミュレーションステップ、メンバ毛髪変形ステップ、レンダリングステップに分けられる。以下、順に、各ステップの処理を説明する。
<<< Simulation step >>>
After the initialization step is completed, a simulation step is performed to actually generate hair animation. As described above, the simulation step is divided into a master hair simulation step, a member hair simulation step, a member hair deformation step, and a rendering step. Hereinafter, the processing of each step will be described in order.

<<マスタ毛髪シミュレーションステップ>>
まず、マスタ毛髪シミュレーションステップが実行される。マスタ毛髪シミュレーションステップは、上記マスタ毛髪初期化ステップにおいて生成された各マスタ毛髪の動きを、物理シミュレーションを用いて計算し、全マスタ粒子の位置を更新するステップである。
<< Master hair simulation step >>
First, a master hair simulation step is executed. In the master hair simulation step, the movement of each master hair generated in the master hair initialization step is calculated using a physical simulation, and the positions of all master particles are updated.

本実施例のマスタ毛髪シミュレーションステップは、ごく少数(例えば、200本から1000本といった程度)のマスタ毛髪(粗いモデル)を用いる。このように比較的少数の毛髪の物理シミュレーションであれば、現在の一般的な計算機や、物理シミュレーション手法を用いて、十分に効率的にシミュレートすることができる。   The master hair simulation step of this embodiment uses a very small number (for example, about 200 to 1000) of master hair (coarse model). Such a physical simulation of a relatively small number of hairs can be simulated sufficiently efficiently using a current general computer or a physical simulation method.

一般に、粒子モデルを用いた物理シミュレーションでは、各粒子に働くさまざまな力を物理モデルに従って計算し、その力に基づき各粒子がどのように運動するかを、数値積分に基づいて計算する。髪の粒子に加わる力としては、隣接する粒子間で毛髪長を一定に維持するように作用する張力、粒子が人体や他の毛髪と接する場合に働く人体や近隣の毛髪からの反発力、重力、空気抵抗力(風力)などがある。   In general, in a physical simulation using a particle model, various forces acting on each particle are calculated according to the physical model, and how each particle moves based on the force is calculated based on numerical integration. The force applied to the hair particles includes the tension that acts to maintain a constant hair length between adjacent particles, the repulsive force from the human body and nearby hair that acts when the particles come into contact with the human body and other hair, gravity And air resistance (wind power).

ただし、本実施形態では、高速化のために、隣接する粒子間の力や、人体からの反発力などの力は考慮せず、重力や風力のみを用いて運動計算を行う。粒子間の距離や、人体からの反発は、粒子の位置を制約条件に基づいて修正することで、これらの力を考慮することと同様の効果を実現する。なお、本実施形態で使用する粒子モデルおよび物理シミュレーションは、従来手法とほぼ同様の手法であるので(参考文献1,14,5参照)、以下には概略のみを説明する。   However, in this embodiment, in order to increase the speed, the motion calculation is performed using only gravity and wind force without considering the force between adjacent particles and the repulsive force from the human body. The distance between the particles and the repulsion from the human body achieve the same effect as considering these forces by correcting the position of the particles based on the constraint conditions. The particle model and physical simulation used in the present embodiment are almost the same as the conventional method (see References 1, 14, and 5), so only the outline will be described below.

粒子の動きを計算するための積分計算には、Verlet積分を使用する。Verlet積分は、シミュレーションのステップ間隔が大きい場合でも比較的安定であり(たとえば、より一般的に用いられるEuler積分よりも安定性が高い)、各粒子の速度を保存しておく必要がないという点で優れている。   Verlet integration is used for the integration calculation for calculating the motion of particles. Verlet integration is relatively stable even when the simulation step interval is large (for example, it is more stable than the more commonly used Euler integration), and there is no need to store the velocity of each particle. Is excellent.

k番目の粒子Pkの位置(最新位置)は、前(直近)の時刻の2フレームにおける位置Pk -1,Pk -2、重力加速度gおよび風力wに基づいて、次の式(6)を用いて計算されて更新される。 The position (latest position) of the k-th particle P k is expressed by the following equation (6) based on the positions P k −1 , P k −2 , the gravitational acceleration g, and the wind force w at the previous (most recent) time. ) Is used to calculate and update.

ここで、「w」は、風力(wind force)であり、向きと大きさを持っている。また、各粒子への風の力の加速度は、その粒子の位置における接線方向(tangent vector)tkと、風の力wの方向とのなす角度の大きさに比例すると考える。 Here, “w” is wind force and has a direction and a size. The acceleration of the wind forces on the each particle is considered the tangential direction (tangent vector) t k at the position of the particle, and proportional to the magnitude of the angle between the direction of the wind force w.

以上の式により、重力と風力に基づいた、粒子の運動を計算する。しかし、このままでは、毛髪の長さが保たれず粒子が落下しつづけたり、毛髪が人体にめり込んでしまったりといった、不自然なシミュレーションとなってしまう。そこで、いくつかの制約条件に基づき粒子の位置を直接修正することで、これらの問題が発生しないようにする。これは、従来用いられている方法と同様の方法(参考文献13,15,18)である。   By the above formula, the motion of particles based on gravity and wind force is calculated. However, in this state, the length of the hair is not maintained, and the particles continue to fall, or the hair is sunk into the human body, resulting in an unnatural simulation. Therefore, these problems are prevented from occurring by directly correcting the position of the particles based on some constraints. This is a method similar to the conventionally used method (reference documents 13, 15, 18).

まず、隣接する粒子Pk -1との間の距離を一定に保つように、次の式(7)を用いて粒子の位置を更新する。 First, the position of the particle is updated using the following equation (7) so as to keep the distance between the adjacent particles P k −1 constant.

ここで、lkは、相互に連結された粒子Pkと粒子Pk -1との間の、初期状態での長さである。 Here, l k is a length in an initial state between the particles P k and the particles P k −1 connected to each other.

次に、毛髪と人体にめり込まないように、同様に粒子の位置を更新する。なお、ここでは、高速化のために、人体を少数の球体の集まりとして表現する。各球体は、中心位置oiと半径riを持っている。このとき、粒子がある球体の内部に存在するとき(粒子の位置と球の中心位置の間の距離が球の半径以下の値であるとき)には、次の式(8)を用い、粒子の位置と球の中心位置の間の距離が球の半径以上になるように、粒子の位置を修正する。 Next, the positions of the particles are similarly updated so that they do not sink into the hair and the human body. Here, the human body is expressed as a collection of a small number of spheres for speeding up. Each sphere has a center position o i and a radius r i . At this time, when the particle is present inside a certain sphere (when the distance between the particle position and the center position of the sphere is equal to or less than the radius of the sphere), the following equation (8) is used, The position of the particle is corrected so that the distance between the position of and the center position of the sphere is equal to or larger than the radius of the sphere.

人体を表す各球の中心位置や半径は、あらかじめ、ユーザが設定しておく。球体の中心位置oiは、各フレームにおける人間の姿勢に基づいて更新される。 The user sets the center position and radius of each sphere representing the human body in advance. The center position o i of the sphere is updated based on the human posture in each frame.

また、各毛髪の根元の粒子の位置が、常に頭の表面の同一位置に固定されるように、頭の動きに応じて粒子の位置を決定する。   In addition, the position of the particle is determined according to the movement of the head so that the position of the particle at the base of each hair is always fixed at the same position on the surface of the head.

制約条件の適用する際は、毛髪の根元の粒子から、先端の粒子に向かって、順に適用する。   When the constraint condition is applied, it is sequentially applied from the particle at the root of the hair toward the particle at the tip.

なお、毛髪間の相互作用は、高速に計算することは困難であるため、マスタ毛髪のシミュレーションでは取り扱わない。   In addition, since it is difficult to calculate the interaction between hairs at high speed, it is not handled in the simulation of the master hair.

<<メンバ毛髪変形ステップ>>
次に、メンバ毛髪を構成する各メンバ粒子の、当該メンバ粒子に対応するマスタ粒子に対する相対座標を、マスタ粒子の運動速度ベクトルに基づいて変化させるメンバ毛髪変形ステップを実行させる。
<< Member hair deformation step >>
Next, a member hair deformation step is executed in which the relative coordinates of each member particle constituting the member hair with respect to the master particle corresponding to the member particle are changed based on the motion velocity vector of the master particle.

一般に、毛髪は、移動や風を受けるなどによって、様々な速度で変形などの運動をする。例えば、毛髪の束が高速に運動するときには、毛髪同士の相互作用により、一部の毛髪は遅れて運動するため、毛髪の束は運動方向と反対側に広がると考えられる。このような現象を再現するため、本実施形態では、毛髪の束の形状を、マスタ毛髪の粒子モデルを構成するマスタ粒子の水平方向速度(毛髪の接線方向に直交する方向の速度)に応じて広がるようにコントロールする。すなわち、マスタ毛髪のマスタ粒子の水平方向の運動速度に応じて、毛髪の束が広がるように、マスタ粒子に対するメンバ粒子の相対位置(束の形状を表すオフセット)を変化させる。   In general, hair undergoes movements such as deformation at various speeds due to movement and wind. For example, when the hair bundle moves at a high speed, a part of the hair moves with a delay due to the interaction between the hairs. Therefore, it is considered that the hair bundle spreads in the direction opposite to the movement direction. In order to reproduce such a phenomenon, in the present embodiment, the shape of the hair bundle is determined according to the horizontal velocity of the master particles constituting the master hair particle model (the velocity in the direction perpendicular to the tangential direction of the hair). Control to spread. That is, the relative position of the member particles with respect to the master particles (offset representing the shape of the bundle) is changed so that the hair bundle spreads according to the horizontal movement speed of the master particles of the master hair.

また、個々の毛髪が高速に運動するときには、空気抵抗により、毛髪は左右に圧縮されると考えられる。このような現象を再現するため、本実施形態では、個々の毛髪の形状を、マスタ粒子の水平方向の速度が大きくなるほど、左右の広がりが少なくなるようにコントロールする。すなわち、マスタ毛髪のマスタ粒子の水平方向の運動速度に応じて、毛髪の左右の広がりが少なくなるように、マスタ粒子に対するメンバ粒子の相対位置(毛髪の形状を表すオフセット)を変化させる。   Further, when individual hair moves at high speed, it is considered that the hair is compressed left and right by air resistance. In order to reproduce such a phenomenon, in the present embodiment, the shape of each hair is controlled such that the lateral spread decreases as the horizontal velocity of the master particles increases. That is, the relative position (offset representing the shape of the hair) of the member particles with respect to the master particles is changed so that the lateral spread of the hair is reduced according to the horizontal movement speed of the master particles of the master hair.

一般に、リアリティのある髪の動きを再現するためには、シミュレーションを行う際に、個々の毛髪の運動を独立に計算するだけではなく、毛髪同士が互いに及ぼす影響を考慮することが非常に重要である。しかし、毛髪間の相互作用の計算を行うためには、ある毛髪と他の毛髪が接触しているかどうかの判定を、全ての毛髪同士の組み合わせに対して行う必要があり、高速化のための工夫を行ってもなお、多くの処理時間がかかってしまう。そのため、これまでのリアルタイムシミュレーションを目的としたシステムでは、毛髪同士の相互作用の計算は省略されている。その結果、他の毛髪によって動きをさまたげられることがないため、全ての毛髪が同じような動きになってしまい、不自然な髪のアニメーションになってしまう。   In general, in order to reproduce realistic hair movements, it is very important not only to calculate individual hair movements independently, but also to consider the effects of each other's hair on each other during simulation. is there. However, in order to calculate the interaction between hairs, it is necessary to determine whether a certain hair and other hair are in contact with each other for the combination of all the hairs. Even if it is devised, it takes a lot of processing time. Therefore, the calculation of the interaction between hairs is omitted in the systems aiming at the real-time simulation so far. As a result, since the movement is not obstructed by other hairs, all the hairs move in the same way, resulting in an unnatural hair animation.

本実施形態の髪シミュレーション方法でも、毛髪同士の接触判定を含む正確な相互作用の計算は行っていない。つまり、本手法に係る動的な毛髪の束の変形モデル(詳細モデル)では、毛髪同士の相互影響を物理的に正確に計算して変形を行っているのではなく、運動速度に応じた単純な幾何学的変形行うことによって変形を行っている。本手法を用いることにより、毛髪の束における毛髪同士の相互作用によって生じる結果を、単純なモデルによって、効率的に実現することができる。したがって、本発明によれば、自然な髪のアニメーションをリアルタイムに生成することができる。   Even in the hair simulation method of the present embodiment, accurate calculation of the interaction including the contact determination between the hairs is not performed. In other words, in the dynamic hair bundle deformation model (detailed model) according to this method, the deformation is not calculated by physically accurately calculating the mutual influence between the hairs, but simply according to the movement speed. The deformation is performed by performing a geometric deformation. By using this method, the result caused by the interaction between hairs in the hair bundle can be efficiently realized by a simple model. Therefore, according to the present invention, natural hair animation can be generated in real time.

メンバ毛髪変形ステップは、より具体的には、束の形状を表すオフセット(ui,j,k,vi,j,k,ti,j,k)を対応するマスタ粒子の速度に基づいてコントロールする「束形状変形ステップ」と、毛髪の形状を表すオフセット(cui,j,k,cvi,j,k)をマスタ粒子の速度に基づいてコントロールする「毛形状変形ステップ」とを備えている。つまり、束の形状および束を構成するメンバ毛髪の形状は、各メンバ粒子が対応するマスタ粒子の速度に基づいてコントロールされる。この速度は、直前の粒子位置および現在の粒子位置に基づいて計算される。なお、以下、この章では、qi,j,k=(ti,j,k,ui,j,k,vi,j,k)をq=(t,u,v)と簡単に表す。 The member hair deformation step is more specifically based on the offset (u i, j, k , v i, j, k , t i, j, k ) representing the shape of the bundle based on the velocity of the corresponding master particle. A “bundle shape deforming step” for controlling, and an “hair shape deforming step” for controlling an offset (cu i, j, k , cv i, j, k ) representing the hair shape based on the velocity of the master particle. ing. That is, the shape of the bundle and the shape of the member hair constituting the bundle are controlled based on the speed of the master particle to which each member particle corresponds. This velocity is calculated based on the previous particle position and the current particle position. In the following, in this chapter, q i, j, k = (t i, j, k , u i, j, k , v i, j, k ) is simply expressed as q = (t, u, v). To express.

<束形状変形ステップ>
メンバ毛髪変形ステップでは、まず、束形状変形ステップが実行される。束形状変形ステップは、上記のように、束の形状を表すオフセットを、マスタ毛髪の対応する粒子の速度に基づいてコントロールするステップである。
<Bundle shape deformation step>
In the member hair deformation step, first, a bundle shape deformation step is executed. As described above, the bundle shape deformation step is a step of controlling the offset indicating the shape of the bundle based on the velocity of the corresponding particles of the master hair.

図4(c)に示すように、一般的に、毛髪の束の形状は、束の動きが速くなるほど広がると考えられる。もし、全ての毛髪を、それぞれ粒子システムを使用してシミュレーションしたとすると、全ての毛髪は同じように動き、束の大きさは全く変化しないことになる。しかしながら、実際の人間の髪では、毛髪は相互に作用しあっており、毛髪の動きは乱れが生じたり、後ろに流れたりする。ここでは、このような束の形状の変形を再現するために、各メンバ粒子の束の形状を表すオフセットqを、マスタ毛髪の対応するマスタ粒子の速度に応じてコントロールしている(図7(a)(b)参照)。   As shown in FIG. 4 (c), it is generally considered that the shape of the hair bundle spreads as the movement of the bundle becomes faster. If all the hairs were each simulated using a particle system, all the hairs would move in the same way and the bundle size would not change at all. However, in actual human hair, the hairs interact with each other, and the movement of the hair is disturbed or flows backward. Here, in order to reproduce such deformation of the shape of the bundle, the offset q representing the shape of the bundle of each member particle is controlled according to the speed of the corresponding master particle of the master hair (FIG. 7 ( a) (b)).

しかしながら、束の速度に応じて束の広がりがどのように変化するかという、束の速度と束の形状の関係は、毛髪同士の複雑な相互作用によって決まるため、正確にモデル化することは難しい。また、束の速度と束の形状の関係は、毛髪の質や密度によっても変わってくる。本実施形態では、束の速度の大きさに比例して束の広さを線形に決定する、単純な変形モデルを用いることにした。   However, it is difficult to accurately model the relationship between the bundle speed and the shape of the bundle, which is how the spread of the bundle changes according to the bundle speed, because it is determined by the complex interaction between the hairs. . The relationship between the bundle speed and the bundle shape also varies depending on the quality and density of the hair. In the present embodiment, a simple deformation model is used in which the bundle width is determined linearly in proportion to the bundle speed.

図7(b)に示されるように、オフセット位置qは、速度ベクトルsとスケーリング媒介変数RSkとに基づいて動かされる。
速度の方向によってオフセット位置を変化させる方向や大きさを決定するため、uv座標系によって表されたオフセット位置を、速度ベクトルsの方向を基準とするsr座標系に変換し、sr座標系上で変形を適用する。
As shown in FIG. 7B, the offset position q is moved based on the velocity vector s and the scaling parameter RS k .
In order to determine the direction and size for changing the offset position according to the speed direction, the offset position represented by the uv coordinate system is converted into an sr coordinate system based on the direction of the speed vector s, and the sr coordinate system is used. Apply deformation.

そのため、まず、単位ベクトルusを計算する。単位ベクトルusはu−v面と平行である。ここではu−v面上に速度ベクトルを投影することで単位ベクトルusを計算する。   Therefore, first, the unit vector us is calculated. The unit vector us is parallel to the uv plane. Here, the unit vector us is calculated by projecting the velocity vector onto the uv plane.

次に、単位ベクトルurを計算する。この単位ベクトルurは、ベクトルusと垂直し、u−v面と平行である。   Next, the unit vector ur is calculated. This unit vector ur is perpendicular to the vector us and parallel to the uv plane.

このように計算した、単位ベクトルus、単位ベクトルurと次の式(9)を用いて、水平方向のオフセット(u,v)を、s−r座標系における座標(r,s)に変換する。   The horizontal offset (u, v) is converted into coordinates (r, s) in the sr coordinate system using the unit vector us, unit vector ur and the following equation (9) calculated in this way. .

変形後のオフセット位置「s’」は、速度ベクトルの大きさ|s|と、スケーリング係数RSkを使用して決められる。 The post-deformation offset position “s ′” is determined using the velocity vector magnitude | s | and the scaling factor RS k .

RSkを決めるための直感的な方法として、ではあるが、ここでは、毛髪の束が最も広がったときの束形を現す半径関数R’(t)を使用する。半径関数R’(t)は、束の形状の初期化で用いた半径関数R(t)と同様に、表現したい髪型に合わせて、ユーザが任意の関数を与えることができる。 As an intuitive method for determining RS k , however, here, a radius function R ′ (t) representing a bundle shape when the hair bundle is most spread is used. The radius function R ′ (t) can be given an arbitrary function by the user in accordance with the hairstyle to be expressed, like the radius function R (t) used in the initialization of the bundle shape.

そして、スケーリング係数RSkは、各マスタ粒子ごとに、R’(t)とR(t)から、次の式(11)によって計算される。 The scaling coefficient RS k is calculated from R ′ (t) and R (t) for each master particle by the following equation (11).

ただし、上述したように、本変形は単純な線形変形であるので、速度|s|が大き過ぎると、束の幅が広がりすぎ、不自然な形が生ずる可能性がある。このような問題を回避するために、ここでは、|s|を最高速度Smaxによって制限する。つまり、式(10)において、速度ベクトルの大きさ|s|がSmax以上である場合は、|s|の変わりにSmaxを使用する。   However, as described above, since this deformation is a simple linear deformation, if the speed | s | is too large, the width of the bundle becomes too wide, and an unnatural shape may occur. In order to avoid such a problem, | s | is limited here by the maximum speed Smax. That is, in Equation (10), when the magnitude of the velocity vector | s | is equal to or greater than Smax, Smax is used instead of | s |.

最後に、sr座標系で計算したオフセット(S’,r)を、uv座標系のオフセット(u’,v’)に戻すことで、現在の束形状を表すオフセットq=(u’,v’,t’)を計算する。   Finally, the offset q = (u ′, v ′) representing the current bundle shape is obtained by returning the offset (S ′, r) calculated in the sr coordinate system to the offset (u ′, v ′) in the uv coordinate system. , T ′).

<毛形状変形ステップ>
次に、毛形状変形ステップが実行される。毛形状変形ステップは、毛の形状を表すオフセットを、マスタ毛髪の対応する粒子の速度に基づいてコントロールするステップである。
<Hair shape deformation step>
Next, a hair shape deformation step is executed. The hair shape deformation step is a step of controlling the offset representing the hair shape based on the velocity of the corresponding particles of the master hair.

人間の毛髪が水平方向に高速で運動するときには、巻き毛のような曲がった髪の毛は、図4(b)に示されるように、空気抵抗によって水平方向に圧縮されると考えられる。そこで、このような変形を実現するために、ここでは、毛髪の形状を表すオフセット(cui,j,k,cvi,j,k)についても、束の形状変形と同様の、線形変化モデルを導入する。 When human hair moves at a high speed in the horizontal direction, it is considered that bent hair such as curly hair is compressed in the horizontal direction by air resistance, as shown in FIG. Therefore, in order to realize such deformation, the linear change model is also used here for the offset (cu i, j, k , cv i, j, k ) representing the shape of the hair, similar to the shape deformation of the bundle. Is introduced.

ここでは、(cui,j,k,cvi,j,k)を、マスタ粒子の速度の大きさに応じて、線形に変化させる。変形した毛髪の形状を表すオフセット(cui,j,k,cvi,j,k)を、束の形状を表すオフセット(u’,v’,t’)に加えることで、粒子の相対位置を計算する。つまり、式(5)が、次の式(13)に置き換わることになる。 Here, (cu i, j, k , cv i, j, k ) is linearly changed according to the velocity of the master particle. By adding an offset (cu i, j, k , cv i, j, k ) representing the deformed hair shape to an offset (u ′, v ′, t ′) representing the shape of the bundle, the relative position of the particles Calculate That is, Expression (5) is replaced with the following Expression (13).

式(13)では、マスタ粒子の速度|s|が大きくなるほど、毛髪の形状を表すオフセット(cui,j,k,cvi,j,k)が小さくなるような計算を行う。ここで、CSは、最大の変形を表す値であり、式(10)や(11)におけるR’(t)と同様の役割を担う。これを用いることで、粒子の速度が極端に大きいときに、CSにより定められる値よりはオフセットが小さくならないようにすることで、メンバ毛髪が真っ直ぐになることを防止する。 In Expression (13), calculation is performed such that the offset (cu i, j, k , cv i, j, k ) representing the shape of the hair decreases as the velocity | s | of the master particle increases. Here, CS is a value representing the maximum deformation and plays the same role as R ′ (t) in the equations (10) and (11). By using this, when the velocity of the particles is extremely large, the member hair is prevented from becoming straight by preventing the offset from becoming smaller than the value determined by CS.

<<メンバ毛髪生成ステップ>>
そして、メンバ毛髪生成ステップを実行する。メンバ毛髪生成ステップは、マスタ毛髪シミュレーションステップにおいて計算されたマスタ粒子の位置と、メンバ毛髪変形ステップにおいて変化されたメンバ粒子の相対位置を用いて、メンバ毛髪のメンバ粒子の位置を計算するステップである。
<< Member Hair Generation Step >>
And a member hair production | generation step is performed. The member hair generation step is a step of calculating the position of the member particle of the member hair using the position of the master particle calculated in the master hair simulation step and the relative position of the member particle changed in the member hair deformation step. .

メンバ毛髪変形ステップにより、各メンバ粒子の相対座標qi,j,k=(ui,j,k,vi,j,k,ti,j,k)が計算される。qi,j,kは、i番目のマスタ毛髪のj番目のメンバ毛髪のk番目の粒子の相対座標
を表す。qi,j,k=(ui,j,k,vi,j,k,ti,j,k)は、マスタ毛髪に対して水平な方向を(ui,j,k,vi,j,k)、垂直な方向をti,j,kとする、マスタ粒子pi,kのローカル座標系で表される(図8参照)。
The member hair deformation step calculates the relative coordinates q i, j, k = (u i, j, k , v i, j, k , t i, j, k ) of each member particle. q i, j, k represents the relative coordinates of the k th particle of the j th member hair of the i th master hair. q i, j, k = (u i, j, k , v i, j, k , t i, j, k ) indicates the direction horizontal to the master hair (u i, j, k , v i , j, k ), and is represented in the local coordinate system of the master particle p i, k , where t i, j, k is the vertical direction (see FIG. 8).

ローカル座標系(ti,k,ui,k,vi,k)を表すための単位ベクトルti,k,ui,k,vi,kは、各マスタ粒子ごとに、以下の手順で計算する。まず、毛髪の接線方向ベクトルti,kは、マスタ粒子の位置pi,kと、隣接するマスタ粒子の位置pi,k-1の差分ベクトルを計算し、正規化することで、求めることができる。次に、毛髪に垂直な面の方向を表す単位ベクトルui,k,vi,kは、は、接線方向ベクトルti,kと、任意の参照ベクトルxを用いて、次の式(14)を用いて計算される。参照ベクトルは、できるだけ、接線方向ベクトルti,kと直交するものが望ましい。本実装形態では、毛髪は、大体の場合、垂直方向に延びているので、参照ベクトルとして頭のx軸を使用した。なお、ここでいう垂直方向とは、重力方向のことである。 The unit vectors t i, k , u i, k , v i, k for representing the local coordinate system (t i, k , u i, k , v i, k ) are as follows for each master particle. Calculate with First, the tangential vector t i of the hair, k is the position p i of the master particles, and k, the position p i of the adjacent master particles, the difference vector k-1 is calculated and to normalize, be determined Can do. Next, the unit vector u i, k , v i, k representing the direction of the surface perpendicular to the hair is expressed by the following equation (14) using the tangential direction vector t i, k and an arbitrary reference vector x: ). The reference vector is preferably orthogonal to the tangential direction vector t i, k as much as possible. In this implementation, since the hair generally extends in the vertical direction, the x-axis of the head was used as the reference vector. In addition, the perpendicular direction here is a gravity direction.

メンバ毛髪生成ステップでは、メンバ毛髪を構成する各メンバ粒子の位置(絶対位置)pi,j,kを、qi,j,k(=ui,j,k,vi,j,k,ti,j,k)と、マスタ粒子pi,kのローカル座標系(ti,k,ui,k,vi,k)を用いて次の式(15)で計算する。 In the member hair generation step, the position (absolute position) p i, j, k of each member particle constituting the member hair is changed to q i, j, k (= u i, j, k , v i, j, k , (t i, j, k ) and the local coordinate system (t i, k , u i, k , v i, k ) of the master particle p i, k are used to calculate the following equation (15)

<<レンダリングステップ>>
メンバ毛髪生成ステップにより生成された個々のメンバ毛髪を、人体モデルと一緒に画面に描画(レンダリング)することで、髪シミュレーションの1フレームを生成することができる。上記シミュレーションステップ内の全ステップを繰り返し、毛髪の変化を計算しながら、各フレームの画像を連続的に生成していくことで、髪シミュレーションのアニメーションを生成することができる。
<< Rendering Step >>
One frame of hair simulation can be generated by drawing (rendering) individual member hair generated by the member hair generation step on the screen together with the human body model. An animation of hair simulation can be generated by repeating all the steps in the simulation step and continuously generating images of each frame while calculating changes in hair.

毛髪をレンダリングする手法については、従来の手法を使用した。一般に、髪のレンダリングでは、個々の毛髪のシェーディングモデル、および、セルフシャドウ(self shadows)の両方を考慮することが重要である。本実装形態では、シェーディングモデルとして、広く知られたモデルを使用しているので(参考文献10参照)、その詳細な説明は省略する。本実装形態では、このシェーディングモデルを、バーテックスシェーダプログラムとして実装しており、次に説明するGPU(グラフィックハードウェア上のプロセッサ)上で高速に計算を行うことが可能である。さらに、セルフシャドウを実現するための方法として、ディープシャドウ手法(deep shadow method、参考文献12参照)を用いることができる。本手法は、セルフシャドウを実現する一般的な方法であり、GPUを用いて高速に実行することができる。   The conventional technique was used for the technique of rendering the hair. In general, it is important in hair rendering to consider both individual hair shading models and self shadows. In the present embodiment, a widely known model is used as the shading model (see Reference Document 10), and a detailed description thereof will be omitted. In this implementation, this shading model is implemented as a vertex shader program, and can be calculated at high speed on a GPU (processor on graphic hardware) described below. Further, as a method for realizing self-shadowing, a deep shadow method (see reference document 12) can be used. This method is a general method for realizing self-shadowing, and can be executed at high speed using a GPU.

<<GPUによる実装>>
近年、グラフィックハードウェアは大きく進歩しており、グラフィックハードウェアのプログラマブルシェーダの仕組みを用いることで、グラフィックス処理以外の一般的な処理を、GPUを用いて高速に実現することが可能となっている。そこで、このようなグラフィックハードウェアを応用して、物理シミュレーションを高速に実現するための技術は、最近、多くの注目を集めている。本実施形態の髪シミュレーション方法は、粒子モデルを用いて毛髪をモデル化しており、GPU上で作動させることができるようになっている。本発明に係る髪シミュレーション方法で用いる粒子モデルは、粒子モデルを構成する各粒子を並列に処理することが可能であるため、GPUを用いた実装に適している(参考文献14,15,18参照)。
<< GPU implementation >>
In recent years, graphic hardware has greatly advanced. By using a programmable shader mechanism of graphic hardware, general processing other than graphics processing can be realized at high speed using a GPU. Yes. Therefore, a technology for realizing physical simulation at high speed by applying such graphic hardware has recently attracted much attention. The hair simulation method of the present embodiment models hair using a particle model and can be operated on a GPU. The particle model used in the hair simulation method according to the present invention is suitable for mounting using a GPU because each particle constituting the particle model can be processed in parallel (see References 14, 15, and 18). ).

また、本発明に係る髪シミュレーション方法では、粗いモデルの物理シミュレーションだけでなく、詳細モデルの変形処理もまたGPU上で実行できるようになっている。   In the hair simulation method according to the present invention, not only a rough model physical simulation but also a detailed model deformation process can be executed on the GPU.

本実施形態では、ここまでに説明したようなシミュレーションシステムを、GPUを利用して作動させている。本実施形態は、C++とOpenGLを使用して実装した。そして、プログラマブルシェーダを利用するために、The Cg Tutorial(参考文献7)を使用した。   In this embodiment, the simulation system as described so far is operated using a GPU. This embodiment is implemented using C ++ and OpenGL. The Cg Tutorial (Reference 7) was used to use the programmable shader.

また、利用者が、髪型を設定するために、単純な髪型エディタを実装した。本エディタを使用して、入力された人体モデルに対して、衝突判定のための球体を設定したり、マスタ毛髪を生成する頭部の範囲や、各位置におけるマスタ毛髪の長さ、そして、毛髪の束を生成するための媒介変数などを、マウスとキーボードを使用して簡単に指定したりすることができるようになっている。   In addition, a simple hairstyle editor was implemented for users to set hairstyles. Use this editor to set a sphere for collision detection for the input human body model, the range of the head that generates the master hair, the length of the master hair at each position, and the hair It is possible to easily specify parameters such as parameters for generating bundles using a mouse and keyboard.

このように、本発明に係る髪シミュレーション方法はGPUへの実装が容易であるため、当該シミュレーション方法を用いることによってリアルタイムシミュレーションを実現することが可能である。 Thus, since the hair simulation method according to the present invention can be easily mounted on a GPU, real-time simulation can be realized by using the simulation method.

以下、本手法のGPUへの実装方法について説明する。   Hereinafter, a method for mounting the present technique on the GPU will be described.

図9は、シェーダプログラムのインプット及びアウトプットに用いられるテクスチャについて要約したものである。
まず、マスタ髪のシミュレーションのGPUでの実装について説明する。
FIG. 9 summarizes the textures used for the input and output of the shader program.
First, the implementation of the master hair simulation on the GPU will be described.

ここまで説明したような、粒子モデルを使用した物理シミュレーションは、GPU上で処理できる。ここで、GPUへの実装について簡単に説明する。なお、本実施形態で用いた方法は、先行研究と同様の方法である(参考文献14)。   The physical simulation using the particle model as described above can be processed on the GPU. Here, the implementation on the GPU will be briefly described. The method used in the present embodiment is the same method as in the previous research (Reference Document 14).

図10に示されるように、GPUで処理する場合、粒子の位置をテクスチャイメージデータ中に色情報として保存する。本実施形態の髪シミュレーション方法では、少なくとも、位置P,P-1,P-2のそれぞれのデータを保存する3つのテクスチャが必要である。なお、全ての変数は、テクスチャという形でGPUを備えるグラフィックハードウェアのビデオメモリに格納される。 As shown in FIG. 10, when processing by the GPU, the position of the particle is stored as color information in the texture image data. In the hair simulation method of the present embodiment, at least three textures for storing the respective data of the positions P, P −1 , and P −2 are necessary. All variables are stored in a video memory of graphic hardware including a GPU in the form of texture.

粒子位置情報などが格納されたテクスチャデータ配列(array)は、画素単位の処理が記述されたプログラムであるフラグメントシェーダプログラム(fragment shader program)に送られて処理される。   The texture data array (array) in which the particle position information and the like are stored is sent to a fragment shader program (fragment shader program), which is a program in which processing in units of pixels is described.

積分処理をGPU上で実現するシェーダプログラムは、直近の2つの位置P-1,P-2を入力として、粒子の現在位置Pを出力する。 A shader program that implements integration processing on the GPU outputs the current position P of the particle with the two most recent positions P −1 and P −2 as inputs.

なお、シェーダプログラムの実装を簡略化するため、テクスチャに粒子の位置のデータを格納するとき、図10に示されるように、1本の毛髪の全粒子に関するデータを一つのデータ列にまとめて格納する。このようにすると、常に隣の画素を参照することで、隣接する粒子の位置データに簡単にアクセスできる。シェーダプログラムでは、隣接する粒子の位置との差分ベクトルより接線の向きを計算する必要があるため、より短い時間でこの計算を行うためには、このようなデータ格納手法が有効である。   In order to simplify the implementation of the shader program, when the particle position data is stored in the texture, as shown in FIG. 10, the data on all the particles of one hair are stored in one data string. To do. In this way, the position data of the adjacent particles can be easily accessed by always referring to the adjacent pixels. In the shader program, since it is necessary to calculate the direction of the tangent from the difference vector with the position of the adjacent particle, such a data storage method is effective for performing this calculation in a shorter time.

また、本実施形態のシミュレーションでは、t0(図8、図10参照)を計算するために、毛髪の基端粒子のさらに基となるものとして、ダミー粒子を追加している。ダミー粒子の位置は、基端粒子と同様、頭の動きに基づいて計算される。 Further, in the simulation of the present embodiment, dummy particles are added as a further base of the hair base particles in order to calculate t 0 (see FIGS. 8 and 10). The position of the dummy particle is calculated based on the movement of the head as in the case of the base particle.

RGBAカラーモデルのテクスチャを使用する場合であれば、各画素のRGBに粒子の位置Pのxyz座標値を、Aに初期距離lkを格納させておくことができる。 When the texture of the RGBA color model is used, the xyz coordinate value of the particle position P can be stored in RGB of each pixel, and the initial distance l k can be stored in A.

制約条件の適用処理をGPU上で実現するシェーダプログラムは、積分により計算された位置Pを入力として、制約条件を適用した後の位置P’を出力する。このとき、位置P-2は必要ないので、位置P-2のためのテクスチャを出力位置P’のためのテクスチャとして使用することで、必要なテクスチャの枚数を節約することができる。 A shader program that implements the application process of the constraint condition on the GPU outputs the position P ′ after applying the constraint condition, with the position P calculated by the integration as an input. At this time, since the position P -2 is not necessary, the number of necessary textures can be saved by using the texture for the position P -2 as the texture for the output position P '.

また、積分計算で粒子の位置変化を計算した後、制約条件を繰り返し適用する。粒子間の長さの制約を適用する処理と、粒子の人体へのめり込みの制約を適用する処理は、それぞれ、異なるシェーダプログラムとして実装される。各シェーダプログラムは、それぞれ、適当な数回、繰り返し適用される。   In addition, after calculating the position change of the particle by integral calculation, the constraint condition is repeatedly applied. The process of applying the restriction on the length between particles and the process of applying the restriction on the penetration of particles into the human body are each implemented as different shader programs. Each shader program is repeatedly applied several times.

次に、メンバ毛髪の初期化、及び、形状変形のGPUでの実装について説明する。   Next, initialization of member hair and implementation of shape deformation on the GPU will be described.

メンバ毛髪のメンバ粒子の位置Pi,j,kは、マスタ毛髪の対応する粒子の位置Pi,jと、その直前位置Pi,j -1と、オフセット(ti,j,k,ui,j,k,vi,j,k)(cui,j,k,cvi,j,k)と、変形媒介変数(RSk,CS,Smax)から計算される。直前位置は、各粒子の速度si,j,kを計算するために使用される。なお、一枚のテクスチャに最大4値(RGBAの場合)を格納できることから、これらの8つの変数を格納するためには、少なくとも2枚のテクスチャが必要となる。 The position P i, j, k of the member hair of the member hair corresponds to the position P i, j of the corresponding particle of the master hair, the position P i, j −1 immediately before it, and the offset (t i, j, k , u i, j, k , v i, j, k ) (cu i, j, k , cv i, j, k ) and deformation parameters (RS k , CS, Smax). The immediately preceding position is used to calculate the velocity s i, j, k for each particle. Since a maximum of four values (in the case of RGBA) can be stored in one texture, at least two textures are required to store these eight variables.

ここでは、全ての毛髪について同じ変形媒介変数(RSk,CS,Smax)を使用しても、異なる媒介変数を使用しても、どちらでもよい。前者の場合、媒介変数(CS,Smax)を、テクスチャを使用せずに、直接シェーダプログラムに渡すことができる。この場合でも、まだ、5つのオフセット媒介変数とRSkのために2つのテクスチャが必要である。なお、オフセット量および変形のための媒介変数は、シミュレーションをしている間は不変である。したがって、これらのテクスチャは最初に一回だけ初期化されるものである。また、これらの媒介変数は、メンバ毛髪の全ての粒子について必要である。 Here, the same deformation parameters (RS k , CS, Smax) may be used for all hairs, or different parameters may be used. In the former case, the parameters (CS, Smax) can be directly passed to the shader program without using the texture. Even in this case, two textures are still needed for the five offset parameters and RS k . Note that the offset amount and the parameter for deformation remain unchanged during the simulation. Therefore, these textures are initially initialized only once. These parameters are also required for all particles of the member hair.

ここで、N本のマス毛髪があり、各マスタ毛髪毎にM本のメンバ毛髪が生成されると仮定すると、図9に示されるように、「N×M」本の毛髪のためのテクスチャ領域が必要である。そして、「N×M」本のメンバ毛髪についてレンダリングするためには、N本のマスタ毛髪毎に、計算をしてスクリーン上にレンダリングするという処理をM回繰り返す必要がある。このような処理を行うためには、各繰り返しの処理において、今回処理を行うM本のメンバ毛髪のグループの変数が格納されている開始地点のテクスチャアドレスをシェーダプログラムに与える必要がある。   Here, assuming that there are N mass hairs and M member hairs are generated for each master hair, as shown in FIG. 9, the texture region for “N × M” hairs. is required. Then, in order to render “N × M” member hairs, it is necessary to repeat the process of calculating and rendering on the screen for each N master hairs M times. In order to perform such processing, it is necessary to give the shader program the texture address of the starting point in which the variables of the group of M member hairs to be processed this time are stored in each repeated processing.

前段落の処理の代わりに、N×Mの点を同時にレンダリングするようにしてもよい。この場合、シェーダプログラムに全てのテクスチャを与える必要があり、アウトプット位置についての情報を格納するための大きなテクスチャと、アウトプット粒子のテクスチャ座標系を、インプット粒子のテクスチャ座標系に配置するための追加のテクスチャが必要となる。   Instead of the processing in the previous paragraph, N × M points may be rendered simultaneously. In this case, all textures need to be given to the shader program, and a large texture for storing information about the output position and the texture coordinate system of the output particles are arranged in the texture coordinate system of the input particles. Additional texture is required.

<実験結果>
以上に述べた髪シミュレーション方法を用いて髪のシミュレーション実験を行った結果について説明する。
<Experimental result>
The results of a hair simulation experiment using the hair simulation method described above will be described.

この髪シミュレーション実験では、シミュレーション装置1として、OSがウインドウズビスタ(登録商標)である標準的な性能のパソコン本体3にグラフィックカード4を搭載したものを用いた。より具体的に説明すると、このシミュレーション装置1は、CPU5がインテル(登録商標)Core2 Duo E6600 2.4GHz、メインメモリ6が2GBのものであり、そのほかに、ディスプレイ7、外部記憶装置であるハードディスク8、CD−ROMなどの記憶媒体のためのマルチドライブ9、サウンドカード10、LANカード11、マウス12やキーボード13などの入出力インターフェースなどが接続されたものである。なお、符号「14」はバスである(図11参照)。   In this hair simulation experiment, as the simulation apparatus 1, a personal computer main body 3 having a standard performance whose OS is Windows Vista (registered trademark) and a graphic card 4 mounted thereon was used. More specifically, the simulation apparatus 1 has a CPU 5 with an Intel (registered trademark) Core2 Duo E6600 2.4 GHz, a main memory 6 with 2 GB, a display 7, a hard disk 8 as an external storage device, A multi-drive 9 for a storage medium such as a CD-ROM, a sound card 10, a LAN card 11, an input / output interface such as a mouse 12 and a keyboard 13 are connected. Reference numeral “14” is a bus (see FIG. 11).

次の表は、様々な条件下での計算処理時間を示すものである。そして、図12にいくつか描画イメージを示した。   The following table shows the calculation processing time under various conditions. FIG. 12 shows some drawing images.

ここでは、全ての実験において、各毛髪の粒子モデルを構成する粒子数を10とした。適切な毛髪量(毛髪本数)は、髪型や毛髪の束の大きさ(直径)によって異なるが、一般に、キャラクタ(人)の頭皮を覆うには、少なくとも10000本〜20000本程度必要である。   Here, in all experiments, the number of particles constituting each hair particle model was set to 10. The appropriate amount of hair (number of hairs) varies depending on the hairstyle and the size (diameter) of the hair bundle, but generally, at least about 10,000 to 20,000 hairs are required to cover the scalp of the character (person).

詳細モデルにおいて、総数として、10000本から20000本のメンバ毛髪を使用すると、アニメーション速度は約40fps(フレーム数/秒)から50fpsであった(表1の実験例1,2,3および図12(a)(b)参照)。他方、総数50000本のメンバ毛髪を使用すると、その速度は、約30fpsまで低下した(表1の実験例4参照)。   In the detailed model, when 10,000 to 20,000 member hairs were used as the total number, the animation speed was about 40 fps (frames / second) to 50 fps (Experimental Examples 1, 2, 3 in Table 1 and FIG. 12 ( a) (b)). On the other hand, when a total of 50,000 member hairs were used, the speed decreased to about 30 fps (see Experimental Example 4 in Table 1).

また、メンバ毛髪に動きがない従来の束モデル(静的束モデル)での計算処理時間と、本実施形態で用いている動的な束モデル(詳細モデル)での計算処理時間は、ほとんど同じであった。そして、動的束モデルをリアルタイムシミュレーションとして実行することができた。そして、予想通り、従来の静的な束モデルでは束の形が変化しないために不自然であり(図12(c)参照)、本実施形態の動的な束モデルを使用することで、より自然なシミュレーションとなった(図12(b)参照)。   In addition, the calculation processing time in the conventional bundle model (static bundle model) in which the member hair does not move and the calculation processing time in the dynamic bundle model (detail model) used in this embodiment are almost the same. Met. And the dynamic bundle model could be executed as a real-time simulation. And as expected, the conventional static bundle model is unnatural because the shape of the bundle does not change (see FIG. 12C), and by using the dynamic bundle model of this embodiment, It became a natural simulation (see FIG. 12B).

なお、先に説明したように、本実施形態では、シンプルな線形変形モデルを用いている。このモデルは、物理的に正確な動きを保障するものではない。また、メンバ毛髪の生成の際には、制約条件は全く用いていない。したがって、メンバ毛髪の長さはアニメーションの途中で変化する可能性や、メンバ毛髪が人体内に入り込む可能性がある。しかしながら、結果のアニメーションを見る限りでは、メンバ毛髪の長さの変動は、全般に非常に小さいものであり、まったく目立つものではなかった。   As described above, in this embodiment, a simple linear deformation model is used. This model does not guarantee physically correct movement. In addition, no constraint conditions are used at the time of producing member hair. Therefore, the length of the member hair may change during the animation, and the member hair may enter the human body. However, as far as the resulting animation is seen, the variation in the length of the member hair is generally very small and not noticeable at all.

また、本実施形態では、横方向の速度だけに着目し、縦方向の速度は無視した。一般に、毛髪の束の形状は、水平方向だけではなく、垂直方向の速度の変化に応じて、垂直方向にも変化するはずである。しかしながら、毛髪のモデルを構成する粒子の位置を垂直方向に変化させるためには、毛髪の根元の粒子から先端の粒子まで、毛髪に沿って変化を伝える必要がある。このためには、各粒子についての計算処理において、隣接する粒子に関するプロセスの結果が必要になる。このような処理は、プログラムをGPUに実装することは困難である、という問題がある。   In this embodiment, attention is paid only to the speed in the horizontal direction, and the speed in the vertical direction is ignored. In general, the shape of the hair bundle should change not only in the horizontal direction but also in the vertical direction in response to changes in the velocity in the vertical direction. However, in order to change the position of the particles constituting the hair model in the vertical direction, it is necessary to convey the change along the hair from the root particle to the tip particle of the hair. For this purpose, in the calculation process for each particle, the result of the process for adjacent particles is required. Such processing has a problem that it is difficult to implement the program on the GPU.

本実施形態の方法を提供する主目的は、現実的な計算コストで、現在実現可能な髪のリアルタイムシミュレーション方法に、より高品質のリアリティを与えることにある。物理的な正確さは、特にオンラインアプリケーションに関しては、それほど重要ではない。本手法の重要な特徴は、妥当な束の変形モデルを導入することで、従来の動かない束のモデルの問題を改善できたことである。より多くの計算時間をかければ、物理的にもっと正確なモデルを実現することは可能となるが、本手法は、できる限り短時間の処理で、できる限りリアリティに富むシミュレーションを実現したいという要求に、最も適合するものである。   The main object of providing the method of the present embodiment is to provide a higher quality reality to a hair real-time simulation method that is currently feasible at a realistic calculation cost. Physical accuracy is less important, especially for online applications. An important feature of this method is that the introduction of a reasonable bundle deformation model has improved the problem of the conventional stationary bundle model. If more computation time is required, a physically more accurate model can be realized. However, this method meets the demand for a simulation that is as realistic as possible in as little time as possible. Is the best fit.

本実施形態の髪シミュレーション方法の処理の流れの概要を示すフローチャート図である。It is a flowchart figure which shows the outline | summary of the flow of a process of the hair simulation method of this embodiment. 本実施形態の髪シミュレーション方法のシステムの概要を示す構成図である。It is a block diagram which shows the outline | summary of the system of the hair simulation method of this embodiment. 本実施形態の髪シミュレーション方法について、(a)は、粒子モデルシミュレーションを使用してシミュレートされた粗いモデルの状態を示す一フレームであり、(b)は、動的な束のモデルを使用して幾何学的に生成された詳細モデルの状態を示す一フレームである。Regarding the hair simulation method of the present embodiment, (a) is one frame showing the state of a rough model simulated using particle model simulation, and (b) uses a dynamic bundle model. It is one frame which shows the state of the detailed model generated geometrically. 動的な束のモデルを示すものであり、(a)は、マスタ毛髪の周りにメンバ毛髪を生成した状態を示す説明図であり、(b)は、静的な形状の束を生成した例を示す説明図であり、(c)は、動的に形状が変化する束を生成した例示す説明図である。The dynamic bundle model is shown, (a) is an explanatory view showing a state in which member hair is generated around the master hair, and (b) is an example in which a bundle having a static shape is generated. (C) is explanatory drawing which shows the example which produced | generated the bundle | flux from which a shape changes dynamically. 束の形状を定義する関数に関するものであり、(a)は、異なる半径関数による異なる束の形状の例を示す説明図であり、(b)は、異なる長さ割当関数による異なる束の形状の例を示す説明図である。(A) is an explanatory diagram showing examples of different bundle shapes by different radius functions, and (b) is a diagram of different bundle shapes by different length assignment functions. It is explanatory drawing which shows an example. 毛髪の形状を定義する媒介変数を変化させることで、さまざまな形状の毛髪を生成した結果を示すものであり、(a)は、ストレートの形状の毛髪を示す説明図であり、(b)は、ウェーブがかかった形状の毛髪を示す説明図であり、(c)は、ねじれた形状の毛髪を示す説明図である。FIG. 6 shows the results of generating various hair shapes by changing the parameters that define the hair shape, (a) is an explanatory diagram showing straight hair, and (b) FIG. 3 is an explanatory view showing a wavy hair, and FIG. 3C is an explanatory view showing a twisted hair. 束の形状のコントロールについて説明するためのものであり、(a)は、静止した状態の束の形状を説明するための説明図であり、(b)は、運動状態の束の形状を説明するための説明図である。It is for demonstrating control of the shape of a bundle | flux, (a) is explanatory drawing for demonstrating the shape of the bunch of a stationary state, (b) demonstrates the shape of the bundle | flux of a motion state. It is explanatory drawing for. マスタ毛髪とメンバ毛髪との間の空間的な関係を示す説明図である。It is explanatory drawing which shows the spatial relationship between master hair and member hair. プログラマブルシェーダで用いるテクスチャを示す説明図である。It is explanatory drawing which shows the texture used with a programmable shader. (a)は、テクスチャ上に各毛髪の各粒子の位置を格納した状態を示す説明図であり、(b)は、追加されるダミー粒子を示す説明図である。(A) is explanatory drawing which shows the state which stored the position of each particle | grain of each hair on a texture, (b) is explanatory drawing which shows the dummy particle added. 本実施形態の髪シミュレーション方法を実行するためのシミュレーション装置のシステム構成を示す構成図である。It is a block diagram which shows the system configuration | structure of the simulation apparatus for performing the hair simulation method of this embodiment. (a)から(e)は、それぞれ、表1の各実験条件での実験におけるスクリーンショットを示す説明図である。(a)-(e) is explanatory drawing which shows the screenshot in the experiment on each experiment condition of Table 1, respectively.

符号の説明Explanation of symbols

1…髪シミュレーション装置、 3…パソコン本体、 4…グラフィックカード、
5…CPU、 6…メインメモリ、 7…ディスプレイ、
8…ハードディスク、 9…マルチドライブ、 10…サウンドカード、
11…LANカード、 12…マウス、 13…キーボード
1 ... Hair simulation device 3 ... PC body 4 ... Graphic card
5 ... CPU, 6 ... Main memory, 7 ... Display,
8 ... Hard disk, 9 ... Multi drive, 10 ... Sound card,
11 ... LAN card, 12 ... mouse, 13 ... keyboard

Claims (4)

コンピュータアニメーションやコンピュータゲームに登場するキャラクタの髪の動きをシミュレートし、フレーム画像を連続的に表示することでアニメーションを生成するための、髪シミュレーション方法であって、
前記キャラクタの髪は、分散配置された複数の毛髪の束で構成されるものであり、
各束は、当該束を代表する1本のマスタ毛髪と、当該マスタ毛髪の周りに散在するメンバ毛髪とで構成されるものであり、
各マスタ毛髪は、多数のマスタ粒子のつながりによって構成されていると共に、各メンバ毛髪は、多数のメンバ粒子のつながりによって構成されており、
シミュレーションの初期化を行うためのステップとして、
あらかじめ定義された髪の情報に従って、マスタ毛髪を構成するマスタ粒子の位置を初期化するマスタ毛髪初期化ステップと、
あらかじめ定義された束の形状や毛髪の形状の情報に従って、対応するマスタ粒子に対するメンバ粒子の相対位置を初期化するメンバ毛髪初期化ステップと、を含み、
前記フレーム画像を生成して表示するシミュレーションステップとして、
粒子モデルを用いた物理シミュレーションによって、前記各マスタ毛髪の動きをシミュレートし、各マスタ毛髪を構成する全てのマスタ粒子の位置を計算する、マスタ毛髪シミュレーションステップと、
前記各束について、各メンバ毛髪を構成する各メンバ粒子の、当該メンバ粒子に対応するマスタ粒子に対する相対座標を、当該マスタ粒子の運動速度ベクトルに基づいて変化させるメンバ毛髪変形ステップと、
マスタ毛髪シミュレーションステップにおいて計算されたマスタ粒子の位置と、メンバ毛髪変形ステップにおいて変化されたメンバ粒子の相対位置とから、前記各マスタ毛髪の周りに散在するメンバ毛髪のメンバ粒子の位置を計算するメンバ毛髪生成ステップと、
前記メンバ毛髪生成ステップで計算されたメンバ粒子の位置に基づいて、全てのメンバ毛髪を描画してフレーム画像を生成するレンダリングステップと、を含む髪シミュレーション方法。
A hair simulation method for simulating the movement of the hair of characters appearing in computer animation and computer games and generating animation by continuously displaying frame images,
The character's hair is composed of a bundle of a plurality of dispersed hairs,
Each bundle is composed of one master hair representing the bundle and member hairs scattered around the master hair.
Each master hair is constituted by a connection of a large number of master particles, and each member hair is constituted by a connection of a large number of member particles,
As a step to initialize the simulation,
A master hair initialization step for initializing the position of the master particles constituting the master hair according to the predefined hair information;
A member hair initialization step that initializes the relative position of the member particles with respect to the corresponding master particles according to the information on the shape of the bundle and the shape of the hair,
As a simulation step of generating and displaying the frame image,
A master hair simulation step of simulating the movement of each master hair by a physical simulation using a particle model, and calculating the positions of all master particles constituting each master hair;
For each bundle, a member hair deformation step for changing the relative coordinates of each member particle constituting each member hair with respect to the master particle corresponding to the member particle based on the motion velocity vector of the master particle;
The member which calculates the position of the member particle of the member hair scattered around each master hair from the position of the master particle calculated in the master hair simulation step and the relative position of the member particle changed in the member hair deformation step A hair generation step;
A hair simulation method comprising: a rendering step of drawing a frame image by drawing all member hairs based on the positions of the member particles calculated in the member hair generation step.
前記メンバ毛髪変形ステップは、
マスタ粒子の運動速度ベクトルに応じて、速度が大きくなるほど束が広がるように、各メンバ粒子の、対応するマスタ粒子に対する相対位置を変化させる、束形状変形ステップと、
マスタ粒子の運動速度ベクトルに応じて、速度が大きくなるほど髪の毛が水平方向に圧縮されるように、各メンバ粒子の、対応するマスタ粒子に対する相対位置を変化させる、毛形状変形ステップと、を含むものである、
請求項1に記載の髪シミュレーション方法。
The member hair deformation step includes:
A bundle shape deformation step of changing the relative position of each member particle with respect to the corresponding master particle so that the bundle spreads as the velocity increases according to the motion velocity vector of the master particle;
A hair shape deformation step of changing the relative position of each member particle with respect to the corresponding master particle so that the hair is compressed in the horizontal direction as the velocity increases according to the motion velocity vector of the master particle. ,
The hair simulation method according to claim 1.
コンピュータアニメーションやコンピュータゲームに登場するキャラクタの髪の動きをシミュレートし、フレーム画像を連続的に表示することでアニメーションを生成するための、髪シミュレーション装置であって、
前記キャラクタの髪は、分散配置された複数の毛髪の束で構成されるものであり、
各束は、当該束を代表する1本のマスタ毛髪と、当該マスタ毛髪の周りに散在するメンバ毛髪とで構成されるものであり、
各マスタ毛髪は、多数のマスタ粒子のつながりによって構成されていると共に、各メンバ毛髪は、多数のメンバ粒子のつながりによって構成されており、
シミュレーションの初期化を行う手段として、
あらかじめ定義された髪の情報に従って、マスタ毛髪を構成するマスタ粒子の位置を初期化するマスタ毛髪初期化手段と、
あらかじめ定義された束の形状や毛髪の形状の情報に従って、対応するマスタ粒子に対するメンバ粒子の相対位置を初期化するメンバ毛髪初期化手段と、を含み、
前記フレーム画像を生成して表示する手段として、
粒子モデルを用いた物理シミュレーションによって、前記各マスタ毛髪の動きをシミュレートし、各マスタ毛髪を構成する全てのマスタ粒子の位置を計算する、マスタ毛髪シミュレーション手段と、
前記各束について、各メンバ毛髪を構成する各メンバ粒子の、当該メンバ粒子に対応するマスタ粒子に対する相対座標を、当該マスタ粒子の運動速度ベクトルに基づいて変化させるメンバ毛髪変形手段と、
マスタ毛髪シミュレーションステップにおいて計算されたマスタ粒子の位置と、メンバ毛髪変形ステップにおいて変化されたメンバ粒子の相対位置とから、前記各マスタ毛髪の周りに散在するメンバ毛髪のメンバ粒子の位置を計算するメンバ毛髪生成手段と、
前記メンバ毛髪生成ステップで計算されたメンバ粒子の位置に基づいて、全てのメンバ毛髪を描画してフレーム画像を生成するレンダリング手段と、を含む髪シミュレーション装置。
A hair simulation apparatus for simulating the movement of hair of characters appearing in computer animation and computer games and generating animation by continuously displaying frame images,
The character's hair is composed of a bundle of a plurality of dispersed hairs,
Each bundle is composed of one master hair representing the bundle and member hairs scattered around the master hair.
Each master hair is constituted by a connection of a large number of master particles, and each member hair is constituted by a connection of a large number of member particles,
As a means to initialize the simulation,
Master hair initialization means for initializing the position of the master particles constituting the master hair according to the predefined hair information;
Member hair initialization means for initializing the relative position of the member particles with respect to the corresponding master particles in accordance with information on the shape of the bundle and the shape of the hair defined in advance,
As means for generating and displaying the frame image,
Master hair simulation means for simulating the movement of each master hair by a physical simulation using a particle model and calculating the positions of all master particles constituting each master hair;
Member hair deformation means for changing the relative coordinates of each member particle constituting each member hair with respect to the master particle corresponding to the member particle based on the motion velocity vector of the master particle for each bundle;
The member which calculates the position of the member particle of the member hair scattered around each master hair from the position of the master particle calculated in the master hair simulation step and the relative position of the member particle changed in the member hair deformation step Hair generation means;
Rendering means for rendering a frame image by drawing all member hairs based on the positions of the member particles calculated in the member hair generation step.
前記メンバ毛髪変形手段は、
マスタ粒子の運動速度ベクトルに応じて、速度が大きくなるほど束が広がるように、各メンバ粒子の、対応するマスタ粒子に対する相対位置を変化させる、束形状変形手段と、
マスタ粒子の運動速度ベクトルに応じて、速度が大きくなるほど髪の毛が水平方向に圧縮されるように、各メンバ粒子の、対応するマスタ粒子に対する相対位置を変化させる、毛形状変形手段と、を含むものである、
請求項3に記載の髪シミュレーション装置。
The member hair deformation means includes
A bundle shape deforming means for changing the relative position of each member particle with respect to the corresponding master particle so that the bundle spreads as the velocity increases according to the motion velocity vector of the master particle;
Hair shape deformation means for changing the relative position of each member particle with respect to the corresponding master particle so that the hair is compressed in the horizontal direction as the velocity increases according to the motion velocity vector of the master particle. ,
The hair simulation apparatus according to claim 3.
JP2008151141A 2007-06-11 2008-06-10 Hair simulation method, and device therefor Pending JP2009020874A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008151141A JP2009020874A (en) 2007-06-11 2008-06-10 Hair simulation method, and device therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007153550 2007-06-11
JP2008151141A JP2009020874A (en) 2007-06-11 2008-06-10 Hair simulation method, and device therefor

Publications (1)

Publication Number Publication Date
JP2009020874A true JP2009020874A (en) 2009-01-29

Family

ID=40360424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008151141A Pending JP2009020874A (en) 2007-06-11 2008-06-10 Hair simulation method, and device therefor

Country Status (1)

Country Link
JP (1) JP2009020874A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011034858A2 (en) * 2009-09-15 2011-03-24 Cem Yuksel Hair meshes
JP2012063820A (en) * 2010-09-14 2012-03-29 Konami Digital Entertainment Co Ltd Image processor, image processor control method and program
CN115641375A (en) * 2022-12-07 2023-01-24 腾讯科技(深圳)有限公司 Method, device, equipment, medium and program product for processing hair of virtual object
CN116258801A (en) * 2023-05-16 2023-06-13 海马云(天津)信息技术有限公司 Hair processing method and device for digital virtual object and storage medium
JP7390495B2 (en) 2020-03-27 2023-12-01 北京達佳互▲れん▼信息技術有限公司 Hair rendering methods, devices, electronic devices and storage media

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011034858A2 (en) * 2009-09-15 2011-03-24 Cem Yuksel Hair meshes
WO2011034858A3 (en) * 2009-09-15 2011-07-07 Cem Yuksel Hair meshes
US9177421B2 (en) 2009-09-15 2015-11-03 Cem Yuksel Hair meshes
JP2012063820A (en) * 2010-09-14 2012-03-29 Konami Digital Entertainment Co Ltd Image processor, image processor control method and program
JP7390495B2 (en) 2020-03-27 2023-12-01 北京達佳互▲れん▼信息技術有限公司 Hair rendering methods, devices, electronic devices and storage media
CN115641375A (en) * 2022-12-07 2023-01-24 腾讯科技(深圳)有限公司 Method, device, equipment, medium and program product for processing hair of virtual object
CN116258801A (en) * 2023-05-16 2023-06-13 海马云(天津)信息技术有限公司 Hair processing method and device for digital virtual object and storage medium
CN116258801B (en) * 2023-05-16 2023-07-07 海马云(天津)信息技术有限公司 Hair processing method and device for digital virtual object and storage medium

Similar Documents

Publication Publication Date Title
US7468730B2 (en) Volumetric hair simulation
Ward et al. A survey on hair modeling: Styling, simulation, and rendering
Chu et al. An efficient brush model for physically-based 3D painting
Bando et al. Animating hair with loosely connected particles
US10163243B2 (en) Simulation of hair in a distributed computing environment
US8698810B2 (en) Reorienting properties in hair dynamics
US7791606B2 (en) Goal-directed cloth simulation
CN108245890B (en) Method and device for controlling movement of object in virtual scene
Jin et al. General constrained deformations based on generalized metaballs
Eroglu et al. Fluid sketching―Immersive sketching based on fluid flow
JP2009020874A (en) Hair simulation method, and device therefor
Wither et al. Realistic hair from a sketch
JP2013196172A (en) Skin shape model generation device, skin shape model generation method, and skin shape model generation program
Yang et al. Realistic Real-time Facial Expressions Animation via 3D Morphing Target.
Ward et al. A simulation-based VR system for interactive hairstyling
CN114254501A (en) Large-scale grassland rendering and simulating method
Magnenat-Thalmann et al. Interactive virtual hair-dressing room
Oshita Real‐time hair simulation on GPU with a dynamic wisp model
Lee et al. Real‐time fur simulation and rendering
Chen et al. Animating 3D vegetation in real-time using a 2D approach
Wang et al. GPU-based Grass Simulation with Accurate Blade Reconstruction
Chen et al. A simple method to animate vegetation in images using simulation-guided grid-based warping
Poyart et al. Real-time hair simulation with segment-based head collision
Toothman Expressive Skinning Methods for 3D Character Animation
Huang et al. Towards Realtime: A Hybrid Physics-based Method for Hair Animation on GPU

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110602

A072 Dismissal of procedure

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20121120