Jump to content
ron2812

rot/orient attributes not carried over to Unreal when instancing Blueprints?

Recommended Posts

Hi everyone!

I made an HDA that generates a level.
Got a couple of blueprints in Unreal I need to spawn.
This works fine when I use the unreal_instance as point-attribute with the spawn-points.

Since I want to rotate the blueprints instances as well, i added a rot point-attribute (also tested with orient) to the points - but this doesn't seem to carry over.
Works fine inside Houdini when I test it with proxy geo (e.g. boxes)
Every instance of the blueprint Unreal though has the same rotation.

Am I doing something wrong here?

best,

Ron
 

Share this post


Link to post
Share on other sites

Just use up and normal. Not all program have conversions for the varied attributes.

Share this post


Link to post
Share on other sites

Hey!
Thanks for the reply!

Doesn't seem to work either - set up to 0/1/0 and the normal according the direction.
The blueprints don't rotate...

 

Share this post


Link to post
Share on other sites

Oh - seems like i found something.

Had an orient attribute on some other geometry (wall) that seems to mess up everything.
If i remove that I get rotation on the blueprints

Share this post


Link to post
Share on other sites

Actually there is one problem...

I have vertex-attribute normals on the generated geometry, so the shading looks the way i want.
For instances, the normals need to be point-attributes.
Obviously i can't have both - if i remove the vertex-attributes, the instance rotation works, if i keep both, everything twists weirdly...

Is it possible to have both - vertex and point normals?

Share this post


Link to post
Share on other sites

Your instance point cloud and your instanced geometry should be two separate pieces of geometry on import so that you do not have this issue.

My best guess is you are using the SOP based method with copy to points node to instance? If so try the the object based method. The object based method is less prone to have these type of errors as the elements are separated into different contexts and represent what you will see in your third party DCC more logically 1 to 1. In your HDA do it at the object level with a subnet. Include a geometry node that contains your point cloud data that is non-renderable i.e. shut off the display, and object merge that into a instance object. Then use the instance attribute to point to the different geometry nodes you want to import. This is a bit more production friendly as it is easier to automate the import of these object level instances, and also set each set of attributes independently.

Share this post


Link to post
Share on other sites

Oh man...
My Houdini knowledge obviously is pretty basic.
Lemme see if i can sum that up...

I use a SOP approach, yes.
I made multiple SOP HDAs to create a "level generator" - split up by their purpose and from basic to advanced.

My basic construction elements are pretty simple like:

  • Floor generator
  • Pillar generator
  • Floorboard generator
  • ...

These are used be the 2 main geo generators:

  • Room Generator (creates a room based on a curve)
  • Wall Generator (creates walls that are not a closed curve - to split up the room)

My final HDA is the "Level Generator".
This SOP imports a CSV File that contains data how to build the room (curve points) PLUS where to spawn objects (blueprints in UE4)
I attached a screenshot to show an overview of the multiple HDAs.

I actually don't know how do do this in object level...
Do i need to create 2 Nulls in my Level Generator - one with Geo and one with a pointcloud and "object-merge" them into object level?
And create a new HDA over this? I need a couple of parameters from each HDA (like material, Cd, etc.) as well.

Maybe I'm thinking in a totally wrong direction here?

 

level.PNG

overview.PNG

room.PNG

wall.PNG

Share this post


Link to post
Share on other sites

Oh... or do i "copy" my level generator graph and split it up?

-> Create 2 GEOs at Object level
-> Copy the graph into both of them
-> One creates geo, one create point cloud
-> Select both GEOs (in Object level) and create a subnet/digital asset?

Share this post


Link to post
Share on other sites

Hey!

Nevermind! I figured it out!
Works like a charm now with an object level HDA!

Thank you very much!

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×