Alignment Copier

Nothing says fun like finding an old tool you made a couple years ago, and dropping on to the workshop.

The Alignment Copier Tool

-Allows you to quickly copy the angles of one object to another.
-Comes with an angle offset feature, allowing you to rotate object 1 relative to object 2. (Half of why this tool’s useful, by the way…)
-Includes local and world offsets.

Works really well when you want to bolt wire turrets on to a vehicle, or if you’re like me, and want to have an easier time working with SBEP Gyropods. For screenshots, follow the link below.

Workshop: http://steamcommunity.com/sharedfiles/filedetails/?id=186808873

Update:
-Added HUD elements.
-Added target ghost previewing, so you can see the results before applying them.
-Flipped selection order, to better fit the use of said ghost preview. Now you select the source object first, and the object you’re rotating second.

http://cloud-2.steampowered.com/ugc/560989571659577021/1DADDF7AADF0591FF2C9105C98A7360DEADF4667/[/T]
[T]http://cloud-2.steampowered.com/ugc/560989571659583079/932458B84BF18D921A410E84B837B89E87603917/[/T]
[T]http://cloud-2.steampowered.com/ugc/560989571659593566/181F24AC7DB297B62537CA90E8E1268244DEAF66/

So, this? Pretty much…

He had fancy music in his video.

http://steamcommunity.com/sharedfiles/filedetails/?id=184072695

Not even close.

That tool focuses on arbitrary grids and placement. This only rotates relative to another prop of your choosing.

Hmm, I was just saying. It looks like that from a glance. Would you be able to make a video or something on it? Probably useful so people get the purpose of it better.

From the description, it sounds like it does this:

[lua]
thing_you_clicked:SetAngles(other_thing_you_clicked:GetAngles()+custom_offset)
[/lua]

I’m not sure why anyone would need this while building, given that you should always start building in one of the 45 degree snap angles the physgun provides.

And what are you supposed to do if you want something to have a 15 degree offset from another object? 45 degree snaps aren’t going to help much.

I honestly don’t see what this tool is useful for, since the physgun can already align the angles of things (down to 45 degrees anyway.)
Maybe the angle offset feature could be good for something, but I think it requires a better implementation; a custom axis option would have many practical applications. I could use something like that for making symmetrical roofing.

It’s a good try, though.

So, define an axis by Normal, and allow rotating around that?

I’ll see what I can do.

I’ve come to the conclusion that this tool’s simplicity was not a result of an aim to be simple, but because when I wrote it 2 years ago, I was missing about half a clue.

I added an offset option for a custom axis. For ease of use, the custom axis is defined using pitch and yaw. Right clicking on an object will take its angles and make them your custom axis, but you can set it manually in the context menu.

But wait, there’s more! All 4 offsets now come in two flavors: Local and World.
Order of application of offsets:

  1. Local X, Y, Z
  2. Local Custom
  3. World X, Y, Z
  4. World Custom

Eventually, I’d like to add some visual indicators showing your custom axes. In the mean time, I updated the workshop.

Progress!

-Flipped the selection order. First you pick an object for source angles, then you pick an object to apply them to. This was due to the next change.

-Added ghost selections. Now you can preview the rotation before applying it.

-Added axis indicators for both local and world. The world indicator is always drawn at the object’s origin, while the local one is always in the middle of the screen. The world indicator only shows for the object you’re looking at, while the local indicator reflects the source angles if possible, otherwise the object you’re looking at.

Screenshots
http://cloud-2.steampowered.com/ugc/560989571659577021/1DADDF7AADF0591FF2C9105C98A7360DEADF4667/
http://cloud-2.steampowered.com/ugc/560989571659583079/932458B84BF18D921A410E84B837B89E87603917/
http://cloud-2.steampowered.com/ugc/560989571659593566/181F24AC7DB297B62537CA90E8E1268244DEAF66/

Any requests before I push this update to the workshop?

Looks pretty cool! I have some constructive criticism for you, though.

I think your approach to providing world/local rotation support is unnecessarily complicated. I can’t think of a single situation in which I would need to apply BOTH world and local angular offsets at once. I would suggest having just one set of y/p/r sliders and adding an option to switch between world/local coordinates. This will make your control panel easier to read and it will make it easier to use, too. And if someone does need to apply both kinds of offsets, they can be performed independently without any trouble (as far as I know.)

It might just be me, but I don’t want to adjust a bunch of sliders just to get something to rotate a specific amount of degrees on a custom axis either. What I think you need to do is make a point-and-click interface for defining the axis; besides giving the user an alternate way to define where their angle actually is without messing with the sliders, you could easily add support for axis lines that don’t rest on the origin – I notice that’s what they all currently do. However, keeping the sliders there would still be nice for those who want to use them.

Another thing I would like to see different, though not anything functionally significant, is your visual axis indicators. I understand they show the center line of each axis, but it would make more sense to show them as circles that go around that axis instead. I have seen this done in a lot of 3D model editors that I have used, and for me personally, it’s a lot easier to understand than just axis lines alone.

Overall, I think you have a great concept down, and this is definitely something that can be useful for precise building. You just need to simplify a couple things, and maybe clean up your interface a bit.