Blender - Some Awesome New Features

Started by efflux, June 15, 2013, 11:49:50 AM

Previous topic - Next topic

efflux

#90
I went in close to see how it is. Now you'll see why I'm doing this and I'm only starting. The small glitches are some odd speckles in the bake. That can removed and obviously ignore the fact that we are in a hole. I'll fix that. I might bring in some of those other terrains for a test. There is some extra fractal detail supplied by Terragen but you can't get rocks that look like that in Terragen never mind all the larger scale fractal manipulations. Now I can sculpt the whole terrain shapes in Blender using proper curve graphs etc. Easy.

efflux

Here's another test render. Nothing really special from the terrain but it was made a different way. This time the exr causes it to be a bit high hence the terrain is marginally ove where it should be in terms of atmosphere because this environment actually has carefully tweaked volumetrics at low level. There are three different methods of baking these textures. Strangely I've not done it the standard way in Blender Internal renderer. I've read the results aren't as good because no anti-aliasing but I did once bake without using the resulting image and it looked ok. This standard method wouldn't result in the height problems but both other methods require tweaks to get the zero level correct. One involves some maths node calculations.

mhaze

Really impressed with these.  Some more detailed guidance on how to achieve them would be valued.

TheBadger

It has been eaten.

efflux

#94
I don't think that Blender script is available for latest Blender. It actually looks quite good. I think leaves aren't such an issue because there are ways of generating mesh instances with particles from another mesh so you'd grow leaves out of the twigs. The main problem is the smaller branches. Bigger branches can just be sculpted into form. 3D Coat is good at that. I'm not actually that into trees at the moment but probably in the future I'm going to need to do it.

As for explaining this Blender terrain thing. That's complex. Firstly there are several completely separate ways. The next problem is that I have to resolve how to make sure that the bake is zero value where it should be so that the terrain in Terragen sits at the proper level. If the terrain is created all the way while using Blender Render internal type nodes then Blenders bake function should solve that but it's not necessarily the best way to create the bake.

The best way at this time is to go 100% Cycles in the whole process then bake out the Cycles result. The baking nodes need fixing so we don't have high zero level like that last terrain you see. Cycles method has some flaws though. Real time render is different from final render in displacment amplitude. However, doing it all in Cycles greatly eases the UI flow for non Blender experts.

The other point is that to decribe this to somebody who hasn't used Blender before requires a lot of info on all the steps.

I've yet to perfect it anyway so no full desciptions yet. Blender files would be the best way to demo these things.

I'm working in several other apps and it all ties in. When I get results that I know are useful for Terragen and don't need workarounds then I'll definitely explain what I'm doing. It's going to take me ages to get my head around 3D Coat but that also completely ties in with Blender.

You have to use several apps and find the right workflow. Obviously 3D Coat isn't free so it would be best for everybody if it's pure Blender.

efflux

#95
Here's a start just to test Blender's fractals. I'm building methods into this which won't screw you up later.

Open Blender. Hover mouse over cube and hit delete. It will give you a OK box to delete so click on that. The little grid at the bottom of the 3d window is layers. Click on the second one. Click on menu add mesh UV Sphere. We are doing this as a place holder for a texture. We don't need the sphere in the end for terrains but this method will keep things tidy from my experience. Other people don't do this angle. They have textures in other object's materials that are simply de-selected but used for modifier and brushes. This is messy and will get you in trouble. Also, Blender can append this collection of textures from another blend file.

While that sphere is still selected go on Materials (icon on properties to the right). Add a new material. Then go to texture and add a new texture. Scroll down to under rgb intensity and change that colour to black. On visible layers (the little grid at bottom of 3D view) choose the first one (our light is in the first) as well as second one. If you then select rendered in the viewport shading you will see the texture on the sphere. If you go back into textures you can play around with fractals etc. You will see how nice some of these textures are without any serious tweaking. You can add extra texture layers but treat each layer as a seperate texture so disable ones you aren't testing. This is the downside of what we are going to do at first which is use displacment modifier which can only use one texture since it can't use the nodes but you can create several to test and contain them all in our material's texture layers. Another future convenience of this is that the sculpting brushes can use these textures. The sphere is a place to keep them all and quickly view them, as I've explained. It's not needed to do this testing but if you save this .blend file you can bring the sphere into any other blender scene. Once you have some textures you like, go to object modifiers and add Subdivision Surface. Crank up the view and render values to about 5 or even 6 but all we need is enough to see what we are doing. Then add another modifier called displace. Under it's texture drop down choose one of your textures. You'll see your sphere displace. This method is creating real mesh displacement. It's not super efficient but we can quickly see what we are doing. There are numerous other ways to tweak around for maximum efficiency to render the bake at higher res.

Now what you want to do is go to the first layer and add a plane. Where it says Object Mode (object interaction mode) at the bottom of the 3d view change that to edit mode and subdivide this about four or five times or lots - eventually the more the better but keep things efficient at first. Blender can't deal with massive polys via this initial method. Subdivide is on the left under Object Tools. Change back to Object Mode. Now you can do the modifier subdivide and displace method to this plane same as the sphere. You can use Simple subdivision or Catmull Clark. This is just a play between whether you've first subdivided the plane a lot and you can also select Smooth under Object Tools etc etc. All these tweaks need to be just played with.

You can now add materials to this and give it textures of it's own. We can actually just displace everything from material textures but the displacment modifier is more convenient to mess with. Another point is, as we go further and use Cycles then the old Blender Internal textures are gone except in the displacment modifier so we can keep that if we want. Also, having lots of textures held on the sphere material's texture list gives us an editing place to go to for brushes in sculpting. As I've said, the sphere can be our library of textures. Try going into sculpting in the object interaction mode menu. You'll be able to use your created texture as brushes.

