Volver a la posición antes de rotar

Hola, me falta terminar una parte que es de código y no se programar he hecho lo que puedo, pero no consigo terminarlo, explico y si te apetece y quieres ayudarme, estaría eternamente agradecido.

El código consiste en que cuando reconozca una imagen pueda rotarla, pero quiero crear otro botón, que cuando le de la pieza vuelva a la posición inicial antes de girarla, la (0,0,0)
Son 3 imágenes diferentes por eso llamo modelo al gameObject, gracias y un saludo.

Código:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BotonRotar : MonoBehaviour
{
bool GiroUP = false;
bool GiroDOWN = false;
bool GiroLEFT = false;
bool GiroRIGHT = false;
GameObject Modelo;

// Start is called before the first frame update
void Start()
{
}

// Update is called once per frame
void Update()
{
if (Modelo != null)
{
if (GiroUP)
Modelo.transform.Rotate(100 * Time.deltaTime, 0, 0, Space.World);
}

{
if (GiroDOWN)
Modelo.transform.Rotate(-100 * Time.deltaTime, 0, 0, Space.World);
}

{
if (GiroLEFT)
Modelo.transform.Rotate(0, 0, 100 * Time.deltaTime, Space.World);
}

{
if (GiroRIGHT)
Modelo.transform.Rotate(0, 0, -100 * Time.deltaTime, Space.World);
}

}

public void EncontradaImagen0()
{
Modelo = GameObject.Find(«Ensamblaje»);
}

public void PerdidaImagen0()
{
Modelo = null;
}

public void EncontradaImagen1()
{
Modelo = GameObject.Find(«Cuerpo de Valvula»);
}

public void PerdidaImagen1()
{
Modelo = null;
}

public void EncontradaImagen2()
{
Modelo = GameObject.Find(«Cierre de Valvula»);
}

public void PerdidaImagen2()
{
Modelo = null;
}

public void PulsoUP()
{
GiroUP = true;
}

public void SueltoUP()
{
GiroUP = false;
}

public void PulsoDOWN()
{
GiroDOWN = true;
}

public void SueltoDOWN()
{
GiroDOWN = false;
}

public void PulsoLEFT()
{
GiroLEFT = true;
}

public void SueltoLEFT()
{
GiroLEFT = false;
}

public void PulsoRIGHT()
{
GiroRIGHT = true;
}

public void SueltoRIGHT()
{
GiroRIGHT = false;
}
}

Leer los comentarios en el foro