I made a quick script to snap your view to a certain vector to make it easier to take isometric shots (adapted from old aimbot script):
function snapAimToVec(%obj, %target)
{
%ev = %obj.getEyeVector();
%x = getWord(%ev, 0);
%y = getWord(%ev, 1);
%z = getWord(%ev, 2);
%xx = getWord(%target, 0);
%yy = getWord(%target, 1);
%zz = getWord(%target, 2);
$mvYaw = mATan(%xx, %yy) - mATan(%x, %y);
$mvPitch = mATan(%z, mSqrt(%x * %x + %y * %y)) - mATan(%zz, mSqrt(%xx * %xx + %yy * %yy));
if ($mvYaw > $pi)
$mvYaw -= $pi * 2;
if ($mvYaw < -$pi)
$mvYaw += $pi * 2;
}
Try "snapAimToVec(findclientbyname("namehere").getControlObject(), "0.57735 -0.57735 -0.57735");"! You can also do "0 0 -1" for %target and then use "$mvYaw = $pi / 2;" for top-down shots.
Edit: Someone wanted to make a 360 view of a build, so I wrote a quick script for that too:
function snapAimCircle(%obj, %angle, %center, %height, %width)
{
%circle = vectorScale(mCos(%angle) SPC mSin(%angle) SPC 0, %width);
%pos = getWords(vectorAdd(%center, %circle), 0, 1) SPC (getWord(%center, 2) + %height);
%obj.setTransform(%pos SPC getWords(%obj.getTransform(), 3, 6));
snapAimToVec(%obj, vectorNormalize(vectorSub(%center, %pos)));
}
"snapAimCircle(findclientbyname("namehere").getControlObject(), <angle in radians>, <center of build xyz>, <height>, <width>);" to move your control object (camera works best) and snap its view to the center around a circle.
Result:
https://i.imgur.com/J0RHEOz.gifv(I'm really terrible at making GIFs, but more skilled people can use this to make something better!)