アストラルプリズム

PC、スマホ、ゲームなどの備忘録と日記

2020-02-01から1ヶ月間の記事一覧

blender python UV頂点座標の取り方メモ

uvの頂点データの編集方法がよく分からないimport bpy,bmesh obj = context.active_object msh = obj.data bm = bmesh.from_edit_mesh(msh)uv_layer = bm.loops.layers.uv.active bm.faces[0].loops[0][uv_layer].uvという謎のコマンドでUVの頂点座標が取得…

Blender addon配布 平面に枠をつけるアドオン

平面に枠をつけるアドオンを作った(blender2.8対応) 枠の幅は2種類のが交互につく。 使い方 平面を選択してから3Dビュー→追加→メッシュ→枠 一個のオブジェクトに一個の平面があるもののみ使用可能。 枠の種類は額縁風、風車風、梯子風の3つ。 枠にはすべ…

Blender python アドオン使用時の数値入力欄の作り方(オペレータプロパティの使い方)

↓自作アドオンを使うときにこういうのを表示したい オペレータプロパティという名前だそうですね。 使う方法 ・チェックボックスなど使う入力欄の種類ごとにインポートが必要 ・下のアドオン基本構造の「ここからここまで」のところに使用する入力欄の設定を…

Visual Studio code python スクリプトを自動で見やすく書き直す

スクリプトを見やすく書くのって結構大変。 a+b=c にスペースを入れたりして a + b = c のように見やすく書き直してしてくれる機能があるみたい(整形という)。 こういうのみんな手動でやってるのかと思ってた、こんな便利なものあるなんて知らなかった(;´Д…

blender python 平面のへこみを調べる

平面のへこみを調べる方法 bm.faces[0].loops[0].is_convex 凹んでいるときにfalseになる loopにそって円になってるなら右に曲がってるのが凹みになっている 以下理屈だとこうなる import bpy , bmesh obj = bpy.context.object bpy.ops.object.mode_set(mod…

Blender python頂点間の距離を取得する5つの方法

頂点1と頂点3の距離を知りたい 方法は5つある。 ・公式から計算する ・calc_lengthで辺2の長さを取得する(ローカル座標のみ) ・.lengthを使う ・numpyを使う ・scipyを使う(blenderにPIP必要) 公式から計算する この場合はそんなに長くないし確実にやっ…

Blender python bmeshのデータ更新のタイミング

bmeshのデータ更新について調べてみた。 オブジェクトモードと編集モードでは更新タイミングが違うので要注意。長くなるので結論だけ先に書く ################################## オブジェクトモードで使う場合 命令文: bm = bmesh.new() bm.from_mesh(pla…

Blender python bmeshを重ねて使ったらBlender落ちた

オブジェクトモードのままbmeshをいじるのと編集モードでいじるのを同じbmという名前にしたら落ちた。 (どこで落ちるか調べるように作ったやつなので中身に意味はない) def内のbpy.ops系が動かなくなった件を調べようと作ったがops系が動かない現象再現せず…