Jump to content

Create UVs on instance object node?


Recommended Posts

I have a lot of geo instanced onto points using the OBJ-level instance node, and I want to basically create my UVs after the geometry is instanced so I can apply a texture across all instances at once, rather than it duplicating across all instances repetitively

I know this is easily done in many ways using copy SOP and packed prims etc, but I am rendering with redshift and it supports none of that, it relies on the old SOP-level instancing workflow so I am bound to that for the moment. 

I can do things like camera project at the shader level but for now redshift shop nodes are very limited and do not support any native houdini nodes so I have my hands tied quite here, and if I skip instancing everything the render becomes almost completely unresponsive.  Any ideas if this is possible?  I attached an example HIP file of what I am looking for.  Many thanks

instance_uvs_ODFORCE.hip

Link to comment
Share on other sites

I see what you mean. I don't really experience a lockup when just rendering with the standard Copy instead of instances. It does slow down a bit when I set the grid to 500x500 (250,000 points) instead of the 50x50 but I still get a fast final render. What is the maximum point count you expect?

Can Mantra even do this? I would be interested in seeing the Mantra setup that does this. Then maybe you could present that to Juanjo, on the Redshift forum. He may be able to figure this out.

Link to comment
Share on other sites

It is possible to use a Redshift Spotlight to project an image on to any mesh surface. Then you don't need to worry about UVs at all. Perhaps you can leverage that feature as a work around? You'll want to match the projection image aspect ratio to the width/height ratio for the grid.

Untitled-1.jpg

ap_rs_instance_uvs_ODFORCE.hiplc

Edited by Atom
Link to comment
Share on other sites

Thanks for the reply, I have a thread going with Juanjo now regarding this issue (originally started out as a request to access UV coordinate inputs on the RS_Texture node)

My workaround is similar to what you posted here however there is an RS_camera_map node that will allow you to do a camera projection within the redshift shader itself, so you can manipulate the texture directly in the shader and pipe it into different material channels

I can think of a few ways to do it in mantra...the biggest difference is mantra's ability to manipulate UV data directly in the shader. So there is triplanar project VOP, UV project VOP, unpack in SOPS > timeshift to F0 > UV project > attrib copy (so you only have to unpack 1 frame), renderstate VOP (or bind really) to read in UV data into shader, pcopen to read in proxy mesh UV data on disk...anything like that implemented in redshift will work.  

You can't currently use procedural noise either as it gets automatically applied in object space when applying to an instance

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...