Moco MotionBuilder GUI: Updates

I’ve made some updates to the MotionBuilder GUI (pay no attention to the top-right frame, it’s being worked on):

  • Added buttons for changing the Begin and End Frames (remember that internally all the curves and frames are normalized values so this Begin/End Frame thing is really just for the human and also determines the actual number of frames to iterate over when executing).
  • Added 3 tabs for grouping the various curves by role: Actuators, Delay and Camera. The Actuators tab contains all the arm motors/servos as curves. The Camera tab shows the number of images to capture at each frame and this can be animated over a curve as well (though it’s a discrete stepped value). The Delay curve essentially tells the rig how long it should wait before taking the image for the frame and moving to the next frame. This delay curve is what gives our system timelapse abilities and since it’s animated over a curve we can do “time-ramping” of time-lapse (think speeding up and slowing down of time). The delay tab also has a button where you can set the delay curve’s upper bound (in seconds)… I’m fixing the minimum to 5 seconds because there needs to be some sorta sanity preventing the user from killing the hardware (the camera takes at least a second to get an image to the computer depending on the resolution).
  • Each curve now has an “Arm/Disarm” button, a “Lock” button and a “Curve type” pulldown. The Arm/Disarm button toggles whether the curve has any effect during frame scrubbing/playback or saving of curves… it’s like a Mute button for curves. The Lock button, when engaged, prevents any changes to the curve. The Curve type pulldown allows you to change the style of interpolation used (catmullrom, linear, step) for the curve.
  • Disabled the ability to click around in the curve canvas to set key points because mouse coordinates within heavily CSSed pages don’t seem to be accurate or reliable in browsers (getting weird offsets). Until I overhaul the layout to be barebones (which I doubt will happen) or I figure out a more reliable mouse event coordinate calculation, mouse clicking in canvases will have no effect. This means you must scrub the frame play head to the location you want to change and use the actuator slider on the left to set the keypoint (or alternatively use the keypoint toggle button above the canvas).
  • Added the ability to click on the value label of the curve (the underlined value next to the curve’s name) and set it by typing in the value.
  • Implemented the job_executor publication so that the MocoBot can /subscribe/job_executor and the GUI can /publish/job_executor when the user clicks the new “Execute” button on the interface. When clicked a new window pops up to verify the intention of the user (see the following image). Once verified it sends the job to the MocoBot to execute the timelapse run. Note this will lock up the rig from being available to the GUI again until it is finished with the run (that means no viewfinder either).
  • Added a “Calculator” button which pops up a new window with some very useful taping-time and running-time calculations using the current state of the delay curve. It was always annoying (if not impractical with delay ramping) to figure out how long your taping session was going to take… but now the math is automagically a click away. Note that this calculator actually iterates through each frame to figure out the delay to add, it just only displays the results at each keypoint found in the delay curve.

Comments are closed.