So one thing I really wish we had, and I can't find anyone bringing it up, But an object position pass.
So an object position pass, is like a world position pass except the values stick to the object's surface. this allows you to do the same things you do with world position except it sticks the the object as it moves through the scene, it's super super useful.
The import part is it also works with deforming objects, this allows you to isolate the hand of a character as it walks around for example. You can also use it with post texturing to do cubic texturing in comp. stick textures onto models as they move in post.
Thanks
Chris
Object position pass- Feature Request
Forum rules
Please add your OS and Hardware Configuration in your signature, it makes it easier for us to help you analyze problems. Example: Win 7 64 | Geforce GTX680 | i7 3770 | 16GB
Please add your OS and Hardware Configuration in your signature, it makes it easier for us to help you analyze problems. Example: Win 7 64 | Geforce GTX680 | i7 3770 | 16GB
+1
I guess we could fake it, as a texture, with a shader setup but that means we would have to render it out separately. And that's not a small task if you have a scene with a lot of deforming geometry. Also, now we are forced to render 32bit float EXR files instead of 16bit float for all of our passes just because our scene is covering a large area.
Regards
Milan
I guess we could fake it, as a texture, with a shader setup but that means we would have to render it out separately. And that's not a small task if you have a scene with a lot of deforming geometry. Also, now we are forced to render 32bit float EXR files instead of 16bit float for all of our passes just because our scene is covering a large area.
Regards
Milan
Colorist / VFX artist / Motion Designer
macOS - Windows 7 - Cinema 4D R19.068 - GTX1070TI - GTX780
macOS - Windows 7 - Cinema 4D R19.068 - GTX1070TI - GTX780
I agree it's needed. I think it will be possible to generate the map for such a pass using an OSL texture in 3.08 (P in OSL is position and can be transformed into Object, world or camera/tangent space in shader), and then attach it to a render job node to effectively get the AOV you want .wellsichris wrote:So one thing I really wish we had, and I can't find anyone bringing it up, But an object position pass.
So an object position pass, is like a world position pass except the values stick to the object's surface. this allows you to do the same things you do with world position except it sticks the the object as it moves through the scene, it's super super useful.
The import part is it also works with deforming objects, this allows you to isolate the hand of a character as it walks around for example. You can also use it with post texturing to do cubic texturing in comp. stick textures onto models as they move in post.
Thanks
Chris
Any news about world position pass ?
YOKO Studio | win 10 64 | i7 5930K GTX 3090 | 3dsmax 2022.3 |
I am in a position of desperately needing an object position pass to finish a project.
Until now, I have been using Redshift to produce the object position pass - but for a couple of shots we need to use real in-camera motion blur, so I need it to come out of Octane directly.
I tried camera projecting the Redshift position pass render onto my geometry in a global texture AOV - but it doesn't respond correctly to motion blur.
I also tried the OSL shader approach mentioned earlier, my code looks like this:
shader objectPosition(
point Vector = P,
point ObjVector = transform("common", "object", Vector),
output color Col_Out = color(0)
)
{
float x = ObjVector[0];
float y = ObjVector[1];
float z = ObjVector[2];
float colX = 0;
float colY = 0;
float colZ = 0;
if (x>0)
colX = 1;
if (y>0)
colY = 1;
if (z>0)
colZ = 1;
Col_Out = color(colX,colY,colZ);
}
If I use Vector P directly, I get some results, but not the world space I would expect - instead, X & Y seem more like in some kind of UV space & z is always constant blue.
As soon as I use the transform command to try to convert it to object space, the result is just black on every axis.
If anyone has any idea how to get an object position pass out of Octane I'd be very grateful.
Until now, I have been using Redshift to produce the object position pass - but for a couple of shots we need to use real in-camera motion blur, so I need it to come out of Octane directly.
I tried camera projecting the Redshift position pass render onto my geometry in a global texture AOV - but it doesn't respond correctly to motion blur.
I also tried the OSL shader approach mentioned earlier, my code looks like this:
shader objectPosition(
point Vector = P,
point ObjVector = transform("common", "object", Vector),
output color Col_Out = color(0)
)
{
float x = ObjVector[0];
float y = ObjVector[1];
float z = ObjVector[2];
float colX = 0;
float colY = 0;
float colZ = 0;
if (x>0)
colX = 1;
if (y>0)
colY = 1;
if (z>0)
colZ = 1;
Col_Out = color(colX,colY,colZ);
}
If I use Vector P directly, I get some results, but not the world space I would expect - instead, X & Y seem more like in some kind of UV space & z is always constant blue.
As soon as I use the transform command to try to convert it to object space, the result is just black on every axis.
If anyone has any idea how to get an object position pass out of Octane I'd be very grateful.
How about using a global texture AOV with a position texture set to object coordinates?
I attached a sample scene. Would this work for you?
I attached a sample scene. Would this work for you?
- Attachments
-
- object_coord_aov_001.ocs
- (55.34 KiB) Downloaded 112 times
Win10 Pro / Ryzen 5950X / 128GB / RTX 4090 / MODO
"I am the resurrection, and the life: he that believeth in me, though he were dead, yet shall he live" - Jesus Christ
"I am the resurrection, and the life: he that believeth in me, though he were dead, yet shall he live" - Jesus Christ
That's crazy ! I'm using the Cinema 4D plugin & that node isn't listed in the textures group in the node editor, or anywhere in the right-click menu in the node-editor. Nor is it in the shaders list in the non-node interface either.
But when I use the search box on the node window, it's there & it works.
A position node was the 1st thing I looked for & missed it.
It looks different to the Redshift one, which is more on-off, rather than a gradient, but I wouldn't be surprised if it would work.
Thanks a lot for your help, I wonder how many more nodes are not put in the interface.
But when I use the search box on the node window, it's there & it works.
A position node was the 1st thing I looked for & missed it.
It looks different to the Redshift one, which is more on-off, rather than a gradient, but I wouldn't be surprised if it would work.
Thanks a lot for your help, I wonder how many more nodes are not put in the interface.