Thanks a lot for this tutorial...there were some issues for me with UE 5.2 when importing.. So I had to import them into UE 4.27 then migrate them into UE 5...and it works great....
How are triggering the animations? Like you i plan to render mine, so i will be wanting to play them in a sequence i have setup, but i really dont want to drag and drop 100+ animation clips into my timeline :(
Thanks for the tutorial. Just wanted to know how to export multiple primitives to give each of them a material in Unreal, for example a soldier with a spear, shield and hood to have a seperate material in unreal. Much appreciated.
I don't have a test file at hand, but since the characters are unpacked as fbx when exported, if you have a sword or a shield or anything as a separate object in houdini, when added as an agent layer, it will come through as part of the agent like anything else. should just be an object like the agent character itself.
Thanks for the tutorial! I'm having the same '@wedge' attribute problem as others and I am running my wedge node and selecting a work item but still nothing...don't know what I am doing wrong. If anyone has a link to that Facebook conversation about this that would be great. also side note...houdini isnt recognizing my null node reference either or my 'points' function.
Yes, there is a lot of small pitfalls where people are so sure and assume they are doing it right, but because TOPs in involved, not everything works like you are used to. just one of those quirks, but great its working now!
@@ThomasKlyhnChristensen Thanks for quick reply, I think the topnet was running and appeared a v mark beside with the number 20, but still it is not showing at the split node.
Hey Thomas, Thank you for the tutorial very helpful and clear. My "agentCharacterUnpack" node scales each agent up. My FBX animations were originally huge and they were auto scaled by the "convert units" in the "create_agent" node. Now the unpack scales them up again and completelu destroys the animation. Would you happen by any chance to know how to fix this?
Hmm, that is usually a normal behavior I would think, can you just transform it after the unpack? I would think the animation would follow though, only the mesh scaling sounds odd to me. If you can package up and upload a hip file somewhere I can have a look.
I'm not sure I understand what you mean by everything? it's important to remember that with tops, you won't see anything unless you have a work item selected, if this is why you are seeing different to what you are expecting?
At the time of making this video UE wouldn’t read USD exported from Houdini correctly, static meshes yes, but not crowd agents using USD skeletons, even though on paper UE supports it, they never lined up. I haven’t tried with newer versions of UE5 and Houdini 19.5 yet, but maybe something to look at.
@@ThomasKlyhnChristensen Hello Thank you for replying to me. The proplem occurs on all rigs when exported with the fbx character output node when done the same way you did it in the video, I even got the same shelf tool. but when I loas the fbx into unreal it says “Multiple Roots found for this mesh” and then it fails to import. But if I export to 3ds max and directly export without any changes to the hierachy of the bones then unreal has no proplem importing anything.
Thanks a lot for this video, very efficient. I have a question relative to the sequencer use. Load all the character into it is ok, but assign each animation sequence is a real pain when you have something like 500 agents to bind.. do you have any idea how to solve this ? I thought about using python script but it's a bit too technical for me.. Thank you !!
eventually it slows down because in this case where all the agents look the same, the smart way is to load the mesh once and then give them different animation clips, but the way Houdini exports these unreal has no way of knowing that they are different. So pretend that not all are identical looking, this would work great. I have done some tests with I think it was 600 or 800 agents and I still got 20+ fps in Unreal (given I have a pretty beefy machine), but the practical use for this isn't really for it to run fast, but for it to run at all for shot production, where you want to use Unreal Engine as a renderer and not a game engine. my previous attempts was loading agents in as an elembic cache and that gets crazy heavy and not what you want to do, 20-30 agents in that case easily gets to 20-30GB of alembic cache and unreal just dies. So this for me is a much much more efficient way
Really smart workflow. Thanks PS: Have you by any chance reached a limit on the number of agents who run well in UE? it would also be interesting to use the VAT labs tools to convert agents
Thanks! Err I think the highest I have tested so far was 400 agents, and it felt slow ish in the viewport but as soon as I hit play in UE, it still ran with 20-25 fps, which again remember the idea is to use it for rendering, so 5 fps is freaking insane when that is the goal. You can throw a lot at it! Of course your system memory and gpu will eventually matter I’m sure.
Fantastic workflow, love seeing use cases for TOPS - thank you!
Thank you! glad it's useful for you.
Thanks a lot for this tutorial...there were some issues for me with UE 5.2 when importing.. So I had to import them into UE 4.27 then migrate them into UE 5...and it works great....
Glad it helped, interesting about 5.2 I have not tried myself.
pure gold tutorial. Thanks a lot
Thanks for the kind words! I hope to make more soon.
hm... I have this fbx import fail in UE: Multiple roots are found in the bone hierarchy. We only support single root bone. Any solution?
Hey i have the same issue, any solution??
i have the same issue, any solution?? T^T
Great vdo..but after exporting its nit getting imported in unreal..getting few error like no weights etc
Hello!
do you know why i am having this error? Multiple work items list the same file as their expected output.? and also some of them are failing
How are triggering the animations? Like you i plan to render mine, so i will be wanting to play them in a sequence i have setup, but i really dont want to drag and drop 100+ animation clips into my timeline :(
It's importing animation not skeleton mesh in unreal. Help
Thanks for the tutorial. Just wanted to know how to export multiple primitives to give each of them a material in Unreal, for example a soldier with a spear, shield and hood to have a seperate material in unreal. Much appreciated.
I don't have a test file at hand, but since the characters are unpacked as fbx when exported, if you have a sword or a shield or anything as a separate object in houdini, when added as an agent layer, it will come through as part of the agent like anything else. should just be an object like the agent character itself.
@@ThomasKlyhnChristensen OK, thanks , I'll give it a try
@@ThomasKlyhnChristensen I also tested this but no chance. I would greatly appreciate it if you could send me a test file. Thanks.
Thanks for the tutorial! I'm having the same '@wedge' attribute problem as others and I am running my wedge node and selecting a work item but still nothing...don't know what I am doing wrong. If anyone has a link to that Facebook conversation about this that would be great. also side note...houdini isnt recognizing my null node reference either or my 'points' function.
holy $shit...it was because i was using backquotes instead of quotes...seems to be working fine now.
Yes, there is a lot of small pitfalls where people are so sure and assume they are doing it right, but because TOPs in involved, not everything works like you are used to. just one of those quirks, but great its working now!
I'm typing `@wedge` on the split node and its not recognizing it? any thing i could be missing?
I believe this was resolved on Facebook, but the wedge sop needs to be run and a work item selected for the wedge attribute to show up in the split.
@@ThomasKlyhnChristensen sure was :) wasnt expecting you to respond to my fb post lol great tutorial! Hopefully many more to come
I had the same issue, is the a way to solve it?
@@Azimuth_art read the comment above, run the wedge node in tops and select a work item. Nothing exists before it’s been run.
@@ThomasKlyhnChristensen Thanks for quick reply, I think the topnet was running and appeared a v mark beside with the number 20, but still it is not showing at the split node.
Hey Thomas, Thank you for the tutorial very helpful and clear.
My "agentCharacterUnpack" node scales each agent up. My FBX animations were originally huge and they were auto scaled by the "convert units" in the "create_agent" node. Now the unpack scales them up again and completelu destroys the animation. Would you happen by any chance to know how to fix this?
Hmm, that is usually a normal behavior I would think, can you just transform it after the unpack? I would think the animation would follow though, only the mesh scaling sounds odd to me. If you can package up and upload a hip file somewhere I can have a look.
did you ever figure out the workaround for this? Having exact same problem
@@gmmcgale Unfortunately not, I couldn't export fbxs and I had to export an alembic which was huge and my render difficult but it worked.
@@sugarhady got it. thanks for the reply
Hey, every time I type `@wedge`, it shows me everything, how can I fix it?thanks
I'm not sure I understand what you mean by everything? it's important to remember that with tops, you won't see anything unless you have a work item selected, if this is why you are seeing different to what you are expecting?
Is it possible to import these fbx objects into Blender?
Sure, no reason why not. Blender reads fbx characters as well as any program
Have you tried exporting them with usd? Maybe you get them as lightweight as fbx but still all one file like alembic.
At the time of making this video UE wouldn’t read USD exported from Houdini correctly, static meshes yes, but not crowd agents using USD skeletons, even though on paper UE supports it, they never lined up. I haven’t tried with newer versions of UE5 and Houdini 19.5 yet, but maybe something to look at.
Hello Thomas how did you fix the root problem that the locomotion joint creates? because right now Unreal sees it as multiple roots
I'm not sure I understand what you mean? I don't think I have had this issue? any more detail you can share? how are you generating your locomotion?
@@ThomasKlyhnChristensen Hello Thank you for replying to me. The proplem occurs on all rigs when exported with the fbx character output node when done the same way you did it in the video, I even got the same shelf tool. but when I loas the fbx into unreal it says “Multiple Roots found for this mesh” and then it fails to import. But if I export to 3ds max and directly export without any changes to the hierachy of the bones then unreal has no proplem importing anything.
@@jonasmortensen1252 have you find any solutions inside houdini?
@@straightotheplan No, unfortunately not
@@jonasmortensen1252 delete joints node will help you, just select useless ones and delete them
Thanks a lot for this video, very efficient.
I have a question relative to the sequencer use. Load all the character into it is ok, but assign each animation sequence is a real pain when you have something like 500 agents to bind.. do you have any idea how to solve this ? I thought about using python script but it's a bit too technical for me..
Thank you !!
The trick is to drag in all the animation clips in, not the models! The models will automatically load with the animation, not the other way around
@ThomasKlyhnChristensen this doesn't work with the sequencer. For cinematics. you have to go in and attach animation sequences to each trac
Many THX♥
Would this method work with 1000s of agents or would we run into bad performance issues? is it limited to around 20 to 30?
eventually it slows down because in this case where all the agents look the same, the smart way is to load the mesh once and then give them different animation clips, but the way Houdini exports these unreal has no way of knowing that they are different. So pretend that not all are identical looking, this would work great. I have done some tests with I think it was 600 or 800 agents and I still got 20+ fps in Unreal (given I have a pretty beefy machine), but the practical use for this isn't really for it to run fast, but for it to run at all for shot production, where you want to use Unreal Engine as a renderer and not a game engine. my previous attempts was loading agents in as an elembic cache and that gets crazy heavy and not what you want to do, 20-30 agents in that case easily gets to 20-30GB of alembic cache and unreal just dies. So this for me is a much much more efficient way
Really smart workflow. Thanks PS: Have you by any chance reached a limit on the number of agents who run well in UE?
it would also be interesting to use the VAT labs tools to convert agents
Thanks! Err I think the highest I have tested so far was 400 agents, and it felt slow ish in the viewport but as soon as I hit play in UE, it still ran with 20-25 fps, which again remember the idea is to use it for rendering, so 5 fps is freaking insane when that is the goal. You can throw a lot at it! Of course your system memory and gpu will eventually matter I’m sure.
@@ThomasKlyhnChristensen Thanks for the fast reply... yeah 400 its great