Plugin for building MaterialX Graphs in Substance Designer 2020.2.0
Note, this is a beta version and it's not ready for production use yet.

Installation and usage instructions can be found in the file doc/README.md in the package.

A video getting started tutorial is avialble here: https://www.youtube.com/watch?v=bduf3TWmeMY

v 0.1.5

* Updated floor sample to avoid issues with Designer 10.2.0
* Updated Shader bindings to be more compatible with third
party consumers of MaterialX documents
* Updated paths to always use forward slashes
* Added documentation on how to use shaders in Arnold for Maya
* Corrected bug in tiled image in MDL
* Added support for the normal map node

Full changelog available in the package

Uploaded: 7 months ago
Updated: 7 days ago
Version: 6
File Name: substance-designer-material...
Size: 3.73 MB

DownloadblackDOWNLOAD



DISCUSS
7 months ago

"sduserplugin" folder default install folder name is "sduserplugins"


7 months ago

YEESSSS!!


7 months ago

Огонь!


7 months ago

@Barecore, good catch. I'll update it for the next version!


6 months ago

@remark3dcz
Ignore the layout in the previous response. The message was incorrectly formatted to show exactly how things should NOT be :)
MaterialX should be a subdirectory od sdmatxplugin and nothing else


6 months ago

Hi David, I tried yet before, but same error


6 months ago

I do not know why, but if I do all according to readme.md, both MaterialX and sdmatxplugin are with errors under Plugin Manager. If I look into console protocol, I can see that sdmatxplugin do not see MaterialX. I t is ok. But MateriaX can not find "MaterialX.PyMaterialXCore". So it means that MaterialX is not "install" correctly. Is somewhere manual how implement MateralX correctly to SD? Is need some python 3 or another else? Anyway MaterialX console errors:

[ERR][2987][Python]Traceback (most recent call last):
[ERR][2988][Python] File "C:/Users/xboxp/Documents/Allegorithmic/Substance Designer/python/sduserplugins\MaterialX\__init__.py", line 1, in
[ERR][2989][Python]
[ERR][2990][Python]from .main import *
[ERR][2991][Python] File "C:/Users/xboxp/Documents/Allegorithmic/Substance Designer/python/sduserplugins\MaterialX\main.py", line 3, in
[ERR][2992][Python]
[ERR][2993][Python]from .PyMaterialXCore import *
[ERR][2994][Python]ModuleNotFoundError
[ERR][2995][Python]:
[ERR][2996][Python]No module named 'MaterialX.PyMaterialXCore'

---

sdmatxplug console errors:

[ERR][2997][Python]Traceback (most recent call last):
[ERR][2998][Python] File "C:/Users/xboxp/Documents/Allegorithmic/Substance Designer/python/sduserplugins\sdmatxplugin\__init__.py", line 66, in
[ERR][2999][Python]
[ERR][3000][Python]raise BaseException('MaterialX not found')
[ERR][3001][Python]BaseException
[ERR][3002][Python]:
[ERR][3003][Python]MaterialX not found


6 months ago

@remark3dcz
From the error it looks like MaterialX is directly in the sduserplugins. It shound be in the directory sdmatxplugin where the plugin is located.
The directory should be
sduserplugins
|__sdmatxplugin
|__...
|__MaterialX


6 months ago

I do not know why happen this:
[ERR][704][Python] File "C:/Users/xyj/Documents/Allegorithmic/Substance Designer/python/sduserplugins\sdmatxplugin\__init__.py", line 88, in initializeSDPlugin
[ERR][705][Python]
[ERR][706][Python]_buildMDLFiles()
[ERR][707][Python] File "C:/Users/xyj/Documents/Allegorithmic/Substance Designer/python/sduserplugins\sdmatxplugin\__init__.py", line 47, in _buildMDLFiles
[ERR][708][Python]
[ERR][709][Python]content = sdmatx.mtlx2mdl_library(m, 'shared', mtlx_search_path)
[ERR][710][Python] File "C:\Users\xyj\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\python\sdmatx\mtlx2mdl.py", line 801, in mtlx2mdl_library
[ERR][711][Python]
[ERR][712][Python]if isNodeSupported(node_def):
[ERR][713][Python] File "C:\Users\xyj\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\python\sdmatx\mtlx2mdl.py", line 96, in isNodeSupported
[ERR][714][Python]
[ERR][715][Python]nodeTypeSupported = mtlx_nodeDef.getType() in mtlxToMdl_types
[ERR][716][Python]LookupError
[ERR][717][Python]:
[ERR][718][Python]Nodedef: TestSuiteOptions has no outputs


6 months ago

remark3dcz: What version of designer are you using. It looks like it tries to load materialx but it fails which might be related to being on 2019 where the python version 3.6


6 months ago

xianyaoji
Your issue should be fixed in the updated release. Sorry for the inconvenience


6 months ago

Thank you!


6 months ago

Thanks Dave, I did how you desribed, but still different errors:

[ERR][2994][Python]Traceback (most recent call last):
[ERR][2995][Python] File "C:/Users/xboxp/Documents/Allegorithmic/Substance Designer/python/sduserplugins\sdmatxplugin\__init__.py", line 74, in initializeSDPlugin
[ERR][2996][Python]
[ERR][2997][Python]import sdmatx
[ERR][2998][Python] File "C:\Users\xboxp\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\python\sdmatx\__init__.py", line 1, in
[ERR][2999][Python]
[ERR][3000][Python]from .paths import getDataDirectory, \
[ERR][3001][Python] File "C:\Users\xboxp\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\python\sdmatx\paths.py", line 6, in
[ERR][3002][Python]
[ERR][3003][Python]import MaterialX as mx
[ERR][3004][Python] File "C:\Users\xboxp\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\MaterialX\python\MaterialX\__init__.py", line 1, in
[ERR][3005][Python]
[ERR][3006][Python]from .main import *
[ERR][3007][Python] File "C:\Users\xboxp\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\MaterialX\python\MaterialX\main.py", line 3, in
[ERR][3008][Python]
[ERR][3009][Python]from .PyMaterialXCore import *
[ERR][3010][Python]ModuleNotFoundError
[ERR][3011][Python]:
[ERR][3012][Python]No module named 'MaterialX.PyMaterialXCore'
[WRN][3013][Default](0): QSqlDatabasePrivate::database: requested database does not belong to the calling thread.
[WRN][3014][Default](0): QSqlQuery::prepare: database not open


6 months ago

<>1>


6 months ago

alert()


6 months ago

<.1


6 months ago

<>hello


5 months ago

Will there be a Mac version? Or is there a work around?


5 months ago

tracyParker

It works on mac but unfortunately there are no compatible MaterialX binaries available for it at this point. We hope to find a solution to that down the road to make it more smooth to use it but at the moment you need to compile it yourself.


4 months ago

2020.1.3(10.1.3) 安装失败


3 months ago

Hi, David!
Could you please clarify, what is the correct way to work with textures here?
So far I was able to connect textures (creating texture_2d sample with link to packaged texture, then gamma correct it, for basecolor), without getting any errors referring to MDL conversion.
However, I still can't use normal maps. I'm connecting texture sample to vector3 converter, or image_vector3 sampler, but I'm always getting the bad shading in viewport. If I connect normal map from the sbs graph, I get the MDL error, but shading is correct.
Also, can you clarify what purpose does a sbs graph serve? Why do I need to point at it on export, if there is no way to actually use its outputs? (MDL conversion error pops up and blocks the export)


3 months ago

IVedroid
There are a number of questions related to texturing in there. If you adhere to the rules in the videos https://youtu.be/bduf3TWmeMY and https://youtu.be/5VLs9nRqOAA you should be fine.
I.E Always reference textures through usage attributed (Resources and sbs instances in the graph only works for iRay anyway). Always reference the normal map through a sampler and not a vector3/color or resource. Then route it through the algnormalTStoWS. When referring to it in the wrong way there is occasionally an automatic tangent space to world space conversion happening for iRay meaning which will not be there for the other renderers.

The floor sample and painter sample in the package shows how to correctly bind textures


3 months ago

Great, thank you!


28 days ago

Hi Substance team, thank you very much for the plugin! it would be great if there are more tutorials and more samples for using the nodes of MateiralX in Substance Designer.