Pfragmentについて

CINEMA 4DおよびBodyPaint 3Dに関する一般的な議論や情報交換をするフォーラムです。

Pfragmentについて

投稿記事by syota.yamamoto » 月 4 22, 2013 3:51 pm

ThinkingParticlesのPfragmentで断片化したパーティクルを
それぞれのパーティクルの寿命にそって透明度・マテリアルカラーを変更することって出来ますか?
オブジェクトを割り当ててる訳じゃないのでPshapeのオブジェクトの表示タグなどでは出来なさそうです。。
syota.yamamoto
 
記事: 15
登録日時: 月 4 22, 2013 3:46 pm

Re: Pfragmentについて

投稿記事by tofuji » 火 4 23, 2013 12:17 am

 ThinkingParticlesでマテリアルの透明度やカラーを変えたい場合、
一般的には「異なったマテリアルを適用した10〜20個ぐらいのオブジェクトを差し替える方法」で対応できます。

 しかし、PFragmentはポリゴンを内部で勝手に分割し、新規パーティクルに割り当てるので、
分割した後に別のオブジェクトを割り当てると、内部で分割されたポリゴンが失われてしまいます。
表面的には、「分割された断片」が「分割前の塊」に戻るように見えます。
 つまり、オブジェクトを差し替える方法が使えません。


 というわけで、以下の二つの方法を説明します。
 ただし、両方ともこの問題を完全に解決するものではありません。またそれなりに難しいです。


1. シェーダで対応する方法。

 「Proximal」シェーダを使うと、「ターゲットからの距離」で透明度やカラーを変更できます。
したがって、年齢と距離が対応している場合はこれで代用できます。

http://www2.11moon.com/sample_files2013 ... shader.mp4
http://www2.11moon.com/sample_files2013 ... shader.zip


2. MoGraphを使う方法。

 MoGraphの「Color」シェーダを使うと、「オブジェクトのカラー」で透明度やカラーを変更できます。
したがって、パーティクルの年齢とオブジェクトのカラーをリンクしてやれば、年齢で透明度やカラーを変更できます。

http://www2.11moon.com/sample_files2013 ... oGraph.mp4
http://www2.11moon.com/sample_files2013 ... oGraph.zip


 ここで、「オブジェクトのカラー」というのは、「オブジェクト -> 基本 -> 表示色」を意味します。
また「オブジェクト」というのは、「そのPGroupが適用された、パーティクルジオメトリオブジェクト」を意味します。

 ただし、パーティクルジオメトリオブジェクトは「パーティクルグループに対して一個」なので、
個々のパーティクルの寿命に応じて色を変えることはできません。一番最後のパーティクルの寿命がグループ全体の寿命となり、
それに対応した透明度やカラーでそのグループに含まれる全てのパーティクルが表現されます。

 もし、グループ内部で透明度やカラーをばらつかせたい場合は、グループを3〜5個に細分化し、
各グループに異なった設定をしてやれば、事実上問題ないレベルでばらつかせられると思います。
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 796
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Re: Pfragmentについて

投稿記事by syota.yamamoto » 水 4 24, 2013 1:11 am

ありがとうございます!
しきい値にアニメーションをつけていたのでProximalでやってみます!
syota.yamamoto
 
記事: 15
登録日時: 月 4 22, 2013 3:46 pm


Return to ユーザフォーラム

オンラインデータ

このフォーラムを閲覧中のユーザー: Bing [Bot] & ゲスト[3人]

cron