【動画文字起こし】Unity公式の無償提供資料

VFX & 3DCG

このページは情報の再認識のために自身が文字起こししているものです。
他社のコンテンツのためNoIndex/NoFollow・広告Off にしています。
誤って広告等がしている場合は、お手数ですがコメントいただけると幸いです。

VXFグラフでなんかつくる

しゃべりながら、VXFグラフでなんかつくる動画です。
適宜質問が入るためわかりやすく、VXFグラフをやりたいがなにをやったら良いかわからない人向けの導入動画です。
ただ、カタカナ語や、答えが後から出てくるケースもあるため、若干文字起こし時に要約している部分もあります。

VFX Graph でなんか作る | Unity Learning Materials
今回はエバンジェリストの高橋が VFX Graph を使ってエフェクトを制作する様子をゆる~く配信します。さてどうなることやら……司会:高橋啓治郎ゲスト:安原祐二・名雪通・宮田大輝...

前半:VFXGraphを設定してみる

バージョンは 2019.3.9F1(撮影当時2019.3の最新)
元ネタとしてモデルデータを取り込んで、そこからエフェクトを発生させていこうと思います。
ネタとして複雑な形状があった方がよくて面白くなりやすいので、
エフェクト作りを練習するときには、そういうアプローチにした方がいいのではないかな?というのを踏まえて、それをやってみたいと思っています。
モデルデータを作る(ここではBlenderの猿顔)

  • Blenderを立ち上げる。
  • Add > Mesh > Monkey で既成メッシュを出す。
  • File > Export > Wavefront(.obj)で書き出す。(名前をMonkeyとしてdesktopに書き出す。)
  • OBJファイルで書き出されたファイルを、unityにimportする(unityのassetsにドラッグして入れる)

■ モデルデータから Point Cash を作る
これをFxのソースとして使用する方法は、
window > Visual Effects > utilities > Point Cash Bake Tool
を開き、mesh(Monkey.objのmesh)をドラッグして指定し、とりあえず初期値のまま “Save to pCash file…” を押してBakeする。(一旦、objと同階層にbake)

Point Cashとは?
バーテックスのデータを画像データに焼いたもの。
Cash とは?
事前計算して再利用できるようにしたデータ全般をキャッシュと呼ぶ傾向があると思う。
シミュレーション結果などを再計算しなくても再利用可能にしたものが、Point Cash や、Vertex Cash などと呼ばれている様子。
(フーディニ等でパーティクルの挙動を物理シミュレーションし、その結果をキャッシュしておく など)

VFXgraphで、
空白部分を右クリック > Create Node > “Point Chash” と打ち込んで選択し、アトリビュートを作成する。
MonkeyのPointCash を drag & drop する。

PointCashのデータを入れると、
PointCount(頂点数)、AttributeMap:position(テクスチャにBakeされたポジションのデータ)、AttributeMap:normal など、Bakeされたデータの項目が現れ、取り出せるようになる。

■ Point Cash を ParticleSystemの初期座標として使う
Initialize Particle に set position From Map(MapからAttributeMapからpositionを拾い出してきてparticleの座標としてセットする)というブロックを置き、これをPoint Cash の AttributeMap:position とつなげると使用できるようになる。
(形がわかりにくい場合は、いったん粒の数を増やしてみる。Spawn の Constant Spawn Rate を 10 → 10000にしてみる)

■ Billboardをカメラ正対にする
横から見たときに板が横を向いてしまうので、
Output Particle Quad に Orient:Face Camera Plane を入れるとカメラ正対し、横から見ても見た目が保たれます。

Point Mesh 補足
元のBlenderMonkeyの頂点数より多くの粒が出ている。
これはBake tool のなかの Point Count の数を多く設定し、Distribution:Random Uniform Area(polygon の三角形1枚1枚にランダムに分散) などの設定で頂点数を増やしているものと思われる。
これで、Mesh表面に一様に発生点が広がる。
(ただし、法線に関しては元のMeshからまま拾っているようなので、ある程度細かく割られたmeshのほうが良い。)
■ mesh の法線方向を使用する
Initialize Particle に set Direction From map のブロックを置く。
PointCashの Attribute Map:normal から set direction From map のAttribute Map に線をつなぐ。
inspector のcompositionを Direction → Velocity にすると、法線方向に移動するようになる。
(↓ 置き換え)
Initialize Particle に set Velocity From map のブロックを置く。
PointCashの Attribute Map:normal から set direction From map のAttribute Map に線をつなぐと、法線方向に移動するようになる。
このように名称が定まっているものもあれば、検索に出てこないものもある。
そのためデータを簡略化するためには、ブロックを作成してからinspectorも調整する必要がある。
■ 寿命をつける
このままだと無限に出続けてしまうため、
Initialize Particle に set lifetime Random(Uniform) のブロックを入れ、A:2 ~ B:3(2~3秒間で消える)という設定にしてみる。
  • B:set Velocity From map → set Direction From map に戻す。
    get Direction のAttributeをつくり、Update の中にsetVelocity を作り、つなぐ。
    この状態では動きは元のまま変わらない。
  • A:sample curve のAttributeを作る。
    これで自由に設定したカーブをサンプルして値として使うことができる。
    これに対し、Age Over Lifetime のAttributeを作り、sample curveのTimeにつなぐ。
    こうすることで、パーティクルが生まれたとき0で死ぬときに1っていうふうな時間の推移を指示することができる。

この2つのAttributeをmultiply(掛け算)のそれぞれA・Bに入れ合わせ、Update の中のsetVelocity に繋ぎ直すと、Lifetimeの推移での動きが加わる。
SpawnがConstantSpawnRateだと常にparticleが発生しているためメリハリがないため、発生の仕方を変える。
PeriodicBurst にし、発生しては飛んでいく感じに変えてみる。
┗ Count:1000 / Delay:2 → 2秒おきに1000個のparticleが発生
ただし、initialize Particle のCapacityを多くしておかないと発生できなくなるため、増やしておく。

この状態だとコンパイルした(発生命令から実行に移った)後 0~2秒までparticleが発生しないため、Spawnの最上位にsingleBurstのブロックを置き、補完する。
┗ Count:1000 / Delay:0 → 開始から0秒の時に1000個のparticleが発生

また、Bounds(バウンディングボックス )が小さいとカメラから少し外れただけで消えてしまうため、大きめのエフェクトを作る際はとりあえず大きくしておくとよい。
(完成してゲームで使う際は、視界外にある時は描画する必要がないためなるべく小さい値にしたほうが良い。)

■ Particle毎のばらつきを与える。
RandomNumber というAttribute をmultiplyの3項目(Bの下、適用前は空白の丸)につなぐ。
min / maxに差をつけると、Random性が出る。

