Quixel Bridge / Houdini Live Link Integration
47070 54 9- chrishebert
- Staff
- 93 posts
- Joined: Dec. 2015
- Offline
BROADCAST NOV 19, 2018
ORIGINAL DESCRIPTION:
Learn what's possible with the brand new SideFX Houdini integration — out now as one of the new Live Links in Quixel Bridge 2018.5! Check out the preview here: https://www.youtube.com/watch?v=8kQLkFyFG_U [www.youtube.com]
The SideFX Houdini Live Link is an extensive and powerful plugin that allows you to import assets from Bridge, scatter them, create custom triplanar setups, create geometry from atlases, and more.
ORIGINAL DESCRIPTION:
Learn what's possible with the brand new SideFX Houdini integration — out now as one of the new Live Links in Quixel Bridge 2018.5! Check out the preview here: https://www.youtube.com/watch?v=8kQLkFyFG_U [www.youtube.com]
The SideFX Houdini Live Link is an extensive and powerful plugin that allows you to import assets from Bridge, scatter them, create custom triplanar setups, create geometry from atlases, and more.
Edited by chrishebert - Nov. 19, 2018 11:42:22
- limbicnation
- Member
- 10 posts
- Joined: June 2016
- Offline
- MagnusL3D
- Member
- 1110 posts
- Joined: Aug. 2008
- Offline
limbicnation
Where can I find the recorded webinar?
https://vimeo.com/301884509 [vimeo.com]
https://www.youtube.com/watch?v=72MpU8wFA2U [www.youtube.com]
- MagnusL3D
- Member
- 1110 posts
- Joined: Aug. 2008
- Offline
I don't think this was mentioned in the webinar and it is a pretty new feature as of plugin version 1.8, for UV mapped objects you can add a texture to the Quixel Scattering node to have it deform the incoming geo, that way scattered objects can sync up with displaced geo. And there is a ramp exposed to control where to scatter the objects on the displacement value.
Edited by MagnusL3D - Nov. 21, 2018 12:58:47
- RobW
- Member
- 147 posts
- Joined: March 2014
- Offline
Hi Magnus,
Looking at the teaser video, and your webinar, it looks like there's a change made in the scattering workflow?
In the teaser video there's a checkbox for ‘density’ in the simple_scattering node, that is not there in the node after importing an asset.
I tried to just paint some strokes on a grid and scatter a mushroom set on those strokes, but failing as I cannot seem to link my painted ‘density’ attribute to the simple_scattering node.
Any chance on some simple demo scenes, and a bit more info on how the system is set up node wise. It would help a lot understanding the mechanics of things.
cheers!
rob
Looking at the teaser video, and your webinar, it looks like there's a change made in the scattering workflow?
In the teaser video there's a checkbox for ‘density’ in the simple_scattering node, that is not there in the node after importing an asset.
I tried to just paint some strokes on a grid and scatter a mushroom set on those strokes, but failing as I cannot seem to link my painted ‘density’ attribute to the simple_scattering node.
Any chance on some simple demo scenes, and a bit more info on how the system is set up node wise. It would help a lot understanding the mechanics of things.
cheers!
rob
Apprentice Attribute / Houdini 17.0.381 / GTX 970 - driver 411.63
- MagnusL3D
- Member
- 1110 posts
- Joined: Aug. 2008
- Offline
Hey RobW,
Yeah the ‘use density’ toggle was from a earlier version of the scattering node. Now you just have, or don't have the f@density attribute on your incoming mesh and it will use that.
What can throw you off a bit when using it on a grid is that the “slope” is by default set to “add” which means on a grid it will seem like the density attribute doesn't do anything. Either set the ‘slope’ to ‘none’ or ‘multiply’ instead. It might be a bad idea of me to have the ‘slope’ set to add by default, the idea was to get a nice results by default with slope set to add and noise to multiply, but it sort of makes the f@density not show up as well unless you change.
Here is a example file how I usually do it, first a paint then a wrangle with f@density = @Cd.r; or similar.
let me know if it helps.
Yeah the ‘use density’ toggle was from a earlier version of the scattering node. Now you just have, or don't have the f@density attribute on your incoming mesh and it will use that.
What can throw you off a bit when using it on a grid is that the “slope” is by default set to “add” which means on a grid it will seem like the density attribute doesn't do anything. Either set the ‘slope’ to ‘none’ or ‘multiply’ instead. It might be a bad idea of me to have the ‘slope’ set to add by default, the idea was to get a nice results by default with slope set to add and noise to multiply, but it sort of makes the f@density not show up as well unless you change.
Here is a example file how I usually do it, first a paint then a wrangle with f@density = @Cd.r; or similar.
let me know if it helps.
Edited by MagnusL3D - Nov. 22, 2018 07:18:10
- RobW
- Member
- 147 posts
- Joined: March 2014
- Offline
Hi Magnus,
Yes, that did the trick! And nice one on the displacement texture for the scattered objects.
One thing, I'm getting an error on some of my older atlas assets due to the absence of a Opacity texture:
Traceback (most recent call last):
File “…/Quixel/MegaScans/support/plugins/houdini/1.8/MSLiveLink/scripts/python\MSLiveLink\MS_API.py”, line 127, in InitializeImporter
self.initAssetImport()
File “…/Quixel/MegaScans/support/plugins/houdini/1.8/MSLiveLink/scripts/python\MSLiveLink\MS_Importer.py”, line 135, in initAssetImport
self.importAtlas( AssetMaps )
File “…/Quixel/MegaScans/support/plugins/houdini/1.8/MSLiveLink/scripts/python\MSLiveLink\MS_Importer.py”, line 441, in importAtlas
atlas_geo.parm('filename').set(assetMap)
KeyError: ‘opacity’
The import creates the top node, but fails to create the rest in this case. Some of my old assets don't seem have an Opacity map.
cheers!
rob
Yes, that did the trick! And nice one on the displacement texture for the scattered objects.
One thing, I'm getting an error on some of my older atlas assets due to the absence of a Opacity texture:
Traceback (most recent call last):
File “…/Quixel/MegaScans/support/plugins/houdini/1.8/MSLiveLink/scripts/python\MSLiveLink\MS_API.py”, line 127, in InitializeImporter
self.initAssetImport()
File “…/Quixel/MegaScans/support/plugins/houdini/1.8/MSLiveLink/scripts/python\MSLiveLink\MS_Importer.py”, line 135, in initAssetImport
self.importAtlas( AssetMaps )
File “…/Quixel/MegaScans/support/plugins/houdini/1.8/MSLiveLink/scripts/python\MSLiveLink\MS_Importer.py”, line 441, in importAtlas
atlas_geo.parm('filename').set(assetMap)
KeyError: ‘opacity’
The import creates the top node, but fails to create the rest in this case. Some of my old assets don't seem have an Opacity map.
cheers!
rob
Edited by RobW - Nov. 22, 2018 09:18:44
Apprentice Attribute / Houdini 17.0.381 / GTX 970 - driver 411.63
- MagnusL3D
- Member
- 1110 posts
- Joined: Aug. 2008
- Offline
- eldiren
- Member
- 50 posts
- Joined: May 2015
- Offline
- MagnusL3D
- Member
- 1110 posts
- Joined: Aug. 2008
- Offline
@RobW: Just and update so people reading the thread know. Me and Rob have spoken directly.
The Atlas splitter needs a Opacity texture currently, which older assets sometimes did not have. Today they should have these so new downloads (or re-download) should be fine.
If you are in a situation where you can not re-download Rob seems to have come up with a work around. My understanding is that it involves creating a opacity map from the preview image.
I will look into a potential fallback incase the opacity texture is missing, but in most cases just re-download should fix it.
@Eldiren: it's not a bug it is a feature Joking a side. What is happening is that the default state of the Arnold material nodes have the generate .TX files not clicked, since I didn't want to spam peoples hard drive unknowingly with lots and lots of .TX files.
The solution is to either go into the settings.json file and change the ‘arnold_tx’ from ‘False’ to ‘True’, or you go into your Arnold ROP and enable ‘Auto-tile’ which allows Arnold to render without generating .TX files.
There is a screenshot, links to the settings file documentated on page 6 in the documentation regarding this here:
https://drive.google.com/open?id=1hAuh-9_g37htwBYcUd3pz8hL9B6AQTgL2h3F9GPW7y4 [drive.google.com]
I am currently working on making a proper UI for the settings to hopefully make this a bit more obvious.
Also if Arnold users want to I could change the default to be True in future releases, I just wanted to be a bit careful about potentially filling up peoples harddrives with .TX files.
The Atlas splitter needs a Opacity texture currently, which older assets sometimes did not have. Today they should have these so new downloads (or re-download) should be fine.
If you are in a situation where you can not re-download Rob seems to have come up with a work around. My understanding is that it involves creating a opacity map from the preview image.
I will look into a potential fallback incase the opacity texture is missing, but in most cases just re-download should fix it.
@Eldiren: it's not a bug it is a feature Joking a side. What is happening is that the default state of the Arnold material nodes have the generate .TX files not clicked, since I didn't want to spam peoples hard drive unknowingly with lots and lots of .TX files.
The solution is to either go into the settings.json file and change the ‘arnold_tx’ from ‘False’ to ‘True’, or you go into your Arnold ROP and enable ‘Auto-tile’ which allows Arnold to render without generating .TX files.
There is a screenshot, links to the settings file documentated on page 6 in the documentation regarding this here:
https://drive.google.com/open?id=1hAuh-9_g37htwBYcUd3pz8hL9B6AQTgL2h3F9GPW7y4 [drive.google.com]
I am currently working on making a proper UI for the settings to hopefully make this a bit more obvious.
Also if Arnold users want to I could change the default to be True in future releases, I just wanted to be a bit careful about potentially filling up peoples harddrives with .TX files.
Edited by MagnusL3D - Nov. 23, 2018 03:35:05
- stevenshook
- Member
- 15 posts
- Joined: May 2017
- Offline
- stevenshook
- Member
- 15 posts
- Joined: May 2017
- Offline
- MagnusL3D
- Member
- 1110 posts
- Joined: Aug. 2008
- Offline
@Stevenshook:
So if I understand your problem correct the material HDA comes in with no textures at all assigned ? But you can assign them manually and then it works but you get the console warning messages.
I've myself run into some issues similar to this which was due somehow the asset definition having become corrupt, re-downloading the asset helped in those cases. Could you try and see if that helps ?
Regarding the console warning message “no extension for filename” happens because the HDA connects up channels that can have textures, but they do not always have textures. Simple example is that the wood generally do not have the metal texture, but since the HDA does not know that at creation time it still hooks it up.
It is annoying but still renders. It is something I am aware of but have no good solution at this point.
So if I understand your problem correct the material HDA comes in with no textures at all assigned ? But you can assign them manually and then it works but you get the console warning messages.
I've myself run into some issues similar to this which was due somehow the asset definition having become corrupt, re-downloading the asset helped in those cases. Could you try and see if that helps ?
Regarding the console warning message “no extension for filename” happens because the HDA connects up channels that can have textures, but they do not always have textures. Simple example is that the wood generally do not have the metal texture, but since the HDA does not know that at creation time it still hooks it up.
It is annoying but still renders. It is something I am aware of but have no good solution at this point.
- stevenshook
- Member
- 15 posts
- Joined: May 2017
- Offline
You're correct about the textures and messages.
I removed the downloaded asset and re-downloaded it. The same problem resulted for Arnold no textures in the Quixal Arnold Texture node. I tried it with two different assets and had the same problem with both.
The bridge works very well with Redshift, using the same assets, with all textures being assigned in the both texture nodes.
Have a nice day,
Steve
I removed the downloaded asset and re-downloaded it. The same problem resulted for Arnold no textures in the Quixal Arnold Texture node. I tried it with two different assets and had the same problem with both.
The bridge works very well with Redshift, using the same assets, with all textures being assigned in the both texture nodes.
Have a nice day,
Steve
- MagnusL3D
- Member
- 1110 posts
- Joined: Aug. 2008
- Offline
Well I have come up with a solution so that it doesn't connect empty material slots anymore. Hopefully it will get into the next update. Have to test it a bit tomorrow.
However it is very strange that it works for Redshift but not Arnold since it essentially just copies over filepaths to both in the same way.
Does it work with Mantra as well ?
Could you link the assets this is happening with ?
However it is very strange that it works for Redshift but not Arnold since it essentially just copies over filepaths to both in the same way.
Does it work with Mantra as well ?
Could you link the assets this is happening with ?
- stevenshook
- Member
- 15 posts
- Joined: May 2017
- Offline
Here are the links to the assets that I tried.
https://megascans.se/assets/rcygo [megascans.se]
and
https://megascans.se/assets/okowW [megascans.se]
I will try Mantra later, but I normally don't use Mantra so it will be an adventure.
Steve
https://megascans.se/assets/rcygo [megascans.se]
and
https://megascans.se/assets/okowW [megascans.se]
I will try Mantra later, but I normally don't use Mantra so it will be an adventure.
Steve
- stevenshook
- Member
- 15 posts
- Joined: May 2017
- Offline
- eldiren
- Member
- 50 posts
- Joined: May 2015
- Offline
The second solution in the settings.json file worked for me. Thanks. It might be a bit more technical, but some of the assets can be heavy. Arnold does have an Alembic procedural, so offering the option to export as .abc allows us Arnold folks to have a delayed load memory efficent object to instance/scatter/place. Octane automagically unpacks alembics as well, and they work nicely in Mantra. I think Redshift is the only odd man out.
Just a thought, right now we're converting them ourselves after get the initial looks down.
Just a thought, right now we're converting them ourselves after get the initial looks down.
- MagnusL3D
- Member
- 1110 posts
- Joined: Aug. 2008
- Offline
@Eldiren, Future release will have .TX generation set to default on since people are running into this, and there will be a new interface to easier access the settings through a interface. I will forward the ABC request to the main Quixel team since I am only making the plugin for Houdini. But it makes a lot of sense to me!
@Stevenshook, I have mailed with Steven regarding his Arnold problem and this has now been solved. I would like to share our findings here for anyone else running into similar issue. It turns out that if you have both Redshift and Arnold installed, Arnold has to be “first” in the .ENV file or they will conflict with each other causing this issue.
@Stevenshook, I have mailed with Steven regarding his Arnold problem and this has now been solved. I would like to share our findings here for anyone else running into similar issue. It turns out that if you have both Redshift and Arnold installed, Arnold has to be “first” in the .ENV file or they will conflict with each other causing this issue.
Edited by MagnusL3D - Nov. 25, 2018 13:41:53
- CYTE
- Member
- 708 posts
- Joined: Feb. 2017
- Offline
Hey Magnus,
very cool plugin! thanks a lot. I discovered an issue with the way materials are created. I want them to get created the way it's here:
https://vimeo.com/301884509#t=16m [vimeo.com]
so it creates materials inside others depending on the node one selects. This only works for me if I use the Houdini standard desktops. If I use a custom desktop it always creates new materials. Is there a way to fix this?
Cheers
CYTE
very cool plugin! thanks a lot. I discovered an issue with the way materials are created. I want them to get created the way it's here:
https://vimeo.com/301884509#t=16m [vimeo.com]
so it creates materials inside others depending on the node one selects. This only works for me if I use the Houdini standard desktops. If I use a custom desktop it always creates new materials. Is there a way to fix this?
Cheers
CYTE
-
- Quick Links