What is a NULL Shader?

Started by PeterParker, March 21, 2014, 09:46:59 AM

Previous topic - Next topic

PeterParker

Hello,

i´ve detected a Shader called NULL Shader. What is this for? Cause it has no function at all. Also i wonder myself about the Contour Shader.
Does Anybody know how they work?

Thanks in advance

and best Regards


Dune

This is all described in the documentation: http://www.planetside.co.uk/wiki/index.php?title=Terragen_2_Node_Reference

But a null shader does nothing. You can hide nodes in it, that's all I use it for.

PeterParker

Quote from: Dune on March 21, 2014, 12:28:59 PM
This is all described in the documentation: http://www.planetside.co.uk/wiki/index.php?title=Terragen_2_Node_Reference

But a null shader does nothing. You can hide nodes in it, that's all I use it for.

Thanks a lot Dune for your answer :)

TheBadger

Well, A null in TG tends to do a lot less than it ought to. In other software you can use a null as a means to drive other objects and shaders. It it used as a control point for any number of other parts of a scene.

I would like to see TG's null be increased in power. So that I can use it as a node hub (so to speak). Where It has all of the transform controls of any other node, and really all of the placement controls of other nodes. Then Ideally you could control entire node trees just from the null.

And then having several node trees with their own nulls at the top, animating and making changes would be much easier, in theory. Anyway, thats how it works in some other soft I use, more or less.
It has been eaten.

Dune

Quoteall of the transform controls of any other node
That would be an enormous node, with settings/variables that would dazzle any user!

mogn

I have used null nodes as a way to connect external nodes to internal node tree without having to change the internal nodes.

PeterParker

Quote from: TheBadger on March 21, 2014, 03:48:40 PM
Well, A null in TG tends to do a lot less than it ought to. In other software you can use a null as a means to drive other objects and shaders. It it used as a control point for any number of other parts of a scene.

I would like to see TG's null be increased in power. So that I can use it as a node hub (so to speak). Where It has all of the transform controls of any other node, and really all of the placement controls of other nodes. Then Ideally you could control entire node trees just from the null.

And then having several node trees with their own nulls at the top, animating and making changes would be much easier, in theory. Anyway, thats how it works in some other soft I use, more or less.

In Photoshop this is called an adjustment layer. Did you mean the overall control of the entire scene?
In my opinion dune is right cause there has to be a lot of set up things that cant fit in one shader.

Dune

I echo mogn, I do that as well.

bobbystahr

Quote from: Dune on March 22, 2014, 09:56:22 AM
I echo mogn, I do that as well.

Care to explain how that is done for those amongst us(me) who haven't grokked this?...sounds like something I should know....
something borrowed,
something Blue.
Ring out the Old.
Bring in the New
Bobby Stahr, Paracosmologist

TheBadger

QuoteIn Photoshop this is called an adjustment layer. Did you mean the overall control of the entire scene?

After effect would be a better example.

@ulco
I guess I did not mean "every" transform power. Just the ones that control objects or things as a whole in 3d space. so The entire cloud position rather than the clouds internal animation parameters. Or the entire lake object, rather than the wave settings. So you would still have to make changes in the new objects in 3.1, but the objects them selves could all be controlled by the null.

This would mean that you could make a spiral galaxy, an asteroid ring, a bunch of planets and any number of other things, and then once ready, hook them all to the null and animate them at the same time. Just as one example.
It has been eaten.

Dune

What I do is make a null inside a say surface shader that contains a lot of nodes as input, color, etc, where I want certain inputs from outside. Hook the outside node to the null input and hook the null output to the appropriate inputs inside that surface shader, so you can influence several inside nodes form one (stack of) outside nodes. Also faster than hooking every node on its own to that outside node. Don't know if that's exactly what mogn does, but this is one way I use the null. You can't turn it off by the way. Well, you can, but it still feeds the info through.

@ Badger: yes, that sounds good. Maybe a transform shader can better be used to do that, than a (different) null?

Oshyan

What you're talking about Badger does not sound like a "null" shader at all. The null shader is pretty much doing what it's supposed to do - it allows for network routing and clean-up and whatnot without actually affecting the results of the network configuration.

- Oshyan

TheBadger

Hi oshyan,

Umm, I dont know. I only know that a "null" in after effects is the way I described.  It works by parenting, so its similar to my experience with Maya rigging too.

Is "null" just one of those things in 3d that is a generic term? My first use of it was in AE, so that colored my ideas about what it is. Then I saw it in maya and it worked essentially the same. But TG threw me off a bit about it. Indeed the transform shader and parts of the surface shader is what I expected to find in the null when I tried to use it.
It has been eaten.

Oshyan

To the best of my knowledge a "null" in AE doesn't have any properties that are different than regular layers or objects, i.e. the translation, scale, etc. stuff is not special or specific to the null. Rather, the only unique property of the null is that it is invisible/does not render, so you can use those other functions of it to affect things that are linked to it but without having *it* render itself.

Where I think you're getting confused is in thinking that the translation, etc. stuff are properties associated with the null in AE, or the "null" as a concept that is common to various software; translation, etc. are instead properties associated with all *layer* type elements of the scene *in AE*, of which a null is one. This is akin to the fact that all Node type elements in Terragen have inputs and/or outputs, an internal network, an Enable checkbox, Shader Preview, and a name, which the Null does in TG. So it's the same kind of self-consistency, you're just missing that the inherited/"native"/"default" properties of these types of elements are different between different types of software. Again that's to the best of my knowledge, but I don't know AE well. :D
http://help.adobe.com/en_US/AfterEffects/9.0/WS3878526689cb91655866c1103906c6dea-7d9aa.html

In Maya I believe the "null" (called a "locator" in Maya, right?) is an *object* type, so it of course does have position, etc. just like any other object. Whereas the null that you were looking at in TG is a *node* that is not of the "object" type (there are of course "object" type nodes in TG too, but null is more of a "utility" type). Objects in TG do have position, etc. in the scene but nodes do not inherently (it depends on node type, e.g. object nodes do, so does something like the Simple Shape shader).

It so happens however that there *is* a "null" *object* type node in TG as well and it does have Transform, etc.! Does that just confuse you more? :D The null utility node is just for node network utility functions, whereas the null object node is for some of the same purposes as the Maya null is. *Except* you can't yet parent objects in TG, as you probably know, so it can't be used as powerfully or usefully. We do plan to add object grouping in the future and then the Null *object* node will be more useful.

- Oshyan

TheBadger

#14
lol OH man! You must get good coffee in Frisco  ;D But I acually got most of that :o

This part made me sit up : "*Except* you can't yet parent objects in TG, as you probably know, so it can't be used as powerfully or usefully. We do plan to add object grouping in the future and then the Null *object* node will be more useful."

Looking forward to it.

Oh and yes, your description is totally accurate about AE.

In Maya, the locator is one way of doing it. I don't like it too much though. The parenting stuff like you described is part of it, but you don't need the locator to parent. Not that it matters, because you clearly understood what I was trying for, and you answered it  ;D

Thanks man!
It has been eaten.