Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
Why does "Symbols Parser" not work? The API document is below. https://developers.maxon.net/docs/Cinema4DPythonSDK/html/manuals/foundation/symbols.html?highlight=c4d_symbols
I changed "py-fresnel_r13.pyp" in official plugin examples. Finally, I got the issues.
Hi @LingZA,
There is actually 2 issues, one in your side and one in our side.
The one from your side was that you passed the wrong folder to parse_and_export_in_caller . This function expect the folder containing the symbols. So you need to adapt the .pyp file to something like:
parse_and_export_in_caller
c4d_symbol_dir = os.path.join(os.path.dirname(__file__), "res") symbol_parser.parse_and_export_in_caller(c4d_symbol_dir) c4d.plugins.RegisterShaderPlugin(PLUGIN_ID, c4d.plugins.GeLoadString(IDS_PY_FRESNEL), 0, PyFresnel, "", 0)
Then there is a bug in the symbol_parser, which don't recognize correctly values from enum without a space between the symbol name and it's value. So you need to edit the header file from IDS_PY_FRESNEL=10000, to IDS_PY_FRESNEL = 10000,
IDS_PY_FRESNEL=10000,
IDS_PY_FRESNEL = 10000,
The fix to support symbol name without space will be in the upcoming build. Cheers, Maxime.
Great!!! It runs. You are right. Thank you so much! I think your answer is worth being written in the API document to make the workflow more clear.