2012年3月21日水曜日

拡張現実5(複数のマーカーを同時に、Particleについて)



まずParticleについてはサンプルコード
http://satch.jp/jp/sample/sample_6_index.html
にあったSmoke.particleファイルをメモ帳で開き以下のように変更した。

particle_system Particle/Smoke
{
 material  Material/Smoke
 particle_width  55
 particle_height 55
 cull_each     true
 quota      500
 billboard_type  point
 sorted   true
 local_space  true
 emitter Point
 {
  angle    30
  emission_rate 5
  time_to_live  10
  direction   0 0 1
  velocity_min  50
  velocity_max  60
 }
 affector ColourImage
 {
  image smokecolors.png
 }
    affector Rotator
    {
   rotation_range_start      0
   rotation_range_end       30
   rotation_speed_range_start -60
   rotation_speed_range_end   60
    }
    affector Scaler
    {
     rate 10
    }
}
angleが大きいほど広がりが大きい。0にすると真上に立ち上る煙突の煙のようになる。
emission rate を低くtime_to_liveを長くして少しずつ長い距離を立ち上るようにした。
velocityは低くゆっくりめに。


複数のトラック方法は(もっと簡単OR効率的な方法があるかもしれない。)
開発ガイドhttp://satch.jp/jp/guide/dev_flow_1_index.html
の流れに沿って製作したファイルを元に
http://satch.jp/jp/guide/dev_flow_1_7.html
にあるようにComputerVisionでモード(mode)は、ライト(Lite)、ユーザーレベル(Userlevel)は、アドバンスド(Advanced)へ設定。
TargetのCreateとKeyframeのCreateを必要なマーカーの数だけ繰り返す。その際のTargetのNameは後で使う。多く扱うときはGenerateClassifiersではQualityは高めに。trackerフォルダに好きな名前(ここではtrackermulti.xmlとする。)表示したいオブジェクトの親になるempty(Tracking_Object2とする)を追加し表示したいシーンなどをその子にする。tracking.luaの
errorStatus, trackingIndex = MLTPlugin:startTracking("tracker/tracker.xml", videoCapture_live:getVidCapID(), camera)

errorStatus, trackingIndex = MLTPlugin:startTracking("tracker/trackermulti.xml", videoCapture_live:getVidCapID(), camera)
に書き換える。

local trackingObject = Object3D(scene:getObjectByName("Tracking_Object"))
の下に
local trackingObject2 = Object3D(scene:getObjectByName("Tracking_Object2"))
を追加。

local trackingObjectIndex = 0
の下に
local trackingObjectIndex2 = 1
を追加。
この番号はコメントにもあるようにComputerVisionでTargetをCreateしたときの番号。
その他も
trackingObject, trackingObjectIndex ,gtrackingStatus,gtrackingKeyFrameIndex,
という名前のでてくる部分は
trackingObject2, trackingObjectIndex2 ,gtrackingStatus2,gtrackingKeyFrameIndex2,
で置き換えたものを追加する。

(ここではtrackermulti.xmlに全部のtargetのデータが入っているのでtrackingIndexは一つでいい。しかし複数のtracking.xmlファイルを使うこともできそう)

二つの画像を使う場合、最終的に変更されたtracking.luaは以下のようなもの。
http://iphoneasobi.blogspot.jp/#!/2012/03/blog-post.html




人気ブログランキングへ
にほんブログ村 デザインブログ
JRANKブログランキング

0 件のコメント:

コメントを投稿