Matcaps in flat surface

Is there any way of putting a matcap material in a flat surface like a plane?

I tried with a plane to make a floor tile, using UV coordinates in Normal, it works, but it’s a bit inaccurate, with a relative distortion. If you change the size affect the mapping a bit, but nothing that makes it stable as UV or Reflection.

And not all matcaps works fine in flat surface. Most of them work better in spherical objects, cylinders and etc.

It would be nice to do it on flat surface, of course if it’s possible.

https://docs.blender.org/api/blender_python_api_2_77_1/bge.texture.html?highlight=bge%20reflection#bge.texture.ImageMirror

If you use a matcap on a flat surface the result is usually not good, they work best on curved or turbulent surfaces. You can use a normal map to give some texture so the matcap has something to work with.
Or slightly bevel the edges of the plane and set smooth shading.

Ok thanks :slight_smile:

Use a stencil on top of the matcap to add some noise / roughess looking.

If we could use a stencil to effect the mipmap blending level of the matcap we could have real looking roughness and smudges etc

I myself use this method and looks great but i have always had one issue which is no mater the direction you face the object the reflection always faces you. if i could pin it so it cant rotate the image on the Z axis it would look more believable.

You are talking about putting the coordinates of the UV in the Normal direction? if yes, I was testing here and depending on the matcap you just need to resize the texture on the Mapping tab. Most times when in X and Y axes are on a low size it stays more stable, like in my case I put between 0,3 and 0,7 and fits better, yet with anormality but way better. Also you talked about rotating it. I think you can rotate the image, just go to image UV editor and use R key to rotate. Well I think e.e

What i mean is that no mater the position of the camera the map is always facing the camera.
i want it stop it from rotating with the camera. i don’t know if that makes sense.



But it will be really cool to stop the rotation, mainly if you are using a matcap like stone (granite for example), we don’t actually need it with reflection, but matcaps like gold or silver works good.

Maybe there’s a way, who knows. That’s a good subject for a thread :slight_smile:

Edit: Maybe just maybe you could use a mask for your objects, and this way you could control this rotation by saying wich parts you want to be reflective and others to be roughness (just a thought whatever)

The problem is that a matcap captures only half of the information required to do the reflections for a point in space. As a result, it rotates it so the half it knows about is always facing you. There are tricks like dual paraboloid mapping which allow (essentially) two matcaps to be used to describe the complete reflections:

Woah that’s really neat! I whipped up a quick test after seeing that. It works rather well; If it not were for that seam i’d say it is perfect (it can be hidden using a noisy normal map).


Hi, I just wanted to say that you can also use (static) cubemap reflections (for spheres or suzanne for example) since 2.77 (You can create it in blender and then use it). Works in viewport and game engine (This is with environment maps, you can deform the reflection with a normal map…). Works only in perspective view and the objects have to be smoothed to have the right interpolated normals. Blender4Web also implemented it with nodes iirc in 2.78 (maybe after 2.78 release?).

I didn’t understand. SebastianMestre, you used Paraboloid Mapping or just blended the matcap with a normal map? How did you do it?

The effect you get it’s really nice.

This cubemaps is that ones wich you need to use uv grid? Or are the same thing Sebastian did? There’s any tutorial on how to do it?

I have just give it a try:


But it’s not even close from the one of Sebastian.

For the viewport, its this-> https://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.78/Viewport

Just figured out something: You can take the Geometry Node from Cycles and use in BGE and the normal (either Position) output for Uv Mapping, doing it so the matcap stop following the camera but also it lost it’s shine. Well, don’t know if it’s wrong using it but it’s a way (maybe) and maybe mixing it with some env texture could bring the brightness back.

@Hdhunk and @SebastianMestre: hi, sorry this a bit offtopic because I’m talking about NON flat surfaces… But here is an example of cubemaps created in Blender: http://pasteall.org/blend/index.php?id=46084 . I don’t know where we can find good tutorials.

Well it helps, I’ve already heard about the cubemaps before, because I want too to create objects to reflect the environment, like a metal door knob that reflects a room or a rear view mirror of a car and using a python mirror to do it (like UV mapping the object e etc with a separated texture) seem to be good only in mirrors you know :stuck_out_tongue: works better in flat surface (At least I didn’t make it with spheres or cylinders yet e.e) and the cubemaps you said seem to fit way better in this case.

I do not know either where to find tutorials about it, seems to be something not very well know yet. There’s a few we can find in youtube too https://www.youtube.com/results?search_query=realtime+cubemap+bge

Well I’ll do a tutorial then edit tonight (time to upload the video)

https://blenderartists.org/forum/showthread.php?395032-Tuto-How-to-use-cubemap-reflections-blender-2-77-feature&highlight=cubemap%20reflections