アップルパイ技術メモ

活動してて貯まったノウハウを吐き出す場所。

blender 2.83 パーティクル個人的メモやTIPS

実際のレンダーとパーティクルの感じが違う

実際のパーティクル(ベイク)とレンダリング時でなんか出力が違う、という事がある。

よくわからないけれどキャッシュ関係で前のデータが残っている感じがする。3Dビューポートの表示をオンオフするとこれがリセットされる(気がする)。

f:id:fruits_pie:20200829003343p:plain

実際一気に表示が変わるので、多分あってる。

なにかのアイデアになるかもしれない映像ストック

何かのヒントになるかもしれないし、ならないかもしれないストック

lain on Twitter: "ありったけのフレアをばら撒いて花火みたいになっているイリューシン76(Il-76:Ил-76)輸送機 ロシア空軍108周年のイベントらしい… "

blender 2.83物理挙動ボーンアドオン Wiggle Boneメモ

最終的に採用することになったウィグルボーンについて、メモを書いていこうと思う。

パラメータ

f:id:fruits_pie:20200819072556p:plain

stiffness:堅さ。1に近いほど元の形に戻ろうとする Dampening:減衰(多分)。高いほど反応が早い。低いほど親から遅れるみたいなイメージがあった。 Amplitude Rotation:振幅ローテーション。振幅する時する特に許可される幅 Amplitude Translation:振幅トランスレーション。振幅する時に許可される距離的な物 Stretching:伸び Gravity:重力の強さ

多分大体こんな感じ。感じを見ながらタメしていくと良い感じ。基本的に動きが決まったらベイクする。

アーマチュアwiggle boneチェック

チェックしたままだとレンダリング時にアニメーションが再生されない事があるらしい。

blender 2.83 ボーンから自動ウェイト付け

わりと今までボーンからの自動ウェイト付けをしてこなかった。使ってみると便利だった。これはいいものだ。

f:id:fruits_pie:20200815094311p:plain

ポーズモードでボーンとオブジェクトを同時に選択出来るようにオブジェクトモードのロックのチェックを外しておく(普段はポーズモードが外れる原因になるのでロックしておいたほうが良いと思う)。

f:id:fruits_pie:20200815094621p:plain

ボーンを複数選択する。

f:id:fruits_pie:20200815100121p:plain

そのままウェイト付けしたいオブジェクトを選択する。

f:id:fruits_pie:20200815100151p:plain

ウェイトモードに移行する。

f:id:fruits_pie:20200815100240p:plain

ウェイトメニューから自動かエンペロープで好みのウェイト割り当てを選択する。

google chrome extension開発 ストレージを無制限化する

表題通り。いつの間にか俺俺開発のyoutubeタイムテーブル式メモ帳の保存が利かなくなっていた。

なんじゃ? と思ってコンソールを開くと「Unchecked runtime.lastError: QUOTA_BYTES quota exceeded」というエラーが発生していた。軽く調べるとストレージの容量制限に引っかかっていたらしい。

データ保存に何も考えず全てのデバイスで同期するよう、同期保存を使っていたがこれがよろしくなかった。hmmn。軽く調べると、従来だとデータベースなどに保存するのが普通だったみたいだが、最近この制限が外れたらしい。

ChromeのStorageモジュールで大規模データを扱う | monolithic kernel

参考。

なのでさくっと改造する。syncをlocalにするだけ。簡単。

  "permissions": [
    "https://www.youtube.com/*",
    "storage",
    "unlimitedStorage"
  ],

permissionsに「unlimitedStorage」を追加。

set

    let item = {[uri]: $("#sukoArea").val()};
    //chrome.storage.sync.set(item);
    chrome.storage.local.set(item);

syncから置き換え。

get

    // chrome.storage.sync.get([uri], function (items) {
    chrome.storage.local.get([uri], function (items) {
   //hogehoge
    });

同じく置き換え。

blender 2.83~2.91 リグのリンクは今のところプロキシが無難。だがオーバーライドが色々と便利。

表題通り。ブレンダーでキャラクターを作りリグを組み、それでアニメーションを組むとなると、キャラクターが入ったブレンドファイルと、実際にアニメーションさせるブレンドファイルは分けて管理するのが色々考えて安全だ。ミス操作でどうしようもなくなったという事故を防げる。

