Class: Tracksperanto::Import::ShakeText
- Defined in:
- lib/import/shake_text.rb
Overview
Import for Shake Text files
Instance Attribute Summary
Attributes inherited from Base
#height, #io, #progress_block, #width
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Base
autodetects_size?, distinct_file_ext, inherited, known_snags, #report_progress
Methods included from BlockInit
Methods included from ZipTuples
Methods included from ConstName
Methods included from Safety
Methods included from Casts
#cast_to_bool, #cast_to_float, #cast_to_int, #cast_to_string
Class Method Details
.human_name ⇒ Object
4 5 6 |
# File 'lib/import/shake_text.rb', line 4 def self.human_name "Shake .txt tracker file and Nuke CameraTracker auto tracks export" end |
Instance Method Details
#each {|@last_tracker| ... } ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/import/shake_text.rb', line 8 def each @io.each do | line | if line =~ /TrackName (.+)/ yield(@last_tracker) if @last_tracker && @last_tracker.any? @last_tracker = Tracksperanto::Tracker.new(:name => $1) # Toss the next following string - header io.gets else keyframe_values = line.split next if keyframe_values.length < 4 @last_tracker.keyframe!( :frame => (keyframe_values[0].to_i - 1), :abs_x => keyframe_values[1], :abs_y => keyframe_values[2], :residual => (1 - keyframe_values[3].to_f) ) end end yield(@last_tracker) if @last_tracker && @last_tracker.any? end |