UPDATE - 1
GameDevToolset バージョン 1.27 より、UE4 内での FBX メッシュの読み込み方法が変わりました。 下の方にある "New Import Settings" セクションで読み込み設定の変更をご確認ください。
Pivot Painter は Houdini Digital Asset (HDA) であり、モデルの頂点と追加 UV チャネルにピボットと回転情報を保存します。 この情報を Unreal のシェーダシステム内で参照し、インタラクティブ効果の作成が可能です。
機能
方法 1: Per Object (オブジェクト単位)
第一の方法により、ピボットの位置と回転を元に、あるメッシュの非階層サブメッシュをアニメーションが可能です。このデータにより、草、茂み、髪の毛、または抽象的なエフェクトなど面白い動きの生成が可能です。ジオメトリとピボット情報をツールに接続するだけで、Unreal Engine などのエンジンへの出力準備が整います。
ビデオの例では、この方法を主に使用しており、このツールの最も頻繁に使用される機能です。多層モーションを使いたい場合は、第二の方法を使用します。
方法 2: HIERARCHICAL (階層)
この機能により、例えば枝と葉などの親子関係を、モデルのピボットと回転情報と一緒にメッシュに保存します。 このモードには、ピボット情報の処理に対し2つの方法があることに注意することが重要です。
- Generate Pivots (ピボット生成): このオプションを選択すると、個々のサブオブジェクトすべてに対し、ピボットの最適な位置を判断します。 これにより、非プロシージャルアセットを読み込んで Pivot Painter 互換に変換可能です。
- Custom Pivots (カスタムピボット): 処理するオブジェクトをこのツールで生成し、元のピボットポイントにアクセスできる場合、このオプションを使用します。 これにより、頂点シェーダで使用されるピボット位置を細かく制御できます。
必要条件
このツールの殆どの使用に対する前提条件はあまりありません。
Per Object Basis & Hierarchical Basis:
@N (法線) ポイントアトリビュートがピボットの向きを格納します (前向き)。
@name ポイントアトリビュートがジオメトリとピボットの間でどのピボットがどの頂点に関係しているかを格納します。
Hierarchical Basis のみ:
葉 (leaves) や 枝 (branches) はプリミティブグループで、木の幹は branches グループに格納されます。
注:Per Object 機能のみ、ピボット情報の接続が必須で、Hierarchical では処理中にピボットの生成が可能です。
Realtime Application
Unreal 内で、Pivot Painter ツールからのデータを読み込むことで、モーションを駆動するマテリアルの作成が可能になりました。 Epic Games が提供しているマテリアル関数を使用するか、ニーズに合わせて変更してください。 Per Object と Hierarchical の両方に対し異なるマテリアル関数があります。 Epic Games が提供するコンテンツの例を参照してください。
利点
Creating motion this way has its benefits. この方法によるモーション生成には利点があります。 この方法によって処理されたモデルは、標準的な静的メッシュ時より、メモリの観点で、18%だけ大きいだけです。 アニメーションの負荷が骨格アニメーション使用時よりはるかに低くなります。なぜならデータの保存が必要なく、その場で計算されるためです。 頂点シェーダのインストラクション数は、モデル上の頂点数がスクリーン上のピクセル総数と比較すれば少ないので、ピクセルシェーダのインストラクションに比較して少ないのでパフォーマンスでの懸念も少なくなります。
新 FBX Import 設定
GameDevToolset バージョン 1.27 以降、UE4 での FBX メッシュのインポート設定が変更されました! 主な変更点は、 "Convert Scene" チェックボックスの無効が不要になりったことです。 これにより、UE4 で Foliage アクターとなるアセットに PivotPainter を使用する際のワークフロー複雑化を軽減されます。 全設定は以下の通りです。
追加リンク
- Houdini Game Dev Tools: PIVOT PAINTERを試してみる (Born Digital サポート)
コメント
WhimmY 8年, 2ヶ月 前 |
Great! Where to get the HDA?
DMNS 8年, 2ヶ月 前 |
Yeah, where do we get it?
Ambrosiussen 8年, 2ヶ月 前 |
Hey @zysnow @DMNS,
You can download the latest SideFX Game Shelf tools in the GitHub Tool repository. Which can be found here:
github.com/sideeffects/GameDevelopmentToolset/tree/Development
/otl folder holds the tools (sop_pivotpainter.hda in this case)
/hip holds example files to play around with some data
Will add download instructions to the tutorial page!
Have fun,
Paul
art3mis 8年, 2ヶ月 前 |
Unity support......please!
limbicnation 8年, 2ヶ月 前 |
I would also appreciate a unity implementation :) Thanks!
Ambrosiussen 8年, 2ヶ月 前 |
Hey,
I will be looking into Unity support very soon!
Thanks
limbicnation 8年, 1ヶ月 前 |
Thanks, Looking forward hearing more about the process using Unity
alvarodoblezeta 8年, 1ヶ月 前 |
Thanks for this presentation¡¡¡
I've been trying to reproduce the collision effect on ue4 when the character touches the object as samples in the video, but I have not yet been able to solve it. You could help me how to solve this problem. maybe a screenshot of the process?
Ambrosiussen 8年, 1ヶ月 前 |
Hi,
Have you tried looking at the content examples provided by Epic Games? The grass shader found in the PivotPainter map does a good job of demonstrating how to approach this problem. Should you need any help, feel free to send me a PM. Then I can provide you with an example! :)
Paul
Houdini4Games 8年 前 |
Hi,
in the maxscript there were textures generated through the script. Are these specific to the mesh? If so, how can I generate these textures from Houdini?
kylda 7年, 7ヶ月 前 |
Great job~
I am keen to use this tech in unity~ But it doesn't work. Is that the problem of direction axis?
Thank~
Ambrosiussen 7年, 7ヶ月 前 |
Hey, the tool generates data to be read back in a shader. Unreal has that shader by default, but for unity you would need to write a custom solution. Once that's done, it will work for you in unity too.
kylda 7年, 6ヶ月 前 |
3Q very much and look forward to your works! :)
kylda 7年, 6ヶ月 前 |
In addtion,Would you offer a toggle fuction to store pivot position in local space? It maybe helpful in unity.
Thanks a lot!
Matt Vitalone 7年, 5ヶ月 前 |
Paul, can you post the hip file from the video? I'm trying to run the pivot painter from the same tree model from the Unreal Pivot Painter content example but I get different results than you do. I want to make sure my scale/rotations/etc. match up with what you were doing.
Matt Vitalone 7年, 5ヶ月 前 |
Doh, nevermind I found it on Github
Ambrosiussen 7年, 5ヶ月 前 |
Good! :)
All .hip files can be found in the /hip directory on Github.
We have however been talking about putting them on the tutorial pages too. Is that something you'd like?
Matt Vitalone 7年, 5ヶ月 前 |
Okay so I grabbed the .hip file and exported to fbx from the "Tree Just Mesh Example". I added a PivotPainter node and set it to Hierarchical with Generate Pivots. When I bring it into Unreal I put it in the PivotPainter level from Content Examples and assign the materials from the existing version of that tree in the scene, "Tree_wb_branches" and "Tree_wb_leaves". However it doesn't match the results of the tree already in the whitebox. The bases of the branches separate from the trunk when animated. Did you use a custom material for your demo in Unreal, or should it work with the existing materials?
Matt Vitalone 7年, 5ヶ月 前 |
Here is a gif showing the tree exported from the hip file on the left, and the original tree on the right
https://gph.is/2KIkc5h
Ambrosiussen 7年, 5ヶ月 前 |
Whoa, that doesn't look right. The shader I used is an exact copy of the one provided by Epic.
I did however recently see an update on the Epic blog about PivotPainter. Perhaps they changed the logic a bit?
What happens if you use the mesh locked into the provided .hip file?
Could you send me an email about the above to paula at sidefx dot com?
DeGGeD 7年, 5ヶ月 前 |
Hello, Paul, hello, everyone.
I've followed tutorial and have a question about Geometry Spreadsheet info after pivots baking SOP usage.
Should there be an information regarding vertices pivots? Because with simple setup (please, see screenshot), there is no info about it after "baking SOP".
https://ibb.co/ef0O5o
Thank you for answer in advance.
Ambrosiussen 7年, 5ヶ月 前 |
Hi,
The pivot information is stored as vertex attributes, not as point attributes.
As for the .hip file, what version of Houdini are you using to open it?
DeGGeD 7年, 5ヶ月 前 |
Got it, thank you. Currently Im using version 16.5.268.
Im asking because i have very strange result when asset being imported into Unreal Engine. It rotates (visually) not around Y-up vector, but like diagonal (XY-up vector) and Im not sure where is my mistake :(
Ambrosiussen 7年, 5ヶ月 前 |
That might be caused by the import settings you use in UE. Can you make sure you use the same settings I show at 3:03 in the tutorial?
DeGGeD 7年, 5ヶ月 前 |
Also, could You, please, upload new file version for pivot_painter_demoscene, because there is an error (Invalid .hip file header) while I'm trying to open it
TCarneiro 7年, 4ヶ月 前 |
Are the examples in the video available for download anyone?
Ambrosiussen 7年, 4ヶ月 前 |
Hi,
All examples can be found on Github. Please see: https://github.com/sideeffects/GameDevelopmentToolset/tree/Development/hip
Sirvoxelot 7年, 3ヶ月 前 |
will this work on houdini indie
KevinZhang 6年, 10ヶ月 前 |
Hi @Ambrosiussen
Unreal Engine has new PivotPainter 2.0 now, and new PivotPainter2Foliage shader is easy to use, Could you upgrade the Pivot Painter plug-in to a new one. it looks like only for PivotPainter 1.0 shaders. THX a lot.
Broetchaen 6年, 10ヶ月 前 |
I tried the tutorial and also downloaded the test scenes. Each time I export (even from the demo scenes) and import it into the engine, the animations I get are simply wrong.
Vertex color seams to look all good though in the model inspector, but it seams like all the objects are rotating around a single pivot instead of their own.
sausage 6年, 8ヶ月 前 |
yeah, I'm having the exact same issue
Ambrosiussen 6年, 8ヶ月 前 |
Make sure your import options are correct inside Unreal! :)
gaxx 6年, 7ヶ月 前 |
Hey,
If anyone is having trouble with current version of Unreal/Houdini Pivot Painter tool the solution is pretty simple. When you import your mesh check the 'convert scene' checkbox to ON. Solved problems for me.
Aten 6年, 7ヶ月 前 |
Funny I was just trying this and having the same problem, checked this page and saw your comment - 3 hours old. Convert scene fixed it for me, nice one :)
IamBramer 5年, 8ヶ月 前 |
As of Unreal Editor version 4.24.3 and Houdini 18.0.348 this doesn't appear to work as intended anymore. I've checked more than 10 times and tried numerous shaders directly from Unreal Engine's example file as well as trying many different export settings from Houdini. No matter what attempts I make, it seems it doesn't use the right axis information from the pivot as rotations happen off center and I'll get oblong deformations when trying to do any scaling or translating effects. I've tested with basic shapes and advanced shapes. I've tried with the old settings and the updated fixed settings as well as explored many other possible methods to fix with no success.
prowa 5年, 8ヶ月 前 |
I was test on Unreal engine 4.23 and Houdini 18.0.348 as well, the Piovt Painter don't work correct, but it works fine at 17.5 data, is there any debug plan for this tool? Thanks.
Bergerac 4年, 10ヶ月 前 |
Hey Everyone - I think i found the problem that you all might talking about i.e. the pivots not being in the right places.
In the PivotPainter_PerObjectData material in the content examples, the TexCoords nodes are referencing UV channels that dont necessarily exist in you object exported from Houdini. If you follow the example files, only 2 UV channels are being created. In Unreal, these will be read as channels 0 and 1. The Material responsible for reading these values is set to use channels 2 and 3.
If you set these to the correct corresponding channels then you should be good to go!
yao.liu 4年, 9ヶ月 前 |
Spend hours to make PivotPainter 1.0 works for Unity now without any changes to unreal_pivotpainter tool.
Really ugly code. You can clone the repo and open the testscene to view the effect.
PivotPainter 2.0 for Unity will coming soon!!
https://github.com/Top61ly/PivotPainter_HoudiniForUnity
Please log in to leave a comment.