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
$\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 '20 at 16:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.