Houdini備忘録: UVLayoutを使った敷き詰めとHDA化
はじめに
Houdiniの学習にあたっての備忘録になります。
Houdini 18.0.391を使用してます。
今回は、UVLayoutを使った敷き詰めをやってみました。
その際につまった所、勘違いしていた所などを書いていきます。
もくじ:
今回作ったもの
つまった所
宿題
1. 今回作ったもの
Curveを軸にUVlayoutによる敷き詰めをHDA化し、UE4に持っていきました。
Curveの情報をResampleでなめらかにしてみた。
— shiotani (@YuyaShiotani) 2020年2月23日
悪くないのでは? pic.twitter.com/9l7hPOZ4g0
縦軸対応した
— shiotani (@YuyaShiotani) 2020年2月24日
ノード数減った。 pic.twitter.com/U4jQFQtAuV
作った時に参考にしたサイト/動画です。
今回作ったHDAの中身
ノードカラーを緑にしているものはUE4上でパラメーターを変更できるようにしています。
各種Subnetの中身
- DissolveFlatEdge
ノードの内容は、SideFX LabsのLabsDissolveFlatEdgesノードと同一ですが、
思った結果にならなかったので、to_dissolveノードのパラメーターのみ変更しています。
- MakeMeshForPlacement
UVLayout時に使用するGeometryの簡略化を行うためのSubnetです。
HDAに公開したパラメーター
それぞれの詳細は、以下のドキュメントをご覧ください。
https://www.sidefx.com/docs/unreal/_inputs.html
パラメーター
GenerateNum
配置するGeometryの生成数を決める値です。
pointgenerate1ノードのNumber Of Pointsの値と紐付いています。
PlaceSpaceWidth
敷き詰めを行う際の横幅を指定しています。
sweep1ノードのWidthと紐付いています。
Editable Nodes
- Input_EditableCurve
Curveベースの敷き詰めを行う際の
Curveを操作できるようにするため、用意しています。
Input
TargetMesh
配置するGeometryデータを指定するためのインプットです。
PlaceTargetGround
UVLayout後にY軸の値を決めるためのRayを飛ばす対象を指定するインプットです。
2. つまった所
今回は、特につまったりはしなかったです。
先人の知恵様様です!
3. 宿題
HDA化してUE4で使用すると重いように感じる そもそもとして、このベイクのスピード感が普通なのかどうかが気になる所ですが...
現在、だとこのHDAのCurveを編集するとクックに5秒は待たされます。UE4上から入力されるInputの複数対応 UE4上から、HDAにInputとして渡せるパラメーターは、アセットの場合は配列で渡せるようです。
ということは、HDA内で1つのInput内の複数アセットを処理できれば、敷き詰めを複数のアセットを使ってできるのでは?
さいごに
今回、HoudiniとUE4の連帯周りについて触ってみました。
Houdiniを触り始めた目的が、UE4との連帯なので、少しづつ開拓して行ければと思います。