Skip to content

Record Messages

maybites edited this page Aug 13, 2021 · 5 revisions

There is no tool implemented in NodeOSC to record messages, but users have found ways to do this anyway:

Solution One (link):

I’ve put together a animation node for recording values from NodeOSC or anything else (see attachement). It’s far from ideal but does the trick for now.

To install:

  • Unzip the file in the ‘nodes’ folder of your animation nodes installation.
  • Restart Blender
  • Ctrl + A in the animation nodes window and search for “Record …”
  • The step socket is where you would put the frame number

Solution Two (link):

I found a way to record keyframes with the data coming in from OSC handler (nodeOSC) using keyframes_insert

For example, for location I create 2 osc handler

1: for create keyframes

address: /objects/Cube/location

datapath: bpy.data.objects['Cube'].keyframe_insert('location', frame=bpy.context.scene.frame_current)

2: for route incoming message:

address: /objects/Cube/location

datapath: bpy.data.objects['Cube'].location

also works with shader nodes:

address: /materials/caja/nodes/Principled_BSDF/inputs/0/default_value

datapath: bpy.data.materials['caja'].node_tree.nodes['cajaMat'].inputs[0].keyframe_insert('default_value',frame = bpy.context.scene.frame_current)

address: /materials/caja/nodes/Principled_BSDF/inputs/0/default_value

datapath: bpy.data.materials['caja'].node_tree.nodes['cajaMat'].inputs[0].default_value

(I think it should work with any other property that can be animated)