« ビンボーゆすりを科学したコラボ・プロダクト YUREX(TM)製品サイトをリニューアルしました!! | トップページ | ActionScript 25行コンテストの決勝進出者12人のコードがすごすぎる件 »
CS4でパーティクルを試す(matrix3Dとかvectorとか)
2008/12/10
CS4,Matrix3D,Particle,vector,サンプルコード
なにやらkijimaにパーティクルブームがきているようなので乗っかってみます。
クリックでなにかが散らばります。
モノを動かす時の要素ですが、X・Y・Z軸の移動、回転、拡大率の9項目。
matrixで以下のようになります。
function makeMatrix(Xpos:Number, Ypos:Number, Zpos:Number,Xrotate:Number, Yrotate:Number, Zrotate:Number, Xscale:Number,Yscale:Number,Zscale:Number):Matrix3D {
matrix.prependRotation(Xrotate, Vector3D.X_AXIS);
matrix.prependRotation(Yrotate, Vector3D.Y_AXIS);
matrix.prependRotation(Zrotate, Vector3D.Z_AXIS);
matrix.prependTranslation(Xpos, Ypos, Zpos);
matrix.prependScale(Xscale,Yscale,Zscale);
return matrix;
}
毎フレームごとに動かす処理はこれ↓。
//pos
v[1] = (v[1]+v[2])*v[0];
v[4] = (v[4]+v[5])*v[0];
v[7] = (v[7]+v[8])*v[0];
//rot
v[10] = (v[10]+v[11])*v[0];
v[13] = (v[13]+v[14])*v[0];
v[16] = (v[16]+v[17])*v[0];
//pos,rot,scale
mat3D=makeMatrix(v[1],v[4],v[7],v[10],v[13],v[16],1,1,1);
拡大率は今回使わなかったので1にしてあります。
vはvectorクラスで、値の数は19個。1パラメータにつき初速・加速度・初期値があり、それが座標3つと回転3つで計18個、プラス空気抵抗で19個です。
内訳は
0:抵抗
1:X初速
2:X加速
3:X初期値
4:Y初速
5:Y加速・・・と続いています。
実際は場合によって使用しないパラメータの分を省いたりして軽量化しますが今回は拡大以外フルで。
Z軸の計算をFlashが持ってくれるので舞い散る感じのアニメーションがすごく楽になったと思います。紅葉とか、桜とか。
さて、次。ほぼコードは同じですがクリックで始まります。
少し変えただけで変わりまくるのがパーティクルのいいところ。予想しきれるものじゃなくなってくるのでどんどんやります。
で。もいっこ。クリックで再生。
よくクラブで見る感じのラインアニメーションをいくつも重ねたもの。
あまり差はないと思いますがvecterクラスで。
今回のソース3つはここ。
東スポブログパーツ by BM11
- 3D
- AIR
- AS2
- AS3
- ActiveX
- AfterEffects
- Arduino
- Benchmark
- BitmapData
- CS4
- Command
- Cookie
- Date
- Dictionary
- DisplacementMapFilter
- Dynamic Sound Generation
- Error
- Event
- EventDispatcher
- ExternalInterface
- F-site
- FLARToolKit
- FLV
- FMIS
- FMS
- File
- FileReference
- FireBug
- FireFox
- Fireworks
- Flash Lite
- FlashDevelop
- FlashPlayer10
- FlashVars
- Flex
- FocusEvent
- Font
- FuseKit
- Gainer
- Google Map
- HydroTween
- IE
- JActionScriptors
- JPGEncoder
- JSFL
- JSON
- JavaScript
- MP3
- MP3FileReferenceLoader
- Math
- Matrix3D
- Max/MSP/Jitter
- Mobile
- MovieClip
- NetConnection
- NetStream
- Number
- Object
- ObjectDetection
- ObjectDumper
- PaperVision3D
- Particle
- Progression
- RGB
- RTMFP
- Rectangle
- SQLite
- SSL
- SWFAddress
- SampleDataEvent
- Sound
- SparkProject
- Sprite
- TOYOTA
- TeraClock
- TextBox
- TextField
- TextFormat
- TextSnapshot
- Thread
- ThunderBolt
- Tips
- TweenMax
- Tweener
- Vector3D
- Vitz
- Wonderfl
- Works
- Xray
- alpha
- android
- animation
- api
- as3
- as3corelib
- byteArray
- christmas
- chumby
- class
- clock
- color
- computeSpectrum
- constructor
- continue
- cookpad
- crossdomain
- detection
- duplicateMovieClip
- enabled
- event
- flash時計
- flexbuilder plugin
- flosc
- flv
- fps
- funnel
- getDefinitionByName
- getTimer
- gravsynth
- iPhone
- insertCommand
- iphone
- kayac
- mProjector
- mask
- match
- memo
- mouseEnabled
- mxp
- nativePath
- new
- php
- png
- red
- scale9Grid
- sendAndLoad
- setInterval
- swfObject
- swift3D
- textHeight
- tips
- trace
- tracking
- upload
- vector
- web
- wmode
- wonderfl
- xml
- アニメーション
- イラスト
- ガジェット
- ガベージコレクション
- クラシックトゥイーン
- サンプルコード
- ショートカット
- タイムライン
- デコンパイラ
- デザインパターン
- デバッガ
- データ型
- バグ
- パブリッシュ設定
- フレーム
- ブログパーツ
- プラグイン
- プロパティ
- ボーンツール
- ポップアップブロック
- メモリ
- モーショントゥイーン
- リファクタリング
- リンケージ
- ローディング
- 勉強会
- 携帯
- 時計
- 書籍
- 正規表現
- 爆速
- 緑さん
- 縦書き
- 軽量化








