Тёмный

Procedural Parallax Effect in Blender 

CG Masters
Подписаться 98 тыс.
Просмотров 57 тыс.
50% 1

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

Опубликовано:

 

30 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 163   
@OfflineOffie
@OfflineOffie 2 года назад
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 11 месяцев назад
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 11 месяцев назад
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.
@chuckocheret4115
@chuckocheret4115 2 года назад
Always top-notch material from Chris.
@Aiduss
@Aiduss Год назад
So far best blender tutorial seen on youtube! you really nailed parallax effect and made it simple! CHEERS!
@AhmedAli-mc9hu
@AhmedAli-mc9hu Год назад
By far one of the best tutorials out there. Very educational. Thank you for this
@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🧡
@user-xj6fr5vi1h
@user-xj6fr5vi1h 7 месяцев назад
This trick of using dithering instead of sampling the texture lots of times just blew my mind. Simply amazing
@Abdullah-wo2lv
@Abdullah-wo2lv 2 года назад
Please do not be absent too much. Please do lessons like this
@MarkBTomlinson
@MarkBTomlinson 2 года назад
Very interesting demonstration, fair to say I learned a ton of new tricks. Thank you!
@fardouk
@fardouk Год назад
Really good job and nice explanations!
@jonasmostert3294
@jonasmostert3294 2 года назад
this is probably the definition of 3D magic. Thank you!
@PrashanSubasinghe
@PrashanSubasinghe 2 года назад
Amazing tutorial as always!
@_raidy_
@_raidy_ Год назад
This is the only tutorial that shows how to fix the distortion when zooming in. Thank you
@tonnyxmanjeru9026
@tonnyxmanjeru9026 2 года назад
This earned my subscription! It was a phenomenal video.
@MrDigitalWorks
@MrDigitalWorks 2 года назад
Really awesome tutorial! Learned a ton!
@MrJeanMaker
@MrJeanMaker 2 года назад
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!
@ganapathym3664
@ganapathym3664 2 года назад
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.
@AtrusDesign
@AtrusDesign 2 года назад
Awesome result, excellent explanation. 👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻
@paullehenaff3059
@paullehenaff3059 5 месяцев назад
This is such a great effect!
@mind_of_a_darkhorse
@mind_of_a_darkhorse 2 года назад
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!
@bluejay3031
@bluejay3031 2 года назад
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.
@sirdiff1
@sirdiff1 2 года назад
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!
@Gabo_Gatchava
@Gabo_Gatchava 2 года назад
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.
@EK-yr4lc
@EK-yr4lc 9 месяцев назад
Perfect tutorial!
@3DArabianArtist
@3DArabianArtist 2 года назад
absolutely marvelous,
@jenovaizquierdo
@jenovaizquierdo 2 года назад
Awesome tutorial like always. I got confuse just a little because I saw you change the logo, really cool logo man.
@jubjunior
@jubjunior 2 года назад
Amazing tutorial!
@NicolasRouelle
@NicolasRouelle 2 года назад
Amazing technique, thanks
@existentialselkath1264
@existentialselkath1264 2 года назад
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
@Kram1032
@Kram1032 2 года назад
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...
@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.
@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
@davidedozza 2 года назад
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!
@airbag504
@airbag504 2 года назад
Incredible
@Aaws424
@Aaws424 Год назад
What great tutorial
@davidyon
@davidyon 2 года назад
Pretty Awesome! ! Thanks
@TC3Dgraphicdesign
@TC3Dgraphicdesign 2 года назад
Great work.
@Thats_Cool_Jack
@Thats_Cool_Jack 2 года назад
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.
@Renzsu
@Renzsu 2 года назад
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.
@cg.man_aka_kevin
@cg.man_aka_kevin 2 года назад
I think I can apply this, to the semi-3D volumetric planet's clouds effect. :)
@tahircan8212
@tahircan8212 2 года назад
Thank you
@josebarria3233
@josebarria3233 2 года назад
Very cool indeed
@digitalvectorONE
@digitalvectorONE 2 года назад
CG Masters you are great no doub it
@Denys2703
@Denys2703 Год назад
Great tutorial ❤ I'm just looking for other alternative application for this effect
@jordanfish
@jordanfish 2 года назад
It’s interesting how much this effect resembles a lenticular print.
@VortexArtLab
@VortexArtLab 2 года назад
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.
@gtaonline3542
@gtaonline3542 2 года назад
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.
@butjok
@butjok 2 года назад
A M A Z I N G ! !
@ElenaBG3
@ElenaBG3 Год назад
Really complex
@Abdullah-wo2lv
@Abdullah-wo2lv 2 года назад
Cool 😘
@primetime74
@primetime74 2 года назад
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.
@urzits3436
@urzits3436 2 года назад
Very Cool need to try on unreal engine
@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.
@Kram1032
@Kram1032 2 года назад
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.
@1ikron
@1ikron 2 года назад
wow 🗿👍
@jovlem
@jovlem 5 месяцев назад
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 5 месяцев назад
I have no idea how to achieve this on a curved surface, sorry about that.
@jovlem
@jovlem 5 месяцев назад
@@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 2 месяца назад
@@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.
@blengine
@blengine 2 года назад
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."
@epi-pants
@epi-pants Год назад
Fortnite ice fortnite ice (this is so neat and educational thank you for this.)
@jeffg4686
@jeffg4686 11 месяцев назад
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 10 месяцев назад
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 10 месяцев назад
@@blengine - Thanks, makes sense.
@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!
@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 !
@NeonDripKitty
@NeonDripKitty 2 года назад
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.
@christianholl7924
@christianholl7924 2 года назад
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.
@divyansh2890
@divyansh2890 2 года назад
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.
@asdius
@asdius 4 месяца назад
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 4 месяца назад
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.
@maxwellshoroye9247
@maxwellshoroye9247 2 года назад
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.
@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 9 месяцев назад
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
@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.
@wolfosb
@wolfosb Год назад
does anyone have something like this for eyes?
@AlienXtream1
@AlienXtream1 11 месяцев назад
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 11 месяцев назад
I'd help if I could but I haven't tried this on anything but planes, but hopefully someone else chimes in.
@danialsoozani
@danialsoozani 9 месяцев назад
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 6 месяцев назад
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 6 месяцев назад
@@NoTengoIdeaGuey that... is actually quite useful. i will investigate how to go about that sort of conversion.
@cowbless
@cowbless 4 месяца назад
@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.
@HEYPictures-legacy
@HEYPictures-legacy 2 года назад
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 RU-vid 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!
@max_nadolny
@max_nadolny 2 года назад
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 =)
@randyhill6284
@randyhill6284 2 года назад
😈 ρɾσɱσʂɱ
@TheAmazingJimmy
@TheAmazingJimmy 2 года назад
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.
@SqualidsargeStudios
@SqualidsargeStudios 3 месяца назад
Can you now remake this, but with less explanation filler and just the substance.
@Bassalicious
@Bassalicious 3 месяца назад
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 Месяц назад
@@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.
@TheAmazingJimmy
@TheAmazingJimmy 2 года назад
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
@SumNumber 5 месяцев назад
This was pretty tiring with so much talking but cool effect ! :O)
Далее
Maya Pro Tries 3D Modeling in Blender
43:52
Просмотров 145 тыс.
16 Blender Tips That Made Me Pro
9:20
Просмотров 419 тыс.
I Built a SECRET Soccer Field in My Room!
24:15
Просмотров 9 млн
Parallax Occlusion Mapping [In Blender]
6:39
Просмотров 31 тыс.
how this game made millions of rooms using 1 polygon
4:57
The Secrets of Photorealism
24:38
Просмотров 811 тыс.
Better Edge Masks in Blender - Procedural Texturing
5:31
How To Create Realistic Water in Blender
5:30
Просмотров 310 тыс.