🐥
PythonでBlenderのプログラミングを開始した Part2
概要
blenderの学習を兼ねて、Blender上のPythonをやってみた。
今回は、本職寄りの要素も掛け合わせてCSV連携をしてみた
システム構成図例
blender側のスクリプトで、csvファイルを読み込んでアニメーション再生をするタイプになります。
人の分離
元々は、デザインとアニメーションのようになっていました。
今回からは、CSVを設定する人とモデルやキャラクター構成をする2人に分離できました。
これで、チーム開発でアサインをして作業をお願いできる状態になるなーという状況で進めていきます。
きっかけ
チーム開発やマネージャーの話が流行っているので
- 作業を分割して依頼できる作り
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資料
python標準のCSVモジュールの説明
今回の開発をしたblenderのコミットログ
blenderの2.91で確認をしています。
Discussion