https://wiki.blender.org/wiki/Building_Blender/Windowsの手順に従う
【目次】
Blender および関連ライブラリの利用条件などは、利用者が確認すること。
【サイト内の関連ページ】
謝辞:このWebページで紹介するBlenderソフトウェアの作者に感謝します
Gitは,バージョン管理システム.ソースコードの管理や複数人での共同に役立つ.
【サイト内の関連ページ】
Windows での Git のインストール: 別ページ »で説明している.
【関連する外部ページ】
Git の公式ページ: https://git-scm.com/
CMake はビルドツールである.
【サイト内の関連ページ】
Windows での cmake のインストール: 別ページ »で説明している.
【関連する外部ページ】
CMake の公式ダウンロードページ: https://cmake.org/download/
【サイト内の関連ページ】
【関連する外部ページ】
Python の公式ページ: https://www.python.org/
【サイト内の関連ページ】
Windows での Build Tools for Visual Studio 2022,NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8,NVIDIA cuDNN v8.6 のインストールと動作確認: 別ページ »で説明している.
【関連する外部ページ】
Windows での「Windows での Blender,Blender の Python モジュールのインストール(ソースコード,Build Tools for Visual Studio を使用を使用)」 で説明している.
起動は,Windows のメニューで「Visual Studio 20..」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」を選ぶ.「x64」は,64ビット版の意味である.
「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」がないとき:
C++ ビルドツール (Build Tools) のインストールを行うことで, 「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」がインストールされる.その手順は,別ページ »で説明
https://blender.stackexchange.com/questions/117200/how-to-build-blender-as-a-python-module の記述に従う
cmake のオプションの 「Visual Studio 17 2022」のところは, 使用する Visual Studio のバージョンにあわせること. Visual Studio 2022 のときは,「Visual Studio 17 2022」. Visual Studio 2019 のときは,「Visual Studio 16 2019」.
cd %HOMEPATH% cd blender del CMakeCache.txt cd .. rmdir /s /q cmake-make mkdir cmake-make cd cmake-make cmake -G "Visual Studio 17 2022" -A x64 -T host=x64 ^ -DCMAKE_INSTALL_PREFIX="c:\tools\blender" ^ -DWITH_PYTHON_INSTALL=OFF ^ -DWITH_PYTHON_INSTALL_NUMPY=OFF ^ -DWITH_PYTHON_MODULE=ON ^ -DWITH_CYCLES_CUDA_BINARIES=ON ^ ..\blender
※ 下図のとおりになるとは限らない.
※ うまくいっていない場合は、設定を変えてやり直す.
以下、書きかけ
https://blender.stackexchange.com/questions/117200/how-to-build-blender-as-a-python-module の記述に従う
copy %HOMEPATH%\cmake-make\bin\Release\bpy.pyd "c:\Program Files\Python39\Lib" copy %HOMEPATH%\*.dll "c:\Program Files\Python39\Lib" del "c:\Program Files\Python39\Lib\python37.dll" cd %HOMEPATH%\2.80 xcopy * "c:\Program Files\Python39\Lib /S /E copy %HOMEPATH%\cmake-make\lib\Release\*.lib "c:\Program Files\Python39\Lib" copy %HOMEPATH%\cmake-make\lib\Release\*.exp "c:\Program Files\Python39\Lib"
echo bpy > "c:\Program Files\Python39\Lib\bpy.pth" mkdir "c:\Program Files\Python39\Lib\bpy" copy %HOMEPATH%\cmake-make\bin\Release\bpy.pyd "c:\Program Files\Python39\Lib\bpy" copy %HOMEPATH%\cmake-make\lib\Release\*.lib "c:\Program Files\Python39\Lib\bpy" copy %HOMEPATH%\cmake-make\lib\Release\*.exp "c:\Program Files\Python39\Lib\bpy" del "c:\Program Files\Python39\Lib\python37.dll" cd %HOMEPATH% xcopy 2.80 c:\tools\Anaconda3site-packages\bpy /S /E rm ${BL_DIR}/python37.dll # 不要なファイルを削除 cp -rp 2.80 ${PY_DIR}
Python プログラムを動かしたい. そのために, IPython シェルを使う
Python プログラムを実行する
import bpy for i in bpy.data.objects: print(i.name)
Blender オブジェクトが確認できる(下の実行結果例では Camera, Cube, Lamp の 3つ)
コンソール画面で次を実行
for i in bpy.data.objects: if i.type == "MESH": print(i.name)
コンソール画面で次を実行
for i in bpy.data.screens: print(i.name)
画面名が確認できる
コンソール画面で「bpy.data.」と入力したあとで、「オートコンプリート (Autocomplete)」をクリック
補完の候補が表示される.
Windowsの場合は,環境変数 HOMEPATH を使うことにする.
※ Linux の場合は,「HOMEPATH」の代わりに「HOME」を使う.
import os bpy.ops.render.render() bpy.data.images['Render Result'].save_render(filepath = os.environ['HOMEPATH'] + '/hoge.png')
できあがった画像ファイル hoge.png は次の通り.
Pythonスクリプトで光源(ランプ)を設定する
import os pi = 3.141592 lamp = { "location" : (20, 0, 10), "rotation_euler" : (0, 0.2, 0.4), "falloff_type" : 'INVERSE_LINEAR', "shadow_method" : 'RAY_SHADOW' } # lamp = { "location" : (20, 20, 10), "rotation_euler" : (0, 0.2, 0.4), "falloff_type" : 'INVERSE_LINEAR', "shadow_method" : 'NOSHADOW' } lamp_obj = bpy.data.objects['Lamp'] lamp_obj.location = lamp["location"] lamp_obj.rotation_euler = lamp["rotation_euler"] lamp_obj.data.falloff_type = lamp["falloff_type"] lamp_obj.data.shadow_method = lamp["shadow_method"] bpy.ops.render.render() bpy.data.images['Render Result'].save_render(filepath = os.environ['HOMEPATH'] + '/hoge.png')
できあがった画像ファイル hoge.png は次の通り.
Pythonスクリプトでカメラを設定する
pi = 3.141592 camera = { "location" : (15, 0, 15), "rotation_euler" : (0, 1, 0), "type" : 'PERSP', "angle" : 50.0 * (pi/180.0) } scene = bpy.data.scenes["Scene"] scene.camera.location = camera["location"] scene.camera.rotation_euler = camera["rotation_euler"] scene.camera.data.type = camera["type"] scene.camera.data.angle = camera["angle"] bpy.ops.render.render() bpy.data.images['Render Result'].save_render(filepath = os.environ['HOMEPATH'] + '/hoge.png')
できあがった画像ファイル hoge.png は次の通り.
【関連する外部ページ】
https://docs.blender.org/api/blender_python_api_2_63_release/bpy.data.html
https://docs.blender.org/api/blender_python_api_2_63_release/bmesh.html
for i in bpy.data.objects: print(i.name)
print(bpy.data.scenes.keys())
if "Cube" in bpy.data.meshes: mesh = bpy.data.meshes["Cube"] for i in mesh.edges: print(i) for i in mesh.vertices: print(i) for i in mesh.polygons: print(i)
以下,書きかけ