Hi, dalbar. I think I've encountered the similar issue.
I've got my custom sdf model, where I use my own material script. The approach I use is based on the SDF models available here (beer model as an example), see also related tutorial.
To be able to insert the model to the scene I've edited the ~/.gazebo/gui.ini,
[geometry]
x=0
y=0
[model_paths]
filenames=<YOUR_MODELS_ROOT_FOLDER_PATH>
which seemed to be enough. The model was visible in the 3D scene with the texture (just like in your case).
However, when I ran the camera preview using the script similar to the one below
rosrun image_view image_view image:=/some_path/camera1/image_raw
the camera got stucked every time I had added my custom model to the scene before launching the camera script.
TL;DR
instead of editing the gui.ini
file (if you do it), try to append to your ~\.bashrc file the following lines
#Gazebo
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/<YOUR_MODELS_ROOT_FOLDER_PATH>
to be sure it works run
source ~/.bashrc
and check if the $GAZEBO_MODEL_PATH
variable contains the directory
are you using the <road> sdf element? I think there is a bug with it. You can probably work around it by creating your own model of a flat box and the road texture.
I am not using the road element. Instead I did build a custom model in blender and linked the road texture in the .dae file.