Your web-browser is very outdated, and as such, this website may not display properly. Please consider upgrading to a modern, faster and more secure browser. Click here to do so.

9月 23 '13

タイトル:Spartaを使った「薄い水の膜」の作成

Title: Creating thin water film


 

ハイ :D  私はレオナイダス、Spartaの開発者です。

Hi :D  I’m Leonidas, developer of Sparta.

今日はSpartaを使って、綺麗で破綻のない「薄い水の膜」の作り方を説明します。

Today, I’m going to introduce how to make beautiful and no failure thin water film by using Sparta to you.

さて… 液体のアニメーションを作るプロセスは、大きく分けて2段階あると思います。

Well, I think there are roughly two-step process to create an animation of fluid.

まずは、流体シミュレーション。

The first one is a fluid simulation.

ここでは、液体の大まかな動き作ります。

You can create a rough animation of fluid here.

アニメーションはポイントクラウドそして計算され、その後保存されます。

The animation is computed as a point cloud, then Sparta save it.

次は、ポリゴナイズ。

The second one is a polygonization.

保存されたポイントクラウドは、ジオメトリへと変換され、各フレームでの、液体の形状がここで決められていきます。

Saved point cloud is converted to a geometry, and the shape of fluid is decided on each frame here.

つまり、この2つのプロセスが正しく機能しなければ、綺麗で正確な、液体のアニメーションを作ることはできないということです。

To sum up, you can’t create beautiful and correct fluid animation if it doesn’t work this two process.

さて、ここで大きな問題が発生します。

Well, a big problem will occur here.

それは流体シミュレーションというものが、基本的に制御不能なプロセスである事に関係しています。

It’s related to that the fluid simulation is basically uncontrollable process.

流体シミュレーションは、物理的に正確なアニメーションを、数値計算によって作ることができます。

The fluid simulation can generate physically correct animation by a numerical computation.

でも一方で、細かい制御や、物理法則に反した演出を加える事は苦手です。

But on the other hand, it’s not good at the fine control and the direction in violation of the laws of physics.

当然、計算結果のポイントを自由に配置することもできません。

Of course, you can’t freely place the point, too.

しかし、ポリゴナイズ処理は、最終的に作りたい形状に対して、規則的にに並んだポイントクラウドを必要します。

But, the polygonization need the point cloud which is placed in a regular manner regarding the shape finally you want.

つまり、流体シミュレーションで作られたポイントクラウドは、ポリゴナイズには最適化されていないと言えます。

To sum up, it can be said that the point cloud which is generated by the fluid simulation isn’t optimized for the polygonization.

Spartaの解決法はシンプルです。

The solution of Sparta is simple.

Spartaはポイントクラウド・アニメーションの各フレームを、全て手動で修正できるソフトウェアです。

Sparta is a software which you can repair the each frame of point cloud animation by manually operated.

ユーザーは、流体シミュレーションで作られたポイントクラウドから、ポリゴナイズには適さないフレームを選び、それらを編集できます。

User select the unsuitable frame for polygonization from the point cloud which is generated by fluid simulation, then user can edit it.

問題を全て修復されたポイントクラウドは、ポリゴナイズに最適な形になり、その結果、綺麗で正確なジオメトリを作ることができます。

The point cloud which was repaired problem all will become optimal status for polygonization, then as a result, you can get beautiful and correct geometry.

Spartaは、流体シミュレーションのような、エフェクトアーティストを助けるソフトです。

Sparta is the software to help the effects artists like a fluid simulation software.

しかし、その本質は、プログラミングやプロシージャルソフトのようにテクニカルなものではありません。

But, the true nature of Sparta isn’t technical stuff like programming or procedural software.

むしろ、モデリングやアニメーション用ソフトに近いものだと言えます。

If anything, it’s like a modeling or animation software.


 

さて、では実際にSpartaを使ってみましょう。

Well, let’s start using Sparta.

シェルフのTrialグループから、Wine-HighとWine-Geometryを選択してください。

Please select the Wine-High and Wine-Geometry from a trial group of a shelf.

インターネット経由で、ポイントクラウドとジオメトリのダウンロードが行われます。

The point cloud and geometry for trial version is downloaded via internet.

しばらくすると、ダウンロードが終わり、その後、ポイントクラウド読み込み作業が始まります。

A short time later, download process is finished, then importing process of the point cloud will starting.

ビューポート上には、液体のポイントクラウド、グラスとボトルのジオメトリが確認できると思います。

You can confirm the point cloud of fluid and the geometry of glass and bottle on a viewport.

今回は「ボトルからグラスに注がれる液体」という例を使い、この問題の詳細を解説します。

This time, I’m going to explain the detail of this problem by using the example that the fluid which being poured into a glass from bottle.

さらに、このポイントクラウドには、ここで「Original」という名前を与えておきます。

In addition, I named “Original” to this point cloud here.


 

読み込み作業が終わりました。

The importing process was finished.

では、タイムラインのフレームを動かし、アニメーションを確認してください。

Let’s confirm the animation by moving the frame of a timeline.

ボトルの中で密集していた「Original」は、グラスに注がれ拡散し、そこで薄い水の膜を作ります。

“Original” which dense in the bottle is being poured to glass, then the liquid will spread, and a thin water film is generated here.

同時に、ポイントクラウドが拡散することで、各ポイントの配置は不規則なものになります。

Simultaneously, the disposition of each point become irregular stuff by spreading out the point cloud.

このグラスと「Original」の境界の修正が、1つ目の問題です。

Repairing the interface of the glass and “Original” is our first problem.

そしてもう1点、「Original」がグラスに注がれた後、グラスの中を半周し、再びその中心部に注がれます。

And one more, “Original” go half around into inside of the glass after it being poured, then it being poured again into the center of the glass.

2目の問題はこの瞬間にあります。

There are the second problem on this moment.

薄く広がった領域では、グラスと「Original」の境界同様に、ポイントクラウドの並びが不規則になります。

The disposition of point cloud become irregular on thinly spread region likewise the interface of the glass and “Original”.

今回はそれぞれ別の方法で、この2点の問題を解決したいと思います。

This time, I’m going to solve this two problems by using each another solution.


 

まずは、境界の問題について。

The first one is the problem about interface.

この部分の修復には、「Original」に接触するジオメトリそのものを使います。

I’m going to use the geometry itself which contact to “Original” to repair this region.

Glass-Inside-Geometryを選択してください。

Please select the Glass-Inside-Geometry.

グラスのジオメトリの内側部分がダウンロードされます。

The geometry of inside of glass is downloaded.

次に、ダウンロードされたジオメトリをレイヤーから選択し、Layerグループから、GeometryEmitterを選択してください。

Next, please select the geometry downloaded from a layer, then select the GeometryEmitter from the layer group.

GeometryEmitterは選択されたジオメトリの頂点をポイントクラウドに変換することができます。

GeometryEmitter can convert from vertices of selected geometry to the point cloud.

ここでは、穴だらけになった「Original」を補間するために、高解像度なグラスのモデルを用意しました。

I prepared the high resolution model of glass to interpolate “Original” was riddled here.

また、ジオメトリのポイントクラウドは、タイムラインの現在の可視フレーム全てに生成されます。

In addition, the point cloud of the geometry will generated to the all current visibility frame of a timeline.

さらに、このポイントクラウドは、ここで「Interface」という名前を与えておきます。

In addition, I named “Interface” to this point cloud here.

では次に、「Interface」と「Original」を選択し、MaskingCacheを選択してください。

Well, Please select ”Interface” and “Original”, then select the MaskingCache next.

ポイントクラウドを簡単に見分けるために、選択されたポイントクラウドが色分けされます。

The selected point cloud are color coded in order to easily recognize.


 

さて、ここからは、「Interface」を、「Original」の形で、削っていきます。

Well, I’m going to scrape “Interface” by using “Original”.

Brushグループから、Removeブラシを選択してください。

Please select the remove brush from the brush group.

この時点で正確に削る必要はありません。

Not have to scrape correctly at this time.

まずは大雑把に、不要な部分を削除してください。

In any case, scrape the unwanted part roughly.

Spartaは複数フレームに渡る編集もサポートしていますが、オペレーションの基本は1フレームごとの編集です。

Sparta support the multi frame edit by default, but the basis of operations is frame by frame.

今回は基本に従い、この最小単位での編集を行っていきます。

About this time, I’m going to edit by this minimum unit in accordance with this basis.

では次は、削り過ぎた部分の修正を行います。

Next, I’m going to repair the part where scraped too much.

Revertオプションを選択ください。

Please select the revert option.

このオプションは、ブラシの効果を反転する機能があり、ここでは消えてしまったポイントを元に戻すことができます。

The option can revert the effect of brush functionality, and you can revert the points which is removed here.

「Original」の本来あるべき形を想像しながら、修正を行ってください。

Please repair the point cloud while imagine the ideal status of “Original”.

綺麗に削る作業が終わったら、このフレームでの作業は終了です。

After you finished finely the scraping work, the work on the current frame is over.

次のフレームに移ってください。

Please move to the next frame.

先ほどのフレームとの繋がりを意識して、修復を行ってください。

Please repair the point cloud conscious of that is a relation with the earlier frame.


 

さて、全てのフレームで削る作業が終わりました。

Well, the all scraping work is finished.

次は2つ目の問題点を修正していきます。

I’m going to repair the problem of second next.

今度の問題点は、ポイントクラウドと接触するジオメトリが無いので、先ほどのジオメトリを使った補完は使えません。

You can’t use the interpolation which using a geometry for this problem, because there are not geometry coming into contact with a point cloud.

まずは、「Original」を選択し、DuplicateCacheを選択してください。

First, please select “Original”, then select the DuplicateCache.

今回は、ポイントクラウドの「複製→ランダム化→統合」という方法を使います。

This time, I’m going to use the method that “Duplicate → Randomize → Merge” for a point cloud.

さらに、このポイントクラウドは、ここで「Randomize」という名前を与えておきます。

In addition, I named “Randomize” to this point cloud here.

次に、「Randomize」と「Original」を、MaskingCacheで色分けしてください。

Please color code “Randomize” and “Original” by using MaskingCache next.

これは、ランダム化前と後のポイントクラウドの状態を比較するために必要になります。

It’s required to compare the status of point cloud between before and after randomization.

また、ランダム化は、密度の低い領域にのみ行うため、その作業の邪魔になる領域は、事前に削っておきましょう。

In addition, because the randomization is for the region where is low density, let’s scrape the region where impede the this work in advance.

では、Convergeブラシを選択ください。

Well, please select the Converge brush.

そして、密度の低い領域を補間するように、「Randomize」をランダム化してください。

And, randomize it in such a way as to interpolate the low density region.


 

さて、低密度の領域へのランダム化はある程度進みましたが、これではまだ十分とは言えません。

Well, the randomization for the low density region was progressing to some extent, but I can’t say that it’s still enough.

そこで、この「複製→ランダム化」というプロセスを、十分な密度が得られるまで繰り返してみました。

So, I’ve iterated the process that “Duplicate → Randomize” until it get enough density.

そしてその結果が、この10個の「Randomize」になります。

And, the results are these ten “Randomize”.

それぞれのポイントクラウドが、互いの低密度の領域を補間し合っていることが確認できると思います。

I think that you can confirm the situation which each point cloud mutually interpolate the low density region.

次はこれらのポイントクラウドを1つに統合します。

I’m going to merge these point cloud to a single next.

これら全てを選択し、MergeCacheを選択してください。

Please select them, then select MergeCache.

統合されたポイントクラウドが新たに生成され、これで、グラス中心部での低密度の問題も解決します。

The point cloud which is merged is newly generated, then the problem of low density on the glass center will solve here.

もちろん、この新しい「Randomize」は、まだ周辺フレームでの問題は解決していません。

Of course, the problem on the periphery frames about this new “Randomize” isn’t solved.

そのため今後は、この全てのフレームで修正作業の終わった「Randomize」を使って解説を続けます。

So henceforth, I’m going to explain by using “Randomize” which ended the correction work at the all frames.


 

さて、今までに「Original」、「Interface」、「Randomize」という3つのポイントクラウドを作りましたが、最後に、この3つを統合したいと思います。

Well, I created three point cloud as “Original”, “Interface”, and “Randomize” until now, finally I’m going to merge them.

この統合により、ポイントクラウドの低密領域の問題は全て解決します。

The problem of the point cloud about low density region will solve by this merge process.

さらに、このポイントクラウドは、ここで「Merged」という名前を与えておきます。

In addition, I named “Merged” to this point cloud here.

しかし、ここで新たな別の問題が発生します。

But, the new other problem occur here.

これまで統合処理を繰り返すことで、「Merged」は高密度になり、さらに、ポイントの重複という問題も発生しています。

By frequently repeating the merge process, the density of “Merged” got high, and the problem which duplication of the points are occurring, too.

当然この問題は、後のポリゴナイズの過程に悪影響を及します。

Of course, it gives an evil influence to a subsequent polygonization process.

そこで次は、この問題を解消するために、ポイントクラウドのボクセル化を行います。

So, I’m going to voxelize the point cloud to solve this problem next.

「Merged」を選択し、VoxelizeCacheを選択してください。

Please select “Merged”, then select the VoxelizeCache.

ボクセル化が完了すると、重複ないし隣接するポイント同士が統合され、密度の均一化が行われます。

The points which are overlaped or adjacent are merged after complete the voxelization, then homogenization of density will done.


 

では、「Original」、「Interface」、「Randomize」、そしてボクセル化によって新たに作られた「Merged」の4つを、動画で比較してみましょう。

OK, let’s compare “Original”, “Interface”, “Randomize”, and “Merged” which newly created by voxelization by video.


 

さらに、「Original」と「Merged」に対して、ポリゴナイズ、レンダリングを行い、それぞれを比較してみます。

In addition, I’ll doing the polygonization and rendering to “Original” and “Merged”, then I’m going to compare each.

流体シミュレーションでは解決できない問題を、Spartaが解決できていることが分かると思います。

You can confirm that Sparta can solve the problem which a fluid simulation can’t solve.


 

され、これでSpartaによる「薄い水の膜」の作成チュートリアルは終了です。

Well, the tutorial that how to make thin water film by using Sparta is over.

次はあなたの番です。

The next is your turn.

ではまた今度 :D

Good bye for now :D

  1. spartaprojectの投稿です