すだち

プロシージャルやCGのことをたまに書きます。

すだち

プロシージャルやCGのことをたまに書きます。

最近の記事

  • 固定された記事

SbstanceDesigner 正多角形などのフラットシェーディングモデルから近似的なスムース法線を取得する方法。

SbstanceDesigner の関数を書きたい人向け Position から Normal を作る各頂点の原点からの距離が同じ、また距離の差が近いと判断し、 頂点のポジションから法線を作ってしまいます。 (応用を考えないのであれば、PositionMap を NormalNormalize に差し込むだけで可能です。) 3Dモデルの頂点座標をベイクする。 Sample用の入力にはモデルをベイクしたPositionMapをInputする RGBだけ計算したいのでFl

    • Unityでシーンやカメラ毎にレンダリング設定を切り替えたい。

      結論から書くと、カメラを選択し、インスペクターで変えます。 その前にほんの少し作業が必要です。 この方法は、URP Assetは変えずに、URP Rendererを変える方法です。 シーン毎にURP Assetごと変える方法は別途ありますが、シーンのカメラ毎に設定する方が楽です。URP Asset と URP Renderer はアイコンが同じなので非常に間違えやすすく、コピーや削除の際には注意が必要です。 Universal Renderer Data をコピーして設

      • SbstanceDesigner NormalMapFormat

        SbstanceDesignerとゲームエンジンを併用する上で Graph編集時はOpenGLかDirectX か?結論基本DirectX を使い、必要に応じてOutputの直前にNormalInvertを挟む方が良い。 考察Substance Designer のデフォルト設定 DirectX がデフォルトなので、常にOpenGLを使う場合は基本的な設定を変える必要がある。 3DViewのシェーダー設定は表示モデルを切り替えるとDirectX がOnになるなど…環境依

        • Sbstance3DDesigner 座標変換 World to Tangent

          SbstanceDesigner の関数を書きたい人向け 注意点そもそもベイクデータでTangentNormalを取得できるため、このような作法が必要な場面はかなり特殊である。 またハイトからタンジェントノーマルを作るのが得意なツールであることから、ほとんどこのような操作は必要ない。 しかし、座標変換は可能であることを理解するために記載しておく。 ワールド座標のベイクデータを利用して座標変換を行うXYZ の原点が (0.5,0.5,0.50)なので序盤と終盤に補正が必要

        • 固定された記事

        SbstanceDesigner 正多角形などのフラットシェーディングモデルから近似的なスムース法線を取得する方法。

          SbstanceDesigner PixelProcessorの注意点 まとめ

          SbstanceDesigner の関数を書きたい人向け 基本は GrayscaleModeでもColorModeでも同じです。 $Pos(0,0)は左上、(1,1)は右下。真ん中を原点だと思わない。原点は左上! +Yは上方向じゃない。下方向! 原点を画像中心にしたいなら(0.5,0.5)を加減算して調整。 Yは(1-Y)とした方が分かりやすい場面もある。 $Pos の値は、各ピクセルの中心位置である。よってXYどちらも0と1の値はない。 0から1のレンジにフィット

          SbstanceDesigner PixelProcessorの注意点 まとめ

          SbstanceDesigner PixelProcessorのPosが表している値

          SbstanceDesigner の関数を書きたい人向け 結論から言うと、2の累乗で1を除算した値でしかない。つまりグリッドの中心の値。二つの PixelProcessre の構成を試してみた。 右上が補正なし。右下が補正あり。アイコンではわからないが、データには確実に差がある。 2*2のピクセルで計算するとデータに大きな差があることが解る!単にポジションをRG成分に与えたPixelProcessreの計算式0-1にリマップしたPixelProcessreの計算式結構色の

          SbstanceDesigner PixelProcessorのPosが表している値

          SubstanceDesigner Quantize 量子化と減色

          SbstanceDesigner の関数を書きたい人向け 先ず結論お勧め! PixProcessreで 自然な減色とMinMaxのマッピングの式PixProcessreで書く場合・・・MinMaxは事前に取得する。Step数を外のパラメータに出しておく。 この例ではInputValueを使っているが、ExposeParameterでもよい。 AutoLevelの後にQuantiz (Step=4,Offset=0.5)と同じ結果になるので その後に、グレースケールをマッピ

          SubstanceDesigner Quantize 量子化と減色

          SbstanceDesignerの多次元FloatとVectorとの違い

          SbstanceDesigner の関数を書きたい人向け 多次元Floatの積検証用に Value Processor の中で簡単な関数を組みます。 赤い破線が出ており Float4 * Float や Float3 * Float が成立しません。 一方、青い線で連結された Float4 * Float4 が成立します。 同様に Float3 * Float3 が成立します。 ちなみに Vector3*Vector3 は一般的ではなく、 ベクターをスケールしたい場合

          SbstanceDesignerの多次元FloatとVectorとの違い

          自己紹介

          プロシージャルCGなどテクニカルアートよりの内容をたまに書く。 導入としては役立たないが実務ベースの感覚で気になることを書いている。 CGを利用したコンテンツの開発者をしている。 非理系数学弱者なので無駄な計算をすることがある。