Child Particle詳細

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/8/2 0:54
まさかみ  常連 居住地: Tokyo  投稿数: 58
http://www.blender.org/documentation/blender_python_api_2_57_release/bpy.types.ChildParticle.html#bpy.types.ChildParticle

blender API ドキュメントを調べていたのですが
Child Particleに関するメンバ変数、関数がありません
この構造体に関する情報知ってる方おりましたら教えていただけないでしょうか

こうすれば調べることができる等ありましたら併せて教えていただきたいです
よろしくお願いします

blender2.58a
win vista32 home basic
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/8/2 12:14
完全無欠猫  長老 居住地: 兵庫  投稿数: 750
ざっくりとした質問なのであれですが・・・
ソースコード的な話をすると現時点では子パーティクルの構造は


/* Child particles are created around or between parent particles */
typedef struct ChildParticle {
int num, parent; /* num is face index on the final derived mesh */
int pa[4]; /* nearest particles to the child, used for the interpolation */
float w[4]; /* interpolation weights for the above particles */
float fuv[4], foffset; /* face vertex weights and offset */
float rt;
} ChildParticle;

こう定義されています。

Python的な観点から調べるとすると
パーティクルはbpy.data.particlesですから
具体的にBlenderでオブジェクトにパーティクルを紐付けてPython Consoleで見て行くのがいいと思います。
添付したファイルのような感じですかね・・・

何が必要なのかわかりませんが・・参考になるかな?



なにがどの項目かはParticlesタグの項目にカーソルを合わせて、その時に表示される
Pythonのタグ表示を確認してください。
((。´・д・)エッ そんなことは知ってるって? コケッ! ミ(ノ;_ _)ノ =3)

投票数:1 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/8/3 0:10
まさかみ  常連 居住地: Tokyo  投稿数: 58
vray/blenderのexportスクリプトがchild particleに対応してません(hairについて
対応するためにはchild particleのワールド座標が必要でした
そこでParticleHairKey.coのようにchild particleのワールド座標を調べていました
child particleも座標を持っているだろうと思って構造体について質問しました。

しかしこの定義見る限り 近傍のparticleから補完して求めるみたいですね
pythonで座標を求めたいと思ったらblenderソースコード参考に関数移植しないといけないという感じでしょうか?

あるいは一度メッシュに変換してから座標拾っていった方が楽でしょうか?
アニメーション前提なのでメッシュ変換はイケてない気がしますが

投票数:2 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/8/3 14:25
完全無欠猫  長老 居住地: 兵庫  投稿数: 750
vray/blenderの事は知らなかったのですが・・・
少しググって見たら、Blenderのカスタムビルドを使用しているのではないのでしょうか?
カスタムビルドだと中をどのように変更しているのかわからないので・・・

それを開発されているサイトで、ご相談されるのが一番適確ではないかと思います。
投票数:1 平均点:10.00

通常 Re: Child Particle詳細

msg# 1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/8/3 22:03
まさかみ  常連 居住地: Tokyo  投稿数: 58
カスタムビルドはblenderのparticle systemを書き換えてるわけではないです。
vray/blender はyafarayみたいな外部レンダラ用のエクスポータです

vrayがblender child particleをレンダリングするために
blender child particleのワールド座標を取得したいけれど
python api にはデータも取得関数も無かったので困った というのが現状です。
開発サイトでもこの箇所は保留になっています

とはいえソースコードを調べてみるなり、メッシュ化するなどの指針は定まったのでもう少し調べてみます。
進展がありましたらご報告します
投票数:10 平均点:0.00

通常 Re: Child Particle詳細

msg# 1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/8/4 9:42
完全無欠猫  長老 居住地: 兵庫  投稿数: 750
ソースコードを調べるなら

blender\source\blender\blenkernel\intern\particle_system.c
blender\source\blender\blenkernel\intern\pointcache.c

辺りになると思います。

pointcacheにパーティクルの座標が格納されています。

particle_system.cの下記関数で

/* Calculates the next state for all particles of the system
* In particles code most fra-ending are frames, time-ending are fra*timestep (seconds)
* 1. Emit particles
* 2. Check cache (if used) and return if frame is cached
* 3. Do dynamics
* 4. Save to cache */
static void system_step(ParticleSimulationData *sim, float cfra)

子パーティクルを分布させている所があると思います。
たぶん・・・これ
update_children(sim);

PART_FROM_CHILDという定義をサーチして調べるのも早道かも知れません・・・

参考になればいいのですが・・・
投票数:0 平均点:0.00

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki