2D Camera

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

2D Camera

Сообщение Sanek2013 17 фев 2013, 22:04

Напишите пожалуйста скрипт для 2d камеры.Мне надо чтобы она следила за объектом,объектом является шарик он катится и камера должна за ним следить.Я пробовал цеплять камеру на шар но когда он крутится камера вместе с ним тоже крутится.Сама игра типо 2d платформера. Пожалуйста помогите.Вот пример Изображение
Sanek2013
UNец
 
Сообщения: 1
Зарегистрирован: 17 фев 2013, 21:26

Re: 2D Camera

Сообщение Левш@ 17 фев 2013, 23:47

Присваивай камере позицию шарика по x & y.
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: 2D Camera

Сообщение Андрей 18 фев 2013, 08:01

Создать скрипт C# с именем CameraFolow2D
Открыть его в MonoDevelop и вставить код скрипта из цитаты располагающейся ниже.
Вернуться в Unity3d и перетащить файл скрипта на объект за которым нужно следить (на мяч)

Скрипт управляет перемещением камеры, которая держится сбоку от объекта на расстоянии глобальной Z координаты на момент запуска скрипта.

Я написал этот скрипт меньше чем за минуту. Ничего сложного в нём нет :)

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class CameraFolow2D : MonoBehaviour {
       
        public float smoothSpeed = 1f, updateTime = 0.01f;
       
        Vector3 fromPos, toPos;
        Transform transformMainCamera, myTransfom;
        float lastTime, distanationZ;
       
        void Start(){
                myTransfom = transform;
                transformMainCamera = Camera.mainCamera.transform;
                distanationZ = transformMainCamera.position.z;
        }
       
        void Update () {
                fromPos = transformMainCamera.position;
                fromPos.z = distanationZ;
                if(Time.time - lastTime >= updateTime){
                        lastTime = Time.time;
                        toPos = myTransfom.position;
                        toPos.z = distanationZ;
                }
                transformMainCamera.position =  Vector3.Lerp(fromPos, toPos, Time.deltaTime * smoothSpeed);
        }
}
Аватара пользователя
Андрей
UNIт
 
Сообщения: 89
Зарегистрирован: 06 окт 2011, 10:48


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 26