パーティクル
概要 今回はiPadやiPhoneに搭載されているLiDARセンサーから得られる深度情報を使って、立体的に点群位置を計算する方法について書いていきます。 具体的な動作は以下の動画をご覧ください。画面中央に表示されているのが、センサーから得られた情報を元に点…
概要 Meshの頂点をテクスチャにベイクする テクスチャの内容 Texture2Dに保存したPosition Mapをサンプリングする ターゲット位置に徐々に近づける ランタイムにデータをVFX Graphに送る まとめ 概要 今回はVFX Graphを使ってパーティクルをMeshにまとわりつ…
概要 そのVFX Graphの中にConform to Signed Distance FieldというBlockがあります。 SDFを活用することで表現力が向上するので、今回はそのコードを読んでSigned Distance Field、SDFがどういうふうに使われているのかを見ていきたいと思います。 実際に実…
概要 今回は1/7〜1/10にかけて開催されたCES2020でMESONが展示した『PORTAL』の中で、メインの演出となったパーティクルシステムについて書きたいと思います。 このパーティクルシステムの特徴は、指定したモデルグループの頂点位置にパーティクルをまとわせ…
はじめに 以前に、格子法を用いた2次元の流体シミュレーションについて概念編と実装編に分けて2つの記事を書きました。 しかし格子法は、その定義領域の範囲を越えてしまうと計算ができなくなってしまうという問題があります。特に今回は3Dに拡張し、AR/VR内…
概要 前回は流体シミュレーションの概念編を書きました。 edom18.hateblo.jp 今回は前回説明した内容を元に実際に実装したプログラムに関して解説していきたいと思います。 ちなみに実行したデモ動画はこちら↓ 前のやつ、ちょっと計算間違っていてちゃんと動…
はじめに 今回の実装をするにあたってナビエ・ストークス方程式を解いて実装していく必要があるのですが、正直、数学・物理としての正確な意味の理解や方程式のしっかりとした理解には至ってません。 式の内容やどういうことを行っているのかというのは理解…
概要 ComputeShaderを準備する コード システム全体で利用する構造体を定義する C#コード側でデータを準備し計算を実行する コンピュートシェーダで利用するものと同じレイアウトの構造体を定義する 各データ用変数を定義 データのセットアップ Indirect(間…
概要 前回の実装ではパーティクルはすべて常にアップデートされていた 連続してパーティクルをエミットする パーティクルをプールして管理する プールの状態を初期化するInitカーネル Append Buffer、Consume Bufferを利用してプールを管理する パーティクル…