トップページ -> インストール,設定,利用 -> Windows ソフトウエア -> Windows で Blender 最新版の bpy をソースコードからビルドして、インストールする(Visual C++ ビルドツール (Build Tools) を使用)(書きかけ)
[サイトマップへ], [サイト内検索へ]

Windows で Blender 最新版の bpy をソースコードからビルドして、インストールする(Visual C++ ビルドツール (Build Tools) を使用)(書きかけ)

https://wiki.blender.org/wiki/Building_Blender/Windowsの手順に従う

【このページの目次】

Blender および関連ライブラリの利用条件などは、利用者が確認すること。

サイト内の関連ページ

謝辞:このWebページで紹介するBlenderソフトウエアの作者に感謝します


前準備

Python のインストール,pip と setuptools の更新,Python 開発環境のインストール(Windows 上)

  1. Python のインストール

    Python の URL: http://www.python.org/

    インストール手順の詳細は: 別ページで説明している.

  2. pip と setuptools の更新Python 開発環境(JupyterLab, spyder)のインストール

    コマンドプロンプトを管理者として実行し,次のコマンドを実行.

    python -m pip install -U pip setuptools
    python -m pip install -U jupyterlab jupyter jupyter-console jupytext spyder
    

Git, cmake のインストール

Git の URL: https://git-scm.com/

cmake の URL: https://cmake.org/download/

Visual C++ ビルドツール (Build Tools) のインストール

(NVIDIA GPU を使うとき)NVIDIA グラフィックスボード・ドライバのインストール

GPU とは,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある.

ダウンロードページ

詳細説明

(NVIDIA GPU を使うとき)NVIDIA CUDA ツールキットのインストール

CUDA とは,NVIDIA社が提供している GPU 用のプラットフォームである.

ダウンロードページ

TensorFlow 2.1 以上の GPU 版での,NVIDIA CUDA のバージョンは 10.1指定されている. TensorFlow 1.15の GPU 版での,NVIDIA CUDA のバージョンは 10.0指定されている. 指定されているバージョンより高いものは使わない. その根拠は次のページ. URL: https://www.tensorflow.org/install/source#common_installation_problems

詳細説明


Windows で Blender 最新版をソースコードからビルドして、インストール

Windows での「Windows で Blender 最新版をソースコードからビルドして、インストールする(Visual C++ ビルドツール (Build Tools) を使用)」 で説明している.


Blender bpy のインストール(Visual C++ ビルドツール (Build Tools) を使用)

  1. Visual Studio の x64 Native Tools コマンドプロンプトを開く.

    ※ 起動は,Windows のメニューで「Visual Studio 20..」の下の「x64 Native Tools コマンドプロンプト (Command Prompt)」(あるいは類似名のもの)を選ぶ

    ※ 「x64 Native Tools コマンドプロンプト (Command Prompt)」がないときは, Visual C++ ビルドツールのインストールを行う. Visual C++ ビルドツールのインストール手順は,別ページで説明している.

  2. cmake の実行

    https://blender.stackexchange.com/questions/117200/how-to-build-blender-as-a-python-module の記述に従う

    「-G "Visual Studio 16 2019"」のところは, cmake のオプションである. 使用する Visual Studio のバージョンに応じて調整すること

    cd c:\tools
    cd blender
    cd blender
    del CMakeCache.txt
    cd ..
    rmdir /s /q cmake-make
    mkdir cmake-make
    cd cmake-make
    cmake -G "Visual Studio 16 2019" -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
    
  3. 結果を確認する

    [image]
  4. bpy をソースコードからビルドする
    cmake --build . --config RELEASE
    cmake --build . --config RELEASE --target INSTALL
    
  5. 実行結果の確認

    ※ 下図のとおりになるとは限らない.

    ※ うまくいっていない場合は、設定を変えてやり直す

    [image]




    以下、書きかけ

  6. インストールする(書きかけ)

    https://blender.stackexchange.com/questions/117200/how-to-build-blender-as-a-python-module の記述に従う

    copy C:\tools\blender\cmake-make\bin\Release\bpy.pyd C:\tools\Anaconda3\Lib\site-packages
    copy C:\tools\blender\*.dll C:\tools\Anaconda3\Lib\site-packages
    del C:\tools\Anaconda3\Lib\site-packages\python37.dll
    cd C:\tools\blender\2.80
    xcopy * C:\tools\Anaconda3\Lib /S /E  
    
    copy C:\tools\blender\cmake-make\lib\Release\*.lib C:\tools\Anaconda3\Lib\site-packages
    copy C:\tools\blender\cmake-make\lib\Release\*.exp C:\tools\Anaconda3\Lib\site-packages
    
    echo bpy > C:\tools\Anaconda3\Lib\site-packages\bpy.pth 
    mkdir C:\tools\Anaconda3\Lib\site-packages\bpy
    copy C:\tools\blender\cmake-make\bin\Release\bpy.pyd C:\tools\Anaconda3\Lib\site-packages\bpy
    copy C:\tools\blender\cmake-make\lib\Release\*.lib C:\tools\Anaconda3\Lib\site-packages\bpy
    copy C:\tools\blender\cmake-make\lib\Release\*.exp C:\tools\Anaconda3\Lib\site-packages\bpy
    del C:\tools\Anaconda3\Lib\site-packages\python37.dll
    cd C:\tools\blender
    xcopy 2.80 C:\tools\Anaconda3site-packages\bpy /S /E  
    rm ${BL_DIR}/python37.dll # 不要なファイルを削除
    cp -rp 2.80 ${PY_DIR} 
    

    Blender bpy を使ってみる

    Python プログラムを動かしたい. そのために, IPython シェルを使う

    Python プログラムを動かす.

    Python プログラムを動かす

    • Windows では,「python」コマンドやPythonランチャーである「py」コマンド
    • Ubuntu では,「python3」コマンド

    ※  開発環境や Python コンソール(Jupyter Qt ConsolespyderPyCharmPyScripter など)が便利.

    Blender オブジェクトの確認

    import bpy
    for i in bpy.data.objects:
        print(i.name)
    

    Blender オブジェクトが確認できる(下の実行結果例では Camera, Cube, Lamp の 3つ)

  7. 試しに3次元オブジェクト(タイプが「MESH」であるオブジェクト)の一覧表示を行ってみる.

    コンソール画面で次を実行

    for i in bpy.data.objects:
        if i.type == "MESH":
            print(i.name)
    
  8. 今度は,Blender 画面の一覧表示を行ってみる.

    コンソール画面で次を実行

    for i in bpy.data.screens:
        print(i.name)
    

    画面名が確認できる

  9. 自動補完(Auto comlete) を試してみる

    コンソール画面で「bpy.data.」と入力したあとで、「オートコンプリート (Autocomplete)」をクリック

    補完の候補が表示される.


使ってみる

レンダリング

Windows の場合

の例

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 は次の通り.


データアクセスを行う Python プログラム(書きかけ)

参考 Web ページ:

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())

3次元オブジェクトのメッシュの取得

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)

以下,書きかけ


本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]

-DWITH_PLAYER=OFF ^ -DWITH_AUDASPACE=OFF ^