Houdini Engine for Maya 3.0 Compatibility

   5230   10   1
User Avatar
Member
13 posts
Joined: 7月 2014
Offline
Hi,

I recently started using Houdini Engine for Maya and was wondering which versions of Houdini Engine are compatible with which versions of Maya. My company uses Houdini Engine for Maya 3.0, due to not wanting to upgrade Houdini FX(Currently using Houdini 16.0.1154). I am able to use it fine thus far in Maya 2017(Update 4), but when I use it in Maya 2018(Update 5), it seems buggy. Volumes do not show up and I cannot use the debugging feature(View Assets in Houdini). I receive the following error (// Error: Error creating temporary directory: \houdini_temp // ) and when it opens Houdini, I get another error (see attachment).

——————
Windows 7 Professional 64bit
Houdini 16.0.1154
Houdini Engine 3.0
Maya 2018 Update 5
——————
Any help would be appreciated. Thank you in advance.

Naoki
Edited by pupps09 - 2019年3月13日 20:35:04

Attachments:
houdini_error_01.jpg (11.8 KB)

User Avatar
Member
146 posts
Joined: 10月 2017
Offline
Maya 2018 gold is fine, 2018 update 4 is unusable due to DG bugs on the Maya side, update 5 is still somewhat buggy, as you have noted.

I've put in some workarounds in the plugin for the Maya DG bugs that are still present in update 5(in particular the crashes when chaining assets together, and for volume outputs not being updated) but these fixes have only been backported as far as 16.5 (build 16.5.737)

If you're committed to staying with houdini 16.0. I'd recommend sticking with maya2018 gold. I haven't tested updates 1-3 extensively myself but I've heard that there may have been issues as far back as update 3.

There have been many updates to engine 3.0 since it was introduced, and many updates to the plugin as well. So when you're asking about compatibility and bugs, it's probably more meaningful to consider the version of houdini that you're running.

Note that you can look at the Houdini changelog to see when specific Maya plugin or engine bugs that have been fixed.
https://www.sidefx.com/changelog/ [www.sidefx.com]

Note also that we are waiting for maya2019 update 1 to ship before releasing the maya plugin for maya2019, since 2019 gold still has some dependency graph bugs that make our plugin unstable.
User Avatar
Member
13 posts
Joined: 7月 2014
Offline
Thx alot for the info and link!
User Avatar
Member
13 posts
Joined: 7月 2014
Offline
Installed Maya 2018 Gold, but still cannot use the debug feature. It crashes the same way as it did before. On the upside, atleast the volume is being produced now.
User Avatar
Member
146 posts
Joined: 10月 2017
Offline
That doesn't look like a good windows path:
There have been a several changes to the code that saves the temp file and then starts up houdini since 16.0 shipped
in: houdiniEngine_viewInHoudini() (in houdiniEngineCreateUI.mel)
because of mismatches in dealing with backslashes in file names between maya and houdini - there was a time when we needed to use toNativePath, and a time when we didn't, and a time when using it failed. We also changed the location of the temporary file from TMPDIR to HOUDINI_TEMP_DIR. It may be possible that we backported a mismatteched fix to 16.0 at some point.

What do you get when you do this in the script editor?
houdiniEngine -makeTempDir;

And what do you get when you do:
string $hipFile = `houdiniEngine -makeTempDir`;
$hipFile += “/houdiniEngineForMaya_” + `getpid` + “.hip”;
$hipFile = toNativePath($hipFile);

If you now try to save the resulting file what happens:
houdiniEngine -saveHIP $hipFile;
What do you get when you do:
getenv(“TMPDIR”);
Edited by juliap - 2019年3月18日 17:35:42
User Avatar
Member
13 posts
Joined: 7月 2014
Offline
Are the above scripts MEL? If they are, here are my results:

houdiniEngine -makeTempDir;
// Error: Error creating temporary directory: \houdini_temp //
// Result: \houdini_temp //

——————————————————————
string $hipFile = `houdiniEngine -makeTempDir`;
$hipFile += “/houdiniEngineForMaya_” + `getpid` + “.hip”;
$hipFile = toNativePath($hipFile);
// Error: $hipFile += “/houdiniEngineForMaya_” + `getpid` + “.hip”;
//
// Error: Line 2.13: Syntax error //
——————————————————————
getenv(“TMPDIR”);
// Error: getenv(“TMPDIR”); //
// Error: Line 1.8: Syntax error //
——————————————————————
When I ran the below command, it seemed like it went through, but I dont know if/where the HIP file was saved.
houdiniEngine -saveHIP $hipFile;
User Avatar
Member
146 posts
Joined: 10月 2017
Offline
Sorry about that - cut and pasted from the wrong place, ended up with the quotes mangled. Could you try that again please:

getenv(“TMPDIR”);

string $hipFile = `houdiniEngine -makeTempDir`;
$hipFile += “/houdiniEngineForMaya_” + `getpid` + “.hip”;
$hipFile = toNativePath($hipFile);
User Avatar
Member
13 posts
Joined: 7月 2014
Offline
So here is what I get.
getenv("TMPDIR");
// Result: C:/Users/echigo/AppData/Local/Temp //

string $hipFile = `houdiniEngine -makeTempDir`;
$hipFile += "/houdiniEngineForMaya_" + `getpid` + ".hip";
$hipFile = toNativePath($hipFile);
// Error: Error creating temporary directory: \houdini_temp //
// Result: \houdini_temp\houdiniEngineForMaya_23816.hip //
User Avatar
Member
146 posts
Joined: 10月 2017
Offline
Check to see what your HOUDINI_TEMP_DIR is set to, and make sure that it's pointing to a valid folder.
User Avatar
Member
13 posts
Joined: 7月 2014
Offline
juliap
Check to see what your HOUDINI_TEMP_DIR is set to, and make sure that it's pointing to a valid folder.
I'm not sure if it was set in the first place, so I set the variables in the Windows Environment Variables, and now it works!
BTW, I tried setting the HOUDINI_TEMP_DIR in my houdini.env, but it does not seem to be recognized by the Houdini Engine.

I added the following line:

HOUDINI_TEMP_DIR = "%USERPROFILE%/AppData/Local/Temp/Houdini_temp"

Are you not able to set the variable in the .env?
User Avatar
Member
146 posts
Joined: 10月 2017
Offline
Are you running in-process or out-of-process? It may be handling environment differently in-process. I can take a look. For running from Maya, you could try setting it in Maya.env instead?

It seems like there might still be a bug in houdiniEngine -makeTempDir`, or there is something strange going on with your environment
It's supposed to check HOUDINI_TEMP_DIR, and then TMPDIR\houdin_temp, and finally C:\Temp\houdini_temp when looking for a temp directory. If your HOUDINI_TEMP_DIR was never set, and your TMPDIR was valid should have gone there, unless TMPDIR was getting reset to null somewhere in between
  • Quick Links