I was told this would be the best place to ask.
I would like to add multiple nodes at the same time. Instead of opening up the nodegraph canvas each time to add one node.
For example, right-click to open up the node graph canvas, and hover over the Material category. Hold down the control or shift key to click multiple nodes(Mix, Portal, Glossy and Diffuse) and then click and drag them into the scene.
Can you implement this?
Thanks
OctaneRender® 2022.1 (updated 11/28)
- spartan00j
- Posts: 345
- Joined: Fri Sep 27, 2013 1:27 am
- Location: Memphis TN
- Contact:
Win 11
Ryzen Threadripper 2950X
128GB RAM
RTX 3060 TI
Ryzen Threadripper 2950X
128GB RAM
RTX 3060 TI
Yes it was caused by Ray Epsilon - small plant close up.john_otoy wrote:Have you tried reducing ray epsilon? If that's not the issue, please PM me a simplified scene.SSmolak wrote:Overlapped polygons which use opacity map ( doesn't matter in what position ) cause errors - transparent holes
Architectural Visualizations http://www.archviz-4d.studio
- PolderAnimation
- Posts: 373
- Joined: Mon Oct 10, 2011 10:23 am
- Location: Netherlands
- Contact:
When setting an attribute animator on a placement node, the motionblur behavior differs between animating the A_ROTATION and A_TRANSFORM attribute.
The A_ROTATION does get interpolated in between keyframes, but the A_TRANSFORM does not.
I suggest using a matrix slerp to calculate in-between motion blur transformations.
Below images showcase the issue:
No motionBlur: animated A_ROTATION: animated A_TRANSFORM:
The A_ROTATION does get interpolated in between keyframes, but the A_TRANSFORM does not.
I suggest using a matrix slerp to calculate in-between motion blur transformations.
Below images showcase the issue:
No motionBlur: animated A_ROTATION: animated A_TRANSFORM:
You do not have the required permissions to view the files attached to this post.
Win 10 64bit | RTX 3090 | i9 7960X | 64GB
In a nutshell: If you want to resolve non-linear transformations in the shutter time interval you have to provide more than only the two time steps at the start and at the end. We do some special handling for animated rotation inputs/attributes but in general it's best to provide the intermediate transformations yourself.PolderAnimation wrote:When setting an attribute animator on a placement node, the motionblur behavior differs between animating the A_ROTATION and A_TRANSFORM attribute.
The A_ROTATION does get interpolated in between keyframes, but the A_TRANSFORM does not.
I suggest using a matrix slerp to calculate in-between motion blur transformations.
Below images showcase the issue:
No motionBlur: animated A_ROTATION: animated A_TRANSFORM:
In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
- PolderAnimation
- Posts: 373
- Joined: Mon Oct 10, 2011 10:23 am
- Location: Netherlands
- Contact:
But is this something that is going to be fixed in a future update? Its rather cumbersome to set all the extra in between keys (and export these values from other DCC's to get them there).abstrax wrote:In a nutshell: If you want to resolve non-linear transformations in the shutter time interval you have to provide more than only the two time steps at the start and at the end. We do some special handling for animated rotation inputs/attributes but in general it's best to provide the intermediate transformations yourself.
All DCC's we work with interpolate keyframe values to get the in between values.
I undestand the "lack" of correct inbetween frames when using point cache driven alembics, where no rotation data exists. But for matrices, like rotation attributes in placement nodes or keyframed alembics, it does have the capability to nicely generate these inbetweens.
For now we can crack the matrices in their t, r and s components and set these on the placement nodes, but the matrix (or quaternion) slerping could as well be applied to scatterNodes, where the movement of items could be tracked and interpolated over multiple frames by matching them by the ID value. (off course it is then up to the user to set the ID's correct)
Win 10 64bit | RTX 3090 | i9 7960X | 64GB
- PolderAnimation
- Posts: 373
- Joined: Mon Oct 10, 2011 10:23 am
- Location: Netherlands
- Contact:
We have another issue as well:
When rendering production shots, we start octane (via python with subprocess.Popen) with a lua script passed in as argument (--script) as well as the --stop-after-script argument.
This works fine, and octane nicely exits after script completion, thereby ending the subprocess.
Only octane does not return the license this way, it stays locked to the machine.
Octane can be opened on that machine and the same license is picked up. But when starting octane on another machine, we get the error that all licenses are in use. It is only after starting and closing octane manually on the machine where the subprocess with --stop-after-script argument has run, that the license is returned.
When rendering production shots, we start octane (via python with subprocess.Popen) with a lua script passed in as argument (--script) as well as the --stop-after-script argument.
This works fine, and octane nicely exits after script completion, thereby ending the subprocess.
Only octane does not return the license this way, it stays locked to the machine.
Octane can be opened on that machine and the same license is picked up. But when starting octane on another machine, we get the error that all licenses are in use. It is only after starting and closing octane manually on the machine where the subprocess with --stop-after-script argument has run, that the license is returned.
Win 10 64bit | RTX 3090 | i9 7960X | 64GB
Again, the problem is not the interpolation itself but determining the number of intermediate steps. At the moment Octane pretty much relies on the plugins or the input data for those since the plugin usually know best. I don't know exactly why we make an exception for animated rotation inputs, but I think it was done because it's a fairly low-hanging fruit.PolderAnimation wrote:But is this something that is going to be fixed in a future update? Its rather cumbersome to set all the extra in between keys (and export these values from other DCC's to get them there).abstrax wrote:In a nutshell: If you want to resolve non-linear transformations in the shutter time interval you have to provide more than only the two time steps at the start and at the end. We do some special handling for animated rotation inputs/attributes but in general it's best to provide the intermediate transformations yourself.
All DCC's we work with interpolate keyframe values to get the in between values.
I undestand the "lack" of correct inbetween frames when using point cache driven alembics, where no rotation data exists. But for matrices, like rotation attributes in placement nodes or keyframed alembics, it does have the capability to nicely generate these inbetweens.
For now we can crack the matrices in their t, r and s components and set these on the placement nodes, but the matrix (or quaternion) slerping could as well be applied to scatterNodes, where the movement of items could be tracked and interpolated over multiple frames by matching them by the ID value. (off course it is then up to the user to set the ID's correct)
In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
I have not been able to reproduce this. Can you PM me and provide more detail?PolderAnimation wrote:We have another issue as well:
When rendering production shots, we start octane (via python with subprocess.Popen) with a lua script passed in as argument (--script) as well as the --stop-after-script argument.
This works fine, and octane nicely exits after script completion, thereby ending the subprocess.
Only octane does not return the license this way, it stays locked to the machine.
Octane can be opened on that machine and the same license is picked up. But when starting octane on another machine, we get the error that all licenses are in use. It is only after starting and closing octane manually on the machine where the subprocess with --stop-after-script argument has run, that the license is returned.
I've tried launching Octane 2022.1 using Python's subprocess.Popen. I'm using --stop-after-script, --script and --script-arg arguments to run a lua script which renders an orbx.
Once Octane closes on the first machine, I can start it again using the same subscription on a second machine.
- PolderAnimation
- Posts: 373
- Joined: Mon Oct 10, 2011 10:23 am
- Location: Netherlands
- Contact:
I have a follow up question about the current motionblur implementation. You mention that octane currently relies on the plugin or input data to get the substeps needed for motionblur. We do not use a plugin, but octaneRender standalone, so we adjust the input data. We use alembic caches for rendering, some have animated transforms, which work as expected as octane does provides the rotation interpolation. But others use point caches inside the alembic (for deforming objects), with no substeps octane fails to calculate correct motionblur, but this is to be expected, however, I tried exporting alembics with 5, 25 and 100 substeps, but they all have the same wrong motionblur calculation.abstrax wrote:
Again, the problem is not the interpolation itself but determining the number of intermediate steps. At the moment Octane pretty much relies on the plugins or the input data for those since the plugin usually know best. I don't know exactly why we make an exception for animated rotation inputs, but I think it was done because it's a fairly low-hanging fruit.
The setup is as follows, I moved a cube a few unit of the origin, then rotated around the origin by 90 degrees per frame.
I created the following versions:
red cube: alembic with animated rotation
pink cube: static cube with attribute animator created in octane, the transformValue node of the placement node has animated matrices with 10 substeps
yellow cube: alembic with point cache with 100 substeps
green cube: alembic with point cache with 25 substeps
light blue cube: alembic with point cache with 5 substeps
dark blue cube: alembic with point cache with no substeps
In octane I shifted every cube down, so they do not overlap.
With no motionBlur frames 0, 1 and 2 look as follows: With motionblur set to 100% and symmetric shutter alignment frame 1 looks like this: As you can see, the animated rotation alembic and the transformValue attribute animated cubes give the desired result, however none of the point cache cubes seem to use any of the substep information available.
I attached an orbx file that I used to generate these images and includes all alembics.
Am I doing something wrong here or is this an issue in the current motionblur implementation?
Jean-Paul Tossings
You do not have the required permissions to view the files attached to this post.
Win 10 64bit | RTX 3090 | i9 7960X | 64GB