Всем доброго времени суток.Сейчас мы с вами напишем скрипт для смены камеры. 1.Добавим компонент(First Person Controller и 1 Камеру-Назовем ее Camera2). 2.Создадим JS скрипт с таким содержимым:
Code
var camera1 : Camera; var camera2 : Camera; camera1.enabled = true;//Включен (по стандарту). camera2.enabled = false; //Отключен function Update () { if(Input.GetKeyUp("c"))//Если нажата клавиша 'c' то: { if(camera2.enabled == false)//Если выключен то Включает camera2.enabled = true; else camera2.enabled = false; camera1.enabled = true; } }
3.Сохраним,и переместим наш JS скрипт в FirstPersonController 4. Настраиваем его: Camera1-(Это наша стандартная камера 1ого лица),Выбираем MainCamera которая находиться в папке First person controller Camera2-(Это камера 3лица),Выбираем нашу созданную камеру с названием Camera2. 5.Проверяем,при нажатии на C должна смениться камера,и обратно. P.S.-Переделал из скрипта с фонариком,спасибо пользователю:yyyaaazzz за скрипт.:3 Веб-Дизайнер.Умею работать с Sandbox. Понравилось что то? + в репу:3
Сообщение отредактировал ghostukr - Сб, 04 Фев 2012, 20:43
Хм. seaman, странно,почему у меня работает,у тебя на чем скрипт написан?не js случайно?я кстати пробовал написать как ты,(чуть по другому правда) но выдавало ошибку что то с else:c -- Ну а если что извините,я только начинаю всего 1-2 День работаю с Unity, а с скриптами на Js вообще неск.минут:3 Веб-Дизайнер.Умею работать с Sandbox. Понравилось что то? + в репу:3
Сообщение отредактировал ghostukr - Сб, 04 Фев 2012, 23:30
Ну по твоему скрипту камера1 всегда включена. Почему камеры при этом все-таки переключаются? Не знаю. Возможно что-то связано с тем, что одна Main, другая нет. Просто я бы не оставлял возможности глюков. Вдруг в будущем такое не сработает? Мой скрипт будет работать в любом случае. В нем одна камера включается, вторая выключается каждый раз при нажатии. Ну а чтобы не запутаться в if, в данном случае проще просто инвертировать текущее состояние. Это делает "!" - это оператор инверсии булевого значения. Т.е. если было true - станет false и наоборот.
Почему камеры при этом все-таки переключаются? Не знаю.
Такая фишка - последняя включенная камера приоритетная. Однако поддержу мнение что этим не стоит пользоваться, лучше жестко включать и выключать. X.cor.R (Prologue)