マガジンのカバー画像

Blender Python

13
Pythonを使ってBlenderを操作する方法を紹介していきます。
運営しているクリエイター

記事一覧

【Blender Python】オブジェクトを動かしてアニメーションを作る①

【Blender Python】オブジェクトを動かしてアニメーションを作る①

Blender ではアニメーションを作ることもできます。

Python で制御することにより、手作業では面倒な設定も自動化することができます。

今回は簡単なサンプルを作ってみました。

Blender のバージョンは 2.93 LTS です。

1. コードimport numpy as npimport bpy# 既存要素削除for item in bpy.data.meshes: bp

もっとみる
【Blender Python】ガンマ関数を描く

【Blender Python】ガンマ関数を描く

ガンマ関数とは、階乗の概念を複素数全体に拡張した関数です。

Python には math ライブラリに gamma 関数がありますが、実数の正の値しか引数に取ることができません。

前回 Blender 内蔵の Python にインストールした SciPy ライブラリには複素数全体を引数に取れる gamma 関数があり、計算結果も複素数になります。
今回はこれを使ってガンマ関数を描画したいと思い

もっとみる
【Blender Python】機械学習系のライブラリをインストールする

【Blender Python】機械学習系のライブラリをインストールする

Blender 内蔵の Python にはデフォルトで Numpy ライブラリがインストールされていますが、機械学習によく使われる SciPy、pandas、scikit-learn などのライブラリは残念ながらインストールされていません。

Blender 内でも科学技術計算や機械学習を行ってその結果を扱いたいですよね。

ということで今回は Blender 内蔵の Python には無いライブ

もっとみる
【Blender Python】数式で表現される曲面を描く①

【Blender Python】数式で表現される曲面を描く①

今回は Blender を使って数式で表現される曲面を描いてみようと思います。

xy 平面をマス目に区切り、各区間の面の四隅の xy 座標に対して z 座標を設定し、そうやってできた4つの xyz 座標で平面を張っていきます。

その平面を繋げていけば様々な曲面が描けるだろうと考えました。

Blender のバージョンは 2.93 LTS です。

1. 平面を繋げたオブジェクトを作るまずは簡

もっとみる
【Blender Python】平面でオブジェクトを分割する

【Blender Python】平面でオブジェクトを分割する

前回の記事で、平面でオブジェクトを切断する方法を紹介しました。

これだと切断後の片側だけしか残らないので、今回は平面でオブジェクトを分割する方法を紹介しようと思います。

Blenderのバージョンは2.93 LTSです。

1. コードimport numpy as npimport bpy# 既存のメッシュオブジェクトを削除for msh in bpy.data.meshes: bpy.

もっとみる
【Blender Python】平面でオブジェクトを切断する

【Blender Python】平面でオブジェクトを切断する

平面でオブジェクトを切断する方法を紹介します。
流石にこれだけでは芸がないので、必要なオブジェクトだけ切断する例を作ってみました。

Blenderのバージョンは2.93 LTSです。

1. コードimport bpy# 既存のメッシュオブジェクトを削除for msh in bpy.data.meshes: bpy.data.meshes.remove(msh)# 3つの立方体を配置bpy.

もっとみる
【Blender Python】平面を配置する

【Blender Python】平面を配置する

今回は平面(Plane)を配置するコードを紹介します。

正直この程度の内容であれば記事にするまでもないのですが、大きさを変える部分でちょっと詰まったので書いておきます。

Blenderのバージョンは2.93.0 LTSです。

1. 基本的なコードimport numpy as npimport bpy# 既存のメッシュオブジェクトを削除for msh in bpy.data.meshes:

もっとみる
【Blender Python】数式で表現される曲線を描く

【Blender Python】数式で表現される曲線を描く

今回は数式で表現される曲線を描いてみようと思います。

描きたい曲線を微小な区間に区切って、それぞれの区間にオブジェクトを配置していけば思い通りの曲線が描けるだろうと考えました。

2つの (x, y, z) 座標を与えたときにそれらを始点と終点とするようなオブジェクトを配置するやり方が分からなかったので関数 draw_line を作りました。

Blenderのバージョンは2.93 LTSです。

もっとみる
【Blender Python】交差する円柱の共通部分の図形を描く

【Blender Python】交差する円柱の共通部分の図形を描く

底面の半径が r の円柱を直角に交差させたときの共通部分の体積を求めよ。

高校数学の積分でおなじみの問題ですね。

解けるかどうかはともかく、この図形がどんな形をしているのかなかなかイメージができず苦労した記憶があります。
(「球体になるんじゃないの…?」などと思っていました。)

数学の先生が一生懸命黒板に描いてくれましたがなんだかよく分からず仕舞いでした。

そこで今回はこの図形をBlend

もっとみる
【Blender Python】CSVファイルを読み込んで3D散布図を描く

【Blender Python】CSVファイルを読み込んで3D散布図を描く

Blenderをデータ可視化ツールとして使えないか、いろいろと検討しています。

今回はCSVファイルを読み込んで、3D散布図を描いてみようと思います。
Blenderのバージョンは2.93 LTSです。

1. カレントディレクトリ相対パスでファイルの場所を指定する場合、カレントディレクトリがどこなのか知る必要があります。

Pythonでカレントディレクトリを調べるコードは

import o

もっとみる
【Blender Python】メッシュオブジェクトに色を付ける【透明編】

【Blender Python】メッシュオブジェクトに色を付ける【透明編】

前回こちらの記事でメッシュオブジェクトに色を付ける方法を紹介しましたが、このやり方では透明にすることはできませんでした。

今回は透明にする方法を紹介したいと思います。
Blenderのバージョンは2.93 LTSです。

1. コードimport bpy# 既存のメッシュオブジェクトを削除for msh in bpy.data.meshes: bpy.data.meshes.remove(m

もっとみる
【Blender Python】メッシュオブジェクトに色を付ける

【Blender Python】メッシュオブジェクトに色を付ける

PythonでBlenderのメッシュオブジェクトに色を付ける方法を紹介します。
Blenderのバージョンは2.93 LTSです。

1. コードimport bpy# 既存のメッシュオブジェクトを削除for msh in bpy.data.meshes: bpy.data.meshes.remove(msh)# 既存のマテリアルを削除for mat in bpy.data.material

もっとみる
Blender 2.93でPythonを実行する

Blender 2.93でPythonを実行する

Blender 2.93が2021/06/02にリリースされました。
このバージョンはLTS(長期サポート版)ということで、早速インストールしました。

BlenderにはPythonが内蔵されていて、様々な処理をPythonを使って行うことができます。

この記事では、まずBlenderでPythonを実行するところまでやっていきたいと思います。

1. Blenderを起動する

Blende

もっとみる