3D」カテゴリーアーカイブ

Blender3.0 Pythonで3Dテキスト作成でエラー

症状:Mac Blender3.0、 Python3.0を使用してフォント指定して3Dテキスト作成でエラーが発生

去年(Ver2.91?)使ったときはエラーはなかった。おそらくOSのバージョンによりフォントが変わったか
Blender3.0になってBlenderPythonのコマンドが変わったのかも?

原因:

bpy.data.fonts[“HiraginoSans-W6”].nameが使えなくなったかも?詳しくは調べていない。
また、前回のエラーで中途半端なオブジェクトが作成されていたようだ。

エラー内容:

 

調査:

ヒラギノ角ゴシックは存在する。
なのでフォントの指定方法が異なっているかもしれない。
フォントにこだわりがあるわけでもない。
ロードはできているかもしれない。

該当の部分である以下の行
bpy.data.fonts[“HiraginoSans-W6”].name = “HiraginoSans-W6”
をコメントにして動作するかを確認する。
コメントしてエラーはなくなった。

(2)次のエラー

どうやら、テキストオブジェクト名が、「O:27965.94」になっていなくて、標準の「Text.001」みたいになってた。
たぶんオブジェクトNameが正しく更新されていないようだった。
オブジェクトリストのところの、「Text.001」とか「Text.002」とか「Text」を全部削除した。
これでどうなるか試す。
OK
前回のエラーで中途半端なオブジェクトが作成されていたようだ。

また、もし、以下のところでエラーがでたらコメントにしておく
bpy.data.fonts[“HiraginoSans-W6”].name = “HiraginoSans-W6”

今後の対応:

Blenderのバージョンアップがあった場合、
最新版とこのローソク足実行用のバージョンの両方を残すようにする。
つまり、バージョンアップで上書きをしない。(旧版を削除しない)
そして、最新版で動作が確認できたときに、旧版削除する。

MacのBlender3.0で、pythonのpandas_datareaderを実行したらNo module namedというエラーが発生

環境:MacOS、Blender3.0
Macにて、Pythonスクリプトを使用してBlender3.0からPythonスクリプトを実行すると
エラー内容:
ModuleNotFoundError: No module named ‘pandas_datareader’
Error: Python script failed, check the message in the system console

やったこと
ターミナルから
pip uninstall pandas_datareader
pip install pandas_datareader
pip3 install pandas_datareader

でもだめ

結論

以前使用したのはBlender2.91から、新しく3.0にした。そうなると当然Blender3.0のPythonに置き換わってしまう。
よって2.91のときにインストールしたpandas_datareaderは消去されているので、3.0用に
またインストールする必要がある。頻繁にBlenderのPython使わないから忘れている。

やったこと

自分でメモしてた
Mac版BlenderのPythonにPip、pandas_datareaderインストールしたメモ
https://pikucha.sakura.ne.jp/blog/2020/12/27/mac%E7%89%88blender%E3%81%AEpython%E3%81%ABpip%E3%80%81pandas_datareader%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9F%E3%83%A1%E3%83%A2/

MacOSのPythonとBlenderのPythonが存在する。つまりBlenderのPythonにpandas_datareaderを個別に
インストール必要がある。Pipもインストールする

以下はターミナルにて、Blenderディレクトリで実行した例である

(1)pipのインストール

ディレクトリのファイルを確認する
get-pip.pyがあるはず。なければBlenderのバージョンディレクトリ(2.9とか3.0とか)が違うか、グーグル先生に聞く。
>あった
(base) ToshironoiMac:bin toshiromaseda$ ls
get-pip.py python3.9

(2)次にget-pip.pyを実行

(3)pandas_datareaderをpipでインストール

/Applications/Blender.app/Contents/Resources/3.0/python/bin/pip install pandas_datareader

Blender2.9.3 損壊物理演算シミュレーション、物が壊れる

損壊(その物体のほぼ全体が壊れる)、破損(部分的に壊れる)をBlenderに搭載の物理演算衝突判定によりシミュレーションする設定を模索

厳密には、物体オブジェクトが衝突してから破片オブジェクトになるのではなく、
オブジェクトが損壊されたかのように事前に分割しておいてその状態から床に衝突して砕けるように見えるアニメーション。

使用するアドオンは、標準搭載だがPreferencesのアドオンで追加する必要がある。
Cellで検索して、Cell fractureをチェックする。

・使い方

(1)立方体(他の形状でもOK)rigidbody:activeと板(rigidbody:passive,静止)を作る
立方体はこのときに高めの位置に移動させておくと作業がしやすい
大きさはシミュレーションになれるまで大きさ1m程度にしておく。

(2)Boxを選択して、F3キー(検索Windowを表示)を押してCell fractureを検索して実行するか、ObjectメニューからQuick Effects reference のCell fractureを選択するとサブウィンドウが表示される。(Preferencesのアドオンで登録が必要)
破片オブジェクトを作成するための設定をする。
以下の内容で入力する。細かい部分はわからない。

画像

各種設定を入力する。設定は保存ができるので次回使用するときはその設定を選べる。以下の設定で106個の破片オブジェクトが作成される。選択したオブジェクトの形状により分割数は異なってくる。

重要なのは以下の設定を入れないと物体オブジェクトが損壊したように見えない。
Noize:1
Rando(不揃い)0.8〜1くらい

Mesh Dataの「Margin」は0.001になっていて、0.01くらいにすると破片の隙間ができるので便利かもしれない。

他にも数値を上げるほど破片オブジェクトが増える。あまり上げすぎないようにする。
またキャンセルがないので不用意にOK実行させない。作成されるオブジェクトが再帰的に増えるのでPCのファンが唸ってしまう。中止ボタンがないので終わるまで放置することになる。

(3)破片オブジェクトができたら、もとの立方体を隠し、分割された形状のサイズを少し小さくして隙間を作り、個別のオブジェクトが衝突しやすくする。

もとのBoxCubeは不用

Individual Originsを選択して >>追記、特に縮小する必要はなかった。そのままの破片形状で問題なかったのでこの処理は不要

Sキーを押して縮小する>>追記、特に縮小する必要はなかった。そのままの破片形状で問題なかったのでこの処理は不要

(4)ワイヤーフレーム状態から、立方体全体を選択して、どの破片オブジェクトでもよいのでShift+右クリック(左クリックのときもある)して1つ選択状態+全部選択状態にする。後で1つの設定を他オブジェクトに一括して設定コピーすることができる。(Object > rigidobody>copy from active)

 

Rigidbodyの設定 SurfaceResponseのFrictionを0.6〜0.8くらい

他にも以下を設定する
立方体
Rigidbody active
隣接する部分が近い場合は、
ここのMargin数値を小さくする。小さくしないと爆発するみたいにオブジェクト同士が干渉して弾き飛ぶ。0.001mを指定している。

 

減税の設定を他の破片へ一括コピーする copy from Active

 


Rigidbody passive

・シミュレーション確認

スペースキーを押してシミュレーションを開始。RigidBodyの場合、キーフレームを作成しなくても物理演算機能が働いて落下する。ただ、強制的な動きや力を加えたい場合は、SettingsのAnimatedにチェックしてキーフレームを設定することができる。またAnimatedはキーフレームに対応できるので、解除したいフレームでオフにできる。この機能により、途中のフレーム(位置)まであるオブジェクトを移動させて解除したいフレームでオフにすることでその後は物理演算機能が働いてアニメーションが作成される。例、ボールを水平方向に向けて投げて、レンガにぶつけるシーン

動きが激しすぎるときは、
シーンプロパティのRigidBodyWorldのSettingsのsubsteps per frame,  Solver iterations数値を上げると動きの変化がすくなくなる。ただし、処理が遅い。
オブジェクトの破片の動きが気になるときは、再度破片オブジェクトの作成からやり直す

 

・損壊の動きが正しくないとき

破片オブジェクトの間隔が狭いとき、板に接近する前に損壊してしまう。>数値を小さくする。
板をすり抜けてしまう。>板のRigidbody passive設定がない
シミュレーションが途中で終わる>フレームが足りないので増やす。200〜400Frame
動きが軽すぎる>重力や重さを増やす

・設定による損壊の変化

ここらへんは色々と数値を変えて試すしかない。

分割数を少なくしたい場合はRecursion,Souce Limitを0にすると分割数が少なくなる。簡易的に見せたい場合に都合がよい。 6個できる(最初の設定では106個できるので約10分の1)

Blender2.9.3、流体水の設定水がパイプから流れる

Blenderの使い方一覧

流体物理演算設定の例

水がパイプから流れる構成

球体、円柱パイプ(なんでもよい)、板(容器なんでもよい)レンダリングエンジンは、Cyclesが良いと思う。Eveeeでのレンダリングも水のシェーダーを変更することで水に見えるけどなんかプラスチックに見えるからCyclesが良さげ。MacEveeeでは透過ができないかも

