したかみ ぶろぐ

Unity成分多め

GPUインスタンシング

ComputeShaderとDrawMeshInstancedIndirectでGraphicsBufferを使う

始めに 去年にこの記事を拝見し、GraphicsBufferなるものの存在を知りました。 zenn.dev また、この記事内にて遠い将来ComputeBufferが無くなり、GraphicsBufferに切り替わる予定とのことでした。 (GraphicsBuffer, Mesh vertices and Compute shaders - Un…

ベクトル場を使った衝突回避Boidsアルゴリズム

始めに 前回のブログで作成したベクトル場を使って衝突回避をするBoidアルゴリズムを実装したいと思います。 今回のサンプルです。 github.com 過去記事です。 shitakami.hatenablog.com shitakami.hatenablog.com やったこと 始めにベクトル場を計算します…

人型モデルの周りにベクトル場を生成する

始めに Boidsアルゴリズムで衝突回避の実装について考えた結果、周りにベクトル場を生成すればいいのではと思いました。 そこで今回はSkinnedMeshRendererでアニメーションをするオブジェクトの周りにベクトル場を生成してみようと思います。 今回のサンプル…

アニメーションするオブジェクトを大量に表示する(VAT + GPUInstancing)

始めに 前回はVAT(Vertex Animation Texture)についてまとめました。 今回はVATとGraphic.DrawMeshInstancedIndirectを組み合わせるサンプルを作成してみました。 過去記事 shitakami.hatenablog.com shitakami.hatenablog.com shitakami.hatenablog.com …

VAT(Vertex Animation Texture)を使用してシェーダーでアニメーションをさせる

始めに 野球ゲームの観客だったり、最近ではVtuberのライブの観客だったりで多くのNPCを表示させてかつアニメーションもさせています。 どうやれば実装できるかと思っているとき、VAT(Vertex Animation Texture)という技術を知りました。 このVATを使うこ…

ComputeShaderでGPUパーティクルを実装する

始めに ComputeShaderについて調べてみますと「GPUパーティクル」という単語を何度か目にしました。 今回はこのGPUパーティクルについてまとめようと思います。 こちらのサイトを参考に実装を行っています。 qiita.com また、今回の内容は以下のリポジトリに…

群れの表現(Boidsモデル)をUnityで実装する

始めに 前回はDrawMeshInstancedIndirectとComputeShaderを使って動くcubeをたくさん表示しました。 shitakami.hatenablog.com 今回はBoidsモデルを実装しようと思います。 もし、DrawMeshInstancedIndirectやComputeShaderについてわからないことがあれば過…

DrawMeshInstancedIndirectとComputeShaderを組み合わせる

始めに 前回はDrawMeshInstancedIndirectについてまとめました。 shitakami.hatenablog.com 今回は前回の内容とComputeShaderを組み合わせた簡単なサンプルを作成したいと思います。 ComputeShaderについては以下の記事にまとめています。 shitakami.hatenab…

Graphics.DrawMeshInstancedIndirectまとめ

始めに 去年ちょっとだけGraphics.DrawMeshInstancedIndirectを触りました。 shitakami.hatenablog.com 今回はその復習も兼ねてこの機能についてまとめていこうと思います。 Graphics.DrawMeshInstancedIndirectについて このメソッドを使用することによって…

描画を効率的に行いたい

始めに 前回ComputeShaderについて勉強しました。 shitakami.hatenablog.com shitakami.hatenablog.com 次に学習したComputeShaderを使って何かしたいなってことで大量にオブジェクトを生成したいってなったので、GPUインスタンシング、そしてそれを勉強する…