Open nicolaje opened 7 years ago
It looks like a change in blender internal (we use background scene to render camera since 1.1 I guess). By chance, can you try with an older version of Blender ?
I couldn't try with an older version of Blender because of some Python 3.5 incompatibility, but I tested with newer versions of Blender: it starts to "work" again from Blender 2.78.
The VideoCamera seems to be rendering correctly, there seems to be no interaction with the background, however using ROS and trying to set the Simulator view to the VideoCamera view (pressing F9) causes the following error:
[ 1.180] Showing view from camera: 'robot.camera.CameraRobot'
Python script error - object 'robot.camera.', controller 'Python':
[ERROR][MORSE] Uncaught exception, quit Blender.
Traceback (most recent call last):
File "/usr/local/lib/python3/dist-packages/morse/blender/calling.py", line 54, in sensor_action
component_action(contr)
File "/usr/local/lib/python3/dist-packages/morse/blender/calling.py", line 50, in component_action
cmpt_object.action()
File "/usr/local/lib/python3/dist-packages/morse/core/sensor.py", line 95, in action
function(self)
File "/usr/local/lib/python3/dist-packages/morse/middleware/ros/video_camera.py", line 48, in default
image.data = bytes(image_local)
BufferError: Image buffer is not available
Traceback (most recent call last):
File "/usr/local/lib/python3/dist-packages/morse/blender/calling.py", line 54, in sensor_action
component_action(contr)
File "/usr/local/lib/python3/dist-packages/morse/blender/calling.py", line 50, in component_action
cmpt_object.action()
File "/usr/local/lib/python3/dist-packages/morse/core/sensor.py", line 95, in action
function(self)
File "/usr/local/lib/python3/dist-packages/morse/middleware/ros/video_camera.py", line 48, in default
image.data = bytes(image_local)
BufferError: Image buffer is not available
Should I open a new issue for this one?
Hi,
I am using Blender 2.71, so I am trying to help. However, when I open your .blend file there is only a cube, see the picture.
Could you said me what I have to do exactly to reproduce the issue?
My configuration is:
Hi @dgerod ,
to reproduce the issue you have to use that builder script:
from morse.builder import *
robot = ATRV()
videocamera = VideoCamera()
robot.append(videocamera)
env = Environment('path/to/the/blend/file/test_empty.blend', fastmode=False)
with the .blend file provided (containing indeed only one cube).
I think with newer versions of Blender the Camera need some reworking, but currently this is a bit over my Blender-fu ...
Hello @nicolaje and @dgerod !
Since we don't have much time lately to manage PR and code review, I've just added both of you in the Developers group on morse-simulator
organization ;-)
Welcome aboard, feel free to push/merge (preferably after squashing), and thank you for your contributions ;-)
Thanks @pierriko :-)
Although I am quite busy with several things, I would try to do my best helping here.
@nicolaje, I have just tested your script and there is the problem, see below the screen-shots:
Using "MORSE edit" Using "MORSE run"
My configuration is: MORSE: 1.4-40-g0c24d-dirty Blender: v.2.71.0 Python: 3.4.0
Thanks Pierrick!
Diego, now if you try with Blender 2.78 that artifact will be gone, but if you press F9 to see from the camera view while publishing the camera's frames over ROS, you will get the Image Buffer error above.
Hi, I observed the same behavior when pressing F9. I am running simulation in fixed timestep mode.
Pressing F9: Blender <1.78: The timestamp of the next image is shifted by one simulation step. Blender =1.79: Same (next image misses one simulation step), buffer error in the ROS callback.
Hi guys,
using Blender 2.76, latest build of MORSE (also tested with 1.3), using a VideoCamera sensor makes the background of the scene to be a "view" from another Camera.. To explain, see the following GIF (builder and specific setup is described after)
On that .gif:
What I want is not to have that "ghost background" at all, as I have a custom skybox that gets messed up by this. I think it has to do with the "background scene" we can set in the BGE, but couldn't converge to a solution.
Minimal builder file to reproduce the issue:
Note that the "ghost background" seems to be pictured by a camera at (0, 0, 0), looking downward. Therefore, it appears only when there are objects below the Blender origin. Attached in the zipfile you will find the .blend file from the GIF.
Edit : same thing happens with any Camera sensor (VideoCamera, DepthCamera, SemanticCamera, Kinect, Velodyne)
test_empty.blend.zip