2014年2月25日火曜日

慣性 はずみ after effects


アニメーションの慣性表現を探すとなかなか
日本語でないw



こちらの動画を参考につくってみたが、、、。


ぷよんって感じがちょっと違う。

amp = .1;
freq = 2.0;
decay = 2.0;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){
n--;
}}
if (n == 0){ t = 0;
}else{
t = time - key(n).time;
}
if (n > 0){
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{value}


記載するエクスプレッションはこちらです。



指定した高さを超えて移動する値が大きくなる。 amp

次に、freq  は、戻り回数かな、上から落ちてきな「NEW」が一度ぐいっと
下にさがって、上にかえり、また下に行く その回数。

decay はゆれる時間。小さいほうが長くゆれる。






修正したものがこれで、個別に 3つの数字をいじってます。
あとはおこのみで。

2014年2月23日日曜日

after effects 地球の作り方 


作り方:
・テクスチャの地球準備
・AE上での地球の作り方


まず、地球地図の手に入れ方
パブリックドメインのものを手に入れる。

パブリックドメインとは?
http://ja.wikipedia.org/wiki/%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3


SVG 

http://commons.wikimedia.org/wiki/File:BlankMap-World6.svg

このデータをつかって:




イラストレーターの処理はまかせる。
ドット化ですが、
http://liginc.co.jp/designer/archives/3336

「オブジェクト」→「モザイクオブジェクトを作成」
幅を正方形にするか? どうかですが、正方形のほうがかっこよくみえる。
あとは数ですね。

■after effects では cc sphere をつかってまるくする。




エクスプレッション 省略の仕方

a=transform.position[0]+time;
b=transform.position[1]+time;
[a,b]

a=thisComp.layer("シェイプレイヤー 2").transform.position[0]+time;
b=thisComp.layer("シェイプレイヤー 2").transform.position[1]+time;

[a,b]



■省略してもいいにの図

thisComp.layer("平面1").transform.position.valueAtTime(time)
thisComp.layer("平面1").transform.position
thisLayer.transform.position
transform.position

position

エクスプレッションの意味


エクスプレッションの基本はレイヤーのプロパティをコントロールすること

グローバルオブジェクトって意味わかんなかったけど
全部品の階層構造をあらわした 一番上の階層を指すことばなのかもと
勝手に解釈。

こちら
エクスプレッションのポップポップアップメニューを開いた画面
一番上が

http://helpx.adobe.com/jp/after-effects/using/expression-language-reference.html#WS3878526689cb91655866c1103906c6dea-7a0aa
詳しい説明はこちら、

まぁここでは
thisComp だけに集中しましょ。

回転などは 数字がひとつなので指定が簡単ですが、
位置などは、XYと2つあるので
どう指定するかわからない。。

実験してみました。


こんな風においてあるシェイプ2つ
青ほうが「シェイプレイヤー 2」で
緑が「シェイプレイヤー 1」で

thisComp.layer("シェイプレイヤー 2").transform.position*1

同じ位置になりました。
せっかくなので回転も  rotation もやってみる。



thisComp.layer("シェイプレイヤー 2").transform.position*-0.25
緑がみえないところに移動しちゃいました。

X と Y を個別に操作できないものかと。

a=transform.position[0];
b=transform.position[1];
[a,b]

〔〕の0は x方向 をあらわすそうです。
でもこの記述だと、このレイヤーのエクスプレッションのプロパティ取得になるので
レイヤーを指定しないといけない。


thisComp.layer("シェイプレイヤー 2").transform.position[0]*1

■遅れて動かすとき
thisComp.layer("シェイプレイヤー 2").transform.position.valueAtTime(time - 1);




パスを使った ストロークアニメ


数の色を変える エフェクトです。

このやり方が基礎になりますが、

<iframe width="560" height="315" src="//www.youtube.com/embed/nfU_M00oRoI" frameborder="0" allowfullscreen></iframe>


パスを使うことでこんなこともできます。
わからないのはパスを動かすときに トランスフォームがでてこないことですね。


2014年2月22日土曜日

after effects エクスプレッション 時間表示

■概要
数字なので単純には 0 1 2 3 4 5 6 の静止画を
フレームにあわせて変えていくという面倒なやり方。

は しない。

まぁあとはスクリプトでできそうだよねと思う。
がどうやってやるかわからない。。。

調べると、
http://www.da-tools.com/AE/exp/jiturei/textSample.html

timeToTimecode( ) メソッド
こいつを使えばなんとかできるみたいだとわかる。

でも、「Global objectのtimeToTimecode( ) メソッドで現在のTimeを取得」
とあるが、Global objectがわからん。


形にはなったが、ガタガタしますね。



これがその動画です。

n=2;
t=time;
if(n <= time){ t = n; }

fullTime=timeToTimecode(t, 100, 0);
sec=fullTime.split(":")[2];
sec2=fullTime.split(":")[3];
sec+"."+ sec2

一番下のがこのスクリプトです。
上の3行が 2秒までカウントしたら止まるようにしている記述
これの原因は 。ドットが動く これは駄目ですね。

ということで結局バラで 一番上のようにつくってます。
数字の抜き方のパターンは下記の3つのようです。

substring()
substr( )
split( )







Ga4のtest

これを押すとリンクするよ 参考にした記事はこちら