ドメイン(流体演算領域)は、球体(水源)を選択して、メニューからQuickFluidを選択するとBOXが表示される。このBOXで流体の演算処理が行われる。なので実質的な水の受け皿容器は必要ないが、受け皿がないと不自然になる。

手順

  1. オブジェクトを作成する。球体(水源)、円柱パイプ(なんでもよい。水がでてくる源を支えるもの)、板(容器なんでもよい)
  2. 次に、球体を選択してQuickLiquidを実行する。これでドメインが作成される。
  3. 設定
  4. Bake
  5. テクスチャノード設定
  6. ライト、カメラ設定

 

後Meshにもチェックを入れたはず?

パイプは衝突判定

surface Thicknessに0.1-0.5くらいの数値を入れる

板に衝突判定、surface Thickness 0.1-0.5を入力する。

球体、水源

FlowType:Liquid

FlowBehaivior: Inflow(水が出る)

Initial Velocityについては通常はSouceでOK。軸方向に対して水が発生する方向を決めて圧力を上げたいときに設定する。今回はパイプの向きがY軸なのでY軸方向に水が強く出ていくようにした。

その後Bake(計算処理)をする。流体の計算には時間がかかる。Bakeした計算結果を使ってアニメーションをさせる。

レンダリングはCyclesだと思う。Win版Eveeeでの設定でも可能だけど、水がプラスチックか塗料に見えるからおすすめしないかも

Eveeeでの水のノード MacBlender2.9.3では透過がうまくできない

シェーダー画面でOptionタブからAlpha Brendを選ぶ

 

Blender2.9.3、不具合?MacOS版のEveeeではガラス透過できない?できた

環境:MacOS、Monterey、Blender2.9.3  記載2021/10/31

ビデオカード、Radeon Pro555X 2G

EveeeにてガラスGlass設定にするが、透過していない。 追記、透過した

透過しなかった原因はIORだった

IORが0だった場合、透過しない。1だと素通りなので、2から4くらいで設定するとよい
一番左の球体がガラス設定。MacでEveeeエンジンでレンダリングした。

必要な設定はしたつもり

レンダープロパティとGlassNodeの2つのScreenSpaceReflactionはオンでチェック、レンダープロパティのRefractionもオンにしてる。> 追記、設定は正しい。

Windows版Blender2.9.3ではガラス設定できて透過してた。>追記、Mac版も透過

考えられるのは、Mac版ノード設定が不十分。またはビデオカードが対応していない?それともMac版Blender2.9.3の不具合かも?

実際に環境によって透過できないとなると、MacでEveeeでのレンダリングはできないかもしれない。MacはCyclesになってしまいそう。Cyclesでは、Glass設定して透過してた。

次のバージョンで改善しているかもしれないので、Eveeeで詰まったらWindows側でレンダリングするか、しばらくはCyclesを使ったほうがよいかもしれない。Cyclesはちょっとレンダリングの時間がかかるのでちょっと面倒。

要するにMac版Blender2.9.3のEveeeでレンダリングするときは、ガラス、水、池、海のGlassノードは使えないから、きれいな透過した水のイメージはやめて、アニメ調のプラスチックみたいな水っぽい雰囲気表現する方向で我慢するしかない。

>追記

後で再度設定を見直したら、GlassNodeのScreenSpaceReflactionを確認したら、オフになっていて、オンにしたら、MacのEveeeでもガラス設定ができた。原因はIORが0だったので透過しなかった。たぶん色々と設定していてデフォルトの設定値からかなり外れた値になっていたようだ

その後、Mac版Blender2.93でも透過できた。設定したはずなのに(キャプチャ)再度ファイルを開いたらオフになってた。オン(チェックを入れる)にしたら透過できた。


もう一度作り直してみたら問題なかった。IORが1.45になってるから問題なく透過できる。IORが0だと透過しない。設定を色々変えてわからないときは、IORを疑ってみる

Blender2.9.3、Eveeeでのレンダリングテスト1

Eveeeでのレンダリングテスト1 Blender 一覧

環境Windows10、Blender2.9.3

WindowsPCのほうがiMacよりCPUが高速なのでWindowsでレンダリングしたけど、Mac版Blender2.9.3とWindows版で色合いが微妙に違っている気がする。モデリングやアニメーションをMacで作業してレンダリングをWindowsで行う場合は色合わせをしておいたほうが良さそう。

