- Home /
How can I freeze specific objects while camera is moving?
Hey, I'm using this code to follow the main player movements:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CompleteCameraController : MonoBehaviour {
public GameObject player; //Public variable to store a reference to the player game object
private Vector3 offset; //Private variable to store the offset distance between the player and camera
// Use this for initialization
void Start ()
{
//Calculate and store the offset value by getting the distance between the player's position and camera's position.
offset = transform.position - player.transform.position;
}
// LateUpdate is called after Update each frame
void LateUpdate ()
{
// Set the position of the camera's transform to be the same as the player's, but offset by the calculated offset distance.
transform.position = player.transform.position + offset;
}
}
But I would like to freeze some objects like the background while the camera keeps moving
How can I do that?
Thank you
Easiest possible solution is to create a System timer, set Time.timeScale to zero, and call your camera movement using the System.Timer ins$$anonymous$$d of Time.deltaTime. This will stop all actions from objects using scaled time, but ignore scaled time for objects using the system timer.
Answer by Esteem · Apr 03, 2019 at 09:14 PM
Several ways to do this:
1. make the background object a child of the camera, so it will move with the camera
2. make the background super-large so that when you move the camera, the background barely changes (not optimal solution in most cases, good for paralaxing though)
3. write a MoveBackground : Monobehaviour class of some sort and in Start() store the Camera.main.transform to local variable and then in Update() do transform.position = myLocalCamRef.position; (if it's 3D you should probably puit an offset for it so the background isn't in the exact same space as the camera)
can't think of other easy and fast ways to do it atm.
Your answer
Follow this Question
Related Questions
camera movements very slow, why!? :) 2 Answers
How can you make a FPS controller camera "fly"? 1 Answer
Mouse Camera Control 0 Answers
Teleporting a camera to a camera 1 Answer
Camera 2D Movement android unity 1 Answer