I have been learning Blender lately to create some gantries, signs, and so forth for a route I'm building.
And to get an idea of the placements and the size of the objects I'm making, I ended up putting the shape of a 10m DBTracks piece into Blender just to use as a reference.
Looking at that shape made me realize how brilliant Norbert was about building DBTracks.
There really are no 3d objects used as such. It's all merely multiple surfaces overlaid on top of one another with transparency to create the 3d effect of the sleepers, etc.
And for a while now it's been bugging me how superelevation does not work with the DBTracks system because there are no STF or XML track profiles for it.
So having seen how Norbert built the track shape I decided to experiment a bit yesterday.
What I did was to pluck out the necessary vertex positions of a cross section of the DBTracks piece. Then I used those positions to define the STF profile polylines.
Next I started mapping the DBTracks textures to those polylines manually by hand. That took some trial and error and I am not completely done with this part yet.
When plopping that STF profile into my route and enabling superelevation, this is the result so far:
The tracks in these images are all superelevated and created by Open Rails based on the STF profile I put together. Notice how the tracks sort of dig into the ground on one side, that's because they are superelevated and my embankments are placed too high.
There are some things I want to iron out before I share the STF profile. As mentioned I'm not fully done with the texture mapping yet, and I also want to make a version with overhead wires.
I need to adjust the distance between sleepers as well. It's very close, but does not fully correspond to the distance in the regular DBTracks pieces.
And sometimes there are weird gaps at one end of the generated tracks, like this:
I don't know what to do about those gaps yet. I have seen that happen for normal dynamic tracks too, so I don't know if it is something that can even be fixed.
What do you think? I'm quite happy with the result so far considering this was just an experiment I started yesterday.
And to get an idea of the placements and the size of the objects I'm making, I ended up putting the shape of a 10m DBTracks piece into Blender just to use as a reference.
Looking at that shape made me realize how brilliant Norbert was about building DBTracks.
There really are no 3d objects used as such. It's all merely multiple surfaces overlaid on top of one another with transparency to create the 3d effect of the sleepers, etc.
And for a while now it's been bugging me how superelevation does not work with the DBTracks system because there are no STF or XML track profiles for it.
So having seen how Norbert built the track shape I decided to experiment a bit yesterday.
What I did was to pluck out the necessary vertex positions of a cross section of the DBTracks piece. Then I used those positions to define the STF profile polylines.
Next I started mapping the DBTracks textures to those polylines manually by hand. That took some trial and error and I am not completely done with this part yet.
When plopping that STF profile into my route and enabling superelevation, this is the result so far:
The tracks in these images are all superelevated and created by Open Rails based on the STF profile I put together. Notice how the tracks sort of dig into the ground on one side, that's because they are superelevated and my embankments are placed too high.
There are some things I want to iron out before I share the STF profile. As mentioned I'm not fully done with the texture mapping yet, and I also want to make a version with overhead wires.
I need to adjust the distance between sleepers as well. It's very close, but does not fully correspond to the distance in the regular DBTracks pieces.
And sometimes there are weird gaps at one end of the generated tracks, like this:
I don't know what to do about those gaps yet. I have seen that happen for normal dynamic tracks too, so I don't know if it is something that can even be fixed.
What do you think? I'm quite happy with the result so far considering this was just an experiment I started yesterday.
Comment