extended flycam initial camera rotation

Hi,

I’m using Extended Flycam script for camera movement and i’m trying to start at a different angle than (0,0,0)
In the start void I align camera to look at a target.
Then, in update, it jumps back to 0,0,0 rotation.

Please help!
Thank you

Here’s the code:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Assertions;
using UnityEngine.UI; 

public class CamControl : MonoBehaviour {

    /*
    EXTENDED FLYCAM
        Desi Quintans (CowfaceGames.com), 17 August 2012.
        Based on FlyThrough.js by Slin (http://wiki.unity3d.com/index.php/FlyThrough), 17 May 2011.

    LICENSE
        Free as in speech, and free as in beer.

    FEATURES
        WASD/Arrows:    Movement
                  Q:    Climb
                  E:    Drop
                      Shift:    Move faster
                    Control:    Move slower
                        End:    Toggle cursor locking to screen (you can also press Ctrl+P to toggle play mode on and off).
    */

    public float cameraSensitivity = 200;
    public float climbSpeed = 10;
    public float normalMoveSpeed = 20;
    public float slowMoveFactor = 0.25f;
    public float fastMoveFactor = 3;
    public Text angleDisplay;
    public Text angleDisplay1;

    private float rotationX = 0.0f;
    private float rotationY = 0.0f;

    [SerializeField] Transform targetObject;
    [SerializeField] float cameraDistance;
    [SerializeField] float altitude;

    void Start ()
    {
        //Assert.IsNotNull(cam, "Main Camera not found. TAGS??");
        Vector3 temp1 = new Vector3(0,altitude,-cameraDistance);
        transform.position = targetObject.transform.position + temp1;
        transform.LookAt(targetObject);

    }

    void Update ()
    {
        if (Input.GetKey (KeyCode.Mouse1)) {
            rotationX += Input.GetAxis("Mouse X") * cameraSensitivity * Time.deltaTime;
            rotationY += Input.GetAxis("Mouse Y") * cameraSensitivity * Time.deltaTime;
            rotationY = Mathf.Clamp (rotationY, -90, 90);
                             
            transform.localRotation = Quaternion.AngleAxis(rotationX, Vector3.up);
            transform.localRotation *= Quaternion.AngleAxis(rotationY, Vector3.left);
         }

        if (Input.GetKey (KeyCode.LeftShift) || Input.GetKey (KeyCode.RightShift))
        {
            transform.position += transform.forward * (normalMoveSpeed * fastMoveFactor) * Input.GetAxis("Vertical") * Time.deltaTime;
            transform.position += transform.right * (normalMoveSpeed * fastMoveFactor) * Input.GetAxis("Horizontal") * Time.deltaTime;
        }
        else if (Input.GetKey (KeyCode.LeftControl) || Input.GetKey (KeyCode.RightControl))
        {
            transform.position += transform.forward * (normalMoveSpeed * slowMoveFactor) * Input.GetAxis("Vertical") * Time.deltaTime;
            transform.position += transform.right * (normalMoveSpeed * slowMoveFactor) * Input.GetAxis("Horizontal") * Time.deltaTime;
        }
        else
        {
            transform.position += transform.forward * normalMoveSpeed * Input.GetAxis("Vertical") * Time.deltaTime;
            transform.position += transform.right * normalMoveSpeed * Input.GetAxis("Horizontal") * Time.deltaTime;
        }


        if (Input.GetKey (KeyCode.Q)) {transform.position += transform.up * climbSpeed * Time.deltaTime;}
        if (Input.GetKey (KeyCode.E)) {transform.position -= transform.up * climbSpeed * Time.deltaTime;}
}

I think you want:

    void Start ()
    {
        //Assert.IsNotNull(cam, "Main Camera not found. TAGS??");
       Vector3 temp1 = new Vector3(0,altitude,-cameraDistance);
       transform.position = targetObject.transform.position + temp1;
       transform.LookAt(targetObject);
       rotationX = transform.rotation.x;
       rotationY = transform.rotation.y;

I tried exactly those two lines, but it made no difference.
I think it has something to do with these two lines:

transform.localRotation = Quaternion.AngleAxis(rotationX, Vector3.up);
transform.localRotation *= Quaternion.AngleAxis(rotationY, Vector3.left);

I suffer from the same problem. Did you get off?