Daniel2203

Daniel2203

About Me

Expertise
Not Specified
Location
Not Specified
Website

Connect

Recent Forum Posts

Custom importer issues Nov. 6, 2017, 8:40 a.m.

Hi all,

I'm writing a custom importer for Houdini to be able to load .igmesh files Houdini. However Houdini throws an error “Unable to read file Cinput.igmesh”.


So far I've been registering the importer in geoio.json and it's properly recognized by Houdini. When I use a file node and select an .igmesh file my importer .exe is invoked correctly with “Cinput.igmesh” and “stdout.geo” as arguments (I'm writing out a log file so I know what's going on).

For debug purposes I'm not parsing the input geometry, instead the .geo geometry I'm creating is always a simple cube. I can load the generated cube to Houdini, so the .geo file that I generate is valid.

So most probably Houdini does not find the file I'm generating, does that make sense??

My importer stores the output geometry in the current working directory - I compared this behaviour to the gwavefront.exe importer and they do exactly the same in terms of output directory and file names…


Did anyone here already write an importer?

How to access multiple asset output in Engine 3.0 Sept. 7, 2017, 4:10 a.m.

Hi dpernuit,

thanks a lot for your reply. Here are three images of my file (the .hip file has been generated by the engine):

- one showing the Object level with my two input objects and the obj containing the asset.
- another image shows the insinde of the asset obj node that merges the two input nodes and pipes them into the asset node itself.
- the last images shows the out nodes inside my asset

As you can see my asset node has two inputs and two outputs, I would now like to access specifically one of these outputs without knowing what's happening within the asset.



I managed to read out the asset nodes geometry, which is basically what you would see in Houdini if you activate the node, in other words the node within the Asset that has the Display flag set.

Your method of using HAPI_ComposeChildNodeList() with HAPI_NODEFLAGS_TEMPLATED works in the sense that I get references to the two template nodes. But this is not really save, since from having references to these nodes I don't know which one is linkes to output 1 and which one stands for output 2. I can filter these nodes by their names, but since these nodes live inside my asset and can potentially change in a new version that would be a very bad style.

Isn't there a way of saying “here's a node ID (of my asset), give me the geo behind output #2” ?





Imagine what you would do if you were working in the Houdini GUI: in order to see the second output, you would probably create a NULL node, set the Display flag here and attach it to output 2. I could do the same in the engine and then just read out whatever geo i have on this NULL node - BUT I can't seem to be able to connect a node to a certain output, the function only lets me decide to which input I want to connect…. see my problem?

License tiers / tainting - how does it work? Aug. 24, 2017, 1:59 a.m.

Hi guys,

I read about tainting in the licensing chapter of the engine documentation, like you cannot instantiate / use an asset that has been created under a lower tier license than the engine which is trying to load it.

From my understanding we have
- non-commercial license (Apprentice, .hdanc)
- limited-commercial license (Indie, .hdalc)
- commercial license (.hda)


Then again on the licensing page there's a list of licenses, are these the actual tiers that ethey refer to?
- Houdini Engine
- Houdini
- Houdini FX
- Houdini Engine Indie
- Houdini Indie

So basically my question is, if engine and interactive licenses are always different licensing tiers.



The background behind the question is that I don't manage to load an asset that has been created under Indie license (interactive) even though I have an Indie engine license. The weird thing is that it throws an undocumented error code (HAPI_RESULT_DISALLOWED_HENGINEINDIE_W_3PARTY_PLUGIN), so I need to sort out first if what I'm trying to do should work at all in theory.

Any help appreciated, thanks