タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

凹みTipsに関するhecomiのブックマーク (4)

  • uRaymarching の Depth Prepass 対応をした - 凹みTips

    はじめに 以前の記事で uRaymarching の URP における Depth Prepass 問題を挙げました。 tips.hecomi.com Depth Prepass が有効になっている際は、Depth は事前に DepthOnly パス(または DepthNormals パス)で出力され、実際に色を決定する ForwardLit パスでは ZTest Equal かつ ZWrite Off で描画されます。最終的に他のポリゴンで覆われてしまうようなピクセルの重い計算を省略できるメリットがあります。詳しくは公式動画をご覧ください。 logmi.jp 通常は頂点シェーダから渡ってきた情報から自動的にデプスが計算され ZTest Equal が成功しますが、uRaymarching では SV_Depth セマンティクスを使ってこのデプスをいじっています。この結果、計算結果のデプス

    uRaymarching の Depth Prepass 対応をした - 凹みTips
  • uLipSync の Timeline エディタのパフォーマンス改善を行ってみた - 凹みTips

    はじめに 先日、uLipSync のタイムラインの機能で長いデータを割り当てるとパフォーマンスが低下する、とのコメントを頂きました。実際に 3 分程のクリップを割り当ててみると顕著にパフォーマンスが落ちています。 原因を調べてみると、どうやら波形描画に用いている AudioCurveRendering の実行が重いようです。これはアンチエイリアスつきの波形描画を行ってくれるものなのですが、テクスチャを返す API ではなく、指定した領域(Rect)に波形画像を描画するものになります。そのためキャッシュもできず、描画更新が起こるタイミングで毎回生成処理が走ってしまいます。 そこで、今回はこのテクスチャを自前で生成することで処理の改善を試みてみました。愚直な Texture2D.SetPixels() を使う方式から Texture2D.GetPixelData() の利用、そして Job +

    uLipSync の Timeline エディタのパフォーマンス改善を行ってみた - 凹みTips
    hecomi
    hecomi 2022/06/30
    Burst + Job でお手軽に対応できる API 追加(Texture2D.GetPixelData())便利ですね。
  • Unity で Timeline のカスタムトラックおよびクリップを作成して見た目をキレイにしてみた - 凹みTips

    はじめに 前々回の記事で Unity でリップシンクを行うためのアセットである uLipSync のタイムライン対応について紹介しました。 tips.hecomi.com ここでは次のように現在どのリップシンクデータを喋らせているか分かるように色々装飾しています。 記事では、カスタム Track および Clip の作り方と、その見た目のカスタマイズの方法について紹介します。それぞれの詳細を解説すると言うよりは、全体の勘所をつかめるような内容を目指しています。 デモ こんな見た目のカラーをブレンドするタイムラインが作成できるようになります。プロジェクトは以下から取得できます。 github.com タイムラインのおさらい タイムラインは Playable API をもとに構築されています。ドキュメントの説明を借りると次のようなものです。Playable API はアニメーションなどにも使

    Unity で Timeline のカスタムトラックおよびクリップを作成して見た目をキレイにしてみた - 凹みTips
    hecomi
    hecomi 2022/04/17
    書いた
  • Unity でオブジェクトスペースの Raymarching をフォワードレンダリングでやってみた - 凹みTips

    はじめに 以前、ディファードで Raymarching をやる記事を書きました。 tips.hecomi.com 上記記事では画面全体での Raymarching でしたが、これを個別のオブジェクトとして分解できるようにしたオブジェクトスペースのレイマーチングについて以下の記事で解説を行いました。 tips.hecomi.com 上記記事で使用したディファードレンダリングでは、デプスバッファに対して直接 Raymarching で計算した深度を書き込むことができるため、ポリゴンで出来た世界とのマージが簡単でした。これまでは、Unity のフォワードレンダリングでは計算して求めた深度をデプスバッファへ書き込むことが出来ないと思っていたのですが、SV_Depth を使うと求めることが出来るようです。 エントリでは _CameraDepthTexture の値と現在のレイマーチングの深度を比較

    Unity でオブジェクトスペースの Raymarching をフォワードレンダリングでやってみた - 凹みTips
    hecomi
    hecomi 2018/12/31
    2018 最後のエントリ
  • 1