princeton-vl / infinigen

Infinite Photorealistic Worlds using Procedural Generation
https://infinigen.org
BSD 3-Clause "New" or "Revised" License
5.14k stars 430 forks source link

HelloWorld Example Fails [infinigen.core.util.pipeline] [INFO] | Skipping run_stage(leaf_particles...) due to unmet prereq='trees' #235

Open bazza2jw opened 1 month ago

bazza2jw commented 1 month ago

Describe the bug

Running the HelloWorld example the scene generates the landscape but the (presumed) trees etc are left as the place holders only.

There is a message: [infinigen.core.util.pipeline] [INFO] | Skipping run_stage(leaf_particles...) due to unmet prereq='trees'

This is, I assume, why the placeholders are not replaced.

Steps to Reproduce

What version of the code were you using?

Merge: 18be26c 80ac24c Author: Alex Raistrick araistrick@princeton.edu Date: Wed Apr 24 22:34:04 2024 -0400

Merge pull request #122 from princeton-vl/rc_1.2.6

Bugfix v1.2.6 - Fix duplicate configs, CUDA_VISIBLE_DEVICES & more

commit 80ac24c681ace3f811d1eec7363f53f4d3725ae3 Author: Alexander Raistrick araistrick@princeton.edu Date: Wed Apr 24 13:22:09 2024 -0400

Increment version & changelog for v1.2.6

commit 4216ac371f3caab32666a0e3cc79f75ab0afe00f Author: Alexander Raistrick araistrick@princeton.edu Date: Wed Apr 24 15:03:31 2024 -0400

Unify other creature interfaces

commit 069ad8b12f932d44619928d4d54c08a85c5f9235 Author: Alexander Raistrick araistrick@princeton.edu Date: Wed Apr 24 13:07:40 2024 -0400

Attempt to fix dynamic hair for #215, raise NotImplementedError for dynamic hair for now

commit e7b3ef04df314b62e94047fa30321dbd48c054aa Author: Alexander Raistrick araistrick@princeton.edu Date: Wed Apr 24 11:52:41 2024 -0400

