Hey guys i’ve been told that there’s a CD surface material tutorial here in this forum but i haven’t been able to find it. I am (like duh) trying to make a CD material and would like to get that nice radial reflectivity thingamajinggit. If you know wheere to go for that tutorial or can help me out, please do tell. I’m a super noob here, just started Blender for like a month or so.
Let me know if you need a bit of help and I’ll see what I can do. I’ve never done it myself, you understand, but colourbands can be a little odd if you haven’t used them before and I do have some experience with them.
Thanks but i’m actually trying to achieve that rainbow specularity thingamajinggit. I’ve now figured out the radial colourband thing but it’s not animated when the CD moves from the camera. Get me?
Neways if you’ve got a way around it, do share. thanks.
Hm i’ve started a CD shader (based on the actual physical effect) for Lightwave a while back…never really worked 100% correctly, the best i could get was this:
Though on different angles it didn’t really look that great most of the time g
If someone wants to try porting the code to blender, i can publish it…
i also saved the paper i used somewhere…
Hhmm i thought of that, only thing is the CD is labeled so parts of it has that rainbow reflectivity while other parts aren’t. So it’d be obivous to the camera if i rotated it in animation. Another idea i got was to create 2 different objects/materials, one rotated one static.
Also a friend of mine told me to do it requires some coding to make blender calculate how the light breaks into different colours and forms the rainbow effect. since i’m stlil a noob i wont be touching that.
Neways a friend of mine offered to help me out. So no worries
Hey guys got a way to simulate that cd surface material that i talked about before, my friend taught me how to do it so i figured i should share it in here.
Basically the material is made up out of 5 textures, 1 being the cd label while the other 4 is that rainbow effect that you see on CD surfaces when you turn it around at different angles. Each texture is made being using a colour band of a simple rainbow, set at Blend>Radial. The colours are not important as you can be as creative as you want. Then 2 empties are made in the centre of the CD which is parented to the CD itself. The textures are Mapped to the empties, so that when the empties are rotated, the textures follow while the CD remains the same. I made 2 of the textures follow 1 empty each. Finally one of the empty is track-to constrained to another empty somewhere in the scene, whereas the other one is track-to constrained to the camera. Therefore if you animate the cd moving from left to right of the camera, the cd label texture remains static, while the rainbow textures follow whichever empty that they’re targetted to.
The CD mesh with 2 empties in the middle to map the textures.
1 Empty is targetting the camera while the other another empty somewhere eles in the scene.
The Material setup. pretty simple really.
The rainbow colour textures. s’ a lil messy but you get the concept.
But that’s as far as i go, i wont go into detail on specularity and stuff like that. Just sharing the little trick on simulating the rainbow refractions. Cheers
It does work. Changing the rotation of the anisotropic does change the reflections.
Here is my try, I used a radial array to map the colour mix. I mixed all this with another simple mirror texture so that it will mirror when you look flat on it.
I have no idea of the real math to get the CD’s changing colours with angles etc This one does change at angles but is far from the real thing. maybe someone really clever has an idea.
Edit;
Version 2.0 has more movement
I also stuck a cube in there to have something to reflect.
Wow! This is a FAR improvement over my feeble attempts. In a pinch, it could suffice as good enough. And it’s probably as good as I did in Maya 20 years ago for an animation project involving a DVD disc flying into a DVD player drawer.
I will probably spend a few days just studying how your shader network achieves this effect. Thank you very much for pointing me in the right direction!
Well it is not perfect, I wanted the mapping rotation to spin the colours, but it sort of twists them a bit with the layer weight, I will have another go on sunday.
With a real cd the colours get really sharp at slight angles and disperse the more face on, I am not sure if that can be pulled off.
It is mesmorising to turn a real cd around under a light!
This will work for stills, but animation looks a bit off because the radial rainbows are stationary to the disc. I experimented with a physical CD and found that the angle of the rainbows remains constant if I move my vantage point while the CD is stationary. However, if I tilt the CD, the rainbows rotate. That’s what I am now trying to solve.
I was hoping Camera Data plugged into the Isotropic Rotation input would do it, but nope.
I have got the rainbows rotating when you rotate the cd by adding a Geometry node modifier that outputs the objects rotation. I added up x,y and z values of that and use the result to drive the rotation of the colour ramp.
Edit;
I had to set all the materials and GNodes to single user for it to work on the 4 cd’s independently. (maybe I could have got away with just making the material single user I did not try.) Have updated the file.
Thanks for that. I’m doing a test animation, but I’m not seeing the radial rotation of the rainbow reflection as I do with a real CD when I hold it and tilt it in my hands. The reflection seems static in both versions.
The last version should rotate the radial array when you rotate the cd (you have to give the CD the GN node to get the cd’s rotation. I will try a video to see what happens.