Houdini - 木を作る
基本
Tree Controller 、 Tree Trunk Generator、 Tree Branch Generator を組み合わせることで木を作ることができる
https://gyazo.com/bd8b6b0ba914e84a0981678b18c776b8
https://gyazo.com/4e5d3da89a12674902d5dd56406328b7
葉に球面法線をブレンドする
このままだと、Unityに持って行ったときにライティングがいい感じにならない。
葉に球面法線を合成することで、いい感じのライティングにすることができる
1. 球の中心点の追加
まず、Addノードで球面法線の中心となる点を配置する
https://gyazo.com/daeb405ac83deadd9991c66186145f4e
2. 球面法線の作成
Attribute Wrangle ノードを利用して球面法線を計算する
・第1インプットには、木を接続する
・第2インプットには、球面法線の中心点を接続する
code:c
vector p = point(1, "P", 0); // 球面法線の中心座標
vector n = normalize(@P - p); // 元の法線
float t = chf("blend"); // 球面法線のブレンド率
v@N = normalize(lerp(v@N, n, t)); // 法線と球面法線をブレンド
https://gyazo.com/b7e3265ba96b09441a015b61d11c20f3
3. Unityでライティング
これをUnityへ持っていき、ライティングするといい感じの見た目になる
https://gyazo.com/9e138ed34decb722ce55bf5dacde485a
ライティングの処理 (ShaderGraph)
https://gyazo.com/0c09fd6e71f80674f5d6411e24b8d777