Parcourir la source

Update the Blender script some more

master
Fen Dweller il y a 4 ans
Parent
révision
0f96a9e762
1 fichiers modifiés avec 11 ajouts et 13 suppressions
  1. +11
    -13
      scripts/blender-model.py

+ 11
- 13
scripts/blender-model.py Voir le fichier

@@ -24,18 +24,13 @@ def get_bounds(objects):
)

GROUP_NAME = "Billboards"
GROUP_KIND = "buildings"

path_info = pathlib.Path(bpy.data.filepath).parent.joinpath("macrovision-directory.txt")
config_path = pathlib.Path(open(path_info).read())
config_path = pathlib.Path(open(path_info).read().strip())

json_path = config_path.joinpath("config.json")
config = json.load(open(json_path.resolve(), encoding="utf-8"))

parent_workdir = config["work-directory"]
workdir = pathlib.Path(parent_workdir).joinpath(GROUP_NAME)

c = bpy.data.objects["cam"]
c.data.type = "ORTHO"

@@ -46,15 +41,16 @@ bpy.data.scenes["Scene"].view_settings.view_transform = "Raw"

bpy.data.worlds["World"].node_tree.nodes["Background"].inputs[1].default_value = 0

collections = bpy.data.collections["Macrovision"].children
mv = bpy.data.collections["Macrovision"]
collections = mv.children

all_data = {}

all_data["name"] = GROUP_NAME
all_data["kind"] = GROUP_KIND
all_data["name"] = mv["MVName"]
all_data["kind"] = mv["MVKind"]
all_data["forms"] = []

VOLUME = False
workdir = pathlib.Path(parent_workdir).joinpath(all_data["name"])

os.makedirs(workdir, exist_ok=True)

@@ -70,7 +66,6 @@ for coll in collections:
coll.hide_render = True

for coll in collections:
coll.hide_render = False
bpy.ops.object.select_all(action='DESELECT')
@@ -112,7 +107,10 @@ for coll in collections:
"name": angles[3],
"height": dimensions[angles[2]]
})
#s.rotation_euler = c.rotation_euler

if coll["Volume"]:
data["views"][-1]["volume"] = coll["Volume"]

filename = f"{coll.name}-{angles[3]}.png"
bpy.context.scene.render.filepath = workdir.joinpath(filename).resolve().__str__()
bpy.ops.render.render(write_still = True)
@@ -121,4 +119,4 @@ for coll in collections:
coll.hide_render = True

with open(workdir.joinpath("data.json"), "w") as file:
json.dump(all_data, file)
json.dump(all_data, file)

Chargement…
Annuler
Enregistrer