ライトはSunとAreaライトを設定。薄い色に見える球体とBoxはガラス設定にしてある。反射や透過は十分である。これでレンダリングは1秒程度。

>追記、Mac版Blender2.9.3のEveeeではガラス設定が適用されないみたいだ(環境が異なるとできるかもしれないが現時点、2021/10/31でうまくできない。Windowsではうまくいくのに)

Blender2.9.3、渦巻、螺旋、球体螺旋カーブメモ

Blenderメニュ

オブジェクト作成で渦巻状のケーブル形状、蚊取り線香形状とか幾何学模様のような線状オブジェクトを作るときに便利かも>追記、もしメニューに螺旋のカーブが表示されていないときは、アドオンの追加が必要。EditからPreferencesを選択して、Addonを選び、curve ToolsとExtra Objectsにチェックを入れる(もしかするとどっちかだけでもいいのかもしれないがそこまで確認していない)

メニューと形状をメモ、標準で搭載されているはず。メニュー選択時はサイズが大きかったりポイント数が多かったりしてごちゃごちゃしてなんの形状かわかりにくときがあったので、数値を少なくしたり高さをプラス・マイナス調整するとわかりやすい。

ドーナツ状にらせんしている形状。海洋生物の深海生物とか、サンゴとか作れそう

球体にそって螺旋する形状

竜巻とかうずまきを作るとき(作ることはないが)便利

貝殻とか螺旋階段を作るときに便利、蚊取り線香とか生きた化石のオウムガイの貝殻をつくれそう

Blender2.93 ライト設定メモeveee

レンダリング環境:eveee

Blenderのレンダリングエンジンは複数ある。

以前はレイトレーシング法のCyclesが主流だった。このcyclesは、高速でリアリスティックなレンダリングが可能だがリアルを求めるとレンダリングに時間がかかる。実写の画質を求めるときに使用する。

次に高速なレンダリングエンジンとしてラスタライズ法のeveeeが搭載された。cyclesより多少リアルさは劣るが、簡易レンダリングや、アニメーションレベルなら十分利用できる。

設定次第ではCyclesのようなレンダリングがより短時間で出力できる点が魅力

レイ トレーシングとラスタライズの違い

https://blogs.nvidia.co.jp/2018/03/26/whats-difference-between-ray-tracing-rasterization/

室内用、周りが暗い設定のシーンで使用

①ポイントライト:300w ポイントライトで全体を照らす。1,2個程度

①ー③エリアライト:30wから100w 明るくしたいときに、複数のエリアライト使用する。ライトのサイズのスケールが大きくなると暗くなるのでスケールを大きくした場合はワット数を大きくする。

②スポットライト:500w エリアライトのW数が小さい割にスポットライトのW数は大きい。普段使うことはないが、注目を集めたいシチュエーションで使用

レンダリング

配置例

Blender2.9.3、animation_nodesインストールでエラーが出たときは全部消す

Blenderメニュ

・症状

animation_nodesを
Preferencesでインストールしたらエラーがでて使えない。
「(略)
There are multiple versions of the Animation Nodes addon installed.
Please uninstall/remove all older versions of the addon.
(略)」

複数のバージョンのアニメーションノードがインストールされているから
アニメーションノードの古いバージョン全てをアンインストールするか移動させなさい。

・対応

環境:Mac Blender2.9.3

Preferencesで
一旦animation_nodesを全部消す。
ターミナルから、Blenderのバージョンのアドオンディレクトリへ移動して(以下のユーザ名とバージョンを環境に合わせて変更する)

とかでディレクトリの一覧を見る

BlenderのPreferenceで消せていないanimation_nodesに近い名称のディレクトリがあれば一旦消す

でディレクトリごと削除できる。

自分の場合は
animation_nodes-masterというディレクトリが残っていた。

消してから再度animation_nodesをZIPの状態でインストールしたら成功した。

以下は正常にインストールが成功した状態

 

Blender2.9.3、芝草の生やし方メモパーティクルシステム

芝草の生やし方メモ Blenderメニュ

参考

【blender2.9】草の作り方|3分でカンタンモデリング

板ポリゴンオブジェクトを作成して、パーティクルシステムでHairを選択する。Regrow,Adbancedの設定をONにする。

Number:草の数が増える

Hair Length:高さ

PhysicsでBrownian:ランダムに芝が生える比率。面積に応じて数値を上げる。上げすぎるとすごく乱れる

 

ShowEmitterのチェックを外すと、表示されなくなる

色を緑にすればそれらしく見える