Getting close to release: I more or less finished some remaining issues with the new feature (detail objects).
As you can see it is not a big problem to generate complex curved objects with a lot of details, while still being able to preserve some polygons. The last part is of course spoken relatively, since scenes like these will always consume more polygons than simpler ones and thus have to be used carefully.
The curved corner part of this bridge was generated from this simple map scene:
Entities like cyclers, NPCs and thelike are being rotated and aligned along the curve as well. This behaviour can be deactivated, too.
The desert scene in the gallery was compiled with UnkleMike’s modification of the VHL Compilers, which enables models to cast shadows.
After weeks of annoying guesswork I was finally able to implement proper rotations for point entities. Now if you ask yourself “Isn’t it just like rotating a vertex in 3D?”. Well, not exactely. Let’s just say I now know a lot more about Euler angles and rotation matrices than before and I am “absolutely” sure that will be of help in my future life. Yaha.
Anyway, when including detail groups into a source map (loose objects that are not meant to be a part of the curve itself), their member entities can be automatically rotated both along the Pitch and Yaw axis, which means the objects will follow the curve entirely in direction and orientation. This can be helpful to generate specific scenes I can imagine.
Realistic scenes like the one I added.
You know. Realistic stuff like that.
I think I will be able to release version 0.5 in the next couple of weeks.
a little preview on the next feature for version 0.5 of Map2Curve:
Detail objects can be anything that is not meant to be turned into a curve, but is still supposed to be aligned along a curve object.
This will include point entities, too, as well as entire solid brush objects, for example lights, cross beams, ropes, etc. Anything you might want to “decorate” your curve object with.
Of course there will be certain limitations again, but this is at least meant to be a huge relief for certain mapping tasks. Primarily it eliminates the need for manually doing it by using “Paste Special” in an Editor.
Texture alignment on ramps now finally working
The texture alignment on ramps kept bothering me for weeks now and I finally decided to use a method that does the same as JACK’s UV lock feature. It basically just pulls the texture into the direction you’re moving the vertices to and preserves the original texture shift, while adjusting its scales to fit the new face length.
While this is the best method for texture shift preservation, it will also lead to a certain distortion, when the slope angle is very steep. The pros of that method outweigh this con though.
Initially I ran into problems when I tried to compile the pipes in the upper example. I realized that this was caused by them having floating point coordinates, so I was able to compile the demo map without any compiling issues in the end, by just rounding all coordinates to integer numbers – AKA snapping them to the grid – using “round 1” during the generation process.
Doing this won’t have any noticable effect on the texture aligns or shifts, which is absolutely brilliant, because having a managable mesh is important when working in any editor. Of course this will also break any mesh with sloped but non-triangle faces. This should be kept in mind when rounding meshes that actually don’t need to be triangulated.
Alternative texture alignment
Anyway, as an alternative I also included the old method I was working on. It can be used in situations, where crossing details on the horizontal texture axis aren’t that bad, but having an upright vertical texture align is relevant for a natural look… or whatever.
Currently I am still working on the next update for Map2Curve. In addition to the path extrusion feature, I want to concentrate on correct texture alignment for sloped surfaces this time, like those on a ramp.
When this works smoothly I will be able to combine it with the path extrusion feature which will make very interesting landscape possible.
Thoughts about architecture overkill due to generated brushwork
One idea suggests itself. With a tool like this it becomes easy to create curved brushwork with a lot of details in just a few minutes. A level of detail which quickly becomes too much for the Goldsource engine, so one has to keep in mind: With great power, comes great responsibility.
The polygone usage of these arcs or ramps is – compared to manual low-res construction methods – significantly higher, which will demand for a very thoughtful and occasional usage in suited situations, where a small amount of curvy architecture has a huge impact on the overall quality of the scene.
In my opinion creativity and discretion are very important resources in good leveldesign, if not the most important.