copy to point をする時に、オブジェクトに沿ってコピーされて欲しいとHoudiniの勉強を始めた時に悩んだのでメモ。これがかなり便利。
理想と現状
失敗例
![copytopointerror](https://socha-blog.com/wp-content/uploads/2022/12/a60f613cf7d10039b03eb3f325ba6afc-1024x679.jpg)
成功例
![copytopointsce](https://socha-blog.com/wp-content/uploads/2022/12/95becd997e60fc2254d3528937fc360a-1024x678.jpg)
今回は、上の図が失敗例。下の図が成功例。
球の形状に沿って角度を変えて欲しいのだか失敗例では、全ての同じ角度でコピーされてしまっている。これでは面白くないので、球の形状に沿ってコピーしたい。
失敗例では、scatterで作ったポイントにnormalが無いので上手く成功例のようにコピーしてくれいない。
なので、normalを計算してscatterのポイントに追加して上げる必要があります。
成功例にするためのノードと設定は以下のような感じです。
![nodefact](https://socha-blog.com/wp-content/uploads/2022/12/9276193eee8c5e482f064ed2a135d225.jpg)
![focetset](https://socha-blog.com/wp-content/uploads/2022/12/54a7bfad7951d342e6dfceb2eb790592.jpg)
facetノードが肝になります。
facetノードの「Pre-Compute Normals」にチェック。
この設定は、入力ジオメトリに基づいて法線を計算します。
設定の詳細はこちら。
これで完成です。
![copytopointsce](https://socha-blog.com/wp-content/uploads/2022/12/95becd997e60fc2254d3528937fc360a-1024x678.jpg)