I got these results, later on, I encountered the said crash:
v1 (Python Node Direct) = Secured Code, Draw Delay, No Crash
v2 (Python Node Code Transfer to Python Tag) = Secured Code, Function Delay, Draw Delay, No Crash
v3 (Python Generator) = Exposed Code, No Delay, No Crash
v3.1 (Python Node Code Transfer to Python Generator) = Secured Code, Crashes before Draw
Just wondering if there was any way to update the python version Cinema4D uses on its scripts, or is there any way to switch versions of python per script from the python version included in Cinema4D to the version that had been installed on the machine (for example, Python 3.9.2)
That does its thing, but like the Sound Effector included in MoGraph Effectors, even if I set the offset of the track like ahead like 30 frames, it still reads volume/sample data from the position of the track with high volume on its original position if the track started in 0F
If my voice starts at 40F and I pick an offset of 30F, it should start reading sample data from 70F and not 40F
By this code, it behaves the same as the Sound Effector, but the data is readable and can be applied to any object.
Hello! I was trying to create my own variation of the Sound Effector on R19 since the one on my version doesn't fit the purpose of LipSyncing since it doesn't follow Sound Track time offset from the timeline,
I tried several python functions including CTrack.GetValue() but it always return 0
Any way possible that I can get the sound strength value from a sound track (CTsound type) using python? I can make the thing using Sound Node, but once played, it cannot be stopped or controlled by timeline itself.
I had a question too partially related to this one.
I was using urllib2 to access a payhip product page of my own, so that when I use my VersionReader Node in XPresso, it can access the current preset version code present on my product page. For some reason, when I try to open the webpage, it ends up not working. It has no feedback reply as well. I had it on a try-except block so I don't knoe what is the exact error (yet)
However, I can access my github webpage for the build code, so having a solution for this is not really needed for my side (my friend does not have a github page so we kinda need to have a workaround)
I was using R19 for this set of scripts.
Actually nevermind. I found a workaround for this
If we base on the sound effector, and the waveform on the timeline, the offset does not work apparently, or am I missing something?
I was trying to create a LipSync Engine built using Python and the Sound Effectors included in the MoGraph package.
For some reason, I saw some mismatch in Sound Effector Build between R14, the one made in R18, and the one in R19.
This is the screenshot of the Effector Tab in the versions I got (R14, R18, and R19)
I used R19 today and made some changes to my preset folder which contains several objects which builds a whole character in a DIY manner, meaning it contains parts of character.
For some odd reason, R19 randomly deletes the objects from it when I perform a certain process on the said preset which gets its data deleted. The deletion percentage is random as I have inspected during different istances of it happening. It does not happen everytime, more like 50/50 of it to happen.
Process of Reproducing the bug:
Unlock the preset that has Read Only via C4D
Take out an object
Modify the object
Delete the original object from Preset and replace it with modified one
Make the same preset as Read Only
Before I exit Cinema4D, I check if all objects I need to be on the preset was on there, so I don't know what is happening on my rig. There was no crash on Cinema4D so crashing is will not be a reason on why it doesn't have half of the contents.
@zipit Thanks for sharing the code. Now I know that initializing the InExcludeData is not InExcludeData.__init__ and the correct way was c4d.InExcludeData(), which I really did not think of when initializing specialized data containers.
I had a problem (again) with InExcludeData. this time with initializing the thing
Also, it seems like there is no way to merge two different InExcludeData fields to make a single InExcludeData list with no object duplicates on it.
Can any of you can explain to me how can I really do this using Python?
It basically was unclear for me as of now...
Is it possible for objects to be excluded from the environment's effect? For example, if the Fog option is enabled, the fog won't affect several objects that are meant to be not affected.
I have 2 planes with custom sun and moon textures which is really annoying right now because it always gets affected by the fog, and also I don't want to cover the sky with fog either, so I need to exclude them from the fog effect of the Environment object...
I hope there was a solution for this problem...