Search In
• More options...
Find results that contain...
Find results in...

# Incorrect rotation of object

## Recommended Posts

Posted (edited)

Hi, I searched something about this, but nothing found. I have problem with place new object, when my object have any rotation in z axis, rotations on the other axes are rounded to ten(not exactly, 179 or 171 is always 180, 170 or 165 is 170, etc.). When rotation on z axis is 0, rotation on other axes is ok(175.65 is 175.65, not 180 like before).

For add this object I used map editor, MAP IO script in 3ds max, Rotation Calc and notepad, but always have this problem.

Any solution?

Edit: If you try to set rotation(180, 176.5, 70 or 0,356.5,108) in med, for any object, only rotation for z axis is visible, for y and z is 0.

Edited by Ryba15
asgf

##### Share on other sites
Posted (edited)

If you have trouble, consider editing the file manually. You just need to know the x, y, z rotation and convert it to quaternion and replace the values in the IPL.

IPL has this format:

`ID, modelname, interior, posX, posY, posZ, quaternionX, quaternionY, quaternionZ, quaternionW, LOD`

and this Python 3.6 script will convert x y z rotation to quaternion (hope it's correct):

```import math

x = 0 #put any degree value
y = 90 #put any degree value
z = 0 #put any degree value

cy = math.cos(x / 2)
sy = math.sin(x / 2)
cr = math.cos(y / 2)
sr = math.sin(y / 2)
cp = math.cos(z / 2)
sp = math.sin(z / 2)

prettify = lambda y: (lambda x: int(x) if "." not in x else float(x))('{0:g}'.format(y))

qw = prettify(cy * cr * cp + sy * sr * sp)
qx = prettify(-(cy * sr * cp - sy * cr * sp))
qy = prettify(-(cy * cr * sp + sy * sr * cp))
qz = prettify(-(sy * cr * cp - cy * sr * sp))

print(qx, qy, qz, qw, sep=", ")```

Edited by guard3

##### Share on other sites

I notice something wrong, if I change x or y axis form 0 to 5(by med, or manual in notepad with calculate quaternion) for biggest skyscraper in LS, in med I see corectly rotation, but in the game only axis z is rotated(which I don't touch, it's still should be 0). But when I change x or y axis form 0 to 10, or bigger, rotation in game is corectly.

##### Share on other sites

You can always rotate the object's pivot as a last resort

## Create an account

Register a new account