Слежение Камеры
|
|
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
|
|
| |