Jump to content
houdini1987

Different texture on different pages of book animation

Recommended Posts

Hi all,

I am working on a project that has pages of a book flipping with camera on top. Audience will be able to see the content on pages. I have already created animation of pages flipping. Problem is to assigning 10 different / unique page texture content wise to 10 pages of animated book. What is the best solution to do that. I am using copy and transform to define no of pages. Any pointers will be helpful.

Thanks in advance.

Share this post


Link to post
Share on other sites

hi, you've got a few options here.

1. store an primitive integer attribute for each page number, then use that in the shader (bind VOP) to switch between different textures (probably the most straightforward solution)

2. store a string attribute containing the desired texture name (or full path - that would be simpler to implement in shader) per page, and feed that into the texture path entry on texture VOP in shader (again with bind VOP).

3. use material style sheets to override a texture path per page (this would be a slight overkill for this kind of thing thou :)

  • Like 1

Share this post


Link to post
Share on other sites
10 hours ago, davpe said:

hi, you've got a few options here.

1. store an primitive integer attribute for each page number, then use that in the shader (bind VOP) to switch between different textures (probably the most straightforward solution)

2. store a string attribute containing the desired texture name (or full path - that would be simpler to implement in shader) per page, and feed that into the texture path entry on texture VOP in shader (again with bind VOP).

3. use material style sheets to override a texture path per page (this would be a slight overkill for this kind of thing thou :)

Now I have a approachable path with all the solutions, you mentioned. I am so keen to work with material style sheet as I just saw its masterclass. Definitely going to try that. Many thanks for your input mate! Cheers! 

Share this post


Link to post
Share on other sites

hi, I also encountered this problem recently.

You can use udim map method, which can achieve the  effect you want .I think this is the most convenient way

 

1.First, assign the serial number 1001 to each uv of the model, 1002, 1003, 1004, here I use the class of the "connectivity" node,Change the connectivity Type to "Primitive", create a class attribute on the surface, because the udim attribute is created on the surface.
Then create udim attributes on the surface attributes

image.thumb.png.697809fe6caa51d29ac4a6f0b88cb2dc.png

 

2.

Then use uvlayout to arrange the uv according to the udim attribute

image.thumb.png.ab8adf44edab6c3ee5a0002eb903fa09.png

 

3.

The best material here is to use the image sequence, starting from the 1001 serial number.
For example: pages.1001.tif, pages.1002.tif, pages1003.tif
And so on.

Use the texture node to read the texture. The default $F4 in the path is changed to     %(UDIM)d
Then it can be read in.

Finally, connect the texture to the base color of the material, and that's it.

image.thumb.png.bf8015a6f747859bafce268900943e36.pngimage.png.451c843a351e347a8d570d82c8fb0777.pngimage.png.451c843a351e347a8d570d82c8fb0777.png

 

English is not my native language, I am sorry if it causes misunderstanding

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×