コリジョン判定でアイテム切り替え!

こんばんは、柳村です。
 
パーティクルとリプリケータを使用して、
ポリゴンに衝突したらアイテムが切り替わるサンプルです。
 
 

 
 
パーティクルオペレータに「アイテム」を追加すると、
リプリケータのプロトタイプにグループを設定しているときに、
グループ内の、どのアイテムを使用するかをIDで指定できるようになります。
 
グループ内のアイテムのIDは1.0を最大にして、
グループ内のアイテム数で割った値を使用しているようです。
グループ内の上位から下位にむかって0→1のようです。
 
この例では3個のアイテムをグループにまとめていますので、
 
Ball → 0 < 0.33
Doughnut → 0.33 < 0 .66
Cone→0.66 < 1.0
 
といった具合ですね。
 
そして、パーティクルオペレータにユーザーチャンネルも追加します。
「アイテム総数」が追加したユーザーチャンネルです。
「アイテム総数」はグループ化したアイテムの数の「3」に設定します。
 
1÷「アイテム総数」で1つあたりのIDを割り出して、
パーティクルオペレータの「衝突カウント」で何回目の衝突かを読み取り、
掛け算した値を「アイテム」に代入すると、衝突するたびにIDが繰り上がり、
レプリカが思い通りに変わってくれるという寸法です!
 
↓サンプルシーン
 

コメント

このブログの人気の投稿

ノーマルマップ(法線マップ)について

輝度と放射輝度

窓サッシの自動配置 パラメトリック変形風