This bug happens when I try to run a self-written batch render script through "blender -b file.blend -P script.py". API scene.frame_set of bpy.data.scenes might not be able to set current frame for render. This problem exists with blender 2.63a on Mac OS X 10.7. I'm not able to test on other platforms at the moment.
3 files are attached to recreate this problem. And here are the steps to reproduce the two .blend files.
1. Load factory default 2. Set current frame to 20 3. Press "+" at scenes drop-down to create a new scene, select "Full Copy", and leave the name as is 4. Set current frame to 40 (when the current scene is "Scene.001") 5. Save the file as bug_test2.blend (when the current scene is "Scene.001") 6. Switch the current scene back to "Scene" (the default one), and save the file as bug_test.blend
Run the script, note that the script has "scene.frame_set(100)" to set current frame to 100 before rendering. And here are the commands and outputs
/Applications/blender/blender.app/Contents/MacOS/blender -b bug_test.blend -P bug_test.py read blend: /Users/bill/Desktop/bug_test.blend Fra:100 Mem:5.10M (0.10M, peak 5.20M) | Preparing Scene data Fra:100 Mem:5.11M (0.10M, peak 5.20M) | Preparing Scene data Fra:100 Mem:5.11M (0.10M, peak 5.20M) | Creating Shadowbuffers Fra:100 Mem:5.11M (0.10M, peak 5.20M) | Raytree.. preparing Fra:100 Mem:5.11M (0.10M, peak 5.20M) | Raytree.. building Fra:100 Mem:5.12M (0.10M, peak 5.23M) | Raytree finished Fra:100 Mem:5.12M (0.10M, peak 5.23M) | Creating Environment maps Fra:100 Mem:5.12M (0.10M, peak 5.23M) | Caching Point Densities Fra:100 Mem:5.12M (0.10M, peak 5.23M) Sce: Scene Ve:8 Fa:6 La:1 Fra:100 Mem:5.12M (0.10M, peak 5.23M) | Loading voxel datasets Fra:100 Mem:5.12M (0.10M, peak 5.23M) Sce: Scene Ve:8 Fa:6 La:1 Fra:100 Mem:5.12M (0.10M, peak 5.23M) | SSS preprocessing Fra:100 Mem:5.12M (0.10M, peak 5.23M) | Volume preprocessing Fra:100 Mem:5.12M (0.10M, peak 5.23M) Sce: Scene Ve:8 Fa:6 La:1 Fra:100 Mem:5.12M (0.10M, peak 5.23M) Sce: Scene Ve:8 Fa:6 La:1 Fra:100 Mem:5.13M (0.51M, peak 6.77M) | Scene, Part 1-4 Fra:100 Mem:5.13M (0.45M, peak 6.77M) | Scene, Part 2-4 Fra:100 Mem:5.13M (0.40M, peak 6.77M) | Scene, Part 3-4 Fra:100 Mem:5.13M (0.34M, peak 6.77M) | Scene, Part 4-4 Fra:100 Mem:4.96M (0.29M, peak 6.77M) Sce: Scene Ve:8 Fa:6 La:1 Fra:100 Mem:5.13M (0.29M, peak 5.42M) | Preparing Scene data Fra:100 Mem:5.13M (0.29M, peak 5.42M) | Creating Shadowbuffers Fra:100 Mem:5.13M (0.29M, peak 5.42M) | Raytree.. preparing Fra:100 Mem:5.13M (0.29M, peak 5.42M) | Raytree.. building Fra:100 Mem:5.15M (0.29M, peak 5.45M) | Raytree finished Fra:100 Mem:5.15M (0.29M, peak 5.45M) | Creating Environment maps Fra:100 Mem:5.15M (0.29M, peak 5.45M) | Caching Point Densities Fra:100 Mem:5.15M (0.29M, peak 5.45M) Sce: Scene.001 Ve:8 Fa:6 La:1 Fra:100 Mem:5.15M (0.29M, peak 5.45M) | Loading voxel datasets Fra:100 Mem:5.15M (0.29M, peak 5.45M) Sce: Scene.001 Ve:8 Fa:6 La:1 Fra:100 Mem:5.15M (0.29M, peak 5.45M) | SSS preprocessing Fra:100 Mem:5.15M (0.29M, peak 5.45M) | Volume preprocessing Fra:100 Mem:5.15M (0.29M, peak 5.45M) Sce: Scene.001 Ve:8 Fa:6 La:1 Fra:100 Mem:5.15M (0.29M, peak 5.45M) Sce: Scene.001 Ve:8 Fa:6 La:1 Fra:100 Mem:5.16M (0.70M, peak 6.98M) | Scene.001, Part 1-4 Fra:100 Mem:5.16M (0.65M, peak 6.98M) | Scene.001, Part 2-4 Fra:100 Mem:5.16M (0.59M, peak 6.98M) | Scene.001, Part 3-4 Fra:100 Mem:5.16M (0.53M, peak 6.98M) | Scene.001, Part 4-4 Fra:100 Mem:4.99M (0.48M, peak 6.98M) Sce: Scene.001 Ve:8 Fa:6 La:1
/Applications/blender/blender.app/Contents/MacOS/blender -b bug_test2.blend -P bug_test.py read blend: /Users/bill/Desktop/bug_test2.blend Fra:40 Mem:5.11M (0.10M, peak 5.21M) | Preparing Scene data Fra:40 Mem:5.11M (0.10M, peak 5.21M) | Preparing Scene data Fra:40 Mem:5.11M (0.10M, peak 5.21M) | Creating Shadowbuffers Fra:40 Mem:5.11M (0.10M, peak 5.21M) | Raytree.. preparing Fra:40 Mem:5.11M (0.10M, peak 5.21M) | Raytree.. building Fra:40 Mem:5.13M (0.10M, peak 5.24M) | Raytree finished Fra:40 Mem:5.13M (0.10M, peak 5.24M) | Creating Environment maps Fra:40 Mem:5.13M (0.10M, peak 5.24M) | Caching Point Densities Fra:40 Mem:5.13M (0.10M, peak 5.24M) Sce: Scene Ve:8 Fa:6 La:1 Fra:40 Mem:5.13M (0.10M, peak 5.24M) | Loading voxel datasets Fra:40 Mem:5.13M (0.10M, peak 5.24M) Sce: Scene Ve:8 Fa:6 La:1 Fra:40 Mem:5.13M (0.10M, peak 5.24M) | SSS preprocessing Fra:40 Mem:5.13M (0.10M, peak 5.24M) | Volume preprocessing Fra:40 Mem:5.13M (0.10M, peak 5.24M) Sce: Scene Ve:8 Fa:6 La:1 Fra:40 Mem:5.13M (0.10M, peak 5.24M) Sce: Scene Ve:8 Fa:6 La:1 Fra:40 Mem:5.14M (0.51M, peak 6.74M) | Scene, Part 1-4 Fra:40 Mem:5.13M (0.45M, peak 6.74M) | Scene, Part 2-4 Fra:40 Mem:5.13M (0.40M, peak 6.74M) | Scene, Part 3-4 Fra:40 Mem:5.13M (0.34M, peak 6.74M) | Scene, Part 4-4 Fra:40 Mem:4.97M (0.29M, peak 6.74M) Sce: Scene Ve:8 Fa:6 La:1 Fra:100 Mem:5.13M (0.29M, peak 5.42M) | Preparing Scene data Fra:100 Mem:5.13M (0.29M, peak 5.42M) | Creating Shadowbuffers Fra:100 Mem:5.13M (0.29M, peak 5.42M) | Raytree.. preparing Fra:100 Mem:5.13M (0.29M, peak 5.42M) | Raytree.. building Fra:100 Mem:5.15M (0.29M, peak 5.45M) | Raytree finished Fra:100 Mem:5.15M (0.29M, peak 5.45M) | Creating Environment maps Fra:100 Mem:5.15M (0.29M, peak 5.45M) | Caching Point Densities Fra:100 Mem:5.15M (0.29M, peak 5.45M) Sce: Scene.001 Ve:8 Fa:6 La:1 Fra:100 Mem:5.15M (0.29M, peak 5.45M) | Loading voxel datasets Fra:100 Mem:5.15M (0.29M, peak 5.45M) Sce: Scene.001 Ve:8 Fa:6 La:1 Fra:100 Mem:5.15M (0.29M, peak 5.45M) | SSS preprocessing Fra:100 Mem:5.15M (0.29M, peak 5.45M) | Volume preprocessing Fra:100 Mem:5.15M (0.29M, peak 5.45M) Sce: Scene.001 Ve:8 Fa:6 La:1 Fra:100 Mem:5.15M (0.29M, peak 5.45M) Sce: Scene.001 Ve:8 Fa:6 La:1 Fra:100 Mem:5.16M (0.70M, peak 6.98M) | Scene.001, Part 1-4 Fra:100 Mem:5.16M (0.65M, peak 6.98M) | Scene.001, Part 2-4 Fra:100 Mem:5.16M (0.59M, peak 6.98M) | Scene.001, Part 3-4 Fra:100 Mem:5.16M (0.53M, peak 6.98M) | Scene.001, Part 4-4 Fra:100 Mem:4.99M (0.48M, peak 6.98M) Sce: Scene.001 Ve:8 Fa:6 La:1
Note that for "bug_test2.blend", the first scene is rendered at frame 40, which is the current frame of "Scene.001", frame_set is not able to change the current frame for this file.
The only difference (obvious) between the two files, is the second file is saved with a non-default scene as the current scene. I've tested many situations, and it appears that "frame_set" API will only work correctly when the default scene is active upon saving.
I've got a file with dozens of scenes. And even though in the above case, "Scene.001" does have correct frame, there's no guarantee that other scenes will have correct frames. The pattern appeared to be random. |