元となったMeshが、ややポリゴンが荒く平面的なため、法線に沿って飛ぶ際に平面感が出てしまっている。
Initialize Particle に Add Direction を足し、inspectorの Random をPar Componentにする。
min / max を -1 -1 -1 / 1 1 1 とするとランダムに飛散するようになる。
このようにすべての絶対数が同じときは、float という Attribute で 1 という数値を指定し、min を指定する方にはNegate(-x)(float)をかませて繋ぎ、maxの方にはそのままつなぐと、-1 -1 -1 / 1 1 1 と同じRandomを指定したことになる。

■ アルファを加えて消していく
Output Particle Quad に SetAlphaOverLifetime というブロックを追加する。
(OutputではなくUpdateの方に入れてもよい。)

■ 色をばらけさせる
Output Particle Quad に Set Color Random from Gradientというブロックを追加する。
Alphaは別で設定しているため、ここではColorMode:Color にして色だけを設定する。
Gradationの面積によって確立が変わるため、赤~オレンジをメインにし、青の範囲を狭めることで、低い確率で青が出るようになる。
(ここまでは StartColorのRandomGradation と一緒、sample Modeを OverLife にするとColorOverLifetimeと同じになる。)

HSVを使用して色を指示するのも便利です。
HSV to RGB というAttributeを作る。(色表現を HSV から RGB に変換してくれるもの。)
X:Hue・色相
Y:Saturation・彩度
Z:Value・明度
とりあえず作業前は 1 1 1 に設定しておく。

■ 再生されてからの時間で、発生する粒の色を変える
Total Time というAttributeを作ります。
色相は 0 – 1 の間で与えないといけないため、Fractional を間に挟み、HSVtoRGBの X につなぐ。
これをSetColorのBlockにつなぐと、発生する色がStartColorに合わせて動く。
・表示部分(Rendering。前に置いた Set Color Random from Gradient)においてしまうと、すべての色が一様に変えられてしまうため
・発生したときに1回だけ変わるようにするためには、
Initialize Particle に Set Color Random from Gradient を置き、
粒の発生サイクル と 色繊維サイクルが同期しないように、Multiplyを挟み(Multiplyを作成し、Total time からの腕をMultiplyのAにつなげる)、Bに適当な乱数を入れてFractionalに返す。
Output Particle Quad にある Set Color の inspector のcomposition がoverwriteだと上書きされてしまうため、multiply などにする。

■ 原点からの距離で粒の色を変える
SetColorを消す(Fractionalからはそのまま使う。)
Get Attribute:Position を作成し、Distance を挟み Fractionalにつなぐ。

後半:particle Stripの使い方(トレイル)

1:43:30頃から後半開始。

ParticleStripは発生させたparticle同士を線でつなぐことができる機能。

■ Particle Stripを出す基本手順
一旦、決まりきった手順と思ってやってください。
このアップデートパーティクル(パーティクルをアップデートする処理)の中で、イベントを発生させます。
Trigger Event Rate (OverTime)のブロックを追加し、秒間 何回のイベントを発生する というのをここで定義することができる。
60フレームぐらいで動いてるので、秒間 60 回のイベントを発生させるよう入力する。
このEventの右手を出し、GPUイベントをつなげる。
GPUEvent といって、イベントの受け口を作ります。
このイベントが発生したら、パーティクルがイニシャライズされるというふうに、下から手を出しinitialize Particle を繋げてあげ、これのinspectorのdata type をparticle Strip にすることで、initialize particle Strip になる。
Strip Capacity というのは、点と点をつなぐ線が何本まで表示できるかというキャパシティで、
Particle per Strip Count は、その1本の線の中に何個までパーティクルが存在しうるかというふうなキャパシティをそれぞれ別々に設定できるようになっています。
一旦、元となるパーティクルの

  • initialize のCountを1000個に、
  • Spawn数を、500 の2秒サイクルくらいに

制限しておく。
あまり大量に発生させると重くなると思うので少し減らしておく。
なので、こちらでは1,000本のStripを扱うようにして、パーティクルのカウントは1本あたり、多分500個ぐらいは使えれば十分だと思うんですよね。
こんなふうにスリップのキャパシティを設定してあげます。
ここでこのイベントが発生したときのパーティクルのポジションというのをinitialize Particle Stripに引き継がせます。
これはInherit source position(unity6からは、Inheritという単語が存在しない) っていうノードをここに置くことによって、親のパーティクルのポジションをここにコピーすることができる。
生存期間を適当に setLifetime で 2秒 を設定する。
この下に Update Particle Strip をつなげ、最後に下にOutput Particle Strip line にすると、particleの移動に沿って軌跡がトレイルとしてつくことができる。
大体どんな使い方をしようとしても、ParticleStripはparticleの軌跡に出すことになると思うのでこの形になると思います。
ここから、initializeに InheritSourceColorを入れて親の色を軌跡に継承してみたりできる。
動きがつまらない場合は、UpdateParticleStripにTurbulenceを加え、出てきた軌跡がさらにアニメーションするなども可能。
そのまま消えるのが良くない場合は、OutputにmultiplyColorOverLife を入れ、白から黒に変わるようなGradationを入れる。

再説明。
元のParticleが動き、秒間60(ほぼ毎フレーム)イベントが発生。
それがsplitにコピーされ、コピーされた点を結んだ線となってRenderingされる。
コピーされた点はLifetimeで消えていくが、この秒数が大きくなればなるほどCapacityが必要になってくる。
そのCapacityを決めているのが、Particle per Strip Count。
Strip Capacityで線の本数、
線の中に何個Particleが存在できるかを決めるのがParticle per Strip Countで、
initialize Particle Strip の中で 1000×500 のParticleを管理している。
容易にデータが大きくなるので、ここの数値を増やしすぎないように注意が必要。
StripのRenderingはいくつか用意があり、
Output Particle Strip Quad にすると、幅を持ったラインで表現することもできる。
Set size を足して、太さの操作もできる。
テクスチャも変えられる。
Output Particle Strip Quadは、カメラの方を向いたラインを自動的に生成するため、どんなカメラ方向でも矛盾しない形で太さを持ったラインを引いてくれる。
Output Particle Strip Lit Quad にすると、ディレクショナルlightの方向や、Point light の位置で光を反映させたりすることができる。
Metallicやsmoothnessがはんえいできるため、金属みのあるリボンなども表現できる。
inspectorの cast shadows を入れれば、影の落ちた状態を作れる。
(PointLightのshadow map のEnableをOnにする)
inspectorのnormal Bending をOnにすると、見た目がチューブ状になるように法線を曲げてくれる。

