/** * @brief Rotates game object based on provided axis angles and relative space. * * If relative space is SELF then the game object will rotate based on its forward vector. **/ public void Rotate(TSVector eulerAngles, Space relativeTo) { TSQuaternion result = TSQuaternion.identity; if (relativeTo == Space.Self) { result = this.rotation * TSQuaternion.Euler(eulerAngles); } else { result = TSQuaternion.Euler(eulerAngles) * this.rotation; } result.Normalize(); this.rotation = result; }
public static TSQuaternion Euler(TSVector eulerAngles) { return(TSQuaternion.Euler(eulerAngles.x, eulerAngles.y, eulerAngles.z)); }