-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmake_scene_mac.py
78 lines (59 loc) · 1.79 KB
/
make_scene_mac.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import os
import argparse
import objaverse
import multiprocessing
import json
parser = argparse.ArgumentParser(description='make_scene')
parser.add_argument(
'--save_file',
type=str,
default='./scene.blend',
help='path for saving rendered image'
)
parser.add_argument(
'--json',
type=str,
default='./data/example_added.json',
help='path for saving rendered image'
)
parser.add_argument(
'--blender_root',
type=str,
default='/Applications/Blender.app/Contents/MacOS/Blender',
help='path to blender executable'
)
parser.add_argument(
'--content_folder',
type=str,
default='./assets/',
help='path to blender executable'
)
parser.add_argument(
'--objaverse_path',
type=str,
default='/Users/jtremblay/code/holodeck_blender/data/aithor/objaverse_holodeck/09_23_combine_scale/processed_2023_09_23_combine_scale/',
# default='/Users/jtremblay/.objaverse/hf-objaverse-v1/glbs/',
help='path to where objaverse downloaded stuff -- could be determined automatically'
)
opt = parser.parse_args()
# since blender python is broken, lets download the objaverse assets first for the file.
processes = multiprocessing.cpu_count()
with open(opt.json, 'r') as file:
data = json.load(file)
to_load = []
# for obj in data['objects']:
# to_load.append(obj['assetId'])
# print(to_load)
# print(len(to_load))
# print(objaverse.__version__)
# raise()
# objects = objaverse.load_objects(
# uids=to_load,
# download_processes=1
# )
import glob
render_cmd = f'{opt.blender_root} -b -P blender/blender.py -- --output {opt.save_file} --json {opt.json} \
--content {opt.content_folder} --objaverse_path {opt.objaverse_path}'
# render_cmd = render_cmd + ' > tmp.out'
print(render_cmd)
os.system(render_cmd)