複数のカメラを設定したり、カメラを移動する必要はありません。小さなpythonスクリプトがあなたのためにレンダリングを切り詰めることができます。これの欠点の1つは、スクリプトからレンダリングする間、ブレンダーはウィンドウを更新しないということです。
最終的なイメージをカットしたいと思うように、とにかくこれを使用して最終的な部分にカットしたいかもしれません。
各レンダーはシーンデータ全体を読み込む必要があるため、パフォーマンスの向上やラムの使用量の削減などの利点を期待しないでください。反射や影を考えてください。レンダリング時に作成された最終的なイメージファイルを持つことができ、1つのイメージだけを終了してレンダリングを開始することができ、一度に完了する必要がある場合、muiltipleを介して負荷を共有することもできます各コンピュータに異なるタイルセットをレンダリングさせることができます。
BlenderにはRender Borderという機能があり、最終的な画像の一部だけをレンダリングすることができます。 Pythonを使用すると、境界線を目的のサイズに設定して複数回レンダリングできます。また、最も重要な点は、指定された枠線に最終画像を切り抜くこともできますが、切り抜かずにアルファをサポートする画像フォーマットに保存すると、最終的な解像度画像が完成します。これは、各イメージを新しいレイヤーとして開くことができ、ピースが最終イメージの正しい位置に自動的に表示されることを意味します。
境界の最小値/最大値は、最終解像度のパーセンテージで、0.0〜1.0の値で入力します。
import bpy
import os
# cut final image into 10 by 10 smaller images
cut_into = 10
# location of folder to save images to
output_folder = '//renders'
rndr = bpy.context.scene.render
rndr.use_border = True
rndr.use_crop_to_border = False
for row in range(cut_into):
for column in range(cut_into):
filename = "chunk_{}_{}".format(row + 1, column + 1)
rndr.filepath = os.path.join(output_folder, filename)
rndr.border_min_x = (1/cut_into) * row
rndr.border_max_x = (1/cut_into) * (row + 1)
rndr.border_min_y = (1/cut_into) * column
rndr.border_max_y = (1/cut_into) * (column + 1)
bpy.ops.render.render(write_still=True)
あなたが前にブレンダーでのpythonを使用していない場合は、ブレンダーのtext editorにこのスクリプトを貼り付け、[スクリプトの実行]ボタンをクリックすることができます。または、テキストファイルに保存し、端末を使用してGUIなしで使用できます -
blender -b myfile.blend -P this_script.py