Четверг, 14 Ноября 2024, 10:27

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Слежение Камеры
vampir0305Дата: Вторник, 18 Февраля 2014, 18:11 | Сообщение # 1
Unity C# Programmer
Сейчас нет на сайте
Как сделать несколько камер которые будут стоять с разных сторон от машины и все могли следить за этой машиной и можно было переключаться между этими камерами.

Красочная сюжетно-ориентированная игра-головоломка
DantorSДата: Среда, 19 Февраля 2014, 12:56 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Возможно так.

Добавлено (19.02.2014, 12:56)
---------------------------------------------
Я подзадумался над этим вопросом и возник еще один - если есть 4 камеры (к примеру 4 вида) как при нажатии на кнопку сделать одну активную камеру, а все остальные удалить, при нажатии на другую кнопку сделать вторую активную камеру, а остальные удалить и т.д..

lakorisДата: Среда, 19 Февраля 2014, 15:41 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Иф(Инпут.ГетКейДаун.КейКоде.С){
Камера1.енаблед = фалсе;
Камера2.енаблед = труе;
Камера3.енаблед = фалсе;
Камера4.енаблед = фалсе;
}
DantorSДата: Среда, 19 Февраля 2014, 15:59 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
я говорил не о том как деактивировать камеры, а как их програмно удалить, запоминая в системе привязку и местоположение и при нажатии на кнопку возобновить с теми же параметрами. Представь я делаю аналог GTA. Есть 30 машин, а система уже будет обрабатывать не 30 камер (ну при выходе входе в машину), а 120.

Добавлено (19.02.2014, 15:59)
---------------------------------------------
Я просто не знаю или это тоже самое?

allodsДата: Среда, 19 Февраля 2014, 16:23 | Сообщение # 5
почти ветеран
Сейчас нет на сайте
Или обойтись одной камерой и двигать в нужное место

Добавлено (19.02.2014, 16:23)
---------------------------------------------

Цитата allods ()
а как их програмно удалить

Destroy(camera.gameObject);
DantorSДата: Среда, 19 Февраля 2014, 20:22 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
allods, ты до конца мое сообщение не читал? нужно удалить и дальше возобновить с параметрами удаленой камеры (например местоположение камеры)
robertonoДата: Среда, 19 Февраля 2014, 20:40 | Сообщение # 7
Чокнутый Кот
Сейчас нет на сайте
DantorS, а зачем удалять вообще? Отключил камеру и она тоже самое что и удаленная.
DantorSДата: Среда, 19 Февраля 2014, 20:44 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Сказал же:
Цитата
Я просто не знаю или это тоже самое?
. Мало ли unity хранит в себе данные о этих камерах ( сначала закружает, но функции делает не активными). Теперь все вопросов нет.
nwsxДата: Четверг, 20 Февраля 2014, 06:44 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Цитата lakoris ()
Иф(Инпут.ГетКейДаун.КейКоде.С){
Камера1.енаблед = фалсе;
Камера2.енаблед = труе;
Камера3.енаблед = фалсе;
Камера4.енаблед = фалсе;
}
хреновый вариант кстати. сильный лаг будет в момент переключения камеры


Westboro
Dungeon Journey на Google Play
DantorSДата: Четверг, 20 Февраля 2014, 12:57 | Сообщение # 10
заслуженный участник
Сейчас нет на сайте
Цитата nwsx ()
хреновый вариант кстати. сильный лаг будет в момент переключения камеры

А какой вариант лучше тогда?

Добавлено (20.02.2014, 12:57)
---------------------------------------------
мне казалось это самый оптимальный

Nasa13Дата: Четверг, 20 Февраля 2014, 12:58 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
Не будет лагать,если есть оптимизация, уже проверено, но как сказали выше ,лучше использовать 1 камеру ...

В чем плюсы?

- Меньше объектов в иерархии
- один и тот же рендер камеры используется...

Минусы

- код увеличиться...Нужно менять расположения local , и привязывать к объекту машина(а если уже как бы содержится в иерархии объекта машины, то просто менять local позицию)...

Пример кода

targetY = Quaternion.Euler (0.0F,0.0F,0.0F);
cameraMain.transform.localRotation =Quaternion.Lerp(cameraMain.transform.localRotation, targetY,Time.deltaTime*smooth);

Только плюс к этому ,менять расположение...Забыл указать=)


все люди одинаково полезны,говорил людоед туристам.

Мешает грудь? Спячь под "СПОЙЛЕР.*)

моя мини демка ,хоррор http://3drad-alec.ucoz.com/forum/6-39-1


Сообщение отредактировал Nasa13 - Пятница, 21 Февраля 2014, 21:35
berilДата: Пятница, 21 Февраля 2014, 14:41 | Сообщение # 12
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Вот камера которая следует за обьектом
мб поможет
Код

using UnityEngine;
using System.Collections;

/*=====================Камера следящая ха обьектом====
  * beril(11.02): добавить маштабирование
  *  
  *  
  * *///=================Описание======================
/*Камера перемещается за target
  *  
  *  
  * */
public class CameraFolowing : MonoBehaviour{
      
      
     public Transform target;// Обьект за которым нужно следовать
     public float smoothTime = 0.3f;// Сглаживание

     private Vector3 velocity = Vector3.zero;
     private Vector3 initialPosition;

     void Start()
     {
         initialPosition = transform.position - target.position;
     }

     void Update()
     {
         Vector3 targetPosition = new Vector3(target.position.x + initialPosition.x, target.position.y + initialPosition.y, target.position.z + initialPosition.z);
         transform.position = Vector3.SmoothDamp(transform.position, targetPosition, ref velocity, smoothTime);
     }
}




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
nwsxДата: Пятница, 21 Февраля 2014, 20:52 | Сообщение # 13
постоянный участник
Сейчас нет на сайте
Цитата Nasa13 ()
Не будет лагать,если есть оптимизация
лол, нуп


Westboro
Dungeon Journey на Google Play
Nasa13Дата: Пятница, 21 Февраля 2014, 21:09 | Сообщение # 14
заслуженный участник
Сейчас нет на сайте
nwsx, на чем ты основываешься? Я проверял, а ты? Проверял переключение между камерами, все отлично...Ты неадекватный

все люди одинаково полезны,говорил людоед туристам.

Мешает грудь? Спячь под "СПОЙЛЕР.*)

моя мини демка ,хоррор http://3drad-alec.ucoz.com/forum/6-39-1
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг