Simulation

CG News

Pulldownit 5 for 3ds Max

3dsMax用の破棄プラグインのPulldownit5がリリースされました。RayFireの知名度が高いので、このプラグイン知らなかった。

https://pulldownit.com//
https://thinkinetic.blog/2021/10/18/pulldownit-5-for-3ds-max-released/

価格

  • ノードロック 270€/年
  • フローティング 340€/年
  • 3DMax&Mayaバンドル510 € /年

 

 

概要

Pulldownit 5 for 3ds Maxは、新しい破壊機能と、パフォーマンスと操作性の重要なアップデートをもたらします。

  • 破砕ソルバーの計算速度が約2倍になり、さらなる調整を必要とせずにインパクトエリアにより多くの破片を得ることができるようになりました。
  • カーブの一部に沿って粉砕する新しい機能により、ユーザーは視覚的な方法で必要なだけクラックを精密化することができます。また、サーフェイスクラックを境界線で囲み、簡単に素敵なストレス効果を作り出すことができ、クラックの反転はワンクリックでできます。
  • デフォルトでは、ジャグジネスはシミュレーションの壊れた部分にのみ適用されるので、レンダリングやゲームエンジンへのエクスポート時にメッシュを軽くすることができます。

他にもパフォーマンスや使い勝手の改善がいくつかありますので、以下でご確認いただけます。また、Pulldownitのバージョンログページで修正点の全リストを確認することができます。

Pulldownitウェブサイトのバージョンログで修正点の全リストを読む

 

Shatter の新機能

Shatter itツールの新しいExtentパラメータ

この新しいパラメータは視覚的な方法でシャター領域を縮小することができ、モデルの任意の領域でフラグメントの密度を非常に簡単に高めることができます。

 

Shatter itでカーブの一部を除外する新機能

マウスをドラッグするだけで、粉砕に使用する曲線の範囲を必要に応じて選択することができます。

 

ジャグジネスが壊れた部分にのみ適用されるようになりました。

デフォルトではJagginesはシミュレーションで壊れた部分にのみ適用されるようになり、レンダリングやゲームエンジンへのエクスポートの際に、より軽量なメッシュが得られるようになりました。

 

Dynamicsの新機能

PDIフラクチャーソルバー2倍速

数百から数千のフラグメントを含むダイナミクスシーンにおいて、旧バージョンと同等の安定性を保ちながら、約2倍の速度で計算できるようになりました。

 

フラクチャーソルバーの品質向上

クラックがよりリアルになり、フラクチャリングエリアの境界にある小さな断片を、追加の調整なしで引き出せるようになりました。

 

クラッカーの新しい制限付き動作

切り離されたフラグメントの移動距離をコントロールできるようになりました。表面に張り付くようにしたり、自由に落下させたりできます。

 

UIの強化

  • クラッカーの方向を逆にする機能が追加され、パネルボタンをクリックするだけでダイナミッククラックを逆にすることができるようになりました。
  • 何千ものフラグメントからなるフラクチャーボディをPDIソルバーで作成するのに数秒しかかからないようになり、フラクチャーボディの作成が2倍速くなりました。また、フラクチャークラスターの作成や修正もほぼ瞬時に行えます。
  • ストレス ビューでの可視化が改善されました。ストレス ビューでは、材質にかかわらず、すべてのフラグメントがソリッドカラーで表示されます。
  • ストレス ビューで「フレームで破壊」されたクラスターは、緑色で表示されるようになりました。
CG News

Reactions ベータ

流体シミュレーションプラグイン TurbulenceFD のJawsetが、新しいプラグイン Reactions のベータ版を公開しています。

Reactionsは以前から開発しているしていると言われてたTurbulenceFDの後継ソフトで、 ボリューム(火、煙、雲など)やパーティクルの他にも、プロシージャルSDFのツールが含まれているようです。現在はスタンドアロンアプリと、C4D用のプラグインが公開されています。

https://www.jawset.com/pages/reactions-beta/

 

概要

ReactionsはVisual EffectsやMotion Graphicsのアーティストやテクニカルディレクターのために開発された、フィジカルベースのアニメーションのためのツールキットです。TurbulenceFDを進化させ、汎用性、パフォーマンス、ワークフローを向上させたものです。

Reactionsには、ボリューム(火、煙、雲など)、パーティクル、プロシージャルSDFのツールが含まれています。しかし、ポリゴンメッシュやカーブも扱えるフレームワークの大幅な拡張が可能です。内蔵された拡張機能も、ユーザーが作成した拡張機能も、GPUとCPUのハードウェアを使用します。

Reactionsには、既製のダイナミックなアセットが含まれており、アーティストは再利用や作業の区分けのために自分でアセットを作成することができます。

Reactionsは、スタンドアロンアプリのほか、Cinema 4D R20~R25用のプラグインも提供しています。

 

スパース・ボリューム・シミュレーション

スパースボリュームは、単純なボックスコンテナよりもアクティブな領域にしっかりとフィットすることで、空のスペースを処理しないようにします。
その結果、シミュレーションの実行速度が向上し使用するメモリも少なくて済みます。これにより、より大きなシミュレーションを高速なGPUメモリで実行してから、低速なCPUメモリに切り替えることが可能になります。

例えば画像のスパースシミュレーションは、720,000個のアクティブなボクセルを持っています。このシミュレーションが収まる最小の箱型コンテナには、750万個以上のボクセルが収まっています。

また、スパースボ リュームは手動でバウンディングボックスのサイズを調整する必要がないため、シミュレーションのセットアップのワークフローが簡素化されます。
また、スパースボリュウムはパーティクルシステムのように自由に移動、拡張することができます。

 

ボリュームシェーダの強化

新しいボリュームマテリアルではカーブとカラーのコントロールが改善され、自己散乱の効率的なモデルが搭載されているため、アーティストのコントロールが向上しレンダリング時間が大幅に短縮されました。輝きやカサカサした見た目をよりダイレクトにコントロールできるようになりました。

 

粒子シミュレーション

パーティクルは非常に基本的なジオメトリの形態であり、幅広い用途があります。パーティクルは様々な方法で作成、操作することができ、アニメーションやシェーディングを動かすあらゆる種類の属性を記述することができます。

Reactionsはパーティクルシミュレーションのためのクリーンでパワフルなフレームワークを提供します。パーティクル操作の基本的なセットが用意されており、Object&Tagsやノードベースのワークフローを使って、シミュレーションのセットアップに簡単に組み合わせることができます。

さらに言えば、ちょっとしたプログラミングで、属性、ソース、条件などパーティクルに関するあらゆるものをカスタマイズしたり、まったく新しいパーティクルの使い方を考えたりすることができます。

パーティクルシミュレーションは、定義済みのものもカスタムメイドのものも、GPUとCPUのハードウェアで実行されます。最新のGPUは数千万個のパーティクルをリアルタイムで処理できるため、Reactionsはパーティクルシミュレーションを創造的に構築し、探求するための素晴らしいツールキットとなっています。

 

より簡単で柔軟なワークフロー

テンプレートはすぐに使える設定で、基本的な設定を省略してシーンに合わせた調整に専念することができます。あらかじめ定義されたテンプレートを使用することで、ワークフローはTurbulenceFDと似ていますが、よりシーンに特化したスタートポイントとなります。

さらにモジュール性を高めるためにシミュレーションのセットアップを分割し、そのビルディングブロックを再配置して独自の再利用可能なテンプレートを作成することができます。

Cinema 4Dのオブジェクトマネージャでは、シミュレーションステージはボリュームやパーティクルオブジェクトのタグとして利用できます。この方法ではシミュレーションコントロールはTurbulenceFDと同様にボリュームオブジェクトにグループ化され、使用しない部分を削除することでセットアップを簡素化することができます。

 

ノードベースのワークフロー

Objects&Tagsをベースにしたワークフローではシミュレーションの属性に素早くアクセスすることができますが、ノードをベースにしたビューでは、より複雑なセットアップでの接続を明確にすることができます。
Reactionsでは、この2つのワークフローを必要に応じてシームレスに切り替えることができます。ReactionsのグラフエディタはCinema 4Dのオブジェクトマネージャで行われたすべての変更をミラーリングし、その逆も同様です。

より複雑なセットアップでノード接続の詳細な概要が必要な場合は、グラフエディタで作業することができます。一方で既存のテンプレートを再利用する際には、オブジェクトマネージャで作業すると、その時点では関連性のない詳細が隠されてしまいます。

 

スタンドアロン・アプリ

Reactionsには大規模な3Dホストパッケージに縛られることなく全ての機能を提供するスタンドアロン・アプリケーションが付属しています。

シミュレーション・テンプレートや全く新しいノードの作成に集中する場合、スタンドアローン・アプリは最も迅速なエクスペリエンスとすっきりしたワークスペースを提供します。

また、スタンドアロンアプリケーションで作成したテンプレートやノードはCinema 4Dにインポートすることができ、その逆も可能です。

 

gpu/cpu ジャストインタイム・プログラミング

1行のコードが画面いっぱいのノードに値することもあります。式や条件は複雑さを抑えてセットアップに手続き的な制御を加えるための効果的な方法です。

Rake(Reactions Kernel Language)はフレンドリーでモダンな高レベル言語で、効率的なGPUやCPUのコードにジャストインタイムでコンパイルします。これにより、ユーザーが定義した式や条件はシミュレーションコアと同様に最適化されたパフォーマンスを得ることができます。実際、ReactionsのすべてのシミュレーションコンポーネントはRakeを使って構築されています。

Rakeは1行の式や条件、短いスニペット、またはノードモジュール全体に使用することができます。RakeはReactionsの最も深いレベルの拡張性であり、あらゆることに対応できます。

CG News

Ragdoll Dynamics for Maya

Maya用のリアルタイム物理学ソルバープラグイン「Ragdoll Dynamics」 がリリースされました。Ragdoll Dynamicsを使用すると、アニメーターはキャラクターリグでライブ物理を直接操作できます。

プラグインはキーフレームアニメーションよりも早くリアルな二次モーションを生成することを目的としていますが、従来のシミュレーションツールよりも制御可能です。

開発者のは以前はFramestoreでクリーチャーFX TD、TheMillとGoodbyeKansasStudiosで働いていた経歴があり、ソフトウェアの前身であるリアルタイムのMaya物理システムWeightShiftは、昨年Epic Gamesに買収される前にFramestoreとWetaDigitalで使用されていました。

https://ragdolldynamics.com/

 

価格
  • ノンコマーシャル £99
  • コマーシャル £499

 

概要

RagdollはMayaのリアルタイムダイナミクスソルバーで、頂点ではなくトランスフォームで機能することを除いて、ネイティブのnClothおよびnHairソルバーに似ています。これにより、既存のアニメーションコントロールとの統合がより適切になり、90年代のように頂点から変換する必要がなくなります。

 

ダイナミックなキャラクター

重さや接点をコンピュータに任せる。

 

ダイナミックなパフォーマンスのために

キャラクターが何をするかに注目し、どのようにするかは気にしない。

 

リアルタイム

見てください、これはリアルタイムです。1フレームあたり0〜5ms、1秒間に30フレームで合計 1秒間に30フレームで合計33ms。

 

 

リグ シミュレート

NURBSコントロール、ロケータ、ポリゴン、空のグループをシミュレート。キャラクタリグの素材なら何でもOK。

 

 

 

汎用物理ソルバー

translateとrotateのチャンネルがあれば、何でもシミュレートできます。

 

ファーストクラスのPython API

あらゆる生産パイプラインとの豊かな統合のために。

from maya import cmds
from ragdoll import api as rd

cube, _ = cmds.polyCube()
cmds.move(0, 10, 0)
cmds.rotate(35, 50, 30)

scene = rd.createScene()
rigid = rd.createRigid(cube, scene)

cmds.evalDeferred(cmds.play)

 

物理学をMayaから

Unreal、Unity、Motion Builder、Blenderなどに物理学をエクスポートします。Blenderなど、あらゆるものに対応します。

{
"schema": "ragdoll-1.0",
"entities": {
"1": {
"components": {
"NameComponent": {
"members": {
"path": "|body_skeleton1"
},
},
"RigidComponent": {
"members": {
"enabled": true,
"mass": 1.0,
"collide": true,
"friction": 0.5,
"restitution": 0.5
},
...

 

 

 

 

 

 

 

 

 

 

CG News

Clothify Pro for 3ds Max

布のモデリングとアニメーションを簡単に作成することができる3ds Max用のモディファイア「Clothify Pro」がリリースされました。

https://mariussilaghi.com/products/clothify-pro

価格

  • インディーライセンス €80 (収益10万ドル未満)
  • プロラインセンス €160 (収益10万ドル以上)

非破壊的なクロス

Clothify Proは3ds Max用のモディファイアです。布のモデリングとアニメーションを簡単に、制御可能に、アーティストが使いやすいように、素早く、非破壊的に行うことができます。シミュレーションが終わるのを待つ必要はなく、すぐに結果を得ることができます。また、布のスカルプトに手間取ることもありません。

パラメータを編集して、それが何をするかをすぐに確認できます。すべてのパラメータは、ソフト選択、頂点ウェイト、頂点カラーでコントロールでき、これまでにないコントロールが可能です。

モディファイアの下で適用された変形はすべて布に影響するので、ポリゴン編集、スキン、FFD、ベンド、領域の影響、パスの変形など、3ds maxが持つ数多くのモディファイアを利用することができます。また、Freeformブラシにも使用できます。実際には、メッシュを変形させるものであれば何でも使用できます。

現在のところ他のオブジェクトとの衝突や自己交差は扱っていませんが、基礎となるメッシュが自己交差していない場合は、ほとんど起こりません。また、ボリュームの保存もまだできません。

互換性

2013/2014/2015/2016/2017/2018/2019/2020/2021 (64 Bit)で動作します。

Tips

modoでパーティクルクラウドをフリーズする方法

modoでパーティクルクラウドと、サーフェイスパーティクルジェネレータをフリーズする方法について書いてみます。

パーティクルクラウドやサーフェイスパーティクルジェネレータは、いわゆる後から再編集可能なプロシージャルオブジェクトです。プロシージャルオブジェクトをモデリングツールで編集可能にするにはフリーズする必要があります。

 

Particle Cloudをフリーズ

Particle Cloudをフリーズする場合は、particle.freezeCloud コマンドを実行します。

particle.freezeCloud

 

Surface Particle Generatorをフリーズ

Surface Particle Generatorをフリーズする場合は、アイテムメニュー /リプリケータで「パーティクルジェネレータ」を実行します。

 

ちなみに同じメニューにある「サーフェイス ジェネレータ」はシェーダーツリーを使ったパーティクルジェネレータをフリーズするコマンドです。

 

サーフェイスパーティクルジェネレータはメニューからアクセスできますが、パーティクルクラウドのフリーズはメニューにないのでメモとして書いておこうと思いました。

Tips

modoの頂点カラーでリプリケータを制御

Foundryのフォーラムでウェイトマップを使用してリプリケータを制御できないのか?というスレッドを見かけたのでまねてみました。

https://community.foundry.com/discuss/post/1215164

 

現在modoではParticle Sieve Modifierだけウェイトマップを読み取ることができますが、残念ながらParticle Sieve Modifierはリプリケータを消すことしかできません。また、Weight Map Falloffパーティクル モディファイヤで動作しないようです。


そこでウェイトマップの代わりに、頂点カラーとParticle Expression Modifierを使用する方法が提案されていました。

Particle Expression Modifierを使うと、CR、CG、CBという変数を使用してRGBマップから値を読み取ることができます。頂点カラーツールを使用してリプリケータのトランスフォームを編集することができます。

サンプルファイル

 

スケマティックではRGBそれぞれParticle Expression Modifierをわけてますが、エクスプレッションはサンプルが少ないので、どう式を書けばいいのかよくわからないです。
単純な計算A+B程度なら問題ないですが、1つのノード内でCR、CG、CB全部の計算結果を出力できるのか?とか、記述をミスった場合に何が問題なのかフィードバックがないので使うのが難しいです。

とりあえず、Particle Expression Modifierノードを使うと他のパーティクル モディファイヤでアクセスできないチャンネルを読み取ることができるようです。

 

関連

今回はParticle Expression Modifierの使い方みたいな記事でしたが、単純にリプリケータを個別に編集したい場合はパーティクルペイントツールパーティクルマップを使用すると頂点単位でリプリケータを編集することができて便利です。

modo 14.2からプロシージャルウェイトマップが強化されたので、今後ウェイトマップとパーティクルモディファイヤが連携できると、アニメーション用途で面白い使い方ができそうですね。

Tips

Bifrost 2.0でシミュレーション キャッシュを保存する方法

Bifrostのシミュレーション キャッシュの保存方法に関するメモです。シミュレーションを試そうと思った時に、キャッシュの保存方法がわからなかったので調べました。

BifrostはMayaや3ds Maxに標準搭載されているに流体シミュレーションソフトです。元々Naiadという流体シミュレーションソフトで、2012年にAutodeskが買収した後、Bifrostに名称を変えてMayaやMaxに機能追加されました。
Bifrostは2.0からビジュアルプログラミング環境として大きな変更が加わり、以前のバージョンからキャッシュの保存方法が変わってます。

 

file_cache

シミュレーション キャッシュを保存する場合はfile_cacheノードを使用します。

本来はwrite_OpenVDB_volumeのようにwrite系のノードを使用する物らしいですが、サンプルを見るとfile_cacheが使用されていました。
file_cacheノードは現在のところ実験的な機能で、将来的に変更される可能性があるとのことです。

 

Mode

キャッシュの書き込み、読み込みを設定します。Write Modeでキャッシュを作成した後、Read Modeに切り替えるとタイムラインのスクラブが可能になります。

 

Filename

キャッシュファイルの保存先を設定します。キャッシュファイルはアニメーションを再生すると自動的に保存されます。

  • ファイル名には#を入れます。#入れないとフレームごとに連番保存できません。
  • キャッシュの保存形式は拡張子(.bob、.vdb、.abc)で指定します。

 

Propertys

保存するシミュレーションデータプロパティの指定です。Propertysに保存したいプロパティ名をスペース区切りで記述します。*の場合すべてのプロパティを保存されます。

使用可能なプロパティ名はノードのライン上で右クリックしてWatch Pointを追加すると確認できます。

 

Bifrostのシミュレーション結果をvdbで保存してaiVolumeに読み込むと、プロパティが読み込まれるのが確認できました。

 

modoのVDBVoxelでも同じプロパティが読み込まれるのが確認できます。

 

参考

Bifrost 2.0チュートリアル
https://area.autodesk.com/tutorials/?tag=bifrost

https://area.autodesk.jp/product/maya/bifrost2/

参考資料

CYMATIC

金属板の上に砂をまいて共振させて作るクラドニ図形っぽくて面白いですね。

Tips

modoでおきあがりこぼし

mdooのダイナミクスでおきあがりこぼしの作り方について書いてみます。ダイナミクスの特長を使った小ネタです。

サンプルファイル

mdooのリジッドボディ ダイナミクス(Bullet Dynamics)は、アイテムのセンターを中心に回転します。この特長を利用してセンターをアイテム底に配置すると、アイテムをおきあがりこぼしのように倒れにくくすることができます。

倒れないドミノも作れます。


特に使い道のあるTipsではありませんが、もしかするとモーショングラフィックで役立つかもしれません。

 

参考

Tips

modoでプロシージャルなドミノ倒し

modoでプロシージャルなドミノ倒しの作り方について書いてみます。

 

ダイナミクスのチュートリアルでよく見かけるドミノ倒しですが、1個ずつドミノを並べるのは面倒です。カーブを使用してドミノを配置すると、カーブを編集するだけで手軽に並べ替えができるようになって便利です。

サンプルファイル

 

スケマティックはこんな感じです。

大まかな流れとしてカーブからパーティクルを発生させます。ドミノにはコリジョンを設定したいので、Dynamic Replicatorを使用してドミノ通しが衝突するように設定しています。

このとき問題になるのが、ドミノをカーブに沿って配置する方法です。modoにはCurve Particle Generatorというカーブに沿ってアイテムを配置する便利なノードがあります。

残念なことにCurve Particle Generatorを元にパーティクルを発生させても、回転した状態でパーティクルを発生させることができません。下の画像のような方法ではカーブに沿わせることができない。

この問題を回避するためにCurves to ArrayとArray Element By Indexを使用します。
ドミノのスケマティックではParticle Generatorを使用してX方向にパーティクルを生成します。Curves to Arrayでカーブの挑戦数を設定して、Array Element By Indexを使って頂点の「位置」と「回転」をParticle Operatorに出力します。

「回転」はそのままParticle Operatorに繋ぐことができますが、「位置」はMatrix Vectorを使ってマトリクスからベクターチャンネルに変換してからParticle Operatorに接続します。

こうすることでカーブに沿ったパーティクルを発生させることができるようになり、手続き的にドミノを配置することができます。

 

Replicatorをフリーズしてダイナミクス適用する方法もありますが、今回はパーティクルを使用する方法を紹介してみました。ちょっと複雑ですが、パーティクルに回転を渡したい場合、Arrayを使うといいようです。
modoには様々なノードがありますが、似た役割のノードでも読み取れる情報に差があるため無駄に複雑に感じることがあります。似た機能のノードは全て同じ情報にアクセスできるように機能を統一して欲しいですね。

 

参考

今回のカーブに沿って回転したパーティクルの発生方法は、Warrenさんが公開していたファイルを参考にしています。
https://community.foundry.com/discuss/post/1214020

Tips

modoのパーティクルオペレータ タイプ

modoのパーティクルオペレータ タイプについて書いてみます。

パーティクルを制御するパーティクルオペレータには「タイプ」というチャンネルがあります。タイプには「適用」「統合」「新規」「トリガー」の4種類があり、タイプによってパーティクルオペレータの適用方法が変わります。

 

まずは比較のためにパーティクルオペレータを使用していない状態のパーティクルシミュレーションです。平面の頂点からパーティクルが発生し続けます。変化がわかりやすいようにパーティクルは発生位置にとどまるようにしました。

 

 

適用

「適用」は毎フレーム値を設定します。

このスケマティックでは「位置 Y」に 2m、「回転 Z」に45°の値を設定してます。

 

 

統合

「統合」は毎フレーム値を加算します。

このスケマティックでは「位置 Y」に 2m、「回転 Z」に45°の値を設定してます。毎フレーム値が加算されるため、パーティクルはY軸方向に移動します。
回転が加算されないのはよくわからないです。「サイズ」「速度」は加算されるので行列チャンネルは非対応なのかな?

 

新規

「 新規」はパーティクル発生時に1度だけ値を設定します。

このスケマティックでは「位置 Y」に 2m、「回転 Z」にTimeノードを使用して毎フレーム異なる値を設定してます。

 

トリガー

「トリガー」はトリガーチャンネルがTrueになったフレームで値を設定します。

このスケマティックでは「位置 Y」に 2m、「回転 Z」にに45°の値を設定してます。
トリガーチャンネルにキーフレームを設定したチャンネルを接続して、1秒間隔でTrueを設定してます。

 

 

オペレーターの接続順

Particle SimulationのOperatorは接続された順番で計算します。

例えば画像のようにSource Emitter、Particle Operatorの順番で接続した場合、Source Emitterが先に計算されるため、平面の頂点位置にパーティクルが発生し、次のフレームでParticle Operatorの「位置」と「回転」が計算されるため一瞬だけ平面上にパーティクルが発生してるのがわかります。

Particle Operatorの順番は重要で「新規」を使用する場合は、エミッターよりも先にParticle Operatorを接続していないとパーティクル特性が動かないように見えます。

 

パーティクルオペレータ タイプの「新規」を使用すると、螺旋のように少しずつ角度の違うパーティクルを発生させることができて便利です。

サンプルファイル

CG News

DeepFX Studio

去年からベータ版が公開されていたードベースのシミュレーションソフト「DeepFX Studio」が正式リリースされました。

DeepFX StudioはLightwaveの流体シミュレーションプラグインにDeep FXRisingを元にしたスタンドアロンの物理アニメーションツールです。流体、粒状、破砕、Bullet Physics、マルチフィジックスの手続き型シミュレーションを作成できます。OpenVDBとAlembicがサポートされています。

https://www.deepfxworld.com/deep_fx_studio.php

価格

  • インディー $ 650 (収益10万ドル未満)
  • プロフェッショナル $ 950 (制限なし)

 

なぜDeep FX Studioなのか?

誰もが使いこなせるツール。アートに集中したいアーティストや、パワフルなプロシージャルワークフローを必要とするテクニカルアーティストのために、直感的に使えるように一から構築されています。

優しい学習曲線

学ぶのも覚えるのも簡単です。Deep Fx Studioはあなたの邪魔にならず、あなたの目標を達成するのに役立ちます。厳密なレジメンはありませんが、問題は複数の方法で解決することができます。

 

プロシージャル

プロシージャルコンテンツの作成は可能ですが、Deep FX Studioで生産性を高めるためには必須ではありません。しかし、あなたのスタイルに合っていれば、プロシージャルエンジンは無限の可能性への扉を開きます。プロシージャルエンジンは余計なものではなく、基礎の一部なのです。

 

流体シミュレーション

当社独自の技術を使用して最先端の流体シミュレーションを作成します。結果は視覚的にも楽しいものになることが保証されています。

 

Bullet Physicsの統合

業界標準の物理エンジンであるBulletを使用して、ムービー品質の物理シミュレーションを作成します。

LuxCoreRenderとの統合

LuxCoreRenderは最先端のアルゴリズムに基づいた物理ベースのアンバイアスレンダリングエンジンです。あなたの想像力をかきたてるような、心を揺さぶるフォトリアリスティックなイメージを生成します。

 

OpenVDBのサポート

OpenVDBは業界標準を変えるもう一つのゲームです。この強力なボリュームツールキットは様々なことに使用できます。

破壊

オブジェクトを簡単に破壊し、破壊的な混乱を作成するためにシミュレーションにそれらを供給します。

 

他にもたくさんの機能があります!

これは氷山の一角に過ぎません。Deep FX Studioには、多くの課題に取り組むためのツールが用意されています。

Tips

Syflex for modoのパラメータ

Syflex for modo のよく使うパラメータの覚え書きです。他のソフトでもだいたい同じように動くと思います。

 

Syflexとは

SyflexはModo、Maya、3ds Max、LightWave、Cinema 4D、Softimageなど様々なプラットフォームにリリースされてるクロスシミュレータプラグインです。2001年に公開された映画ファイナルファンタジーで使用されたクロスシミュレータの技術が元になった製品です。

ソフトは古い時代の作りのままなので少し使い勝手はよくない所もありますが、高速で比較的安定したシミュレーションを行うことができます。

 

メリット
  • シミュレーションの計算速度が速い。
  • シミュレーション結果が比較的安定している。震えが発生しにくい。
  • modo内でシミュレーションできる。
デメリット
  • サブフレームの計算ができない。速い動きでり抜けが発生しやすい。
  • ホストアプリケーションとの統合が弱い。例えばモーフなどデフォーマリストの前の変形を考慮しない。
  • シミュレーションキャッシュをファイル保存する必要があるのがやや面倒。
  • 恐らくMarvelous Designerの方がシミュレーション安定してそう(使ったことない)。

 

デフォーマリストはsyClothでシミュレーション後のメッシュをスケルトンやモーフ変形できるけど、スケルトン変形した後にsyClothでシミュレーションすることができません。

 

Softimageでは標準機能のクロスシミュレーションとしてSyflexを搭載していました。完全に同じものではありませんが、シミュレーションの注意点などSoftimageのマニュアルも参考になると思います。

http://docs.autodesk.com/SI/2015/JPN/#!/url=./files/GUID-1A8166A7-7768-42FC-8A6A-D4CC9913F845.htm

 

仮想のバネ

Syflexはmodoのソフトボディと同じくstretch、shear、bendの3つの仮想のバネを使用して計算します。

 

パラメータの設定が同じでもメッシュの細かさによってクロスの伸縮が若干変わります。今回テストに使用したのは正方形1メートル、Subdivision 6のメッシュです。

 

 

Syflexのパラメータ

 

syCloth

クロスシミュレーションに必須のノードです。

mass

クロス オブジェクトの質量です。単位はグラム。

•綿(シャツ) 100
•フリース(パーカー) 250
• デニムジーンズ) 500

 

stiff

バネの硬さです。3つのバネ、stretch、shear、bend全体の硬さを設定します。
一般的な値の範囲は0.1〜10。20、30など10以上の値の場合は変かが少なくなる。

 

damp

バネのダンピング係数です。クロスの振動を抑えることができます。
一般的な値の範囲は0.00001〜0.1。0.1以上の値を設定すると計算が遅くなります。0.5以上は変化が少ない。stretch、shear、bendの値に応じて設定を変える必要があります。

 

stretch

ポリゴンメッシュのエッジに沿ったバネです。 stiffの値を基準にしたバネの強さです。
1.0=100%=stiffという感じらしい。

 

shear

ポリゴンメッシュの対角線状のバネです。stiffの値を基準にバネの強さを設定します。
stretch、shear、bendの順番で値を小さく設定するといいらしく、bendとのバランスが重要なようだ。

 

bend

頂点を 1 つおきにつないだバネです。stiffの値を基準にバネの強さを設定します。

 

 

syDamping

移動速度を低下させるダンピング フォースです。空気抵抗や水中での動きっぽくなる。

damp

 

syNail

クロスをウェイトマップで固定するフォースです。トランスフォームにオブジェクトやロケーターに接続することで固定箇所を移動できるようになります。
同様のフォースにsyPinがありますが、syNailはアイテムへの「位置コンストレイント」で、syPinは変形するメッシュに固定する「ジオメトリコンストレイント」という違いがあります。

dist

固定する頂点の距離です。0は完全に固定、0以外にすると仮想のバネが作られて吊された状態になります。

 

stiff

固定する頂点のバネの硬さです。distが0以上の場合に動作します。
stiffの値を上げても頂点を完全に固定することができないので、頂点を完全に固定したい場合はdist 0に設定したNailフォースをもう一つ追加するといいです。

 

damp

バネのダンピング係数です。振動を抑えます。

 

map

Nailの影響をウェイトマップで指定します。

画像左はリニアフォールオフを使ってウェイトを設定したもので、画像右はリニアフォールオフのイーズアウトを使用してウェイトに偏りを持たせた設定です。

 

syCollideMesh

メッシュと衝突させるフォースです。

friction

摩擦係数です。一般的な値の範囲は0~1。

 

damp

接触している頂点の移動を減速させます。

 

sticky

濡れた布がひっつくような設定になります。

 

envelopeExt

衝突オブジェクトからの距離を指定します。単位はメートル。

 

envelopeInt

衝突判定の反応エリア距離です。単位はメートル。envelopeIntの範囲に頂点が入るとenvelopeExtの距離だけ押し戻します。
マニュアルには高速移動時には値を小さくした方がよいと書かれてますが、envelopeIntの値が小さいと速い移動でCollisionがすり抜けてしまうようです。逆に値が大きすぎてシミュレーション開始時に衝突オブジェクトと重なった状態だと計算が不安定になります。

 

sySelfCollision

クロス自身の衝突です。計算に時間がかかるのと震えが止まらない。

 

syVolume

体積維持するフォースです。風船のような閉じたオブジェクトで機能します。

pressure

オブジェクト内の圧力です。パラメータの単位はわからないですが100で元の形状を維持するように見えます。

 

volume

volume単体で値を上げても効果がなくpressureと併用して使います。
volume 3、pressure 100にするとサイズが3倍なってるように見えます。

 

damp

オブジェクトの移動速度が遅くなります。

 

 

syPinの使用方法

Syflexはフォースの設定方法が少し複雑です。毎回Pin追加に失敗するので画面キャプチャしました。

  • 頂点選択(アイテムを選択してると追加に失敗する) + syClothモディファイヤ選択 + メニューからAdd Pin

 

 

Syflexは専用プラグインなので当然ですがmodo標準のソフトボディよりクロス表現に適してます。セルフコリジョンの計算はそれなりに時間が掛かり、クロスが折り重なる場合はdampの値を10以上に設定しても頂点の震えを抑えるのが難しいことがあるようです。

syWindも試そうかと思いましたが単純なメッシュでも布が極端に柔らかくなる現象に遭遇てしまい、安定して動かすのがちょっと困難なのであきらめました。サンプルファイルだとちゃんと動いてるのですが、新規シーンに適用しようとするとクロスが暴れてしまいます。たまに上手く動くんですけどね。