На сцене есть игрок Player.
На сцене есть камера Main Camera - камера созданная автоматически при создании новой сцены.
К камере подключен скрипт
using UnityEngine;
using System.Collections;
public class CameraFollowXJumpY : MonoBehaviour
{
private float cameraHeight;
private GameObject player;
private Transform playerTransform;
private float playerCapsuleCollider2DSizeY;
private Vector3 cameraOffset;
void Start()
{
player = GameObject.Find("Player");
playerTransform = player.GetComponent<Transform>();
playerCapsuleCollider2DSizeY = playerTransform.GetComponent<CapsuleCollider2D>().size.y;
// Изначально камера стоит на координатах x=координате игрока (для того чтобы при слежении игрок всегда был в центре камеры) y=0.
transform.position = new Vector3(playerTransform.position.x, 0f, transform.position.z);
cameraHeight = GetComponent<Camera>().orthographicSize;
cameraOffset = transform.position - playerTransform.position;
}
void Update()
{
// Код передвижения камеры по оси x
Vector3 targetCamPos = new Vector3(playerTransform.position.x + cameraOffset.x, transform.position.y, transform.position.z);
transform.position = Vector3.Lerp(transform.position, targetCamPos, 0);
transform.position = targetCamPos;
}
}
При передвижении игрока камера следует за ним по горизонтали. Все работает.
Далее я беру камеру и перетаскиваю - делаю её вложенным объектом в игрока. Теперь Main Camera вложена в Player.
Запускаю игру.
Если игрок стоит - камера отображает сцену - всё хорошо. Как только игрок начинает движение (срабатывает скрипт), камера отображает фон, установленный у неё в свойстве Background.
Как это исправить?