KeijiroがVFXGraphのテストベットとして使っているリポジトリがある。

GitHub - keijiro/VfxGraphTestbed: My testbed for Unity VFX Graph
My testbed for Unity VFX Graph. Contribute to keijiro/VfxGraphTestbed development by creating an account on GitHub.

ここに、いくつかのサンプルを上げてあるため、使い方の例になる。

動画内の質疑応答まとめ

前半~休憩

質問:Outputにメタリックなどは使える?
→ 使える。
Output を Lit sphereにしてみる → 光の影響を受けず、黒い丸が出る
sceneのhierarchyにDirectional light を置く → 光の影響を受け、色が顕示される。
この状態であれば、SmoothnessやMetallicなどを使うことができる。

質問:ドキュメントが拡充されていない
→ 翻訳が追い付いていないので、英語のものをいったん翻訳しながら学習してください。
ウェブから入ったときに古いバージョンが表示されてしまうが、画面上部の青いボタンの”View latest version”を押すと最新のバージョンに切り替わる。

質問:nodeの整列はできる?
→ ない。スナップ等もない。
また、項目数が変わるとずれるため、たぶんなかなか作られない。
そのため、ある程度設定が固まったらグループ化・SUBGraph化(項目を選択し、Convert To Subgraph Operatorで保存)して整理すると良い。

■ lifetimeの乱数を強くする
Set Lifetime Random from Curve にしてみる。
右上がりのlinearにするとRandomConstantとあまり変わらないが、
急激なカーブでLifetimeが極端に長いゾーンを狭い幅で作ったりすると、大きく見た目が変わってわかりやすい。

質問:unityのCurveはどうやって受け渡しているの?
unityの場合、Curveの受け渡しは1次元テクスチャにベイクして渡している。
数式の場合フーリエ変換と同じように制度に限度があるため、画像にベイクしている。
数式の方がコンパクトだが、係数等の関係で再現怒涛に制限が出やすいため、少しデータが増えてしまうが自由度の高い画像へのベイクを採用している。

質問:今の画面のPostProcessは何がかかっている?
→ BloomやTonemappingのほかに、Keijiro作の Streak というものがかかっている。
これは、横方向に光が伸びるもの。
アナモーフィックレンズフレア といって、映画とかで使われているカメラレンズを使うとフレアが横方向に伸びる現象があり、映像作りでとりいれる人が多いのでそういうカスタムエフェクトを作って入れている。
なので単純にブルームで光る以上に、横方向にピカピカと光るエフェクトがつけてありますという感じですね。

Keijiroが作るカスタムエフェクトの公開場所は、すべてKino

GitHub - keijiro/Kino: A collection of custom post processing effects for Unity
A collection of custom post processing effects for Unity - keijiro/Kino

というリポジトリに入れている。
これのほかに、グリッチFxなどもある。

質問:カスタムのHLSLのコードをノードとして使うことはできますか?
→ できるが、やらない方が良い。
Updateされた際に置換が手間なため、SubGraphを利用した方が良い。

質問:Set old position というAttributeはどう使うの?
→ 使わない。使い道はない。
1f前のポジションを使うことができる機能がだ、Setする意味がない。
また、custom Attribute 等があるため、OldPositionをこねくりまわして変数に使ったりはしない。
そのため、見る専用で使うことのないAttributeで、使い場所はない。

質問:SDF(Signed Distance Fields)をベイクするとき、いびつな形でベイクされてしまいますが、対処法は?
→ まず解像度を上げる、それで正しく出せるのであればそこから適切な解像度まで下げていく。
フーディニでDistanceFieldをベイクするときの話だと思うが、https://github.com/keijiro/VectorFieldExamplesのGifにあるように、フーディニ上でディスタンスフィールド焼き付けてVFXグラフで使うということができます。
ぶっちゃけ解像度を上げれば綺麗になるので、ディスタンスフィールドのボリュームデータの解像度を上げてくというのが回答になると思う。
ただし、解像度を上げれば上げるほどデータ構造が大きくなっていくので、むやみに上げることもできない。

質問:公式でSDFをベイクするツールを提供する予定はあるか?
→ フーディニのプラグインは配っている。unity上でベイクするツールは今のところ公式では予定していない。

質問:エフェクトの逆再生はできる?
→ 現状はできない。

質問:機能リクエストの方法は?
→ 各機能のフォーラムに質問スレッドがあるため、そこを使うのが良い。

質問:はじめてFxを置くと黒くなってしまうがどうしたら良い?
→ プロジェクトを作り、シーンを作り、シーンにdefaultのVFXGraphを置いてみても何も出ていないor真っ黒であれば、何かがバグっているため手順を見直してください。

質問:Particle同士の距離を計算することはできる?
→ できないと言っておく。
ParticleStripを除き、前に生まれたり隣にいるものなどを認識して挙動を変えるなどはできない。

質問:VFXGraphのカラー情報をShaderGraphに渡す方法が知りたい
→ GetColorからしてShaderGraphの引数に入れ直してください。
まず、ビジュアルエフェクトグラフでシェーダーグラフを使うことができます。
作り方は Create > Shader > VFXShaderGraph を選択し、ビジュアルエフェクトの中で使うシェーダーを定義することができる。
例えば、
カラーとかを作ってあげて、カラーを出力するだけの簡単なシェーダーを作ります。
これをVFXGraphのエフェクトで使おうと思ったら、作ったシェーダーグラフをOutputParticleQuadのShaderGraphに入れると、適用されて使えるようになる。
ここにパーティクルのカラーの情報を渡そうと思ったら、ちょっと面倒くさいが、一旦GetColorとかで現在のパーティクルの色情報を取得して、さっき作ったプロパティ(ShaderGraphを入れたブロックのColorにつなぐ)に入れてもらう必要がある。
これをしたうえで、Initialに SetColorRandom from Gradientなどを設定すれば、カラーが反映される。

やらせ質問:おすすめの椅子は?
→ スチールケースのオフィスチェアをunityで使っている。

Steelcase 日本公式 オンラインショップ
Steelcaseは100年以上にわたり、家具、デザイン、建築およびテクノロジーの分野で革新的なソリューションを創造し、私たちの生活や仕事のあり方を変え、人間の可能性を引き出してきました。

高い椅子に座ると、グレードを落とすと勝てない。

後半~ラスト

質問:ユナイト東京2019でおっしゃっていた、自作で2次元テクスチャーにレイクスればいろいろ作れるというお話があったんですが、ベイクするテクスチャーの使用はどこを見ればわかるでしょう?
→ BAKEする手順については、

https://github.com/keijiro/Smrvfx の中のskinned mesh

