Check if GetVirtualObjects is called for Motion Blur



  • 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



  • Hi,

    have you considered listening for an up-coming rendering via MSG_MULTI_RENDERNOTIFICATION, check the RenderNotificationData (does the render type support motion blur) and the render settings of the document (is there a motion blur effect or not) and determine by that if your object geometry has to be rebuild?

    Cheers,
    zipit



  • @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,

    I am aware of that, but since the document is cloned for a rendering, I do not see a problem with that, i.e. flagging your object instance in the render document as ALWAYS_YIELD_MOTIONBLUR_SAFE_GEOMETRY should not impact anything but the rendering. Or are there render settings now which allow you to enable motion-blur on a by frame basis? I am not really up to date when its comes to Cinema's core features ...

    Cheers,
    zipit



  • @zipit sorry I didn't find anything related to ALWAYS_YIELD_MOTIONBLUR_SAFE_GEOMETRY :\



  • @victor said in Check if GetVirtualObjects is called for Motion Blur:

    @zipit sorry I didn't find anything related to ALWAYS_YIELD_MOTIONBLUR_SAFE_GEOMETRY :\

    Sorry, I was probably a bit unclear on 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 should 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 ;)

    Cheers,
    zipit



  • @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



  • Hi @victor just to be sure, you want to retrieve the initial frame render within the Object Generator.

    So if you have motion blur enabled and with a time of 1 frame with 1 step.

    You press the render button while being on frame 4, it will evaluate frames 3, 4 and 5. And in all of these, you want to know the original frame rendered (aka the frame 4). And of course, have something that works with animation and not only still.

    If that's correct I will forward it to the development team(since I wasn't able to find a way until now) but I prefer to ask first since we are not 100% that is what you really want to know.
    If it's not your real question, could you send us an email at sdk_support@maxon.net with as many information as possible.

    Thanks in advance,
    Cheers,
    Maxime.



  • 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.



  • Hi @victor unfortunately, the development team told us there is no way to achieve that without hooking directly into the render which is not possible for Cinema 4D built-in rendered.

    Cheers,
    Maxime.


Log in to reply