CG
Blender で作ったモデルを Houdini で四面体に分割する
タイトルの通りです。Houdini は昨日インストールしたばっかりなので使い方に怪しい所があるかもしれません。
解説: Life Universe
公開からだいぶ時間が経ってしまいましたが、Life Universe の技術解説を書きます。
English version is here.
解説: Just a Pool
VRChat world "Just a Pool" has been released!
少し前に Just a Pool という VRChat のワールドを公開しました。この記事では裏の色々な話や技術解説などを書いていこうと思います。
ワールド探索系の話でなくて恐縮なんですが、この記事は VRChatワールド探索部 Advent Calendar 2022 の20日目の記事になっています。
Unity のシェーダ内でスクリーンの色と深度を取得するときの注意点
Screen Space で色々やることになったときのメモ。慣れてなかったのでめちゃ混乱しました。
穴の開かない Marching Cubes 法の lookup table 2種
マーチングキューブ法によるメッシュの生成ではいくつかのケースで曖昧性があり、解像度が不十分だと穴が開いてしまうことがあることが知られていますが、実は分類方法と三角形の作り方を工夫することで穴が開かない lookup table を作ることができます。
ググってもすぐに見つからなかったので、lookup table を手動で作るためのツールを作りました。22パターンあって面倒ですが頑張ってください(記事の最後に自分で作ったテーブルを載せておきます)。
立方体メッシュの頂点と三角形
毎回忘れて計算し直してるのでメモ。
面は反時計回りを表とする三角形で構成されています。適当に加工して使ってください。
v0 = [-1, -1, -1]
v1 = [-1, -1, 1]
v2 = [-1, 1, -1]
v3 = [-1, 1, 1]
v4 = [1, -1, -1]
v5 = [1, -1, 1]
v6 = [1, 1, -1]
v7 = [1, 1, 1]
[[v1, v2, v0], [v1, v3, v2]] // -x
[[v5, v4, v6], [v5, v6, v7]] // +x
[[v1, v0, v4], [v1, v4, v5]] // -y
[[v3, v7, v6], [v3, v6, v2]] // +y
[[v0, v2, v6], [v0, v6, v4]] // -z
[[v1, v5, v7], [v1, v7, v3]] // +z
ボリュームレンダリングのための簡易モデルを作った話
リアルタイムレンダリング用に、画像のように水・煙・炎などを簡易的に表現可能なボリュームレンダリングのモデルを作りました。
モデルの導出過程と結果、計算例を書いておきます。