PythonでBlenderのプログラミングを開始した Part2

6199 ワード

概要

blenderの学習を兼ねて、Blender上のPythonをやってみた。
今回は、本職寄りの要素も掛け合わせてCSV連携をしてみた

システム構成図例

blender側のスクリプトで、csvファイルを読み込んでアニメーション再生をするタイプになります。

人の分離

元々は、デザインとアニメーションのようになっていました。

今回からは、CSVを設定する人とモデルやキャラクター構成をする2人に分離できました。

これで、チーム開発でアサインをして作業をお願いできる状態になるなーという状況で進めていきます。

きっかけ

チーム開発やマネージャーの話が流行っているので

  1. 作業を分割して依頼できる作り
    1-1. データとモデルファイルの分離

成果物

既存のBlenderの拡張

CSVファイルの読み込み

定数リストから動的リストへコードを変更

元々はソースコードで固定指定だったのでtupleでしたが、list指定に切り替えます。

変更前
locations = (
    (0, 0, 2),
    (0, 3, 4),
    (0, 3, 8),
    (0, 13, 8),
    (5, 13, 8),
    (5, 23, 8),

)
変更後
locations = []
ファイルの絶対パスを指定して、CSVアニメーションを実行
with open("D:\\devellop\\DigitalPortal\\ContentsArtChallenge\\technicalartchallenge\\script\\animation.csv", newline='') as animationcsv:

    boxreader = csv.reader(animationcsv, delimiter=",")
    # x,y, zの順番でデータを設定
    for row in boxreader:
        locations.append([int(row[0]), int(row[1]), int(row[2])])

開発環境

blender2.91

参考資料

blender2.90のapi資料