class Tracksperanto::Import::MayaLive
Constants
- COMMENT
Attributes
aspect[RW]
Maya Live exports and imports tracks in “aspect units”, so a point at 0,0 will be at -1.78,-1 in MayaLive
coordinates with aspect of 1.78. Therefore we offer an override for the aspect being imported (if the pixels are not square)
Public Class Methods
autodetects_size?()
click to toggle source
# File lib/import/maya_live.rb, line 12 def self.autodetects_size? true end
human_name()
click to toggle source
# File lib/import/maya_live.rb, line 8 def self.human_name "Maya Live track export file" end
known_snags()
click to toggle source
# File lib/import/maya_live.rb, line 16 def self.known_snags 'Only square pixel aspect ratio shots are supported.' end
Public Instance Methods
each() { |last_tracker| ... }
click to toggle source
# File lib/import/maya_live.rb, line 22 def each io = Tracksperanto::ExtIO.new(@io) extract_width_height_and_aspect(io.gets_non_empty) while line = io.gets_and_strip if line =~ COMMENT yield(@last_tracker) if @last_tracker @last_tracker = Tracksperanto::Tracker.new(:name => line.gsub(/#{COMMENT} Name(\s+)/, '')) next end tracker_num, frame, x, y, residual = line.split abs_x, abs_y = aspect_values_to_pixels(x, y) @last_tracker.keyframe! :frame => frame, :abs_x => abs_x, :abs_y => abs_y, :residual => set_residual(residual) end yield(@last_tracker) if @last_tracker end
Private Instance Methods
aspect_values_to_pixels(x, y)
click to toggle source
# File lib/import/maya_live.rb, line 44 def aspect_values_to_pixels(x, y) [ (@width.to_f / 2.0) + (x.to_f * @x_unit.to_f), (@height.to_f / 2.0) + (y.to_f * @y_unit.to_f) ] end
extract_width_height_and_aspect(from_str)
click to toggle source
# File lib/import/maya_live.rb, line 51 def extract_width_height_and_aspect(from_str) self.width, self.height = from_str.scan(/\d+/) @aspect ||= width.to_f / height.to_f @x_unit = width / (@aspect * 2) @y_unit = height / (1 * 2) end
set_residual(residual)
click to toggle source
# File lib/import/maya_live.rb, line 58 def set_residual(residual) (residual == "-1" ? 0 : residual) end