Fix submitit emulator improperly following CUDA_VISIBLE_DEVICES (#212)

commit 7177237a64ad00bddb32fd81e516ef7ef37d3d29 Author: Alexander Raistrick araistrick@princeton.edu Date: Wed Apr 24 11:22:05 2024 -0400

Add trycatch for flowvis install

commit 43244c9e26c6498182a1128cdf8f45115a467bba Author: Alexander Raistrick araistrick@princeton.edu Date: Wed Apr 24 00:19:44 2024 -0400

Avoid duplicated configs by skipping sample_scene_spec when --configs specifies an option:

commit f54f536420a759e56da3b4a11af9ed10806c4d1e Author: Alexander Raistrick araistrick@princeton.edu Date: Tue Apr 23 23:34:27 2024 -0400

Implement mutually exclusive folders for scene_types to prevent common error case

commit 18be26c9b4a7b375442d23569b737d8e2169e372 Author: Zeyu Ma 31351547+mazeyu@users.noreply.github.com Date: Tue Apr 2 11:16:34 2024 -0700

Bugfix v1.2.5 - Terrain bugfix for multi-task command; Terrain.bounds and Terrain.populated_bounds parameter

:

What command did you run?

python -m infinigen.launch_blender -m infinigen_examples.generate_nature -- --seed 0 --task coarse -g desert.gin simple.gin --output_folder outputs/hello_world/coarse

What are your FULL output logs?

Provide the FULL output logs from your command as a txt file. python -m infinigen.launch_blender -m infinigen_examples.generate_nature -- --seed 0 --task coarse -g desert.gin simple.gin --output_folder outputs/hello_world/coarse /Data/infinigen/blender/blender -noaudio --background --python /Data/infinigen/infinigen/tools/blendscript_path_append.py --python /Data/infinigen/infinigen_examples/generate_nature.py -- --seed 0 --task coarse -g desert.gin simple.gin --output_folder outputs/hello_world/coarse Blender 3.6.0 (hash c7fc78b81ecb built 2023-06-27 08:23:50) Read prefs: "/home/barry/.config/blender/3.6/config/userpref.blend" /Data/infinigen/blender/3.6/python/lib/python3.10/site-packages/numpy/core/getlimits.py:500: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero. setattr(self, word, getattr(machar, word).flat[0]) /Data/infinigen/blender/3.6/python/lib/python3.10/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero. return self._float_to_str(self.smallest_subnormal) /Data/infinigen/blender/3.6/python/lib/python3.10/site-packages/numpy/core/getlimits.py:500: UserWarning: The value of the smallest subnormal for <class 'numpy.float32'> type is zero. setattr(self, word, getattr(machar, word).flat[0]) /Data/infinigen/blender/3.6/python/lib/python3.10/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class 'numpy.float32'> type is zero. return self._float_to_str(self.smallest_subnormal) [09:34:06.073] [root] [WARNING] | SMB_AUTH envvar is not set, smb_client upload will not work. Ignore this message if not using upload [09:34:06.089] [infinigen.core.init] [INFO] | Converted seed='0' to scene_seed=0, parsed as hexadecimal [09:34:06.117] [infinigen.core.execute_tasks] [INFO] | infinigen version 1.2.6 [09:34:06.117] [infinigen.core.execute_tasks] [INFO] | CUDA_VISIBLE_DEVICES=None [09:34:06.117] [infinigen.times] [INFO] | [MAIN TOTAL] [09:34:06.123] [infinigen.core.execute_tasks] [INFO] | Processing frames 1 through 1 inclusive [09:34:06.133] [infinigen.times] [INFO] | [terrain] [09:34:06.134] [infinigen.times] [INFO] | [Create terrain] [09:34:06.134] [infinigen.terrain.core] [INFO] | Terrain using only on the fly on_the_fly_asset_folder=PosixPath('/Data/infinigen/outputs/hello_world/coarse/assets') /Data/infinigen/blender/3.6/python/lib/python3.10/site-packages/landlab/graph/graph.py:412: FutureWarning: The return type of Dataset.dims will be changed to return a set of dimension names in future, in order to be more consistent with DataArray.dims. To access a mapping from dimension names to lengths, please use Dataset.sizes.. The issue is probably coming from utils.py:1112 return self.ds.dims["node"] /Data/infinigen/blender/3.6/python/lib/python3.10/site-packages/landlab/graph/graph.py:535: FutureWarning: The return type of Dataset.dims will be changed to return a set of dimension names in future, in order to be more consistent with DataArray.dims. To access a mapping from dimension names to lengths, please use Dataset.sizes.. The issue is probably coming from utils.py:1112 return self.ds.dims["link"] /Data/infinigen/blender/3.6/python/lib/python3.10/site-packages/landlab/graph/graph.py:984: FutureWarning: The return type of Dataset.dims will be changed to return a set of dimension names in future, in order to be more consistent with DataArray.dims. To access a mapping from dimension names to lengths, please use Dataset.sizes.. The issue is probably coming from utils.py:1112 return self.ds.dims["patch"] [09:35:08.770] [infinigen.terrain.core] [INFO] | Terrain elements: ['ground', 'landtiles', 'warped_rocks', 'voronoi_rocks', 'atmosphere'] [09:35:08.770] [infinigen.times] [INFO] | [Create terrain] finished in 0:01:02.636337 [09:35:08.770] [infinigen.times] [INFO] | [meshing OpaqueTerrain] [09:35:13.953] [infinigen.times] [INFO] | [meshing OpaqueTerrain] finished in 0:00:05.182110 [09:35:13.953] [infinigen.times] [INFO] | [meshing atmosphere] [09:35:16.073] [infinigen.times] [INFO] | [meshing atmosphere] finished in 0:00:02.119950 [09:35:16.707] [infinigen.terrain.core] [INFO] | attribute='ground_collection' will use material infinigen.assets.materials.sand [09:35:16.707] [infinigen.terrain.core] [INFO] | attribute='mountain_collection' will use material infinigen.assets.materials.sandstone [09:35:16.707] [infinigen.terrain.core] [INFO] | attribute='eroded' will use material infinigen.assets.materials.cracked_ground [09:35:16.708] [infinigen.terrain.core] [INFO] | attribute='atmosphere' will use material infinigen.assets.materials.atmosphere_light_haze [09:35:16.824] [infinigen.times] [INFO] | [meshing OpaqueTerrain] [09:35:22.139] [infinigen.times] [INFO] | [meshing OpaqueTerrain] finished in 0:00:05.315270 [09:35:24.654] [infinigen.times] [INFO] | [terrain] finished in 0:01:18.520516 [09:35:24.681] [infinigen.times] [INFO] | [season] [09:35:24.681] [infinigen.times] [INFO] | [season] finished in 0:00:00.000403 [09:35:24.682] [infinigen.times] [INFO] | [forest_params] [09:35:24.682] [infinigen.times] [INFO] | [forest_params] finished in 0:00:00.000270 [09:35:24.683] [infinigen.times] [INFO] | [bushes] [09:35:24.685] [infinigen.core.placement.factory] [INFO] | Generating collection of 3 assets from TreeFlowerFactory(543568399) 0%| | 0/3 [00:00<?, ?it/s]keep_placeholder=False placeholder.name='TreeFlowerFactory(543568399).spawn_placeholder(0)' list(placeholder.children)=[] obj.name='TreeFlowerFactory(543568399).spawn_asset(0)' list(obj.children)=[] keep_placeholder=False placeholder.name='TreeFlowerFactory(543568399).spawn_placeholder(1)' list(placeholder.children)=[] obj.name='TreeFlowerFactory(543568399).spawn_asset(1)' list(obj.children)=[] 67%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 2/3 [00:00<00:00, 17.51it/s]keep_placeholder=False placeholder.name='TreeFlowerFactory(543568399).spawn_placeholder(2)' list(placeholder.children)=[] obj.name='TreeFlowerFactory(543568399).spawn_asset(2)' list(obj.children)=[] 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 18.37it/s] keep_placeholder=False placeholder.name='GenericTreeFactory(543568399).spawn_placeholder(0)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(543568399).spawn_asset(0)']] obj.name='GenericTreeFactory(543568399).spawn_asset(0)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(543568399).spawn_placeholder(1)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(543568399).spawn_asset(1)']] obj.name='GenericTreeFactory(543568399).spawn_asset(1)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(543568399).spawn_placeholder(2)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(543568399).spawn_asset(2)']] obj.name='GenericTreeFactory(543568399).spawn_asset(2)' list(obj.children)=[] [09:35:29.509] [infinigen.core.placement.placement] [INFO] | Placing 148 placeholders for BushFactory(543568399) 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 148/148 [00:11<00:00, 12.36it/s] [09:35:41.503] [infinigen.core.placement.factory] [INFO] | Generating collection of 3 assets from TreeFlowerFactory(36234574) 0%| | 0/3 [00:00<?, ?it/s]keep_placeholder=False placeholder.name='TreeFlowerFactory(36234574).spawn_placeholder(0)' list(placeholder.children)=[] obj.name='TreeFlowerFactory(36234574).spawn_asset(0)' list(obj.children)=[] 33%|███████████████████████████████████████████████████████████████████▋ | 1/3 [00:00<00:00, 9.14it/s]keep_placeholder=False placeholder.name='TreeFlowerFactory(36234574).spawn_placeholder(1)' list(placeholder.children)=[] obj.name='TreeFlowerFactory(36234574).spawn_asset(1)' list(obj.children)=[] keep_placeholder=False placeholder.name='TreeFlowerFactory(36234574).spawn_placeholder(2)' list(placeholder.children)=[] obj.name='TreeFlowerFactory(36234574).spawn_asset(2)' list(obj.children)=[] 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 9.62it/s] keep_placeholder=False placeholder.name='GenericTreeFactory(36234574).spawn_placeholder(0)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(36234574).spawn_asset(0)']] obj.name='GenericTreeFactory(36234574).spawn_asset(0)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(36234574).spawn_placeholder(1)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(36234574).spawn_asset(1)']] obj.name='GenericTreeFactory(36234574).spawn_asset(1)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(36234574).spawn_placeholder(2)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(36234574).spawn_asset(2)']] obj.name='GenericTreeFactory(36234574).spawn_asset(2)' list(obj.children)=[] [09:35:47.095] [infinigen.core.placement.placement] [INFO] | Placing 241 placeholders for BushFactory(36234574) 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 241/241 [00:36<00:00, 6.53it/s] [09:36:24.343] [infinigen.times] [INFO] | [bushes] finished in 0:00:59.660514 [09:36:24.380] [infinigen.times] [INFO] | [cactus] [09:36:24.719] [infinigen.core.placement.placement] [INFO] | Placing 16 placeholders for CactusFactory(543568399) 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 16/16 [00:00<00:00, 32.54it/s] [09:36:25.669] [infinigen.core.placement.placement] [INFO] | Placing 9 placeholders for CactusFactory(36234574) 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 9/9 [00:00<00:00, 31.95it/s] [09:36:26.224] [infinigen.core.placement.placement] [INFO] | Placing 83 placeholders for CactusFactory(1375975078) 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 83/83 [00:02<00:00, 31.08it/s] [09:36:28.951] [infinigen.times] [INFO] | [cactus] finished in 0:00:04.570368 [09:36:28.952] [infinigen.times] [INFO] | [camera_preprocess] [09:36:29.072] [infinigen.times] [INFO] | [Building placeholders KDTree] [09:36:29.073] [infinigen.core.placement.camera] [INFO] | Building placeholder kd for 886 objects [09:36:29.137] [infinigen.times] [INFO] | [Building placeholders KDTree] finished in 0:00:00.064448 [09:36:29.137] [infinigen.times] [INFO] | [Building terrain BVHTree] Warning: No mesh data to join [09:36:29.339] [infinigen.times] [INFO] | [Building terrain BVHTree] finished in 0:00:00.202251 [09:36:29.342] [infinigen.times] [INFO] | [camera_preprocess] finished in 0:00:00.390551 [09:36:29.343] [infinigen.times] [INFO] | [pose_cameras] Searching for camera viewpoints: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:03<00:00, 5.28it/s] [09:36:33.250] [infinigen.times] [INFO] | [pose_cameras] finished in 0:00:03.906952 [09:36:33.251] [infinigen.times] [INFO] | [lighting] [09:36:33.255] [infinigen.times] [INFO] | [lighting] finished in 0:00:00.003887 [09:36:34.145] [infinigen.times] [INFO] | [animate_cameras] [09:36:34.146] [infinigen.core.placement.camera] [INFO] | Animating cam_rig=bpy.data.objects['CameraRigs/0'] using policy=<infinigen.core.placement.animation_policy.AnimPolicyRandomWalkLookaround object at 0x7ff990c0c250> [09:36:34.147] [infinigen.times] [INFO] | [animate_cameras] finished in 0:00:00.001981 [09:36:34.147] [infinigen.times] [INFO] | [Compute coarse terrain frustrums] 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 110.52it/s] split obj.name='OpaqueTerrain' into inview area 535.96 and outofview area 0.00 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 108.19it/s] split obj.name='OpaqueTerrain' into inview area 45.09 and outofview area 0.00 [09:36:35.917] [infinigen.times] [INFO] | [Compute coarse terrain frustrums] finished in 0:00:01.769909 [09:36:35.921] [infinigen.times] [INFO] | [rocks] [09:36:35.922] [infinigen.core.placement.factory] [INFO] | Generating collection of 5 assets from BlenderRockFactory(27855) 0%| | 0/5 [00:00<?, ?it/s]keep_placeholder=False placeholder.name='BlenderRockFactory(27855).spawn_placeholder(0)' list(placeholder.children)=[] obj.name='BlenderRockFactory(27855).spawn_asset(0)' list(obj.children)=[] 20%|████████████████████████████████████████▌ | 1/5 [00:00<00:01, 2.10it/s]keep_placeholder=False placeholder.name='BlenderRockFactory(27855).spawn_placeholder(1)' list(placeholder.children)=[] obj.name='BlenderRockFactory(27855).spawn_asset(1)' list(obj.children)=[] 40%|█████████████████████████████████████████████████████████████████████████████████▏ | 2/5 [00:00<00:01, 2.44it/s]keep_placeholder=False placeholder.name='BlenderRockFactory(27855).spawn_placeholder(2)' list(placeholder.children)=[] obj.name='BlenderRockFactory(27855).spawn_asset(2)' list(obj.children)=[] 60%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 3/5 [00:01<00:00, 2.29it/s]keep_placeholder=False placeholder.name='BlenderRockFactory(27855).spawn_placeholder(3)' list(placeholder.children)=[] obj.name='BlenderRockFactory(27855).spawn_asset(3)' list(obj.children)=[] 80%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 4/5 [00:01<00:00, 2.50it/s]keep_placeholder=False placeholder.name='BlenderRockFactory(27855).spawn_placeholder(4)' list(placeholder.children)=[] obj.name='BlenderRockFactory(27855).spawn_asset(4)' list(obj.children)=[] 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:02<00:00, 2.44it/s] 227 scatter:BlenderRockFactory(27855) instances created. [09:36:39.385] [infinigen.times] [INFO] | [rocks] finished in 0:00:03.464134 [09:36:39.385] [infinigen.core.util.pipeline] [INFO] | Skipping run_stage(ground_leaves...) due to unmet prereq='trees' [09:36:39.417] [infinigen.times] [INFO] | [ground_twigs] keep_placeholder=False placeholder.name='GenericTreeFactory(60608).spawn_placeholder(0)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(60608).spawn_asset(0)']] obj.name='GenericTreeFactory(60608).spawn_asset(0)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(60608).spawn_placeholder(1)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(60608).spawn_asset(1)']] obj.name='GenericTreeFactory(60608).spawn_asset(1)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(60608).spawn_placeholder(2)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(60608).spawn_asset(2)']] obj.name='GenericTreeFactory(60608).spawn_asset(2)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(60608).spawn_placeholder(3)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(60608).spawn_asset(3)']] obj.name='GenericTreeFactory(60608).spawn_asset(3)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(60608).spawn_placeholder(4)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(60608).spawn_asset(4)']] obj.name='GenericTreeFactory(60608).spawn_asset(4)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(60608).spawn_placeholder(5)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(60608).spawn_asset(5)']] obj.name='GenericTreeFactory(60608).spawn_asset(5)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(60608).spawn_placeholder(6)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(60608).spawn_asset(6)']] obj.name='GenericTreeFactory(60608).spawn_asset(6)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(60608).spawn_placeholder(7)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(60608).spawn_asset(7)']] obj.name='GenericTreeFactory(60608).spawn_asset(7)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(60608).spawn_placeholder(8)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(60608).spawn_asset(8)']] obj.name='GenericTreeFactory(60608).spawn_asset(8)' list(obj.children)=[] keep_placeholder=False placeholder.name='GenericTreeFactory(60608).spawn_placeholder(9)' list(placeholder.children)=[bpy.data.objects['GenericTreeFactory(60608).spawn_asset(9)']] obj.name='GenericTreeFactory(60608).spawn_asset(9)' list(obj.children)=[] 18 scatter:GenericTreeFactory(60608) instances created. [09:37:27.004] [infinigen.times] [INFO] | [ground_twigs] finished in 0:00:47.586509 [09:37:27.056] [infinigen.core.util.pipeline] [INFO] | Skipping run_stage(leaf_particles...) due to unmet prereq='trees' [09:37:27.076] [infinigen.times] [INFO] | [Writing output blendfile] Info: Saved "scene.blend" [09:37:27.286] [infinigen.times] [INFO] | [Writing output blendfile] finished in 0:00:00.209917 [09:37:27.291] [infinigen.times] [INFO] | [MAIN TOTAL] finished in 0:03:21.173468

Platform

Additional context

Add any other context about the problem here.

araistrick commented 1 month ago

This command appears to have completed successfully [09:37:27.291] [infinigen.times] [INFO] | [MAIN TOTAL] finished in 0:03:21.173468. It didnt add falling leaves because it didnt have any trees, this is a semantic constraint you can remove if you like