投稿

ラベル(クロース)が付いた投稿を表示しています

BlenderPythonスクリプト、柔らか物体クロースオブジェクト、マテリアル追加、Collisionは重い

イメージ
 柔らか物体クロースオブジェクト記録 ファイル:fall_Cloth_Otoshi_colorMaterial_003.py BlenderPythonスクリプトでは、複数の色マテリアルを新規作成(属性はなし)、オブジェクトに付与した。以前作ったスクリプトは、マテリアルを新規作成してそのまま新規オブジェクトに付与するスクリプトだった。今回は、先にマテリアルを新規作成して後で、オブジェクトに付与するもの。単にappendすればよいだけだった。 なお、クロースは初期設定で250フレームまでしか計算してくれない。これはクロースのCashキャッシュのところに、End終了フレーム指定があるのでここを変更することで250フレームを超えて計算してくれる。 今回15個ほどクロースオブジェクトを上方から落下させて物理演算の計算をさせたらかなり時間がかかった。 Collisionが原因で、15個に個別にCollision衝突判定を加えているから処理が重い、遅い。Collisionがないときはサクッと終わる。当然の計算処理だろう。 1フレーム再生するのに、1秒から5秒もかかった(通常は滑らかに秒24フレーム再生されるのに、数フレームから0.2フレームという処理の遅さ)。なので、個数は少なめにして実験したほうが良さそう。CPUがCorei7だからかもしれん。一度計算させたらキャッシュに残るからあとは速い 画像、映像 BlenderPythonスクリプト、複数の色マテリアルを新規作成(属性はなし) import os import bpy import math import copy import time import inspect#関数名を出力するためだけのもの #2024/10/21 #print文はBlenderのメニューバーの Window > Toggle System Consoleを実行するとDOS窓が表示される #15個にクロースとCollisionを与えたので非常にアニメーションキャッシュ作成に時間がかかった。15個にCollisionを与えないと #サクッと終わるので、Collisionが処理を重くしてる。 #Cloth物体を落として パチンコ台みたいに落ちる様子を観察する #落下物は高さを調整して落とす #\ / みたいな板を配置し...

柔らか物体クロースオブジェクト比較パラメータ調査(途中経過)BlenderPythonスクリプト

イメージ
クロースClothオブジェクト比較 柔らかい物体になるパラメータはどれかを調査(途中経過) ファイル:clothButsuriEnzan_TYPE_B物体をぶつける_021.py 動画 Blender4.2、Pythonを使用 クロースやソフトボディなどの物理演算はパラメータが多いしどれくらいの値を入力すればどれくらいの柔らかいオブジェクトが生成できるかわからない。ある程度数値化することで、作業の手間を省く、Pythonスクリプトを使って自動化でクロースオブジェクトの比較調査をする。 クロースの他に柔らか物体を表現するソフトボディがあるがあまりパラメータがない。また使い道がボールとかプリンくらいしかない。 実験は、ボール(クロースモディファイア)を床(板プレーン)に落とす形式。 (途中経過なのでわかりにくかったり何がなんだかわからないかもしれん。色々と試すが明確な値を決められない。 知りたいのはこの値を入れると柔らかいとか反発するとか粘りがあるとかなど 。もう少し時間をかければよいが時間がかかるとやる気が無くなって放置してしまうおそれがある。このままだとアップを忘れるので途中経過だが、記載しておく) 結果表、ここに記載予定 忘れないうちにわかったことを記載しておく。色々と試すが期待できるような効果を説明できる数値が見つけられない。微妙な数値をチクチクといじって確認する感じで面倒。まさにこれが無料のアプリの悪いところ。動かさないと結果がわからない。パラメータ同士の連携ができていないので、本当はある数値のしきい値を高くしないと効果が現れないのにそのエラーと警告が表示されないので、ユーザーはどのパラメータの数値をいじればよいのかわからない。(無料なんだから文句を言うなby開発者、たぶん) 結果表はできればスプレッドシートできれいにしたいがアクセス数がない割にやることが面倒なのでコードをキャプして貼るだけにするけど見てくれた人には申し訳ない。時間を見つけてきれいな表にする。 英語の意味:Tension引張力 compression 圧縮,押し縮める押しつぶす小さくする   pressure圧力 Stiff硬さ、曲がりにくい 配列にして左から  1tension    2compression   3pr...

揺れプルプル、Blenderでクロース物理演算テスト

イメージ
 揺れるポリゴン実験中。クロース物理演算で重力で弾むぷるぷるポリゴンオブジェクトを実験中。男子が喜ぶような画像はまだありません。Blenderを使用。 これを使用すれば、いつか胸が揺れるアニメーションができるかもしれん。 ・参考にしたユーチューブ Breast Collision and Jiggle Physics in Blender through Cage Deforms - Kris Stone >上記タイトル名をユーチューブで検索(裸オブジェクトがあるので直リンクはやめた。グーグルの外部リンク規制が厳しいので、何でもかんでもリンクを入れると通報されてランクを下げられたり、上位検索位置から除外されることもあるある。しかも審査を請求してもなかなか再審査させてもらえず面倒なことになる) 単に胸ポリゴンに物理演算を与えるのではなくて、別オブジェクトを作り、この別オブジェクトに対して物理演算を設定して、胸ポリゴンが同期して柔らかなシミュレーションができるようにしてる。  理由はよくわかっていないが、物理演算が対象のオブジェクト全体に影響を与えるので、人体の一部だけに設定をできないのかもしれない。なので別オブジェクトを作成することでこの別オブジェクト全体に物理演算結果を、人体胸部分である一部の頂点トレースさせて揺れの動きを再生させていると解釈した。(この解釈は間違ってるかもしれんけど) ただ、例のごとくBlenderは設定が面倒で忘れる。 以下にその設定を記載した。 構成は次の2つのオブジェクトの設定 1.ダミーオブジェクト:Modifiers(スパナアイコン):VertexGroup:Pin、クロースCloth演算、datatransfer 2.胸オブジェクト:Modifiers(スパナアイコン):Surface Deform(Vertex Group:Purupuru) <手順> ダミーオブジェクト作成は、キューブを追加してその後、胸オブジェクト用に複製する。 ダミーオブジェクトのときに、1面を平面のままにするにはEditモードで面を選択して、右側のItemタブのTransform>Edges DataのMeanCreaseを1.0に増やす。するとその面が曲面にならずに、平面状態になる。 サブディビジョンを追加して確定する。複製して胸ポリゴンとする。 ダ...