Base Mesh Color

 
 
 
Posted by:richard91roberts@gmail.com
Data created:7 May 2019
(0 - 25 of 36) 12 Next »

Hi Team,

 

I love that were able to drive the feather object's color from the base objects color map. What I am wondering is if it's possible to also use an opacity map that is in the shape of a feather for each strand in conjunction to using the base objects color map to drive their color? 

 

Essentially I want the result of the second attatchment but to be able to apply an opacity map to drive the shape but keep the coloring. 


Attached Files:
Image 1Image 2

Hello,

I know how to do this in Maya but I'm still new to C4D... Basically, you need two UV channels: One with Per-Strand UVs in MeshFromStrands and another without it. Per-Strands will give you an UV island for each feather. Without it you will get the UVs from the distribution mesh. Then you have to, somehow in C4D, assign two materials to the mesh, one with the feather transparency and another with the color. 

Here is a video of this process in Maya: https://www.youtube.com/watch?v=4N-IPdOnBdY

I hope this helps but let me know if you have further questions. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

I couldn't figure out how to access the UV channels via shader. Is there any info available already?

After a lot of tests there doesnt seem to be a way for us to assign the specfic map channel UV's to the two different materials. You can assign two materials to a mesh but they both have the same UV's regardless to what you set them to in Mesh from Strands.

 

Any info on this would be great.

 

Thanks!

I think it all depends if Cinema4D allows to have multiple UVs in the same mesh and assign different shaders to them. Using MeshFromStrands we can add multiple channels to the hair mesh, but I can´t find a way to visualize them in C4D. This would be the first step. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

You can have 2 uv per mesh by duplicating the uv tag the order in OM goes from left to right. So the texture tag on the right of the second uv tag will be assign to that and any on the left of it will be on the first uv tag. Tested it though doesn't seem to be working though. 

I just found out that when creating multiple UV sets in MeshFromStrands using the Map Channel Count parameter the tags for each UV set are created and cached, but are invisible. Just have to figure out how to connect each tag to a different texture. 

You can have 2 uv per mesh by duplicating the uv tag the order in OM goes from left to right. So the texture tag on the right of the second uv tag will be assign to that and any on the left of it will be on the first uv tag. Tested it though doesn't seem to be working though. 

What is OM? Object Manager? Something like this? 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

In Maya we just link the texture to each map using the UV Linking Editor. In Max we just change the mapping number on the bitmap node used to load the texture. Is there something similar in C4D? 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

OM is short for Object manger correct. I am don't think we have anything similar to the UV Linking Editor, We do have poly selections to drive UV'S being connected to specfic materials. Attatched is a screenshot of that. 


Attached Files:
Image 1

And I suppose the name you are using in the Selection field is the name of the selection, not the name of the UV tag, right? 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

That is correct! I think the key to getting this to work is for the UV maps that are invisible that are generated from Ornatrix for the differentent mapping to be visible and generated. With cinema 4d's system I think we need acess to see those maps for the materials to work. The only way I know on how uv's are linked to the materials is having them next to each other in the object manner. Like the attatched. 


Attached Files:
Image 1

Here is a discussion in regards to materials and their UV'S in C4D https://forums.cgsociety.org/t/c4d-two-uv-maps/1572649/9

Thanks for the link. When using this method, you expect both materials to be rendered at the same time? I tried this method with a polygon plane and it works, but only one material is rendered at a time, unless I´m doing something wrong. How do you blend them? Like your first example: One material for the feather mask and one material for the color. 

I´m already working with one of the devs to make this work properly. This conversation is being useful to understand how users can use this feature. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

I checked with my  colleagues and there isn‘t a way to get them to blend the way we’re all after in the object manager.

 

https://youtu.be/AY1Z3zLbwQY

 

This tutorial demonstrates how to blend a few materials but the color always overrides the opacity maps. What we’re after is sort of the opposite of this. Maybe this is something your dev could work out with Maxon?

 

 

You guys could implement a shader that has direct access to a linked Hair object. Then, to retrieve them, get the cache and extract the UVs.

I came across this plugin, it allows for you to blend materials within the shader. I will need to test it out but this could be a soultion https://code.vonc.fr/?a=70 

 

 


Attached Files:

>5.JPG (43751 bytes),

Ideally this should work without additional plugins or shaders that would need maintenance on every render engine probably.

I made it work after some modifications to the plugin made by Roger. Now MeshFromStrands gives specific names to the generated UVW tags: channel1, channel2, channel3, etc, depending on how many channels you created on MeshFromStrands. Now that we now the names, we can call the them in the texture node. As you can see in the following image, one texture is used to drive the opacity and another for the overall color:

 

 

In this case I tested with Redshift, which allows to specify a UV channel for each texture node. I created two channels in MeshFromStrands. One with Per-Strands UVs for the opacity texture and another with the distribution mesh UVs for the overall color. In the Redshift texture node for the opacity texture I specified channel1 in the UV section and channel2 for the overall color texture node. This is how it looks: 

 

 

For this to work you need the latest Ox nightly build available here: https://ephere.com/plugins/maxon/c4d/ornatrix/downloads.html

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

In other words, we don't need to blend materials at all, we just need to assign textures to different UV channels as we do in Maya and Max. C4D should have something that works for all renderers. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

Testing this in Octane as this is my main render in cinema 4d. Octane just seems to have UV set numbers, there isn't a place you can title the channel. I have the set to the correct numbers but it doesn't work. 


Attached Files:

>1.JPG (195860 bytes),

Here is the setup all in one material and node. I have the uv sets for the opacity set to 2 and the color to 1 


Attached Files:

>Capture.JPG (158566 bytes),

Try with index 0 and 1 instead. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

Can you share this scene with textures? 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

Attatched is my test scene and textures. Here is the manual for cinema 4d octane render http://www.aoktar.com/octane/OCTANE%20HELP%20MANUAL.html?Baking.html


Attached Files:

>Feather_Octane_Test.zip (947035 bytes),

Actually I haven't been able to install Octane. The plugin just not appear in the Plugin menu for me, in fact, Ornarix and Redshift (Both have automatic installer) are the only plugins working for me at the moment. I will try your scene if I make this work. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

(0 - 25 of 36) 12 Next »