e.blog

主にUnity/UE周りのことについてまとめていきます

2020-01-01から1年間の記事一覧

VFX GraphのConform to Signed Distance Fieldのコードを読んでみる

概要 そのVFX Graphの中にConform to Signed Distance FieldというBlockがあります。 SDFを活用することで表現力が向上するので、今回はそのコードを読んでSigned Distance Field、SDFがどういうふうに使われているのかを見ていきたいと思います。 実際に実…

SRP Batcherが有効なURP向けのシェーダを書く

この記事はUnityアドベントカレンダー2020の5日目の記事です。 qiita.com 概要 SRP Batcherを有効にする マクロと関数を覗いてみる ZERO_INITIALIZE CBUFFER_START / CBUFFER_END TransformObjectToHClip まとめ 概要 以前、URPのScriptableRenderFeatureを…

【XR】URP向けのマルチビュー対応イメージエフェクトシェーダの書き方

概要 前回書いた「URPで背景をぼかしてuGUIの背景にする」で書いたことの続編です。 edom18.hateblo.jp 具体的には、前回の実装のままでVRのマルチビュー(やSingle Pass Instanced)に変更すると正常に描画されないという問題があったのでそれへの対応方法…

URPで背景をぼかしてuGUIの背景にする

概要 今までのビルトインパイプラインで利用していたCommandBufferはSRP環境では少し違った方法で実装しないとならないようです。 今回はSRPでのカスタムパスの使い方と、それを利用してuGUIの背景にブラーを掛けるエフェクトについて書きたいと思います。 …

バイトニックソートの実装を理解する

概要 以前書いた粒子法を用いた流体シミュレーションをさらに発展させ近傍探索を行って最適化をしています。 その中で使っている『バイトニックソート』というソートについてまとめたいと思います。 本記事は近傍探索を実装する上でのサポート的な記事です。…

XRCameraSubSystemから直接カメラの映像を取得する

概要 今回はUnityのARFoundationが扱うシステムからカメラ映像を抜き出す処理についてまとめたいと思います。 これを利用する目的は、カメラの映像をDeep Learningなどに応用してなにかしらの出力を得たいためです。 今回の画像データの取得に関してはドキュ…

TensorFlow Lite Unity Pluginを利用してDeepLabを動かすまで

概要 最近、ARでSemantic Segmentaionを試そうと色々やっているのでそのメモです。 最終的には拾ってきたDeepLabモデルを変換して実際に動かすまでをやってみようと思います。 今回の記事はこちらを参考にさせていただきました。 asus4.hatenablog.com 元々T…

Oculus Questでハンドトラッキングを使ってみる

概要 Oculus Questのハンドトラッキングが利用できるようになったので使ってみたいと思います。 そこで、実際に使用するにあたってセットアップ方法とどういう情報が取れるのか、どう使えるかなどをまとめておきます。 ドキュメントは以下です。 developer.o…

Unityの推論エンジン『Barracuda』を試してみたのでそのメモ

概要 以下の記事を参考に、最近リリースされたUnity製推論エンジンを試してみたのでそのメモです。 qiita.com note.com Barracudaとは? Barracudaとは、ドキュメントにはこう記載されています。 Barracuda is lightweight and cross-platform Neural Net in…

ComputeShaderで動かす様々な形に変化するパーティクルシステム

概要 今回は1/7〜1/10にかけて開催されたCES2020でMESONが展示した『PORTAL』の中で、メインの演出となったパーティクルシステムについて書きたいと思います。 このパーティクルシステムの特徴は、指定したモデルグループの頂点位置にパーティクルをまとわせ…

逆引きUniRx - 使用例から見る使い方

概要 UniRx。最近よく目にする気がしますが基本的な概念は『Reactive Extensions』です。 似た用語として『関数型リアクティブプログラミング:Functional Reactive Programming(FRP)』がありますが概念としては違うようです。 ざっくりとRx系ライブラリを…

Generalized Perspective ProjectionをUnityで実装する

はじめに 元記事は、以前自分が英語で書いたものの日本語訳版になります。(自分で書いた英語を翻訳するという初体験w) medium.com 概要 今回のこの記事は、Generalized Perspective ProjectionをUnityで実装するための解説記事です。 これが意味するのは…

Unityで流体シミュレーション ~粒子法編~

はじめに 以前に、格子法を用いた2次元の流体シミュレーションについて概念編と実装編に分けて2つの記事を書きました。 しかし格子法は、その定義領域の範囲を越えてしまうと計算ができなくなってしまうという問題があります。特に今回は3Dに拡張し、AR/VR内…

ドメインワープをテクスチャフェッチで実装する

概要 以前、フラクタルブラウン運動とドメインワープという記事を書きました。 ここで紹介した方法は、ドメインワープの計算のためにランタイムでノイズを計算する方法でした。 ちなみにドメインワープによるアニメーションはこんな感じのものになります↓ が…

Unityで流体シミュレーションを実装する 〜 実装編 〜

概要 前回は流体シミュレーションの概念編を書きました。 edom18.hateblo.jp 今回は前回説明した内容を元に実際に実装したプログラムに関して解説していきたいと思います。 ちなみに実行したデモ動画はこちら↓ 前のやつ、ちょっと計算間違っていてちゃんと動…

Unityで流体シミュレーションを実装する 〜 概念編 〜

はじめに 今回の実装をするにあたってナビエ・ストークス方程式を解いて実装していく必要があるのですが、正直、数学・物理としての正確な意味の理解や方程式のしっかりとした理解には至ってません。 式の内容やどういうことを行っているのかというのは理解…

シャボン玉風シェーダを実装してみたのでメモ

概要 今回の実装はこちらの論文(汎用的な構造色レンダリング手法の開発)を参考に実装したものになります。 ただ理解が足りていない部分や勘違いなどあるかもしれないので、もし間違いなどあれば指摘いただけると嬉しいです。 また今回の実装にあたってこち…