question

Fynn Ribbeck avatar image
Fynn Ribbeck asked ·

Button for simple refresh if IPR is not automatically updating

Hi!

I am sometimes running into the problem that the IPR window loses connection to changes that I do (mostly when I move sliders in the network editor). That means to refresh and see the change I either have to move the camera, restart or pause/unpause the IPR or click on the reload textures button.

It would be really nice if there was a simple button that would just refresh the scene without reloading textures or restarting since this might take a while to start up on a complex scene. Or am I missing a feature/ simple script that can do that?


c4dtoatextureipr
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Peter Horvath avatar image
Peter Horvath answered ·

I think I have found a possible workaround. If you have a valid license with maintenance and want to test it, please contact support(at)arnoldrenderer(dot)com and I send you a build.

4 comments Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Wow that was fast - great to hear! What dark magic did it take?

I am currently using my school's license for the Arnold core but for the C4D plugin that should work as well right? Or do both have different maintenance plans?

0 Likes 0 · ·

Very dark. ;) Basically I'm forcing the update (same what the script does) from the IPR window in case the viewport is hidden.

You're good, Arnold core license is what we need, there's no separate license for the plugin.

0 Likes 0 · ·

thanks, I will ask them for the license code :)

Ah that means it checks in intervals or whenever a C4D event is happening in general?

0 Likes 0 · ·

Whenever an event is happening.

0 Likes 0 · ·
Leandro Cattani avatar image
Leandro Cattani answered ·

I forget to mention the script works well!

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Leandro Cattani avatar image
Leandro Cattani answered ·

Hello!

I have the same problem. We talked about it in this post
https://answers.arnoldrenderer.com/questions/19610/ipr-has-a-slow-refresh-on-parameter-changes.html
Thank you!

1 comment Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Is it the same issue? In that thread you said your viewport is open, but is it actually visible while you edit the scene? If not, then yes, the IPR does not update because of the viewport is hidden.

0 Likes 0 · ·
Fynn Ribbeck avatar image
Fynn Ribbeck answered ·

The script does not seem to have an effect on my IPR, could you please check the attached screenshot if the script is set up correctly?


7 comments Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Yes, that should do it. Maybe the problem is more complex. I'll try to reproduce it on my end.

You can try this script as well, although I'm not really expecting it to work in your case. It calls IPR update directly, without performing a scene check, so it won't do anything if there are no changes detected.

import c4d

ARNOLD_RENDER_COMMAND = 1038578

def main():
   # call IPR update
   c4d.CallCommand(ARNOLD_RENDER_COMMAND, 4)

if __name__=='__main__':
    main() 
0 Likes 0 · ·

Or you can try this, which emulates a pause & unpause.

import c4d

ARNOLD_RENDER_COMMAND = 1038578

def main():
   # pause
   c4d.CallCommand(ARNOLD_RENDER_COMMAND, 3)
   # unpause
   c4d.CallCommand(ARNOLD_RENDER_COMMAND, 3)

if __name__=='__main__':
    main()
0 Likes 0 · ·

Thanks, this one actually works for me:


  1. import c4d
  2. ARNOLD_RENDER_COMMAND = 1038578
  3. def main():
  4. # call IPR update
  5. c4d.CallCommand(ARNOLD_RENDER_COMMAND, 4)
  6. if __name__=='__main__':
  7. main()
0 Likes 0 · ·

Hmm, that means the plugin is notified about the change, but does not rerender, or which is more likely, does not draw the output to the window. Can you test what happens if you just change the Zoom in the IPR window after it loses connection. If it updates, then it's an issue of drawing to the window.

I know for instance, if you keep the mouse button down on a slider or keep a combo box open, it blocks the application and the gui does not refresh, until you release the mouse.

Also drawing is attached to the viewport, so for instance if you hide the viewport, the IPR won't refresh.

1 Like 1 · ·
Show more comments
Fynn Ribbeck avatar image
Fynn Ribbeck answered ·

I just tried to replicate the issue and was able to do so immediately without doing anything special. So I guess it's probably a concflict with my installation/ plugins/ scripts?

3 comments Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

You can try what happens when no other plugins are installed, but I'm not sure it's a conflict issue. I'll ask around if anyone else experienced similar issues. Just to clarify, do you change a value by a slider when it happens, right? Is it a color or a numeric value or does not matter? What if you type the number instead of using the slider? And finally, what's your Cinema 4D and C4DtoA version and which OS do you use (win or mac)?

0 Likes 0 · ·

I am using R21.207, the C4DtoA 3.0.3.1 build and Windows 10. It does not seem to matter if it's a color or numeric value and typing in the number also makes no difference. What I noticed is that the material in the material manager flickers shortly when I update something in the network editor, but it doesn't update, neither does the IPR.

0 Likes 0 · ·

I just disabled all plugins except for Arnold and it seems that it still doesn' work correctly

0 Likes 0 · ·
Fynn Ribbeck avatar image
Fynn Ribbeck answered ·

Thank you for the script, i will probably make a custom button out of it to put in the IPR.

I actually encounter the situation of IPR link loss rather often for some tasks. Usually it's losing connection to the network editor but if I move the camera the IPR still updates. The attributes I'm updating are mostly very basic, either within the standard surface shader settings or within a color correct node. I do utilize some plugins, maybe one of them could possibly trigger that behavior?


Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Peter Horvath avatar image
Peter Horvath answered ·

There could be two situations when the IPR does not update:

1) The logic in the plugin is wrong and does not detect the scene change. In this case a simple update won't help, only re-exporting (e.g. IPR restart or force an update of the specific object).

2) Cinema 4D does not notify the plugin about the change.

From your description, it seems like you are facing 2), which in theory must not happen, thus it sounds like a bug to me. I wonder how often does it happen and if it's reproducible or random.

Here's a simple script which triggers an IPR update:

import c4d

def main():
    c4d.EventAdd()

if __name__=='__main__':
    main()
Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Lee Griggs avatar image
Lee Griggs answered ·

Which attributes/sliders aren't updating?

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.