を参考にするとよい。
のアニメーションしてるモデルの頂点情報を、テクスチャーにBAKEしてVFXグラフの中で使うっていうサンプルなんですが、テクスチャーにBAKEして渡す系のプラグインとしては一番これが単純な構造をしてると思います。
実際にsourceを見てみると、

  1. 本体のスクリプト:SkinnedMeshBaker.cs
  2. ユーティリティ:Utility.cs
  3. コンピュートシェーダー:SkinnedMeshBaker.compute

で構成されていて、すごくシンプルにできているので、このソースコードを見て実際どういうことをやってるのかっていうのを把握してもらうのが一番参考になると思います。

GitHub - keijiro/Smrvfx: Skinned mesh sampling with VFX Graph
Skinned mesh sampling with VFX Graph. Contribute to keijiro/Smrvfx development by creating an account on GitHub.

質問:Android向けのVFXグラフの動作は対応チップのコンピュートshaderの対応有無によってしまうのでしょうか?
→ VFXグラフのバージョンアップの度に試してはいるものの、少し古めの手持ちの端末では全く動作しません。
一応理屈としては、コンピュートシェードが動くスペックのAndroid端末であれば動きますよというふうに言ってはいるんですけれど、実際問題としては、やはりおっしゃられてるように動かない端末動かない環境っていうのが存在してしまっているようです。
将来的はその辺の問題も解決して、コンピュートシェーダーが動く端末であればここまでのビジュアルエフェクトは使えますという情報をまとめたいと思ってる。
(iOSは検証がしやすいため知見もたまっているが、androidは世界が広すぎて断定がしづらく対応が遅れがち)

質問:普通のParticleは1ポリで書いていると思うが、LineStripはどう描画されている?
→ scene viewのワイヤーフレームで見てみると、Particle1個1個が短冊1個1個を世話していてそれをStrip状につないでいっている感じ。
これで、カメラ方向を常に向くようにVFXGraphでお世話してくれている。

質問:ノードを置いていく際に、どのノードがどのくらいのパフォーマンスを食うというかの目安はあるんでしょうか?何かプロファイラーで見るとか。
→ 撮影当時は用意されていないが準備中。
at / set / Multiply / give などの基本的なオペレーションに関しては、ほとんど負荷は発生していない認識で良い。
一番負荷を発生させやすいのはnoiseのため、noiseを使用した複雑なシステムをなん十個も並べると思いだろうが、他はあまり気にしなくても良い。

Unity6の中にあるsampleを翻訳

Contexts & Data Flow

This VFX is intended to provide an overview and basic understanding of how data flow is articulated in VFX Graph.
It also presents an overview of the most frequently used Context Blocks.

Covered Aspects:

  • Data Flow
  • Context Block

↓ 【直訳(Google翻訳)】

コンテキストとデータフロー

この VFX は、VFX Graph でデータ フローがどのように表現されるかについての概要と基本的な理解を提供することを目的としています。
また、最も頻繁に使用されるコンテキスト ブロックの概要も示します。

対象とする側面:

データ フロー
コンテキスト ブロック

Spawn Context

This VFX is intended to provide information related to the Spawn Context.
What is the Spawn Context, what options can be found in the inspector
but also extra informations like:
 What are Spawn Event Attributes?
 How to setup Spawn Event Attributes?
 What is the Spawn State Operator.

Covered Aspects:

  • Spawn Context
  • Spawn Event Attributes
  • Spawn State

↓ 【直訳(Google翻訳)】

スポーンコンテキスト

この VFX は、スポーン コンテキストに関連する情報を提供することを目的としています。
スポーン コンテキストとは何か、インスペクターにはどのようなオプションがあるか
また、次のような追加情報もあります:
スポーン イベント属性とは何か?
スポーン イベント属性の設定方法?
スポーン状態演算子とは何か。

対象とする側面:

  • Spawn Context(スポーン コンテキスト)
  • Spawn Event Attributes(スポーン イベント属性)
  • Spawn State(スポーン状態)

Capacity Count

Capacity Count is used for the particle Memory allocation of a system.
Increasing this number will increase the memory allocated.
This capacity can be seen as the max active particles.it’s a good practice to keep this number as close as possible to the Maximum alive particles.
This VFX explains what capacity is and how to use the VFX Control to set the Capacity.

Covered Aspects:

  • Capacity
  • Memory allocation
  • VFX Control

↓ 【直訳(Google翻訳)】

容量数

容量カウントは、システムのパーティクル メモリ割り当てに使用されます。
この数値を増やすと、割り当てられるメモリが増加します。
この容量は、最大アクティブ パーティクル数と見なすことができます。この数値を最大アクティブ パーティクル数にできるだけ近づけておくことをお勧めします。
この VFX では、容量とは何か、および VFX コントロールを使用して容量を設定する方法について説明します。

対象とする側面:

  • Capacity(容量)
  • Memory allocation(メモリ割り当て)
  • VFX Control(VFX コントロール)

Multiple Outputs

The output context is where everything related to the rendering part of particles is done.
You can render particles as billboard quads, meshes, points, decals, etc…
This VFX Graph shows how you can add several outputs to render each particle multiple times.

Covered Aspects:

  • Output Context
  • Composition Mode

↓ 【直訳(Google翻訳)】

複数の出力

出力コンテキストは、パーティクルのレンダリング部分に関連するすべての処理が行われる場所です。
パーティクルをビルボード クワッド、メッシュ、ポイント、デカールなどとしてレンダリングできます。
この VFX Graph は、複数の出力を追加して各パーティクルを複数回レンダリングする方法を示しています。

対象とする側面:

  • Output Context(出力コンテキスト)
  • Composition Mode(コンポジション モード)

Bounds

The Bounds are used to cull the VFX when it’s not in the camera frustum.
Bounds can be manually or automatically set.
The VFX Bound is the cumulative Bounds of each System within a VFX Graph.
In this example, the Bounds aren’t properly set up, so the particles aren’t rendering correctly.
Don’t hesitate to open the VFX to correctly set the Bounds.

Covered Aspects:

  • Bounds
  • Culling

↓ 【直訳(Google翻訳)】

境界

境界は、カメラのフラスタム内にないときに VFX をカリングするために使用されます。
境界は手動でも自動でも設定できます。
VFX 境界は、VFX グラフ内の各システムの累積境界です。
この例では、境界が適切に設定されていないため、パーティクルが正しくレンダリングされません。
境界を正しく設定するには、ためらわずに VFX を開いてください。

カバーされている側面:

  • Bounds(境界)
  • Culling(カリング)

Orient Face Camera

