1
$\begingroup$

I would like to use animation nodes to create edge line meshes for fast edge line rendering-- meshes slightly displaced along their normals, with only backfaces rendered. To create an edge line that's a single pixel wide, the world-space displacement needs to depend on the camera FoV (focal length + sensor size) as well as the rendering dimensions.

I would like to use animation nodes to do this, as it would simplify the creation of objects and should allow for easy reuse between projects. I have just started learning animation nodes.

How can I most easily get these numbers into my node trees? I've tried using object attribute input with a copied data path on my active camera object, but get an "attribute not found". A copied data path to an expression node for render resolution likewise gives me "name is not defined." Drivers seem to not be working on float input nodes in animation nodes. I can create drivers on the positions of empties and access their positions in my node trees, but I'm wondering if there is a more direct way to access this for animation nodes?

$\endgroup$

1 Answer 1

1
$\begingroup$

I don't know of a way to directly access the current Scene's properties in Animations nodes but you can circumvent that with custom properties .

Add 2 custom properties to your camera and drive them using your resolution. Example with the resolution X :

enter image description here

Now you can access theses properties in AN using an "Attribute Input" node.

Note : To access the "Camera" part of the Camera "Object", the path is obj.data

So : the focal lens is accessed with data.lens

enter image description here

$\endgroup$
1
  • 1
    $\begingroup$ Thank you very much! Much more direct than using object transforms to store the information. $\endgroup$
    – Nathan
    Apr 29, 2020 at 16:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .