Форум программистов, компьютерный форум, киберфорум
Наши страницы
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Kirik516
6 / 6 / 1
Регистрация: 27.12.2014
Сообщений: 66
1

TPSMouseLook; Камера от 3-его лица; Синхронизация поворотов камеры и персонажа

11.07.2015, 17:55. Просмотров 2605. Ответов 4
Метки нет (Все метки)

Всем добрый день! Сразу оговорю, что уровень моих знаний очень низкий, так что прошу строго не судить меня. Моя проблема возникла в Unity Version 4.5.5f1, скрипты пишу в MonoDevelop 4.0.1 на языке C#.
Достаточно дельного по своей проблеме в интернете я ничего не нашел, поэтому обращаюсь сюда.
Собственно описание самой проблемы.
Пытаюсь сделать условно простой обзор камерой от третьего лица. Для понимаю хочу привести примеры игр-ориентиров: Rune, Gothic. Т.е. поворот персонажа происходит одновременно с вращением камеры вокруг оси Y. Возникла проблема несинхронного их поворота, поворот персонажа запаздывает.
Привожу кусок скритпа, в котором это реализуется. Скрипт привязывается к камере.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
void FixedUpdate()
{
    gameObject.transform.RotateAround(controlledObject.transform.position,
        controlledObject.transform.up, Input.GetAxis("Mouse X") * sensitivityX);
 
    rotationY = Input.GetAxis("Mouse Y") * sensitivityY;
 
    gameObject.transform.RotateAround(controlledObject.transform.position,
        gameObject.transform.right, -rotationY);
 
    if (charRot == CharacterRoration.Enabled)
        controlledObject.transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityX, 0);
}
Где controlledObject является parent камеры.
Подскажите, пожалуйста, в чем моя ошибка.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2015, 17:55
Ответы с готовыми решениями:

Камера у персонажа от третьего лица
Начал делать так, чтобы если ты играешь за персонажа от третьего лица, то ты мог поворачивать...

Посоветуйте игры от лица женского персонажа для ПК
Хотелось бы что-то типа байонетты или т.п. Но байонетта только приставочная, мб есть что-то такое...

Сделать передвижение персонажа с видом от первого лица в graph3d
Сделать передвижение персонажа с видом от первого лица в graph3d. Добавлено через 2 минуты Ну...

Камера от 3-го лица
Ребят помогите!!! Необходимо написать скрипт поворота персонажа за камерой, т.е. обычная камера от...

Камера от первого лица
В который раз, вечер добрый, очередная проблема, хотя не решились еще предыдущие) Необходимо...

4
ShortKedr
4 / 4 / 1
Регистрация: 31.10.2013
Сообщений: 36
12.07.2015, 21:26 2
Если controlledObject это родитель камеры, то возможно в этом и проблема. Попробуй их разделить. Ещё есть вариант поворачивать сразу 2 объекта. Но лучше поворачивать только перса, а камеру привязать к нему и вращать только по Y. Если всё равно что то лагает, сделай интерполяцию поворота(p.s. для сети, я не знаю как там обстоят дела, просто советую)
1
Kirik516
6 / 6 / 1
Регистрация: 27.12.2014
Сообщений: 66
12.07.2015, 22:36  [ТС] 3
ShortKedr, скорее всего вы были правы. По крайней мере такая штука дает нужный эффект, перс поворачивается вместе с камерой.
C#
1
2
3
4
if (Input.GetKeyDown(KeyCode.R))
{
    controlledObject.transform.Rotate(0, 50F, 0);
}
Спасибо за помощь.
0
lentinant
98 / 85 / 19
Регистрация: 15.04.2015
Сообщений: 353
Завершенные тесты: 1
13.07.2015, 12:17 4
Можно было попробовать присваивать персонажу поворот камеры.
0
Kirik516
6 / 6 / 1
Регистрация: 27.12.2014
Сообщений: 66
13.07.2015, 12:33  [ТС] 5
lentinant, да, так и надо. ShortKedr это и советовал.
Вообще, на мой взгляд, эта тема уже исчерпана. Можно закрыть ее.
0
13.07.2015, 12:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2015, 12:33

Unity 5, камера от 3 лица
Привет вам добрые форумчане, столкнулся с небольшой проблемой. Написал механику движения от 3 лица,...

Камера персонажа
Идея проста - сделать так, чтобы фокус (камера) следовала за игроком. Я создаю карту на Windows...

Упор персонажа в края камеры
Добрый вечер! Пару дней назад начал делать игру на Unity3D в качестве курсового проекта, C# изучаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru