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).
Thank you I re-generated my project but besides I've added all the .libs to the linker I'm still having some issues on linking all them are related to ModuleInfoWrapper:
error LNK2001: unresolved external symbol "public: static class maxon::ModuleInfo maxon::details::ModuleInfoWrapper<-5597898574948983000>::info"
Any thought on this? Thank you in advance.
We've found that some callbacks for
ObjectData::Message(GeListNode* node, Int32 type, void* data) { }
is no longer executed on the main thread at least some messages like:
MSG_MULTI_DOCUMENTIMPORTED
Since our plugin requires third-party communications executing some functions on the main thread is necessary.
Is there any way to force that call on the main thread for the newer versions? (Notice that these calls were executed on the main thread in R25 and older versions).
We have a plugin that warms the user under some circumstances , if the user is using GUI we use a Messagebox meanwhile for a network render we use the log (to avoid freezing the farm).
The problem comes when the user opens it in Render Queue it seems that the document is open by C4D itself again and it triggers the MessageBox since
if (IsNet() || GeGetVersionType() == VERSIONTYPE::COMMANDLINE || GeGetVersionType() == VERSIONTYPE::CINEWARE )
Returns always false.
So my question is as well as I can check if I'm under network render (TeamRender) is there any other function or flag to check if I'm on Render Queue?
Thank you in advance.
In our Anima plugin we receive several calls to GetVirtualObjects and that's ok but we've found a issue, if I want to check if I'm in render right now I could use
HierarchyHelp *hh; if (hh->GetBuildFlags() & A_INTERNAL_RENDERER || hh->GetBuildFlags() & A_EXTERNAL_RENDERER) rendering = true;
The problems is that I receive the same flag if I press 'C' (make editable) in my object and we'll need a different behaviour for rendering and make editable.
Is there any other tag I could check in the document or whatever?
Thank you in advance for any tip.
Yes, the situation you described is exactly what we need.
We released v4.0 without mb support in C4D for the new 4D characters (in regular rigged and ambient characters it works ok) but we could introduce it in a 4.1 or something like that.
@zipit said in Check if GetVirtualObjects is called for Motion Blur:
n that. What I meant was: Listen to the message and once you retrieved it (and determined that this is an animation rendering that contains a motion blur), you can set a flag in the instance of your plugin object that tells GVO that this instance should be constructed as motion blur safe. And since you are then in a rendering document, that will have no impact on the editor behavior of your object. The made up symbol was just an attempt on trying to convey that without writing a wall of text
I disabled it by using a motion blur tag, btw I was speaking about these characters, unfortunately since I cannot get that preframe signal c4d won't support motion blur https://vimeo.com/397454524
@zipit sorry I didn't find anything related to ALWAYS_YIELD_MOTIONBLUR_SAFE_GEOMETRY
@zipit MSG_MULTI_RENDERNOTIFICATION was a nice tip but in our case, it only works for still since that MSG is triggered only once in an animation, the same MSG if it could be called once per frame in an animation could be just perfect.
Hi Adam I think that probably I've posted with my personal account right now but I've been on the forums for a while, I'm the developer of the Anima for c4d plugin (and I know Riccardo for a long time since I was on the development team of Thea)
My question is tricky and related to Anima (the crowd system) plugin.
We have a new kind of models that could change its topology with the time, also we have a fallback that allows me to retrieve the non-changing-topology mesh for motion blur. Your suggestion works nice if the mb call only less than one frame but fails for bigger ranges since it could give us an integer frame and I'll return a different topology.
I'm still wondering if there is any other way...
Regards, Víctor
In other software packages they have 4 callbacks PRERENDER, PRERENDER_FRAME, POSTRENDER_FRAME and POSTRENDER.
Obviously if between PRERENDER_FRAME and POSTRENDER_FRAME GetVirtualObjects is called more than once we know that the first one is the actual call and the others are just called for effects like Motion Blur.
Is there something similar or any other way to get this information in C4D ?
Thank you in advance
I'm working on a plugin that needs to free some resources as well as closing a TCP connection, unfortunatly you cannot rely on C4DPL_ENDPROGRAM since if your scene is not saved and try to close c4d that signal is trigged but you still can click on Cancel so the app is not closed and you could have freed your resources.