Short clips for Neverending Story performance (Theater aHnungslos)

After Urfin, group decided to perform neverending story. I am happy about the decision. But I am somewhat floored by the complexity of the clips (especially environments). Mainly flight scenes with

Its my own interpretation of Falkor, the luck dragon. And visualisation of the Nothing.


Basic model of the Ivory Tower.

I like to try a different approach of texturing for the ivory tower.

Koumis shared idea of using shader nodes like paint layers.

I like to try to create different separate materials. Each material contains a group with two outputs. A BSDF output and a Displace output. Textures for the base materials are mainly procedural.

In texturing workflow I like to combine these base material groups, blend them with monochrome texture maps.

At the end, PBR textures are baked from the node tree.

Thats the theory. I did not try this before, would be interesting to see whether it works like expected.

My base materials for the ivory tower (without the cliffs) …

Mh. Its a simple test to combine all materials.

Rendering of experimental image shows, layering BSDF’s is too slow.

Render Baking takes ages and give curious result. Thats the result of a diffuse bake. Looks interesting, but It does not rensemble original object surface. (Image above.)

To sum it up:
a texturing workflow would not work by layering BSDF’s, but by layering colors and floats. With only a single BSDF on whole shader node tree.

I try workaround with OSL.

Three shaders.
PackPbr, UnpackPbr and BlendPbr.
(Defined in OslPerturbShaders)

PackPbr puts Pbr input params into “PbrBundle” OSL structure. UnpackPbr splits this structure back to its components. And BlendPbr blends input PbrBundles to a new PbrBundle.

The idea is to use these in shading node workflow for texturing. A Materials is described with a PbrBundle structure. Blending and composing materials (with its textures) is simply blending PbrBundle’s.

Some time ago, Cycles supported OSL structures. Now, it turns out that Cycles shader nodes erase OSL structures entirely. Node tree only keep its components, which are useless for my purpose.

:no_entry: deadlock :no_entry:

It is impossible to realize struct based workflow idea without proper support for OSL structures…

is there a way to re-activate OSL structures for Cycles’s shader nodes ?

Some updates on the ivory tower. Basic lighting effects.

Another update …

Looking at the first “ivory tower” versus the latest one(s), I think that this is a strong testament to the importance of camera placement – or, in theater, “where do we put the audience?” Perhaps we will never top the set (now seen only in drawings) which accompanied a staging of Mozart’s Marriage of Figaro, but the drama of this forced perspective – and the juxtaposition of hard textures (second image, versus the first) against the smoothness of the tower – is (IMHO) “compellingly, dramatically, strong.” Which is precisely what you want. The first two (WIP) images, by comparison, (IMHO) fall absolutely flat.

And – as for the dog? … well, he looks like a dog not a dragon to me – do we really need to show him? Of course it’s your show. I don’t know, and mind you I don’t presume to say.

Hi sundialsvc4.

On the ivory tower, I exercised shader node based texturing. This way, texturing is more fun for me. Need to finish it. Today, if possible. So I can move on.

There is a dog around? I dont see any. But, its ok you dont like my Falkor interpretation.

Playing with materials …

Some thoughts on Hairs in Blender.
Not sure if someone cares. Writing it just for the case.

Blender 2.80 introduced metric units. This helped me a lot on Blender hair rendering.

It is a hint how to set up hair thickness. Hairs diameter could vary, I chosed a range from 60 microns up to 120 microns.

A micron is a millionth meter, or a thousandth millimeter.

Since 2.80 gives us metric units, such values could be used directly inside blender.

The ideal would be
“Radius Scale” <- 1 micron
“Radius Scale” <- 10**(-6)m

Scaling “Radius Scale” might limit quality, but it improves rendering performance.

Balancing hair quality and render performance.

First step … decide for hair thickness (in microns). E.g. something between 60 microns and 120 microns works.
Set “Radius Root” and “Tip” to hair thickness you chosed. (E.g. Something between 60 or 120)

Starting “Radius Scale” with a high value (100 micron). Then its about to examine, how many hair are needed to get an opaque surface. After we do have enough hair, we lower “Radius Scale” so Opacity of hair mass diminishes. We add hair, to compensate and achieve same opacity level again.
Again, we lower “Radius Scale”, Opacity diminishes. And we add new hair, to get same opacity level again. We continue, like this, until we got a good balance of hair quality and render speed.

Happy blending.

Another update. Ivory tower with forest.

Falkors fur changed a bit.

“Radius Scale” <- 1.5 microns

seems to be the max value for my model.
Fine hair are difficult to see on the screen. While editing, I keep Radius Scale at 10 microns.

One common problem I run into during hair modelling … to get an even distribution of the hair. There is a simple solution, but its hidden. “Particle // Remove Doubles” could be used on larger values, it creates an even distribution.

Another problem is, that – during my works on the hair – some hair go inside the mesh. Leaving naked spots, when rendered. I tried to fix with “Puff”. Sometimes it worked, sometimes I had to comb trailing hair radially to get them out of the mesh.

I tried to find something between hair quality and render speed. On larger distances, hair could be scaled. But at close range it wont work.

Some changes on his hair. Tweaking, combing, etc …

Hair are now truly between 60 and 90 microns. Just compare with previous render. (Same pose, but thicker hair.)

I like to sculpt some foldings and refine his shape. Still holding myself back. ( Better wait, until multires works as expected. )

Atm, there is ‘holiday’ time in Germany. It is a lonely time.

A simple ocean scene, Blender 2.80.

VCV-Rack is a nice program for creating sounds.

( The Nothing )

Clouds from above.

Everything in my thread orients to real-world dimensions. From the size of the ivory tower down to the radius of falkors hairs.

Now I tried to get a horizont line done in Blender. Regularly, landscapes are treated like displaced planes. This way wont work for horizonts. And clouds would always be above horizont line.

This is an etude, no aesthetic purpose.

In reality, clouds wrap behind horizont. Thats because earth is a sphere.

So, if we treat landscape and clouds as parts placed on spheres (with same center point), we get a proper horizont wrapping of the clouds. Wiki says, radius of Earth might be around 6000 km.

In test scene, clouds are just duplies placed on a point cloud.
Spherify operator used on dupli instancer mesh and ground mesh, with cursor at (0,0,-6000). After editing, spherified plane scaled by 1000.

For more complicated landscapes, we don’t want to hand-warp everything, Cast Modifier could do the job. surface curve of our world (earth).

camera clip range for viewport and scene cam has to be adjusted.

Still collecting landscapes for flight ani.

Ant-based landscape. Edited with sculpting. Fill Brush could do more controlled erosion, and inverse Flatten Brush could create more contrast relief.

Image texture works as mask, separates cliffs from area where forest will grow. For mask painting, angle based falloff essential.

I like to try a different approach for trees. Not whole trees, but small fractals, similar to Subdiv+Displace based clouds.

The Nothing … first try

Many forest trees would share same material. But they shold not render the same.

A bit research on how to get color variation for different instances … “Object info” node is a friend.

Its a sphere, scattered with a particle system. All instance share material from material node view.

An experiment …

This …

is a cube. Stretched, with top face scaled down, subdivided. Now it gets displaced (shader based displacement). Volume rendering creates a coral like structure.

We can try to create a forest with these things …

Might be a different approach to create large-scale forest for bird perspective?

Very render intensive. The memory footprint for whole forest is very low. ( Peak Memory below 10 MB )