Whether the output is set to quads, meshes, or even strips, we often want to control how the geometry is oriented on a particle.
Should it face the camera?
What is the forward and/or up-axis?
The Orient Block helps us to easily orient our particles with its various modes.
In this example, we’re using the Face Camera Position mode, which will ensure that the particles are always facing the Camera position.

Covered Aspects:

  • Orient
  • AxisX AxisY AxisZ

↓ 【直訳(Google翻訳)】

オリエントフェイスカメラ

出力が四角形、メッシュ、またはストリップのいずれに設定されている場合でも、パーティクル上のジオメトリの向きを制御する必要があることがよくあります。
カメラに面する必要がありますか?
前方軸と上軸は何ですか?
Orient ブロックは、さまざまなモードでパーティクルの向きを簡単に設定するのに役立ちます。
この例では、Face Camera Position モードを使用しており、パーティクルが常にカメラの位置を向くようにします。

カバーされている側面:

  • Orient(方向)
  • AxisX AxisY AxisZ(軸X 軸Y 軸Z)

Orient Fixed Axis

Whether the Output is set to Quads, Meshes, or even Strips, we often want to control how to orient the geometry on a particle.
Should it be facing the camera?
What is the forward or Up-Axis?
The Orient Block helps us to easily orient our particles, as it comes with several modes.
This example shows how to use the Fixed Axis mode.

Covered Aspects:

  • Orient
  • AxisX AxisY AxisZ
  • Custom Attribute

↓ 【直訳(Google翻訳)】

固定軸の方向

出力が四角形、メッシュ、またはストリップのいずれに設定されている場合でも、パーティクル上のジオメトリの向きを制御する必要があることがよくあります。
カメラに面する必要がありますか?
前方軸または上軸とは何ですか?
方向ブロックにはいくつかのモードが用意されているため、パーティクルの向きを簡単に設定できます。
この例では、固定軸モードの使用方法を示します。

カバーされている側面:

  • Orient(方向)
  • AxisX AxisY AxisZ(軸X 軸Y 軸Z)
  • Custom Attribute(カスタム属性)

Orient Advanced

Whether the Output is set to Quads, Meshes, or even strips, we often want to control how to orient the geometry on a particle. Should it be facing the camera?
What is the forward or Up-Axis?
The Orient Block helps us to easily orient our particles as it comes with many handy modes.
This example shows how to use the Advanced Mode.

Covered Aspects:

  • Orient
  • AxisX AxisY AxisZ

↓ 【直訳(Google翻訳)】

オリエントアドバンス

出力が四角形、メッシュ、またはストリップのいずれに設定されている場合でも、パーティクル上のジオメトリの向きを制御する必要があることがよくあります。
カメラに面する必要がありますか?
前方軸または上軸とは何ですか?
Orient ブロックには多くの便利なモードが付属しているため、パーティクルの向きを簡単に設定できます。
この例では、詳細モードの使用方法を示します。

カバーされている側面:

  • Orient(方向)
  • AxisX AxisY AxisZ(軸X 軸Y 軸Z)

Rotation & Angle

It’s often really useful to be able to rotate particles.
This VFX shows how to rotate particles thanks to the Angle attribute.

Covered Aspects:

  • Rotation
  • Angle attribute
  • Pivot attribute

↓ 【直訳(Google翻訳)】

回転と角度

パーティクルを回転できると非常に便利なことがよくあります。
この VFX は、角度属性を使用してパーティクルを回転する方法を示しています。

対象とする側面:

  • Rotation(回転)
  • Angle attribute(角度属性)
  • Pivot attribute(ピボット属性)

Rotation & Angular Velocity

The Particle’s rotation can be controlled by setting the angle attribute.
To get more realistic behavior, you can also, like in this example, use the angular velocity.
This attribute is usually set in the Initialize Context, and then, the Update Context is responsible for integrating this angular velocity to update the rotation.

Covered Aspects:

  • Angular Velocity
  • Angle
  • Update Rotation

↓ 【直訳(Google翻訳)】

回転と角速度

パーティクルの回転は、角度属性を設定することで制御できます。
よりリアルな動作を得るには、この例のように、角速度を使用することもできます。
この属性は通常、初期化コンテキストで設定され、その後、更新コンテキストがこの角速度を統合して回転を更新します。

カバーされる側面:

  • Angular Velocity(角速度)
  • Angle(角度)
  • Update Rotation(回転の更新)

TexIndex Attribute

It’s quite common for VFX artists to rely on sprite sheets.
This VFX shows how to use UVs options in the Output to use a sprite sheet.
It also explains how to set up the Flipbook Settings and its relationship with the texindex attribute.

Covered Aspects:

  • TexIndex Attribute
  • UVS Mode
  • Flipbook

↓ 【直訳(Google翻訳)】

TexIndex 属性

VFX アーティストがスプライト シートに頼るのはよくあることです。
この VFX では、出力の UV オプションを使用してスプライト シートを使用する方法を示します。
また、フリップブック設定の設定方法と、その設定と texindex 属性の関係についても説明します。

対象とする側面:

  • TexIndex Attribute(TexIndex 属性)
  • UVS Mode(UVS モード)
  • Flipbook(フリップブック)

Flipbook Mode

This VFX shows how to set up the UVs mode of the Output to Flipbook to use a Sprite sheet.
It also shows the differences of using Flipbook Blend Frames and a basic usage of the Flipbook Player Block.
Flipbook Blend Frames setting allows interpolation between the frames.
This can help to get smoother looking animation.

Covered Aspects:

  • Flipbook Player
  • UVS Mode
  • TexIndex Attribute

↓ 【直訳(Google翻訳)】

フリップブックモード

この VFX では、スプライト シートを使用するために、Flipbook への出力の UV モードを設定する方法を示します。
また、Flipbook ブレンド フレームの使用の違いと、Flipbook プレーヤー ブロックの基本的な使用法も示します。
Flipbook ブレンド フレーム設定により、フレーム間の補間が可能になります。
これにより、より滑らかなアニメーションを実現できます。

対象とする側面:

  • Flipbook Player(Flipbook プレーヤー)
  • UVS Mode(UVS モード)
  • TexIndex Attribute(TexIndex 属性)

Flipbook Blending

This VFX illustrates the differences between a traditional frame blending and a frame blending using motion vectors.
Motion vector blending uses a texture to describe the pixel displacement between two frames.
This allows for a very smooth transition between frames, which can be extremely useful for reducing the number of frames in a flipbook or for doing slow-motion.

Covered Aspects:

  • Flipbook Player
  • UVs Mode
  • TexIndex Attribute

↓ 【直訳(Google翻訳)】

フリップブックブレンディング

