Jump to content
Sign in to follow this  
FredDoes3D

Houdini Engine Unity "bad parameter reference"

Recommended Posts

Hi there,

been trying out the houdini/unity integration lately. Very interesting stuff!

 

I did run into the problem that when i export my digital assets as OTLs they show up fine in unity but as soon as i expose parameters in the GUI to be made available in engine (save asset again, reload in unity), 

the asset disappears from the unity viewport.

 

Im not doign anything fancy, just exposing a boxes size attribute to keep the error margin to a minimum.

 

This seems to be a bug as i had it working before with other assets and i kept trying it multiple times always resulting in the same issue. 
 

Anybody else having similar issues?

 

 

Share this post


Link to post
Share on other sites

Try exposing each component element of a float3 parm out as a separate float parm and see if that makes a difference.  I have experience with other engines and Houdini engine but not Unity but this helped in my experience. 

 

Also I'd suggest just creating a UI debug OTL and start with the simple UI like ints and floats then add different parm types and test in Unity every time you add one.

 

G

Edited by GeordieM

Share this post


Link to post
Share on other sites

Will give this a go tonight when i get home from work, thanks for the suggestion Geordie.

I was just watching some tutorial on the subject and i believe i havent closed my asset yesterday "match current definition" not sure if that makes a difference.

also i noted, the tutor created the gui the following way:

 

create parameter in the parameter editor, copy, then paste relative reference into the asset.

 

what i have been doing was:

 

left click and drag from asset into the GUI editor.

 

maybe that creates bad links? Usually while creating assets in houdini that is not a problem, right?

Share this post


Link to post
Share on other sites

Hi Frederik,

 

Indeed, this creates bad links, "spare parameters" specifically

If you want parameters to be permanently included in the asset you are working on you need to right click on it and go to "Type Properties"

If you go to the parameters tab, you see an almost identical interface to the GUI editor.

Adding them via this method will include them into the asset though.

If you add parameters via the gui method you see the embedded parameters are grayed out, and vice versa in the "type properties" menu.

 

Spare parameters will still work, within the same HIP file, but once you load the otl somewhere else, they are lost ;)

Match current definition is useful if you have assets placed in other assets in the node hierarchy,

if you do not lock the lower (deeper) level nodes, updating the lower level HDAs will not affect a HDA which contains a unlocked version of this node.

Otherwise all the assets with that node inside it, in their locked state will be automatically updated.

 

Kind regards,

Twan

Share this post


Link to post
Share on other sites

Thank you Twan, that clears it up in theory!

Gotta see if I can get it to work practically tonight :)

 

Everything still is wondrous new terrain for me in Houdini. way cool

Share this post


Link to post
Share on other sites

just had a quick look during my break, the interfaces really do look almost identical!

can i still use drag and drop to place my parameters or do i have to make the link manually?

Share this post


Link to post
Share on other sites

additional question:

do you recommend to always work in the Operator Type Properties or do you use the Parameter Interface when you dont plan to export it to a game engine?

 

Are there drawbacks to the Type Properties?

 

Also, do you know if there are limitations of what the houdini engine for unity can handle? aka nodes that arent supported?

Thank you so much

Share this post


Link to post
Share on other sites

Yo,

 

you should still be able to drag and drop,

 

personally I avoid using the parameter interface on otls created by myself or the team,

even if it is just to avoid confusion. Unless you really do not want to change the otl itself,

then you could use the parameter interface to avoid changing the otl itself.

 

it is still the correct way to add things to native Houdini nodes, inside your otl, which you can then promote to the top layer,

into the type properties, so they are saved correctly in the otl and can be manipulated.

 

afaik all nodes are supported in the houdini Engine, there are some things that are difficult to do through the interface (like vertex painting),

and in general the engine has more dependencies and is thus more likely to crash (especially on certain advanced interface elements, like multi level multiparms).

so make sure your otls are as stable as possible.

But in general, everything that works in Houdini, should work in the engine, even python and that kind of stuff.

 

Good luck ;)

Edited by acey195

Share this post


Link to post
Share on other sites

just got home and got it to work right away! saved me a lot of heartache here Twan, thanks!

gonna dig into some more complicated assets now!

when you say: 

add things to native Houdini nodes, inside your otl, which you can then promote to the top layer,

into the type properties

could you explain that to me as if i were 7? :)

Share this post


Link to post
Share on other sites

Well, by native node I meant any node that is not a custom otl.

you can just add parameters to them like you are used to,

using the "edit parameter interface".

 

As matter of fact, adding parameters in the other way, by "Type properties",

will change the default behaviour of the node, and should be generally avoided,

but I do think you will get a proper warning popup if you attempt this.

 

If you have nodes with an edited parameter interface inside a custom otl, and this otl is saved,

all the edits of the parameter interface of the nodes inside will be kept,

just not the top level (the custom otl itself)

 

If you want to edit the parameters you added to the nodes inside, you can drag them into the

"Type properties' parameters", you can do this for both standard parameters and for ones you added yourself.

 

So tldr.

-Parameter interface for Houdini nodes.

-Type properties for custom otl nodes.

Share this post


Link to post
Share on other sites

got it, thanks!

actually used a bit of houdini today for the first time in an actual project at work, some procedural modeling to make my life a lot easier.

so proud!




 

post-13724-0-08623000-1433885350.jpg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×