No video

Procedural Parallax Effect in Blender

Learn how to create a procedural parallax effect using shader nodes in this Blender tutorial. Parallax mapping is a technique used to give a 2 dimensional surface a truly 3 dimensional look. It's different than bump mapping and normal mapping because parallax mapping creates the illusion of depth, not just surface detail. And this depth is based on the perspective too, creating a convincing 3 dimensional feel from every angle. This shader was originally made for this tutorial by Erindale Woodford. Check out more of his work here - linktr.ee/erindale.xyz
Download the project files here -
cgmasters.com/tutorials/paral...
Check out the course Master Procedural Texturing in Blender -
www.blendermarket.com/product...
Check out cgmasters.com for more courses and tutorials.
Like the tutorial and want to leave a tip?
PayPal - www.paypal.me/cgmasterscom
Bitcoin - bc1qh2cx8kz4wjj855cruk2sfwftl69vmmuau94w9v
Ethereum - 0xfb2D6886347434Eb2DACde22C6b96889dDAE6255
XRP - r4A4bxQ5wK8R1rEhecgvTy1wSXoCfoE42b
Dogecoin - DLDZ8fngi4KJkNnHQafV4vxDwaPzZ7e92W
Chapters:
0:00 - Introduction
0:47 - Getting Started
1:34 - Setting Up the Basic Shader
6:35 - Grouping the Nodes
10:48 - Starting on the Bottom Texture Layer
14:02 - Mixing Incoming Vectors and Position Coordinates
18:04 - Fixing the Distortion
22:14 - Mixing the Top and Bottom Texture Layers Together
26:34 - Adjusting the Brightness and Contrast
27:15 - Fake Refraction Effect
30:50 - Stretching the Bottom Layer Vertically
35:46 - Depth Fade Out Effect
38:43 - Seeing It All Together
40:20 - Conclusion and Course Trailer

Пікірлер: 163

  • @OfflineOffie
    @OfflineOffie2 жыл бұрын

    In order for the textures to look more accurate in Eevee, set the texture interpolation option in the image texture nodes to Cubic.

  • @blengine

    @blengine

    2 жыл бұрын

    Genius, thanks for that!

  • @sidsuspicious
    @sidsuspicious Жыл бұрын

    I just did a forty two minute tutorial on a program that hates me, didn't mess up, didn't get confused, bored or frustrated with the tutorial. Just flew by &... It worked. Cheers.

  • @blengine

    @blengine

    Жыл бұрын

    Glad it worked out! Nothing worse than getting far into a longer tutorial and then stuff just isn't working right. If you ever have any trouble though you can email me at chris.cgmasters@gmail.com, I keep up with Q&A for everything I have published.

  • @AhmedAli-mc9hu
    @AhmedAli-mc9hu Жыл бұрын

    By far one of the best tutorials out there. Very educational. Thank you for this

  • @chuckocheret4115
    @chuckocheret41152 жыл бұрын

    Always top-notch material from Chris.

  • @MarkBTomlinson
    @MarkBTomlinson2 жыл бұрын

    Very interesting demonstration, fair to say I learned a ton of new tricks. Thank you!

  • @Alienbacilusua
    @Alienbacilusua Жыл бұрын

    Thanks for a comprehensive and in depth tutorial! I've followed it and gonna use it as a base for a cracked amber material for a concept art🧡

  • @tonnyxmanjeru9026
    @tonnyxmanjeru90262 жыл бұрын

    This earned my subscription! It was a phenomenal video.

  • @Aiduss
    @Aiduss Жыл бұрын

    So far best blender tutorial seen on youtube! you really nailed parallax effect and made it simple! CHEERS!

  • @fardouk
    @fardouk2 жыл бұрын

    Really good job and nice explanations!

  • @AtrusDesign
    @AtrusDesign2 жыл бұрын

    Awesome result, excellent explanation. 👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻

  • @PrashanSubasinghe
    @PrashanSubasinghe2 жыл бұрын

    Amazing tutorial as always!

  • @MrDigitalWorks
    @MrDigitalWorks2 жыл бұрын

    Really awesome tutorial! Learned a ton!

  • @user-xj6fr5vi1h
    @user-xj6fr5vi1h8 ай бұрын

    This trick of using dithering instead of sampling the texture lots of times just blew my mind. Simply amazing

  • @jonasmostert3294
    @jonasmostert32942 жыл бұрын

    this is probably the definition of 3D magic. Thank you!

  • @paullehenaff3059
    @paullehenaff30596 ай бұрын

    This is such a great effect!

  • @ganapathym3664
    @ganapathym36642 жыл бұрын

    Happy to see a new content in this channel after a very long time. Expecting more.

  • @blengine

    @blengine

    2 жыл бұрын

    Happy to be back in the game after a long hiatus working on other things. Old site got hacked, so I took time to make a new site and finally made use of the cgmasters.com domain I've been sitting on for years. Also updated the texturing course, and then just worked on some house stuff after a big move to a new home. All settled in and freed up for making more content now though.

  • @EK-yr4lc
    @EK-yr4lc10 ай бұрын

    Perfect tutorial!

  • @MrJeanMaker
    @MrJeanMaker2 жыл бұрын

    Just found out this channel and I'm amazed by the quality content available here for free! Thanks for sharing all this knowledge with us!

  • @blengine

    @blengine

    2 жыл бұрын

    Thanks and I'm glad you like it!

  • @_raidy_
    @_raidy_ Жыл бұрын

    This is the only tutorial that shows how to fix the distortion when zooming in. Thank you

  • @mind_of_a_darkhorse
    @mind_of_a_darkhorse2 жыл бұрын

    Very well-explained tutorial on achieving this effect! I will definitely be checking out your course because of the detail you go into explaining things!

  • @blengine

    @blengine

    2 жыл бұрын

    Thanks a lot, I hope you like the course too!

  • @NicolasRouelle
    @NicolasRouelle2 жыл бұрын

    Amazing technique, thanks

  • @3DArabianArtist
    @3DArabianArtist2 жыл бұрын

    absolutely marvelous,

  • @Abdullah-wo2lv
    @Abdullah-wo2lv2 жыл бұрын

    Please do not be absent too much. Please do lessons like this

  • @sirdiff1
    @sirdiff12 жыл бұрын

    This is honestly one of the best blender tutorials I've ever seen. Calm, precise and very clear, even though it's quite advanced shading. Keep it up!

  • @blengine

    @blengine

    2 жыл бұрын

    Thanks for that, glad you liked it!

  • @jubjunior
    @jubjunior2 жыл бұрын

    Amazing tutorial!

  • @bluejay3031
    @bluejay30312 жыл бұрын

    Long time no see you my man, I am looking forward to seeing amazing tutorials and courses

  • @blengine

    @blengine

    2 жыл бұрын

    More tutorials and courses coming up! I'm working on another big course now that'll take about 4 months, but I plan to put aside at least 1 week a month for some tutorials. I usually just lock myself away and focus on nothing but the course, but I don't want to go silent like that anymore haha. It's good to break up the routine with different projects anyway.

  • @Gabo_Gatchava
    @Gabo_Gatchava2 жыл бұрын

    very cool. I was trying to achieve this exact effect on ice texture while ago and ended up doing it with volume with cube, not plane(was look very good, but render times were going crazy)...I might try this technic, it is very fast to render and very handy to use it on plane. thx for great explanations, great tutorial.

  • @jenovaizquierdo
    @jenovaizquierdo2 жыл бұрын

    Awesome tutorial like always. I got confuse just a little because I saw you change the logo, really cool logo man.

  • @damianmazurkiewicz4512
    @damianmazurkiewicz4512 Жыл бұрын

    Honestly, your tutorials are amazing. tough heavily informative, they are easy to comprehend. This makes your tutorials ever so enjoyable to watch, as well as, easy to learn what you are trying to communicate. The ease of understanding concepts through your explanation further makes you an amazing educator. I would love for you to explain the Map range node. It's something I struggle to comprehend personally in terms of its concept. Maybe others might benefit from this as well. It's a node that is hard to grasp how exactly it works, would love for you to cover this subject ✨✨ Regardless, Amazing tutorial on Parallax mapping. I have learned a lot; it has allowed me to overcome the problem of creating crystal internal micro-fractures found in rose quartz. Thx a lot

  • @blengine

    @blengine

    Жыл бұрын

    Thanks Damian I appreciate that! Glad my training clicks with you so much. I do actually plan on making a youtube series one day for the nodes. There's info on this in my blender encyclopedia course(though that one's not taught by me), but this is getting a little older now so maybe next year I'll redo that. The Map Range node has so many applications I think that would make a great tutorial. I've been hiding away working on a new course for a while but would like to take a break soon to work on more youtube stuff, so I'll keep this in mind.

  • @davidedozza
    @davidedozza2 жыл бұрын

    This is ... awesome! 😱 You literally brought the texture to life! This opens up new and unexplored horizons ... I knew Blender is a great program, but you guys are great! Thank you for sharing these great ideas and explaining them excellently! (I am not an English speaker, but the explanation was very clear and detailed!)

  • @blengine

    @blengine

    2 жыл бұрын

    Erindale's a wizard with nodes and it's been awesome reverse engineering his shaders for tutorials. I've learned a ton that will stick with me. Glad you liked the tutorial and the explanations!

  • @philmehrart
    @philmehrart Жыл бұрын

    Hi Chris you are an amazing tutor, I am doing the Blender Encyclopedia training right now and will do your car training afterwards. I really hope you continue to do advanced Blender content, thanks!

  • @blengine

    @blengine

    Жыл бұрын

    Hey Phil, glad you're liking the course and thanks for the support! Definitely continuing making content, and in fact I'm deep in the trenches working on a huge new project so I'm a bit quiet when it comes to publishing anything else at the moment. It'll be a new car course actually, though it won't be published for another 3-4 months I think, it's taking a lot longer than I hoped, but also coming out better than I hoped. Stay tuned.

  • @davidyon
    @davidyon2 жыл бұрын

    Pretty Awesome! ! Thanks

  • @airbag504
    @airbag5042 жыл бұрын

    Incredible

  • @Aaws424
    @Aaws424 Жыл бұрын

    What great tutorial

  • @TC3Dgraphicdesign
    @TC3Dgraphicdesign2 жыл бұрын

    Great work.

  • @Renzsu
    @Renzsu2 жыл бұрын

    Great tutorial. I’m not a blender power user (too many other software I use, blender is just another tool in the toolbox), so contrary to some commenters, I appreciate you going through some of the more basic things. Made me pick up a few solid new tricks even if I never actually need a material like this 👍

  • @blengine

    @blengine

    2 жыл бұрын

    Thanks for that, glad the training clicked with you. And I feel the same about picking up tricks from this shader even if I don't need this exact shader. In making this tutorial I definitely learned a few crucial things that'll stick with me for other shaders.

  • @Kram1032
    @Kram10322 жыл бұрын

    Made a few changes, some of which might be useful to you. Especially the first three: 1) Instead of splitting out the z-component of the Incoming vector and divide by that, I used the dot product of the Incoming vector with the Normal vector. If the Normal vector points up (like it does for this plane) that's the same thing, but that should make it work for every direction. Not entirely sure this is correct but I'd at least think so. I'm not quite sure whether it's better to use this before or after applying the Normal map. Either seems to work. 2) Instead of the "Reflect" node, I used a "Refract" node with IoR of 1.309 (apparently the IoR of ice) which seems to have worked just fine. 3) I applied a more realistic absorption model: Instead of your modifying the color of all layers below by a constant amount, I took the white noise output to be the depth the albedo as base color. The absorption formula is really easy: - Take each channel of the color - use it as "Base" of a "Power" Math node - multiply the depth (so the white noise output) by some freely chooseable constant (the density) - plug that into the "Exponent" slot - recombine the color That way, extremely shallow layers render as white, at a certain depth dependent on the density, things become the base color, and beyond that, things become ever more saturated and darker. To get the color to look right, I plugged it in as both the Diffuse and the Glossy color. The logic being that, on the top level, perfect white ought to indeed be the correct gloss color, and below, if reflections occur there, they gotta pass through the ice and tint accordingly. Doubling the noise to drive this seems to roughly give a close result to what you got with curves. These three ought to make things more realistic. My other changes probably not so much: 1) As the roughness and normal of the shader, I plugged in the remapped texture, rather than the original. Effectively that makes it so you get infinitely many layers each of which could distort the image accordingly. Probably not realistic 2) I approximated infinite depth by, instead of remapping the white noise with a curve, turning the uniform distribution into an *exponential* distribution. Just like your curve, this will mean more sampling density close to the surface and less below, where, presumably, less light hits. But it makes it so the whole thing is open-ended. The process is pretty easy: - Take the white noise output and subtract it from 1 (so 1-x) - take that and put it through a logarithm (I chose base 2 but ymmv, make it a base >1 though, so now you have log(1-x) ) - finally, multiply by -1 so you get -log(1-x) Stuff near 0 will remain small that way, whereas stuff near 1 will shoot away to infinity, effectively giving you arbitrary depth. Finally, I also made some miscellaneous changes (some of which got obsolete after I was done with the other stuff) 1) Your Curve node was a Color Curve. I replaced this by a Float Curve for slight performance gains (would not matter for just this one thing, but if you got lots of parallax stuff to compute, generating three channels only to get rid of them after is kind of a waste) 2) similarly, your Color Gradient only linearly uses a single value of black and white. It's completely equivalent to but less efficient than a Map Range node. (If you need a more complicated curve, use a Curve node. Ideally don't use a Color Gradient node unless you actually need to deal with multiple channels) 3) Mostly cosmetic, don't think it matters at all, but I also changed the Roughness output of your Texture Group node to be a single Value rather than a Color.

  • @blengine

    @blengine

    2 жыл бұрын

    1) Sweet, that worked for me, and looks correct, nice. 2) Wasn't able to get this working. I end up with an infinite depth but everything is also very faint. 3) Good points about the curve node and color ramp. And I'm curious if changing the roughness output type has any effect on speed, I never thought about doing that before. Thanks for the comments and suggestions. I've been working with Erindale's shaders for a while, and he's above my level which is why I love breaking down his material, but it's also all a learning experience for me as well.

  • @Kram1032

    @Kram1032

    2 жыл бұрын

    @@blengine Glad this helped! The points in the second block are probably the least relevant. The infinite depth stuff takes fiddling for sure One thing I don't see right now is how to do this with an arbitrary mesh with a UV map. I'd somehow have to convert between UV space and Position to get that "right" and I'm not sure how that might be possible...

  • @cg.man_aka_kevin
    @cg.man_aka_kevin2 жыл бұрын

    I think I can apply this, to the semi-3D volumetric planet's clouds effect. :)

  • @digitalvectorONE
    @digitalvectorONE2 жыл бұрын

    CG Masters you are great no doub it

  • @josebarria3233
    @josebarria32332 жыл бұрын

    Very cool indeed

  • @tahircan8212
    @tahircan82122 жыл бұрын

    Thank you

  • @existentialselkath1264
    @existentialselkath12642 жыл бұрын

    After months of trial and error, I finally constructed a parralax occlusion mapping shader from scratch. And then this video comes out and makes half of my research redundant XD. The more videos like this the better. Parralax effects are extremely useful but have almost no documentation

  • @blengine

    @blengine

    2 жыл бұрын

    I hate when that happens haha. I was sitting on this shader from Erindale for a few months too, if only I had gotten around to this tutorial sooner. Oh well, I'm sure you learned a lot with the trial and error. And the type of parallax effect in this tutorial may be a little different than what you were looking for anyway, but hopefully there's some good info for you either way.

  • @existentialselkath1264

    @existentialselkath1264

    2 жыл бұрын

    @@blengine yeah, definitely still learned a thing or two from this, you've approached certain elements quite differently, it's given me a few ideas

  • @Thats_Cool_Jack
    @Thats_Cool_Jack2 жыл бұрын

    I'm so glad this showed up in my recommended, thank you. I've been wondering how to do something like this for a while now. I once saw a video about how some games made windows that have rooms behind them and wanted to do it in blender. I'm assuming I could just plug a depth pass of a room render into that divide node and it will work. 👍

  • @blengine

    @blengine

    2 жыл бұрын

    Oh yeah, I've seen that effect and it's amazing. I'm not sure exactly how to go about attempting that, but I hope you can figure it out.

  • @Denys2703
    @Denys2703 Жыл бұрын

    Great tutorial ❤ I'm just looking for other alternative application for this effect

  • @butjok
    @butjok2 жыл бұрын

    A M A Z I N G ! !

  • @jordanfish
    @jordanfish2 жыл бұрын

    It’s interesting how much this effect resembles a lenticular print.

  • @ElenaBG3
    @ElenaBG3 Жыл бұрын

    Really complex

  • @gtaonline3542
    @gtaonline35422 жыл бұрын

    Nice to see your video after a long time, and I heard somewhere, you were working on a full vehicle course including animation and rigging? Is that something youre working on?

  • @blengine

    @blengine

    2 жыл бұрын

    Yeah I just finished drawing up the blueprints for it not long ago, then took a break to make this tutorial. I'm expecting to publish in about 4 months or so, but that's just a guess, it's going to be a long process. The launch will include exterior and interior, shaders, compositing and rendering, and industry workflow advice from professional designers. And if the launch goes as well as I expect, I'll go straight into working on rigging as bonus content. I don't believe rigging will be that tricky, but because the core of the course will take so long I'll want to publish that first and get it out there. At the moment, I have no definite plans on including animation, though if everything goes really well this is something I do want to eventually include.

  • @VortexArtLab
    @VortexArtLab2 жыл бұрын

    Please make a tutorial on realistic eyeball with iris parallax effect in blender! This is used in the unreal engine, but there is a rather complicated system. Thans for video! 😇

  • @blengine

    @blengine

    2 жыл бұрын

    That's a pretty cool idea. I was thinking of other ways a setup similar to this could be useful, and it might work for that with some tweaking of the shader. I'm going to keep this in mind if I feel like playing around with the shader more. This could be a really neat use for it.

  • @Abdullah-wo2lv
    @Abdullah-wo2lv2 жыл бұрын

    Cool 😘

  • @urzits3436
    @urzits34362 жыл бұрын

    Very Cool need to try on unreal engine

  • @wolfosb
    @wolfosb Жыл бұрын

    does anyone have something like this for eyes?

  • @primetime74
    @primetime742 жыл бұрын

    It would be so cool if Blender supported a file source input for the image texture node. It would give so much more space for node group optimization...

  • @blengine

    @blengine

    2 жыл бұрын

    I think that's a great idea.

  • @1ikron
    @1ikron2 жыл бұрын

    wow 🗿👍

  • @NeonDripKitty
    @NeonDripKitty2 жыл бұрын

    would it be possible to do something more solid like a metal floor grate with this?

  • @blengine

    @blengine

    2 жыл бұрын

    I feel like the dithering process would make it a bit blurry, so it may not be the best method for solid thickness. Maybe it could be tweaked to achieve this though, I'm not sure.

  • @epi-pants
    @epi-pants Жыл бұрын

    Fortnite ice fortnite ice (this is so neat and educational thank you for this.)

  • @asdius
    @asdius5 ай бұрын

    Hello, thanks for this video is amazing, but i have one question. I have a shader that is made whit mapping and texture coordinate in almost every image texture vector input, becouse i animate the position vector so it appear to move. I am traying to mix this parallax effect in my shader but i cant do it. If you have the answer i will be greatfull. Have a nice day

  • @blengine

    @blengine

    5 ай бұрын

    I don't have the answer to this one, sorry about that. My knowledge of this particular shader is pretty limited, especially since I haven't worked with it in a while.

  • @jeffg4686
    @jeffg4686 Жыл бұрын

    I've never really understood the "Geometry" node in the shader editor. Like, why one would go for that versus the TC node. As I understand it, the Geometry node is using "World coordinates" and TC using "UV coordinates". If the object is moved, would the texture in Geometry position then adjust to a different output? Is this intended only for stationary objects that never move? I was looking for a video that really elucidates the differences, but try searching on "Geometry node" in google, or almost anything with Geometry in it => get a bunch of geonodes videos... Thanks for any thoughts.

  • @blengine

    @blengine

    11 ай бұрын

    Sorry for the late reply! The Geometry node has lots of different outputs, but I assume you're only talking about the Position output right? And yes this output uses World coordinates so the position of the texture on the object is based on the World/Global Axis. So you're correct, whenever your object moves, the texture remains in that same World position, so when you move an object it will look like the texture is moving across the object because the texture does not move with the object. One use for this is for making procedural textures not look repetitive when used on multiple objects. If you have a procedural wood texture for example, and this is applied to an object using UV coordinates, then if you duplicate this object and move it somewhere else, the texture will still look exactly the same on the new object. If you use the Position output however, then if you duplicate and move the object, because the new object has a different position in the World now it will display the wood texture differently, making it look unique. There are other uses for this I'm sure, but that's one of them. Generated coordinates and UV coordinates can't achieve this the same way. The Position output can also be used to alter a shader depending on position in the world, like a mountain shader could use the Position output to automatically put snow caps on taller mountains. Hope this helps!

  • @jeffg4686

    @jeffg4686

    11 ай бұрын

    @@blengine - Thanks, makes sense.

  • @Dmitry2184
    @Dmitry2184 Жыл бұрын

    is it possible to make that prallax layered material effect in substance painter?

  • @blengine

    @blengine

    Жыл бұрын

    I'm not experienced enough with SP to know this one, but hopefully someone else here can answer you. I'm leaning towards the answer being no though.

  • @user-qw4qh4fk7g
    @user-qw4qh4fk7g Жыл бұрын

    such a question is where and how can such procedural textures be used at all, only for rendering a scene in a blender to do?

  • @blengine

    @blengine

    Жыл бұрын

    Yeah something like this is used for rendering scenes with Eevee or Cycles.

  • @divyansh2890
    @divyansh28902 жыл бұрын

    Can we bake this and use it in a game engine?? Like unity for example

  • @blengine

    @blengine

    2 жыл бұрын

    I'm tempted to say this particular effect couldn't be baked for Unity especially since it includes a volume effect, but I also don't have much experience with game engines. It's likely that this could be achieved by coding a custom shader in Unity though that achieves the same effects, but I wouldn't know the steps for that.

  • @calestinekogami
    @calestinekogami Жыл бұрын

    For some reason when I add the reflect node and connect the group node to it the bottom texture becomes super messed up even though it seems that I did everything correctly. Would anyone know why?

  • @blengine

    @blengine

    Жыл бұрын

    Hard to say without seeing your setup, but you can download the resource files in the description and compare your node tree to the node tree in the completed .blend in the resources, and hopefully you'll spot the difference and see where things went wrong. If all else fails you can send the .blend file to me at chris.cgmasters@gmail.com and I'll check it out.

  • @danialsoozani

    @danialsoozani

    10 ай бұрын

    I believe it's due to not being planar to use Z az depth. you may want to apply rotation and keep it planar on x,y plane

  • @jovlem
    @jovlem6 ай бұрын

    This is a great video! However it does only work for flat surfaces. Do you know a method for curved surfaces as well ( you then would need UV coordinates )?

  • @blengine

    @blengine

    6 ай бұрын

    I have no idea how to achieve this on a curved surface, sorry about that.

  • @jovlem

    @jovlem

    6 ай бұрын

    @@blengine I found that the method in this video "How to make a Parallax Shader (for stylized effects) in Blender" from Xetirano works for curved surfaces. Maybe it's less accurate, I don't know that, but it looks good.

  • @patakk8145

    @patakk8145

    3 ай бұрын

    @@jovlem instead of dividing the Incoming vector by the Z component, divide it by the result of a dot product between itself (the Incoming ray) and the Normal of the surface. This should fix for different orientations of the polygons (compared to the flat plane, where normal looks up, and where dividing with Z works). Dividing by dot(incoming, normal) is more general. Hope this helps.

  • @Kram1032
    @Kram10322 жыл бұрын

    Excellent! A few questions: 1) The reason you divide by the Z-value is basically because the plane itself has a constant z-direction, right? Essentially, its normal is pointing that way. If you rotate the plane it once again won't look right, right? - I'm guessing to fix that you gotta take the dot product of incoming and the normal vector or something like that and divide by that instead? 2) could you use an actual absorption effect for the darkening at various depths? Should be a fairly basic exponential falloff with depth based on the absorption color and density. 3) maybe use the roughness map to refine the blur depth too: cracks probably go deep, but the white spots are probably just surface features

  • @blengine

    @blengine

    2 жыл бұрын

    1) It's the incoming vectors that are causing the issue here instead of the normals. Like in the infographic at 18:35, you can see that the camera is viewing the surface at different angles. The foreground is viewed more vertically and the background is viewed less vertically, so both parts of the surface have different Z values for their incoming vectors. This is affecting how the bottom layer is positioned because these different values are subtracted from the Position coordinates for the bottom layer. This seems to work out just fine for how the X and Y axis are viewed, but not for the Z axis. Since the foreground ended up having more depth and the background not enough depth, dividing by the incoming Z value will make the foreground higher and the background lower, and this ends up balancing things out like explained at around 21:02. 2) Seems possible but I wouldn't know how to do it without testing things out myself. 3) Yeah this could definitely use a dedicated parallax map where the white spots are edited out, because they should indeed just be surface spots.

  • @blengine

    @blengine

    2 жыл бұрын

    Oh I just saw your other comment too, I'll check that out later today. Curious to test out your solution for the incoming z values. I did test the refract node briefly too since that seemed to make sense, though Erindale used the Reflect option and since that seemed to work great I just went with that.

  • @shattleStudio
    @shattleStudio Жыл бұрын

    This is good tutorial but i probably missed the part, how to rotate the plane without broke the parallax. I mean, in your video you use XY orientation, and if i need XZ orientation then material is totally broking. I tryed EVERYTHING! The last thing i imagined may to help me - change Z in separate XYZ node to X and...no. Is it really that it may be used only for floor?

  • @blengine

    @blengine

    Жыл бұрын

    Yeah this was made specifically for the floor. Some things will need to be changed to get this working on walls, though off the top of my head I'm not sure what needs to be done.

  • @shattleStudio

    @shattleStudio

    Жыл бұрын

    @@blengine Damn! I spent an entire day for search the way to make EXACTLY this effect for the transparent screen and when have seen the preview of this video thought "yeah this is it, finally". Sad. Will spend entire tomorrow for fix this for another direction. Thank you anyway!

  • @blengine

    @blengine

    Жыл бұрын

    ​@@shattleStudio I kind of forget what this shader involved, but I remember thinking about using it for walls and how it would be trickier to figure out than just changing a couple nodes. Hopefully I'm wrong and you can sort it out though, good luck!

  • @mantasb3536

    @mantasb3536

    Жыл бұрын

    @@blengine to allow the plane to be rotated, I used instead of . In addition, right after I dropped in node. World -> Object via Vector (default settings)

  • @blengine

    @blengine

    Жыл бұрын

    ​@@mantasb3536 It works! I had to flip the Vector Transform settings so it converted Object to World instead, but then everything worked great. Certain rotations can still make things go a little bonkers, but seems good enough for regular wall situations. Thanks for sharing a solution!

  • @christianholl7924
    @christianholl79242 жыл бұрын

    Great work! Sadly this only works on planes.. How would you do it on spheres - for example to simulate the parallax of clouds on a planet?

  • @blengine

    @blengine

    2 жыл бұрын

    You may be able to use some fancy math to achieve this, though off the top of my head I have no idea how it would work.

  • @christianholl7924

    @christianholl7924

    2 жыл бұрын

    @@blengine pasteboard.co/1nWL1hIE1Uk1.png Your shader setup was already quite close to the solution! All you have to do is to replace the "Separate XYZ" Node with a "Vector-Math-Multiply" and "Vector-Math-Length" Node! (see screenshot in the pasteboard link above) Now for me it also works on Spheres and Cubes etc.. The main issue is, that you statically separate the Z value of the incoming coordinate. But actually you need to consider the direction of the normal of the surface. Now if the normal points to Z now you get the Z value, if the normal points to X you get the X value and so on... Idk if this is "some fancy math" but for me it looks like a quite simple solution.

  • @blengine

    @blengine

    2 жыл бұрын

    ​@@christianholl7924 Shoot, link didn't work for me. That's awesome though, I'll have to play around with this. Someone also mentioned parallax for eyeballs which seems like an interesting use, and I wonder if this setup would help with that.

  • @blengine
    @blengine2 жыл бұрын

    This is by far the most practical use(and one of the only uses) I've seen for the Incoming vectors in the Geometry node. The only other use I've seen is to create a laser effect, which was cool but not nearly as practical. Do you guys know of any other good uses for incoming vectors?

  • @Arjjacks

    @Arjjacks

    2 жыл бұрын

    Multiplying the dot product of the incoming and normal vector with whatever colour setup you have gives you an instant, easy realtime outline for toon shading. I've also heard that incoming is useful for fake refraction effects, though not sure how, myself.

  • @blengine

    @blengine

    2 жыл бұрын

    ​@@Arjjacks Ah after trying that out I think you helped me understand more about the Facing output of the Layer Weight node. The Facing output achieves the same effect(though you need to flip the color ramp), so I'm assuming that's how it's actually calculated, never thought about it before.

  • @Arjjacks

    @Arjjacks

    2 жыл бұрын

    @@blengine Yeah, I imagine it's something similar, though not the same else you wouldn't need to flip the result of the layer weight node, which is why I prefer to take the dot product instead, as the result is more intuitive to me. "Is this geo facing the camera? No? Blacken it."

  • @maxwellshoroye9247
    @maxwellshoroye92472 жыл бұрын

    Could you make an infinite mirror with this?

  • @blengine

    @blengine

    2 жыл бұрын

    I feel like it's possible, but I wouldn't know exactly how to do that without trying it myself. That's an awesome idea though.

  • @AlienXtream1
    @AlienXtream1 Жыл бұрын

    im trying to generalize the method for "W" offset (the "depth" effect, which is actually a 4D math thing technically) to non planar meshes. its fine on a Z aligned axis however other axis are distorted much like the distortion you showed in the video, only the same principle does not seem to work to fix it. was wondering if anyone had some pointers to help.

  • @blengine

    @blengine

    Жыл бұрын

    I'd help if I could but I haven't tried this on anything but planes, but hopefully someone else chimes in.

  • @danialsoozani

    @danialsoozani

    10 ай бұрын

    I think you can use geometry nodes and use "store named attribute" and capture the normal value and give it a name. then you can use the "named attribute" inside shaders and extract the normal value for the depth. haven't tried it but in my logic it should work ;)

  • @NoTengoIdeaGuey

    @NoTengoIdeaGuey

    7 ай бұрын

    The problem is that by default the all of the relevant outputs on the Geometry node are in World Space, while UVs are in Tangent Space (I'm not sure of the exact technical accuracy of this statement, but for the most part it's essentially true). Tangent Space means the X Y coordinates correspond to moving L - R across a face and the Z direction is moving "in and out" along the face normal. Which is why when the plane is laying flat it works fine, but rotated it get's all wonky. You have to convert the Camera Vector (Incoming output of the Geometry node) into Tangent Space. Then it will have the same effect no matter which way the face is rotated.

  • @AlienXtream1

    @AlienXtream1

    7 ай бұрын

    @@NoTengoIdeaGuey that... is actually quite useful. i will investigate how to go about that sort of conversion.

  • @cowbless

    @cowbless

    5 ай бұрын

    @tream1 What I did to make it work: with the help of @jakemobley1835 and some refreshing of linear algebra. 1. From the same Geometry node you will also need Tangent output. 2. Tangential space's axes are Tangent, Normal X Tangent, Normal. 3. To get the Incoming's representation in new coordinate space, we need to get its dot product with all three new axes. But for parallax depth we only need the Dot Product with Normal. 4. Incoming • Normal, put that into the division node as a divisor and you're done.

  • @workflowproject
    @workflowproject Жыл бұрын

    Hey there, I wanna challenge myself to recreate this material but without any image texture, full procedural !

  • @blengine

    @blengine

    Жыл бұрын

    That would be awesome, good luck with it!

  • @workflowproject

    @workflowproject

    Жыл бұрын

    @@blengine Okay, I may try it then !

  • @HEYPictures-legacy
    @HEYPictures-legacy2 жыл бұрын

    Can be achieved a lot easyer

  • @blengine

    @blengine

    2 жыл бұрын

    100% of people posting things like that on this channel haven't been able to back it up. I'll make you an offer like I did with them, $100 to your paypal account if you can make parallax + volume + depth fade "a lot easier" than in the tutorial by Sunday. I'm not saying someone can't do it, I'm just betting *you* can't do it.

  • @Igoreshkin

    @Igoreshkin

    2 жыл бұрын

    Show us how or go a way with a shame

  • @maciejgrzegorzoprzadek7401

    @maciejgrzegorzoprzadek7401

    2 жыл бұрын

    in blender you can do everything in multiple ways with the similar effects. This is one of the them.

  • @HEYPictures-legacy

    @HEYPictures-legacy

    2 жыл бұрын

    @@blengine I will try :) I mean I did something similar in my material pack. Sorry for leaving that strict comment. Im currently very stressed with exams so I just fast-tipped. That comment wasn't supposed to sound that brutal :) I ll try it though. So I have currently exams. I have the way of doing it (The raw parallax -> 3Nodes. With Textures and more stuff to find tune a bit more.) but I have to make a Video that I then post on my KZread chanell. That takes time and I have to find that time after the exams. I hope it is ok. Have a greate week!

  • @blengine

    @blengine

    2 жыл бұрын

    ​@@HEYPictures-legacy No problem at all =) Looking forward to seeing your approach. I learned a lot from breaking down Erindale's shader for this tutorial so if you have a different approach then that's just more to learn. I thought this setup was pretty efficient, and within the comments someone was able to shave off one node so far, but given the number of effects I'm unable to see much more efficiency than that. It doesn't seem like there's *that* many nodes to begin with for parallax + volume + fade + fake refraction. Then again I'm not that experienced with this particular topic either so who knows. Good luck with exams.

  • @user-dx1no8ht2c
    @user-dx1no8ht2c Жыл бұрын

    why'd you stop making videos? they're so inspiring, I sorta miss em. probably very time consuming hm?

  • @blengine

    @blengine

    Жыл бұрын

    When I'm working on a new training course I usually go pretty quiet, and I've been working on a big new car course for a long time now so I haven't made any other tutorials. It should hopefully be finished next month though, and then I'll get back into youtube stuff.

  • @user-dx1no8ht2c

    @user-dx1no8ht2c

    Жыл бұрын

    @@blengine oh, cool! thanks for the quick response and all the best for your car course meanwhile!

  • @blengine

    @blengine

    Жыл бұрын

    @@user-dx1no8ht2c Thanks!

  • @randyhill6284
    @randyhill62842 жыл бұрын

    😈 ρɾσɱσʂɱ

  • @max_nadolny
    @max_nadolny2 жыл бұрын

    Good material. Thank you Chris. But! What about instead of creating fake parallax effect, create true parallax mapping using nodes. This will be much cooler and realistic for all the material which will use it.

  • @blengine

    @blengine

    2 жыл бұрын

    I agree, that would be awesom, though the specific effects created using this technique would definitely still be useful. And someone else did mention that parallax for Eevee is being worked on in a different branch of Blender, and hopefully it will be included in an official build one day soon.

  • @max_nadolny

    @max_nadolny

    2 жыл бұрын

    @@blengine Great news. POM should be included in 3.2 version I hope.

  • @blengine

    @blengine

    2 жыл бұрын

    @@max_nadolny That's awesome news, can't wait to check it out! thanks for the heads up too

  • @IvoKlerk

    @IvoKlerk

    2 жыл бұрын

    How would you create true parallax mapping? Will it be possible on all meshes? Is there a node tree available? I’d really like to create materials with depth (especially below the surface)..

  • @max_nadolny

    @max_nadolny

    2 жыл бұрын

    @@IvoKlerk I saw some implementations. Simen Tommes did the one. Just search in youtube parallax mapping blender and you'll see. Tomorrow blender 3.2 is coming. It should have parallax mapping. But it'll be just in eevee since it's a game technology.

  • @Concept_804
    @Concept_804 Жыл бұрын

    My PC will run it? No This will be useful to me? No I'll watch? Obviously yes

  • @blengine

    @blengine

    Жыл бұрын

    I have yet to use this in anything personal either haha, but was super interesting to decipher this shader nonetheless =)

  • @TheAmazingJimmy
    @TheAmazingJimmy2 жыл бұрын

    If this is an advanced tutorial, it's not necessary to tell people to enable Node Wrangler and definitely should need to show people how to enable it. I get so tired of people telling people to enable Node Wrangler and then showing how to enable it. If anyone is this advanced in Blender, they already have it enabled. Stop it.

  • @blengine

    @blengine

    2 жыл бұрын

    Beginners will watch this tutorial anyway, obviously, so I include it anyway, especially since it only takes a few seconds. If this annoys you, you have much much bigger problems.

  • @TheAmazingJimmy

    @TheAmazingJimmy

    2 жыл бұрын

    @@blengine It annoys me because EVERY tutorial anyone makes, they repeat the same old, tired rigmarole of "enable Node Wrangler, this is how ya do it". Node Wrangler should be pre-enabled on Blender, just like Cycles is, there's no excuse for it not to be.

  • @blengine

    @blengine

    2 жыл бұрын

    ​@@TheAmazingJimmy I agree completely that node wrangler should be enabled by default, and I'm not sure why it's not either. I'm annoyed at having to put that in the beginning of videos honestly. I'm sure every trainer is, it's boring to record that all the time, but whenever a video doesn't include it there are always comments like "the ctrl+t hotkey isn't working for me". So it's just become habit.

  • @TheAmazingJimmy
    @TheAmazingJimmy2 жыл бұрын

    Another tip, stop explaining every single detail, especially if this is supposed to be an advanced tutorial, for crying out loud you had to explain what PERSPECTIVE is? We're not in elementary school dude, we know what perspective is, most of us know what vectors are as well.

  • @blengine

    @blengine

    2 жыл бұрын

    Again, *all* skill levels watch these tutorials, whether the tutorial says advanced or not. I explain each step to make it clear what the goals are for everyone watching (all ages and experience levels). You can easily skip ahead, or speed up the video if the pace is too slow for your experience level. Take into consideration that everyone watching is at different ages and different levels. I aim for clarity with my videos, and although it may be more than you're looking for, it'll rarely be less.

  • @blengine

    @blengine

    2 жыл бұрын

    You made me reconsider things, I guess I do break things down to the point that it's not really just for advanced users, and more for all skill levels. So I took the "Advanced" tag out of the title at least.

  • @creativestudio4873

    @creativestudio4873

    2 жыл бұрын

    @@blenginebut, if you don't mention something and or forget something then they all chime in....you didn't say..... Whatever...can't win! Whats going on with the new vehicle course?

  • @blengine

    @blengine

    2 жыл бұрын

    ​@@creativestudio4873 haha yeah it's never possible to please everyone on here, but he did make me realize I explained things too much to target advanced users with this one. The new car course has begun. I've got the blueprints drawn and tomorrow will start the modeling tests. It's going to be at least 4 months before publishing though because I'll be including interior as well which will be a lot of extra work. And after publishing, as long as the initial launch is good, I'll be working on rigging for the extra content.

  • @creativestudio4873

    @creativestudio4873

    2 жыл бұрын

    @@blengine Wow.....that sound super awesome. I know your not going to give out details so just curious. Is it a sports car or no?

  • @SumNumber
    @SumNumber6 ай бұрын

    This was pretty tiring with so much talking but cool effect ! :O)

  • @SqualidsargeStudios
    @SqualidsargeStudios4 ай бұрын

    Can you now remake this, but with less explanation filler and just the substance.

  • @Bassalicious

    @Bassalicious

    4 ай бұрын

    Explanation isn't filler. Just 2x and mute the video if you only want to play copy cat. Why should they remake the video for that? Be thankful for the free education. The gull on some people.

  • @damienlemongolien5303

    @damienlemongolien5303

    2 ай бұрын

    @@Bassalicious IKR that's crazy dude is lazy to sit through a free 40 minute masterclass on advanced shading. Keep it up CG Masters your channel is a gem.