この VFX は、従来のフレーム ブレンディングとモーション ベクトルを使用したフレーム ブレンディングの違いを示しています。
モーション ベクトル ブレンディングでは、テクスチャを使用して 2 つのフレーム間のピクセル変位を記述します。
これにより、フレーム間の非常にスムーズな遷移が可能になり、フリップブックのフレーム数を減らしたり、スローモーションを実行したりするのに非常に役立ちます。

対象とする側面:

  • Flipbook Player(フリップブック プレーヤー)
  • UVs Mode(UV モード)
  • TexIndex Attribute(TexIndex 属性)

TexIndex Advanced

This complex VFX is composed of several systems that are playing with the texindex attribute creatively.
Time, noise, and even particle position are used to control the texindex attribute and give life to this VFX.

Covered Aspects:

  • Flipbook UVs
  • TexIndex Attribute
  • Flipbook Player

↓ 【直訳(Google翻訳)】

TexIndex アドバンス

この複雑な VFX は、texindex 属性をクリエイティブに操作する複数のシステムで構成されています。
時間、ノイズ、さらにはパーティクルの位置を使用して texindex 属性を制御し、この VFX に命を吹き込みます。

対象とする側面:

  • Flipbook UVs(フリップブック UVs)
  • TexIndex Attribute(TexIndex 属性)
  • Flipbook Player(フリップブック プレーヤー)

Pivot Attribute

The pivot attribute controls where the output render is instantiated regarding the particle position.
By default, the pivot is centered on the Particle’s Position.
But you can offset it on any axis (XYZ). Offsetting the pivot can be extremely helpful as it can lead to appealing motion when doing scaling or rotation.

Covered Aspects:

  • Pivot Attribute
  • Angle attribute

↓ 【直訳(Google翻訳)】

ピボット属性

ピボット属性は、パーティクルの位置に関して出力レンダリングがインスタンス化される場所を制御します。
デフォルトでは、ピボットはパーティクルの位置を中心に配置されます。
ただし、任意の軸 (XYZ) にオフセットできます。ピボットをオフセットすると、スケーリングや回転を行うときに魅力的な動きが得られるため、非常に役立ちます。

カバーされている側面:

  • Pivot Attribute(ピボット属性)
  • Angle attribute(角度属性)

Pivot Advanced

Controlling the Pivot of a particle is a key aspect to unlocking interesting motion.
This VFX gives an example of Pivot manipulation.
Here the petals, leafs and spikes of the flower are all particles.
The Pivot attribute is controlled and sometimes animated to be able to properly locate and animate the particles.
This example also demonstrates the Shader Graph integration and how you can control a Shader Graph through VFX Graph.

Covered Aspects:

  • Pivot Attribute
  • Shader Graph integration
  • Activation Port

↓ 【直訳(Google翻訳)】

ピボットアドバンス

パーティクルのピボットを制御することは、興味深い動きを実現するための重要な要素です。
この VFX は、ピボット操作の例を示しています。
ここでは、花びら、葉、花穂はすべてパーティクルです。
ピボット属性は制御され、パーティクルを適切に配置してアニメーション化できるようにアニメーション化されることもあります。
この例では、シェーダー グラフの統合と、VFX グラフを通じてシェーダー グラフを制御する方法も示しています。

カバーされている側面:

  • Pivot Attribute(ピボット属性)
  • Shader Graph integration(シェーダー グラフの統合)
  • Activation Port(アクティベーション ポート)

Sample Mesh

This VFX gives an example of how to sample a Mesh to spawn particles on its surface and inherit its Vertex Color of the Mesh.
Ambient Occlusion has been baked into the vertex color of the Mesh and is used to set the particle’s color

Covered Aspects:

  • Mesh Sampling
  • Sample Mesh Operator

↓ 【直訳(Google翻訳)】

サンプルメッシュ

この VFX は、メッシュをサンプリングしてその表面にパーティクルを生成し、メッシュの頂点カラーを継承する方法の例を示します。
アンビエント オクルージョンはメッシュの頂点カラーにベイクされており、パーティクルの色を設定するために使用されます

カバーされている側面:

  • Mesh Sampling(メッシュ サンプリング)
  • Sample Mesh Operator(サンプル メッシュ オペレーター)

Sample Texture2D

This VFX demonstrates how to use the texture2D sample operator to determine the color of particles and perform rejection sampling.
We spawn particles in a 2D grid fashion and use their XY coordinates to sample the texture.
We then kill the particles based on a threshold value of the sampled texture values.

Covered Aspects:

  • Texture2D Sample Operator
  • Alive attribute
  • Rejection Sampling

↓ 【直訳(Google翻訳)】

サンプルテクスチャ2D

この VFX は、texture2D サンプル演算子を使用してパーティクルの色を決定し、拒否サンプリングを実行する方法を示しています。
パーティクルを 2D グリッド形式で生成し、その XY 座標を使用してテクスチャをサンプリングします。
次に、サンプリングされたテクスチャ値のしきい値に基づいてパーティクルをキルします。

対象とする側面:

  • Texture2D Sample Operator(Texture2D サンプル演算子)
  • Alive attribute(Alive 属性)
  • Rejection Sampling(拒否サンプリング)

Sample Signed Distance Field (SDF)

A signed distance field (SDF) is a technique used to efficiently represent the shape and contours of 2D or 3D objects. It allows us to calculate the distance from any point in space to the nearest point on the object’s surface.
This VFX demonstrates how to sample an SDF to have particles crawling on the surface of a mesh.
Note that an SDF Baker tool is provided:
Window->Visual Effects->Utilities->SDF Bake Tool

Covered Aspects:

  • SDF Sample Operator
  • Conform to SDF
  • Strip/trails

↓ 【直訳(Google翻訳)】

サンプル符号付き距離場 (SDF)

符号付き距離フィールド (SDF) は、2D または 3D オブジェクトの形状と輪郭を効率的に表現するために使用される手法です。これにより、空間内の任意の点からオブジェクトの表面上の最も近い点までの距離を計算できます。
この VFX は、SDF をサンプリングしてメッシュの表面上をパーティクルが這うようにする方法を示します。
SDF ベイク ツールが提供されていることに注意してください:
ウィンドウ -> ビジュアル エフェクト -> ユーティリティ -> SDF ベイク ツール

カバーされている側面:

  • SDF Sample Operator(SDF サンプル オペレーター)
  • Conform to SDF(SDF に準拠)
  • Strip/trails(ストリップ/トレイル)

Sample Skinned Mesh

Sampling a skinned mesh enables you to get a lot of information from it, like surface position, vertex colors, UVs, Normals, Velocity etc.
This basic example shows how to sample a Skinned Mesh and spawn particles on its surface.
We’re also getting the UVs of the Skinned Mesh to sample the same texture that the Mesh is using so that we can drive where to spawn feathers on our creature’s back.