で、そうするためには、他のブレンドファイルからキャラクターが入ったブレンドファイルを読み込むっていうことをする。手法は2つあって、リンクとアペンド。

アペンド

アペンドはシンプルに読み込んで元ファイルと同じように扱う。元ファイルのコピーを作るので、基本的には何も気にする必要は無い。欠点は、元ファイルからのコピーなので、元ファイルで変更や修正があっても反映されない。キャラクターのように今後もどんどん使っていき都度改良されていくようなファイルには不向き。逆に装飾品や物など、読み込み先で修正や変更して使う事を前提とした物ならアペンドが向いてる。

リンク

本題。リンクは元ファイルから読み込んだオブジェクトを元ファイルとの関係性を保ったまま扱う。当然元ファイルで修正があっても反映される。素敵。

ただ、このままだとただのオブジェクトなので、リグなども触れなくて不便。そこで「プロキシ」または「オーバーライド」を行う。

プロキシ

従来のリンクを扱う方法。

リンク>コレクション>「アーマチュアやオブジェクトがひとまとめにされたコレクション」を選択して読み込む。

f:id:fruits_pie:20200814115121p:plain

アーマチュアやそれに付随するオブジェクトが全て1つのコレクションに収まっているのが好ましい。ライトやカメラなどは入らないようにする。

キャラクターを選択し、「オブジェクト>関係>プロキシの作成」を選択する。すると一覧が出てくるので、リグを選択する。Auto rig proを使用している場合、hogehoge_rigという名前になっている。

f:id:fruits_pie:20200814115407p:plain

これでプロキシが作成できる。

f:id:fruits_pie:20200814115506p:plain

アウトラインにアーマチュアが追加されて幽霊のようなアイコンがついているのがわかる。これを選択した状態でポーズモードに入ると動かすことができる。

デメリットはいくつかあって、個別オブジェクトのオンオフができない、メッシュを設定したボーンの表示がなんかおかしい、モディファイアを適用できない、マテリアルを変更できない、といった問題がある。

オーバーライド

上記のプロキシに変わるべく現在開発されているのがオーバーライドだ。モディファイアを追加することができるし、それぞれのオブジェクトを個別に触ることもできる。ローカル化するとアペンドと同じように扱うことができ、マテリアルなどの設定もできるようになる。

ただ、まだ開発中なので、現行の2.83ではまだバグが多い。目立つところだと、一度ローカル化すると元に戻せない、ドライバーがサポートされていない(のでボーンとシェイプキーをドライバーで繋いでているとローカル化しないといけないし、その後それぞれのドライバーを設定し直す必要がある)。

2.91を触るとここらへんの不具合はある程度改善される。ドライバーは簡単な物なら問題無く動き、オーバーライドのリセットがあるが、アーマチュアから外されて孤立する。まだまだ完全とはいわないようだ。ただ、それでもメリットは多分にあるので、アニメーションは開発バージョンのblenderで行うというのは十分に選択肢に入ってくると思う。

やり方は簡単で、先ほどと同じ方法でリンクして呼び出したオブジェクトに、「オブジェクト>関係>ライブラリオーバーライドを作成」でオーバーライドを作成することができる。

f:id:fruits_pie:20200814121043p:plain

アウトラインに複数のオブジェクトが連なっているのがわかる。それぞれのオブジェクトにモディファイアを追加したり、変更することができる。

f:id:fruits_pie:20200814121148p:plain

それぞれの変更は差分としてブレンドファイルに保存され、元ファイルを汚染することもない。

f:id:fruits_pie:20200814121317p:plain

プロパティパネルにある鎖のアイコンをクリックするとローカル化できる。そうするとアペンドと同じような扱いになり、マテリアルを変更したり、ある程度弄ることができる。

ただ、そうした場合ローカル化しているので、元ファイルの修正が適応されない(されるかもしれないが、少なくともシェイプキーは適応されなかった)。元のリンク状態に戻すには、アウトラインで右クリック>ID data>ライブラリオーバーライドをリセットだが、不安定。

f:id:fruits_pie:20200814121747p:plain

また、ポーズモードでCtrl+Zで戻るとぶっ壊れる。今のところ再現度100%。ブレンダーファイルを開き直すか、アウトライナーblenderファイルにして該当ファイルを右クリックして再度読み込みすると直る。

今のところ不安定だが、前述したようにメリットも多いので個人的には積極的に使っていきたい。