If you want to change the renderer to Cycles you will lose any materials you created. You will have to recreate them but you won't lose the basic terrain modifier. That still uses the old style textures as I've explained. Only one unfortunately. This leads onto the fact that you can actually do it all in Cycles with nodes be it losing some of the Blender Internal basis functions for render time displacments. However, displacing the whole thing at render time in Cycles gets more complex as it's an experimental feature. This next stage would require huge further explanations. We haven't even touched on nodes. Then massive power comes in.

This may all seem complex but the fact is we can do masses with it. Blender tends towards get things done the quick and dirty way but it means it isn't bloated out with massive UI and menus for all sorts. Once learnt, you can work quickly.

Those are the basics on how to quickly see displacements but it's a whole lot more complex than this and will require pages and pages of info. I haven't resolved the best baking methods yet.

efflux

The problem is that there is a disjoint between people using Terragen or even other apps like Mojoworld and these other 3D apps. I think Vue is less so this way. Maybe more like a standard 3D app. What happens is people coming from these 3D apps don't get what we do in Terragen and we don't use these other apps which takes time to learn but if you do learn them then the rest of those communities don't get what you are trying to do as in what I'm trying to do with Blender on this thread. The two world seem very far apart. They shouldn't be though.

efflux

This is what you should be able to see in Blender via that above method with some tweaking. You can drop back to solid rather than rendered in the view mode since that will be faster. With rendered you can see colour coming from the texture as well as displacement but we don't really need that. You may find this slow. It depends on your system. Obviously Blender is not Mudbox or such like but there are ways to get massive res with Cycles. Mudbox, ZBrush and 3D Coat do not have these beautiful fractals though.


mhaze


efflux

#99
OK. Here is a screenshot of something I just did. I think people here should be able to get this if I carry on with the Blender angle.

First, some changes were made. Instead of using the displace modifier, I deleted that. Then I opened a pane for nodes That's found on the menu at the bottom left of the windows. I clicked on the texture button then ticked Use Nodes. That actually dislocates our original texture from the material. It's still there in Blender but I built a new one using these nodes. In this case we lose the ability to see our terrain under Solid render mode. We have to choose rendered. However, you can see we have some pretty good visual feedback in the nodes if we don't want to keep realtime rendering. The nodes are supplying colour as well as displacement. This is where I'm going to next test the baking options in Blender Internal. I'm not sure these people are right about it being crap due to lack of anti-aliasing. If so, it could be post processed.

The nodes are two Musgrave mulifractals, one voronoi basis and one Blender original as you can see. Then one Cloud fractal voronoi crackle basis  is added to one Musgrave after being divided to reduce the gain. This is then put through the curve graph to shape the gain. It's then mixed with the other gentler Musgrave using it's untreated original form to blend the two.

These are Blender Internal nodes. Cycles has a completely different set of nodes. there are some limits but I'm finding also some advantages with Cycles. The positioning is more powerful.

This terrain can be now be baked out at huge res. Fractal detail that you can't see will get baked. That's just a case of tweaking the fractal to get the detail and zooming into the realtime preview to see it, just as you'd do in Terragen.


efflux

#100
Also, You don't totally need to use the sphere but it's a good first test to use for seeing the textures anyway. That's just my method to have the textures on the sphere because I can bring that back into another Blender scene which might not be landscape. It's my library of textures and I use the sphere to test them. It can also get in a mess with the displacement modifier. It's just my working practise because I use the textures for all sorts including sculpting. Less so with materials and colours. It's the textures that can be multitudes of variations. Blender has no library. You can append things from one .blend file to another. It's important to know that.

Maybe I complicated in with that but you'll learn a few more things anyway.

efflux

#101
The thing is, there are so many ways to do things in Blender, it's just insane and I can't quickly explain it all. If you do the initial displacement modifier method you can sculpt the base terrain under the displacement. This is a method to get overhangs of course but then we need to export that mesh and somehow build a vector displacement map that works in Terragen as was being duscussed in another thread.

This is completely unchartered territory as well. No Blender users are doing this. They justy fire up the ANT terrain script and go for some undetailed low poly island type terrains.

efflux

#102
This is never ending is power. I was thinking that maybe the bake doesn't anti-alias for a reason. That's something that probably would be better post processed. A side benefit of this is that tiled terrains could be created. Anti-aliasing can screw up the edges of bakes. Lets say you want that terrain in the previous shot but way more of it in other maps. Well tiles of absolutely any region in that terrain (off the edge from what we can see) can be created. You just move the mesh over to be lined up against the first one then bake again and those bakes will slot together perfectly.

efflux

I just found out that someone is using tiled terrains in the Blender games engine. That has to be low detail but the way it works is that when you move around the scene, Blender gets the next tile ready depending on where you are. Maybe you can set this up in standard Blender. You move around the scene to find shots and Blender loads the next terrain tile depending on where you are. Getting a bit ahead of myself here though.

efflux

#104
This is awesome. Don't judge it on artfulness. For example, that cracked texture isn't too good. I didn't use a decent fractal. The texturing possibilities in Blender are vast for this. I'll get more into that after but this is a 4096 terrain. The terrain you saw in the previous Blender screenshot. You can get as big a terrain out of Blender as you want with as much detail as you want. Basically whatever vast size Terragen can handle. I don't know what that is yet. I baked the texture rather than the displacement. It seems baking displacements doesn't work with the method I've described here. I actually hadn't done it with Blender's Internal renderer before today. Nothing wrong with the Internal baking either as far as I can see. I'm not sure what the Blender users are complaining about. I still need to work on getting the terrain heights into some kind of usefulness and more artfully height sculpted. That's also about how the procedure in Blender is lifting the terrain. If I chop out a section that is high then it will end up high in Terragen.