アストラルプリズム

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

2019-01-01から1年間の記事一覧

Blender python 平面に垂直かつ外向きにオブジェクトを置く

毎度毎度座標系のスクリプトを作ろうとして、ド忘れしてひどい目に合うので、分からないなりに考え方と手順を書く。 それぞれの辺の中心に面に垂直かつ面の外側に向かってモンキーを置きたい 図にするとこんな感じ。 手順 1、面の垂直方向を調べる 2、辺の外…

Blender python mesh・bmeshで取得した値がおかしい

毎回ドはまりして死ぬのでしっかりメモをとっていきたい。 原因 ・コマンドが違う(一度消したデータが残ってる) ・トランスフォームされてる ・matrix_worldを掛ける順番が違う ・ベクトルの掛け算の記号がBlender2.8から@に変わった コマンドが違う mesh…

Blender python用にVisualStudioCodeを使う(注意点)

Blenderのテキストエディタは日本語入力ができないので(外部からコピペは可能)スクリプト作ってて頭おかしくなりそうなのでいい加減何とかしたい 2019.12.22に書いてるので変わるかも。 とりあえずメモ帳でもなんでもいい~ blender側で実は簡単な方法が用…

python メモ

忘れそうなアレコレ 配列で偶数個目の時だけ実行 num=[0,1,2,3,4,5] a=[] for v in num[0::2]: a.append(v) aの中身は[0,2,4]になる 配列を交互に実行 二つの配列をまとめてループさせる ただし少ない方の配列が無くなれば終わり verts=[1,5,8] time=[5,7,3]…

Blender python bmeshとindexについて

毎回忘れるの何とかしたいorz index番号は頂点や辺につく固有の名前?みたいな感じ。 aaa=bpy.context.object bpy.ops.object.mode_set(mode='EDIT') bm = bmesh.from_edit_mesh(aaa.data) した後のbmeshとindexの関係(例:下図) bm.faces[0].edges[0]のin…

Blender python メモ

忘れるのでどんどん追加していく予定 エディットモードで現在アクティブなものを取得(bmesh使用) >>> bm.select_history.active<BMEdge(0x0000019A368F74A0), index=2, verts=(0x0000019A22750120/2, 0x0000019A22750158/3)> bmeshのedgesの選択される順はindexの逆の数になってるっぽい? BMEdgeとindexが2になってることからアクティブなのは bm.fac</bmedge(0x0000019a368f74a0),>…

このブログについて

サイト名はアストラルプリズム。 中の人のblenderやpython、PCやスマホなどデジタル関係の備忘録です。 自分のペースで趣味を続けたくブログを書いています。 中の人 勝己と申します。 勝己と書いてかつみと読みます。 blenderやったりpythonやったり。 何か…

Blender  テクスチャの位置をランダムにする

一枚のテクスチャをそれぞれランダムな位置に貼りたい。 木やブロックや石をたくさん作るときに便利。 やり方 普通にテクスチャを貼るノードを作った後にマッピングの位置にオブジェクト情報とベクトル演算(乗算)を繋ぐ。 そうするとランダムな位置にテク…

Blender  bmeshを使った時に出る「run ensure_lookup_table() first」の解決方法

bmesh使って頂点の座標を取得しようとした ############################ a = bpy.context.object bpy.ops.object.mode_set(mode='EDIT') bm = bmesh.from_edit_mesh(a.data) v=bm.edges[0] hxyz=(v.verts[0].co+v].verts[1].co)/2 ########################…

Blender2.8系 pythonで3dビューのプロパティ・シェルフを操作する

Blender2.8系でツールシェルフの操作がいくつか簡単になった様子。 2.7系用は以下のリンクへ katsumi3.hatenablog.com 2.8系では3Dビューのプロパティシェルフ(Nキー)や上のところにある情報ウィンドウに出てくる命令文をそのまま使えばいい所が増えたっ…

Blender アドオンを2.7系から2.8系に治す方法

方法1 怪しい命令文を「bpy.context.scene.objects.active 2.8 bpy」などで検索する。 メジャーな命令文なら先人がすでに引っかかって海外サイトのQ&Aに書き込んでたりする。ありがたく読ませてもらう。 方法2 blender公式のBlender Change Logを検索する do…

Blender2.7系 pythonで3dビューのプロパティ・シェルフを操作する

3dビューのプロパティシェルフ(Nキーを押すと右にでてくるやつ)の中身を操作するのがちょっと面倒なのでメモ。 画面は残念ながらBlender2.79なのだけど、まあ2.8も特に変わってないと思いたい。 結構変わってましたorz 2.8系用の説明はこっち。 katsumi3…

辺の選択順序を辺に沿って順番にする方法

辺の選択順(index)を辺に沿って順にしたいが「要素をソート」で出来ない場合。 頑張ればbmeshで並び替えれなくもなさそうな気もするけど面倒。 解決するには メッシュからカーブに変換して、またカーブからメッシュに変換し直すと辺に沿ってループ状に選択順…

bpyでのメッシュデータの取り方

毎回忘れるエディットモードからのデータ取得方法 bmeshを使用し基本的に面のデータに辺のデータが含まれ、さらに辺のデータに頂点のデータが含まれるという構造になっている。 手順 import bmeshする #オブジェクトモードで選択中の物体のデータを取得 a= b…

引っ越してみました。

はてなブログに引っ越してみた。 ここ2年ほどメンタルの不調で休んでいたblenderを再開した。 久々に作ったモデルがタタミってどうなんだ、blenderが2.8になってさっぱりわかんないよ。 久々に検索するとyoutuberさん(?)たちが日本語のblender講座動画め…