Covered Aspects:

  • SkinnedMesh Sample Operator
  • Texture2D Sample Operator
  • Set position SkinnedMesh

↓ 【直訳(Google翻訳)】

サンプルスキンメッシュ

スキンメッシュをサンプリングすると、表面の位置、頂点の色、UV、法線、速度など、多くの情報を取得できます。
この基本的な例では、スキンメッシュをサンプリングしてその表面にパーティクルを生成する方法を示します。
また、スキンメッシュの UV を取得して、メッシュが使用しているのと同じテクスチャをサンプリングし、クリーチャーの背中のどこに羽毛を生成するかを決定します。

対象とする側面:

  • SkinnedMesh Sample Operator(SkinnedMesh サンプル演算子)
  • Texture2D Sample Operator(Texture2D サンプル演算子)
  • Set position SkinnedMesh(SkinnedMesh の位置を設定する)

Collision Properties

As VFX Graph is simulating particles on the GPU, they cannot collide with regular Rigid Body Colliders.
But you can still make them collide with different geometry approximations like Boxes, Spheres, Cones, Planes or even complex shapes with the use of SDF and/or Depth Buffer. This VFX Graph, shows the use of a standard Collider Block and how the different Collision Properties like Bounce, Friction and/or Roughness can influence the collision response of the particles.

Covered Aspects:

  • Collision Properties
  • Collider Blocks

↓ 【直訳(Google翻訳)】

衝突プロパティ

VFX Graph は GPU 上でパーティクルをシミュレートするため、通常のリジッド ボディ コライダーと衝突することはできません。
ただし、SDF や深度バッファーを使用すれば、ボックス、球、円錐、平面、さらには複雑な形状など、さまざまなジオメトリ近似値と衝突させることは可能です。この VFX Graph は、標準のコライダー ブロックの使用方法と、バウンス、摩擦、粗さなどのさまざまな衝突プロパティがパーティクルの衝突応答にどのように影響するかを示しています。

対象とする側面:

  • Collision Properties(衝突プロパティ)
  • Collider Blocks(コライダー ブロック)

Collision Simple

As VFX Graph is simulating particles on the GPU, they cannot collide with regular Rigid Body Colliders.
But you can still make them collide with different geometry approximations like Boxes, Spheres, Cones, Planes or even complex shapes with the use of SDF and/or Depth Buffer.
This example shows you how to combine different collider blocks to get the desired results.

Covered Aspects:

  • Collision Properties
  • Collider Blocks
  • Boolean Port

↓ 【直訳(Google翻訳)】

衝突シンプル

VFX Graph は GPU 上でパーティクルをシミュレートするため、通常のリジッド ボディ コライダーと衝突することはできません。
ただし、SDF や深度バッファーを使用すれば、ボックス、球、円錐、平面、さらには複雑な形状など、さまざまなジオメトリ近似値と衝突させることは可能です。
この例では、さまざまなコライダー ブロックを組み合わせて目的の結果を得る方法を示します。

対象とする側面:

  • Collision Properties(衝突プロパティ)
  • Collider Blocks(コライダー ブロック)
  • Boolean Port(ブール ポート)

Collision Advanced

As VFX Graph is simulating particles on the GPU, they cannot collide with regular Rigid Body Colliders.
But you can still make them collide with different geometry approximations like Boxes, Spheres, Cones, Planes or even complex shapes with the use of SDF and/or Depth Buffer.
Sometimes using simple collision shapes isn’t enough to get a precise enough collision with the environment.
In this case, using SDF can be a good solution to approximate complex geometry like this sculpture of a hand.

Covered Aspects:

  • Collision Properties
  • SDF Collider

↓ 【直訳(Google翻訳)】

衝突高度化

VFX Graph は GPU 上でパーティクルをシミュレートするため、通常のリジッド ボディ コライダーとは衝突できません。
ただし、SDF や深度バッファを使用すれば、ボックス、球、円錐、平面、さらには複雑な形状など、さまざまなジオメトリ近似値と衝突させることは可能です。
単純な衝突形状を使用するだけでは、環境との衝突を正確に行うのに十分でない場合があります。
この場合、SDF を使用すると、この手の彫刻のような複雑なジオメトリを近似できる優れたソリューションになります。

対象とする側面:

  • Collision Properties(衝突プロパティ)
  • SDF Collider(SDF コライダー)

Trigger Event on Collide

This VFX is displaying an advanced usage of the Trigger Event on Collide block that allows us to spawn new particles when a particle collides. Dart particles are thrown at the dartboard.
When they collide, they instantaneously die and trigger different GPU Events.
Those GPU Events are used to spawn new particles, like the Springy darts or the UI Score particles, that all inherit attributes from their parent.

Covered Aspects:

  • Trigger Event on Collide
  • GPU Events
  • Source Attribute

↓ 【直訳(Google翻訳)】

衝突時にイベントをトリガー

この VFX は、衝突時に新しいパーティクルを生成できる、衝突時にイベントをトリガーするブロックの高度な使用法を示しています。ダーツ パーティクルはダーツボードに投げられます。
衝突すると、即座に消滅し、さまざまな GPU イベントがトリガーされます。
これらの GPU イベントは、Springy ダーツや UI スコア パーティクルなどの新しいパーティクルを生成するために使用されます。これらのパーティクルはすべて、親から属性を継承します。

対象とする側面:

  • Trigger Event on Collide(衝突時にイベントをトリガー)
  • GPU Events(GPU イベント)
  • Source Attribute(ソース属性)

Decal Particles

Decal is powerful tool that can add a lot of visual complexity to an environment.
We can use decals to project textures on the environment and even on dynamic objects or skinned meshes.
Output Decals allow you to render particles as decals and to project its properties onto a surface using a Base Color map (albedo), a Normal Map, or a Mask Map.
This example shows how to leverage the Output Decal to stick and project animated decals onto an animated skinned mesh renderer.

Warning:
For this feature to work in URP, make sure to add an Decal Renderer Feature in your URP Renderer Data file.

Covered Aspects:

  • Skinned Mesh Position
  • Output Decals HDRP
  • Output Decals URP

↓ 【直訳(Google翻訳)】

デカール粒子

デカールは、環境に視覚的な複雑さを大幅に追加できる強力なツールです。
デカールを使用して、環境や動的オブジェクト、スキンメッシュにテクスチャを投影できます。
出力デカールを使用すると、パーティクルをデカールとしてレンダリングし、ベースカラーマップ (アルベド)、法線マップ、またはマスクマップを使用してそのプロパティをサーフェスに投影できます。
この例では、出力デカールを活用して、アニメーション化されたデカールをアニメーション化されたスキンメッシュレンダラーに貼り付けて投影する方法を示します。

警告:
この機能を URP で動作させるには、URP レンダラーデータファイルにデカールレンダラー機能を追加してください。

カバーされている側面:

  • Skinned Mesh Position(スキンメッシュの位置)
  • Output Decals HDRP(出力デカール HDRP)
  • Output Decals URP(出力デカール URP)

Strip Properties

You can use Strips, also known as Ribbons or Trails, to create a wide range of VFX.
The Strip Ouput Context and Strip particle data allow you to draw a quad between each particle. This example demonstrates a straightforward Strip setup. It explains the various strip properties and attributes that control its visual appearance and behavior.

Covered Aspects:

  • Strip Output Context
  • Particle Index in Strip
  • Particle Count in Strip
  • Strip Index

↓ 【直訳(Google翻訳)】

ストリッププロパティ

リボンまたはトレイルとも呼ばれるストリップを使用して、さまざまな VFX を作成できます。
ストリップ出力コンテキストとストリップ パーティクル データを使用すると、各パーティクルの間に四角形を描画できます。この例では、簡単なストリップ設定を示します。ストリップの外観と動作を制御するさまざまなストリップ プロパティと属性について説明します。

カバーされている側面:

  • Strip Output Context(ストリップ出力コンテキスト)
  • Particle Index in Strip(ストリップ内のパーティクル インデックス)
  • Particle Count in Strip(ストリップ内のパーティクル数)
  • Strip Index(ストリップ インデックス)

Strip Spawn Rate

There are several ways to spawn particles, and when dealing with strips, this can have some implications for how you need to set up your VFX.
This example shows you how to make a single trail out of a continuous spawn rate of particles.

Covered Aspects:

  • Strip Output Context
  • Strip Index
  • Attribute Locations

↓ 【直訳(Google翻訳)】

ストリップスポーン率

パーティクルを生成する方法はいくつかありますが、ストリップを扱う場合、VFX の設定方法に影響を及ぼす可能性があります。
この例では、パーティクルの連続生成レートから単一のトレイルを作成する方法を示します。

対象とする側面:

  • Strip Output Context(ストリップ出力コンテキスト)
  • Strip Index(ストリップ インデックス)
  • Attribute Locations(属性の場所)

Multi-Strip SpawnRate

There are several ways to spawn particles, and when dealing with strips, this can have some implications for how you need to set up your VFX.
This example shows you how to make multiple trails out of a continuous spawn rate of particles

Covered Aspects:

  • Strip Output Context
  • Strip Index

↓ 【直訳(Google翻訳)】

マルチストリップ スポーンレート

パーティクルを生成する方法はいくつかありますが、ストリップを扱う場合、VFX の設定方法に影響を及ぼす可能性があります。
この例では、パーティクルの連続生成レートから複数のトレイルを作成する方法を示します

対象とする側面:

  • Strip Output Context(ストリップ出力コンテキスト)
  • Strip Index(ストリップ インデックス)

Multi-Strip Single Burst

There are several ways to spawn particles, and when dealing with strips, this can have some implications for how you need to set up your VFX.
This example shows you how to make multiple trails with one single burst of particles.

Covered Aspects:

  • Strip Output Context
  • Strip Index

↓ 【直訳(Google翻訳)】

マルチストリップシングルバースト

パーティクルを生成する方法はいくつかありますが、ストリップを扱う場合、これは VFX の設定方法に影響を及ぼす可能性があります。
この例では、1 回のパーティクルのバーストで複数のトレイルを作成する方法を示します。

対象とする側面:

  • Strip Output Context(ストリップ出力コンテキスト)
  • Strip Index(ストリップ インデックス)

Multi-Strip Periodic Burst

There are several ways to spawn particles, and when dealing with strips, this can have some implications for how you need to set up your VFX.
This example shows you how to make a new trail for each periodic burst within a single system.

Covered Aspects:

  • Strip Output Context
  • Strip Index

↓ 【直訳(Google翻訳)】

マルチストリップ周期バースト

パーティクルを生成する方法はいくつかありますが、ストリップを扱う場合、これは VFX の設定方法に影響を及ぼす可能性があります。
この例では、単一のシステム内で周期的なバーストごとに新しいトレイルを作成する方法を示します。

対象とする側面:

  • Strip Output Context(ストリップ出力コンテキスト)
  • Strip Index(ストリップ インデックス)

Strip GPU-Event

There are several ways to spawn particles, and when dealing with strips, this can have some implications for how you need to set up your VFX.
Using GPU trigger events is often the most straightforward way of creating strips.
This example shows an example of a growing mushroom’s VFX, with the mushroom’s hat being particle meshes and the mushroom’s foot made with particle strips.

Covered Aspects:

  • Strip Output Context
  • Strip Index
  • Trigger Event Rate
  • GPU Events

↓ 【直訳(Google翻訳)】

GPUイベントの削除

パーティクルを生成する方法はいくつかありますが、ストリップを扱う場合、これは VFX の設定方法に影響を及ぼす可能性があります。
GPU トリガー イベントを使用するのが、ストリップを作成する最も簡単な方法であることがよくあります。
この例では、成長するキノコの VFX の例を示します。キノコの帽子はパーティクル メッシュで、キノコの足はパーティクル ストリップで作られています。

対象とする側面:

  • Strip Output Context(ストリップ出力コンテキスト)
  • Strip Index(ストリップ インデックス)
  • Trigger Event Rate(トリガー イベント レート)
  • GPU Events(GPU イベント)

Multi-StripsGPU-Event

There are several ways to spawn particles, and when dealing with strips, this can have some implications for how you need to set up your VFX.
This example illustrates how to circumvent the usual limitation that only permits the creation of one strip per parent’s particle when dealing with Trigger Events.
Each headphone jack is made of a particle mesh and spawns particles along its path.

Covered Aspects:

  • Strip Output Context
  • Strip Index

↓ 【直訳(Google翻訳)】

マルチストリップGPUイベント

パーティクルを生成する方法はいくつかありますが、ストリップを扱う場合、これは VFX の設定方法に影響を及ぼす可能性があります。
この例では、トリガー イベントを扱うときに、親のパーティクルごとに 1 つのストリップしか作成できないという通常の制限を回避する方法を示します。
各ヘッドフォン ジャックはパーティクル メッシュで構成され、そのパスに沿ってパーティクルを生成します。

カバーされている側面:

  • Strip Output Context(ストリップ出力コンテキスト)
  • Strip Index(ストリップ インデックス)
タイトルとURLをコピーしました