Cameras are not correctly organized when camera rigs are set more than one, which triggers assertion error.
I have added the following debug code for get_camera_ids() in camera.py
def get_cameras_ids() -> list[tuple]:
res = []
col = bpy.data.collections[CAMERA_RIGS_DIRNAME]
print(col.objects)
for i, root in enumerate(col.objects):
print("[root] i = ", i)
print(" name = ", root.name)
print(" loc = ", root.location)
for j, subcam in enumerate(root.children):
print(" [child] j = ", j)
print(" name = ", subcam.name)
print(" loc = ", subcam.location)
assert subcam.name == camera_name(i, j)
res.append((i, j))
return res
and found incorrect camera organization which triggers assertion error. (shown below)
Call get_camera_ids() after pose_cameras.
I actually found this bug in rendering stage. But for quicker reproduce, call this function in generate_scene().
This will triggers assertion error, with the following debug info I print:
[root] i = 0
name = CameraRigs/0
loc = <Vector (-51.2120, -26.3052, -15.5964)>
[child] j = 0
name = CameraRigs/0/0
loc = <Vector (0.0000, 0.0000, 0.0000)>
[root] i = 1
name = CameraRigs/0/0
loc = <Vector (0.0000, 0.0000, 0.0000)>
[root] i = 2
name = CameraRigs/1
loc = <Vector (70.1523, 20.7909, -15.3666)>
[child] j = 0
name = CameraRigs/1/0
loc = <Vector (0.0000, 0.0000, 0.0000)>
This seems not a correct organization of a camera. Camera names are disordered and some camera rig has no children.
What version of the code were you using?
Tell us the commit & commit hash from git log
commit 18be26c9b4a7b375442d23569b737d8e2169e372 (HEAD -> main, origin/main, origin/HEAD)
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
* fix reinitializing terrain
* add bounds and populated_bounds for terrain
Describe the bug
Cameras are not correctly organized when camera rigs are set more than one, which triggers assertion error.
I have added the following debug code for get_camera_ids() in camera.py
and found incorrect camera organization which triggers assertion error. (shown below)
Steps to Reproduce
Override the configs with
change monocular_video.gin to:
Call get_camera_ids() after pose_cameras. I actually found this bug in rendering stage. But for quicker reproduce, call this function in generate_scene().
This will triggers assertion error, with the following debug info I print:
This seems not a correct organization of a camera. Camera names are disordered and some camera rig has no children.
What version of the code were you using?
Tell us the commit & commit hash from
git log
What command did you run?
in which base_simple.gin overrides:
monocular_video.gin has been changed to:
What are your FULL output logs?
Provide the FULL output logs from your command as a txt file. coarse_error.txt
If this is your first time running Infinigen, what are the full install logs?**
Run
pip install -vv -e . > logs.txt 2>&1
and send logs.txt as an attachment.Not first time.
Platform
Additional context
Add any other context about the problem here.