file Smooth Curves with Scale Two Zero

  • HiGuy
  • HiGuy's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • At college, may not be around
More
08 Mar 2015 02:36 - 08 Mar 2015 02:50 #1 by HiGuy
Smooth Curves with Scale Two Zero was created by HiGuy
A few months ago, I made a Torque Constructor plugin for making curves, called Scale Two Zero (name takes after Scale to Zero, ShadowMarble's plugin which does something similar but less powerful). With it, you can easily create smooth curves and complicated geometry. The tool is available from my site at this link , along with a few other goodies if you want them.

Downloads section (TL;DR):
Scale Two Zero
Map Splitter
Sample flat curve .map file
Sample banked curve .map file


On to curves, there are two types: flat and banked. They both have different ways of being creating, so there will be instructions for both.

Flat curves:
Flat curves are pretty simple, you shouldn't need any FlexiCubes or weird exporting tricks to get a map that works.

Start off by creating a thin slice, that will be rotated to create the curve:
File Attachment:


Select the edge vertices before rotating to simply the process:
File Attachment:


As well, select the top face:
File Attachment:


Switch to brush mode and radial clone the slice as you like. I used a center of (-20, 0, 0), an angle of 6, and 30 clones to form a large semicircle curve.
File Attachment:


Hold Alt+Shift and drag to box deselect the vertices on the ends, as they do not need to be modified by the tool.
File Attachment:


Should give you all of the edge vertices that need to be scaled:
File Attachment:


Run Scale Two Zero with the vertices, selecting the X, Y, and Z axes. You shouldn't have to change the lower bound or modifiers for this.
File Attachment:


After running, if you switch to face mode, all the top faces should be selected.
File Attachment:


Tweak the top faces to your preference.
File Attachment:


Select all the side faces to fix their texturing as well.
File Attachment:


A simple stretch to fit looks nice and is a very easy solution:
File Attachment:


And here's the final, finished curve!
File Attachment:


Banked curves:
Banked curves are massively simplified with Scale Two Zero. What used to take hours now can take only a few minutes. To create banked curves, however, you will need to use FlexiCubes and a map splitter. These shouldn't be too difficult, and I'll try to explain how to use them as best as I can.

To start off your curve, place down a default FlexiCube:
File Attachment:


They come untextured, so apply the texture of your choice to it. I chose custom_woodblockside:
File Attachment:


Expand the FlexiCube by moving its side vertices outward, until you get a strip similar to what we did in the flat curve:
File Attachment:


Select the edge vertices (be careful to not select the center vertices, they will mess up the curve):
File Attachment:


Configure your radial clone to your liking. I chose an origin of (-20, 0, 0), an offset of (0, 0, 0.3), a rotation of (0, -2, 0), and 30 clones for a nice, banking, rising semicircle curve. You can change these values within reason, but make sure that the slices' vertices line up well, otherwise the tool may try to connect them to other slices.
File Attachment:


Make the radial clone and switch to vertex mode, which should select all the edge vertices. Use alt+shift drag to box deselect the vertices on the end pieces, as they should not be modified by the tool:
File Attachment:


Use Scale Two Zero on the selected vertices, selecting the X, Y, and Z axes. If you get issues with vertices splitting, you may need to increase the Lower Bound to 0.01, but this shouldn't be an issue with a new curve. If you want to favor some axes above the others, you can adjust the X, Y and Z axis modifiers. Note that distances will be multiplied by these values, so smaller values (closer to 0) will prioritize those axes. For these parameters, (1 1 1) should work fine.
File Attachment:


Run Scale Two Zero, and admire the finished curve!
File Attachment:


Note that generally these complicated curves have difficulty exporting with Map2Dif by default. I'll touch on using a map splitter in another thread, but you can download it from my site at this link and give it a shot, if you want. You should only have to drag the map onto the executable/application to get it to split.

PQ in a nutshell
function clientcmd12dothepq() {
    commandToClient(LocalClientConnection, '34onthedancefloor');
}
Last edit: 08 Mar 2015 02:50 by HiGuy.
The following user(s) said Thank You: Kwill

Please Log in or Create an account to join the conversation.

  • RDs.The-dts-guy
  • RDs.The-dts-guy's Avatar
  • Offline
  • Developer
  • Developer
  • Blender pls
More
18 Mar 2015 10:20 - 18 Mar 2015 10:20 #2 by RDs.The-dts-guy
Replied by RDs.The-dts-guy on topic Smooth Curves with Scale Two Zero
THIS is freaking amazing. Finally got around to test this thing and as someone who uses original scale to zero quite often:


Heres the first curve I did using my old method but with new S2Z, it's slightly banked and a bit rough but roughness could be solved easily. Also no flexy cubes where used to make this, the method is based on Ottomarble's curve method where square is sliced diagonally. MBGMap2difPlus (by seziure) was used to convert this.
Aether way this is a huge timesaver, back in day when I used make curved pipes I had to scale down each vertice manually which took loads of time this thing should speed it up least 20times.



Some guy that does DTS shapes and levels.

AWESOME time HINT : When making PQ level place your custom interiors and textures in platinum/data/interiors_pq/custom
makes life easier for you and everyone else :)
Last edit: 18 Mar 2015 10:20 by RDs.The-dts-guy.

Please Log in or Create an account to join the conversation.

  • HiGuy
  • HiGuy's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • At college, may not be around
More
18 Mar 2015 15:03 #3 by HiGuy
Replied by HiGuy on topic Smooth Curves with Scale Two Zero

RDs.empire wrote:
this is a huge timesaver, back in day when I used make curved pipes I had to scale down each vertice manually which took loads of time this thing should speed it up least 20times.

That was the goal -- it always took me forever to make complicated curves, and eventually I just gave up and created this plugin. Hope it helps.

PQ in a nutshell
function clientcmd12dothepq() {
    commandToClient(LocalClientConnection, '34onthedancefloor');
}

Please Log in or Create an account to join the conversation.

Moderators: Kalle29AayrlRegislian