Управление от первого лица
Здравствуйте, мне необходим код для того что бы заставить объект( с прикрепленной камерой к лицу) заставиться двигаться как на wasd, так и по осям, движением мышки, вообщем стандартное управление от первого лица. Я уже находил некоторые коды, и если движение работало прекрасно, то при перемещении мышки по вертикали персонаж почему-то ходил назад и вперед соответственно. Если вы знаете как это исправить, или же имеете готовый код, отпишитесь пожалуйста!
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Управление камерой от первого лица под Андроид
как сделать управления как у шутерах на андроид где только не искал не где не на шол помогите.
Метание копья от первого лица
подскажите, если кто знает. как в unity3d сымитировать полет копья/стрелы от первого лица, чтоб.
Мобильная низкополигональная «GTA» от первого лица
Приглашаю разработчиков низко-среднего уровня на создание этой игры, т.к. для меня одного слишком.
Камера от первого лица
В который раз, вечер добрый, очередная проблема, хотя не решились еще предыдущие) Необходимо.
Платформер от первого лица на Unity3D
Учебные материалы для школы программирования. Часть 5
Предыдущие уроки можно найти здесь:
Продолжаем учиться — играя! Это занятие небольшое, но очень важное для дальнейшего движения по образовательной траектории. Мы познакомимся с системой анимации, контейнерами, и попробуем различные анимационные комбинации.
Все материалы к занятию вы найдете здесь.
Порядок выполнения
Создадим новый проект, импортируем в него стандартные ассеты Characters и Prototyping. Из префабов Prototyping создадим подобие игрового уровня.
Создадим платформу и вызовем окно анимации.
Нажмём на Create и назовём нашу анимацию.
Перейдём в режим записи и создадим новое правило для платформы — Transform->position.
Это необходимо, чтобы проставить первый и последний кейфрейм.
Поставим курсор куда-нибудь посередине и подвигаем платформу.
Автоматически создался ещё один кейфрейм. Если запустить проект, можно заметить, что платформа двигается.
Чтобы игрок мог на неё запрыгивать и передвигаться вместе с ней, на платформе нужно создать коллайдер-триггер и назначить скрипт Platform.
Переключившись в режим Curves, немного изменим характер её движения.
Платформа начала по-другому ускоряться и притормаживать. Если сейчас попытаться переместить платформу и нажать на плей, то окажется, что платформа появится всё равно в том же месте. Не лишним будет рассказать о зацикленных анимациях.
Создадим ещё одну платформу, но вложим её в пустой объект и выровняем в нули. Создадим новую анимацию.
Теперь, перемещая родительский объект, можно перемещать платформу вместе с анимацией.
Также, стоит коснуться работы аниматора. Найдём AnimatorController, выделим его и откроем окно Animator.
Создадим ещё одну анимацию и настроим переходы.
На этом этапе стоит объяснить принципы работы аниматора и возможность создавать условные переходы и переходы между анимациями с блендингом.
Теперь платформа воспроизводит первую анимацию, затем, 2 раза вторую, и так — по кругу. Обязательно расскажите ребятам, о возможности менять скорость анимации в аниматоре.
В заключении урока, стоит объяснить, что система анимаций — обширная тема, и мы затронули её лишь поверхностно. Стоит дать ученикам возможность самостоятельной работы, попутно отвечая на все возникающие вопросы.
Камера от первого лица?
Как реализовать поворот мышкой?
Всё вроде бы просто — крути камеру по X мышки.
Но все не так то просто.
Как заставить мышку «находится» одной точке, но при этом считывать её X «правильно»?
#1
1:15, 24 апр 2017
Классическая задача графики
#2
10:33, 24 апр 2017
monobogdan
Ты используешь форум вместо гугла?
#3
11:17, 24 апр 2017
monobogdan
> Как реализовать поворот мышкой?
> Всё вроде бы просто — крути камеру по X мышки.
> Но все не так то просто.
> Как заставить мышку «находится» одной точке, но при этом считывать её X
> «правильно»?
Лучше всего использовать RawInput.
На каждом кадре можно возвращать мышь в центральное положение функцией SetCursorPos
А чтобы мышь не вылезала за пределы окна: ClipCursor.
А чтобы скрыть курсор — ShowCursor. Но эту функцию надо вызывать только один раз.
#4
12:00, 24 апр 2017
Demiurg-HG, да, я так и делаю, но проблема в том, что если начать блокировать курсор(setcursor pos) то «голова» персонажа(т.е камера) начинает дергатся.
#5
13:35, 24 апр 2017
monobogdan
> Demiurg-HG, да, я так и делаю, но проблема в том, что если начать блокировать
> курсор(setcursor pos) то «голова» персонажа(т.е камера) начинает дергатся.
Каким именно образом камера дергается?
Можно попробовать выводить значения в консоль, чтобы понять, где проблема.
#6
15:44, 24 апр 2017
Есть мысль, что SetCursorPos срубает суб-пиксельную точность. Для 1stP камеры это, наверное, не важно.
#7
16:41, 24 апр 2017
Дык у меня топорно все.
rotx = mouse_x camera.rotate( rotx, roty, 0.0f)
- Misanthrope
- Постоялец
#8
17:04, 24 апр 2017
monobogdan
> rotx = mouse_x
> camera.rotate(rotx, roty, 0.0f)
а так?
camera.rotate(mouse_x — prev_mouse_x, mouse_y — prev_mouse_y, 0.0f)
#9
17:39, 24 апр 2017
Задача явно неординарная. Может считать приращение мышки относительно центра после ее сдвига и двигать камеру в том направлении, и потом (ТА-ДА!) ВЕРНУТЬ ЕЕ ОБРАТНО в центр.
The Player
> Классическая задача графики
Стоит на втором месте после: что делать если коврик для мыши кончился, и мышь дальше не едет.
- endeavour_pr
- Участник
#10
20:41, 30 апр 2017
Для остального должно быть в книгах «как сделать игру на . » или через гугл
#11
10:51, 1 мая 2017
Курсор мыши каждый игровой кадр устанавливается по центру экрана (и прячется, чтоб не расстраивать игрока). Расстояние, которое курсор успел пройти за время одного игрового кадра и будет абсолютным моментальным ускорением для поворота камеры, только его еще надо умножить на время кадра.
#12
11:02, 1 мая 2017
Как написали выше — RawInput и предварительно залочить мышь в пределах окна — ClipCursor.
FPS Sample
FPS Sample разработан для внутренней оценки функций и пакетов на момент выпуска Unity 2018.3 и теперь доступен для загрузки в комплекте со всеми ассетами. В проекте:
- 1 заполненный уровень (арена), в том числе качественные ассеты для HDRP
- 2 полностью подготовленных персонажа, имеющих 4 вида уникального оружия
- Игровой код, содержащий неподдерживаемый собственный вариант сетевого кода с авторитарной серверной архитектурой и поддержкой до 16 игроков (не рекомендуется для коммерческого применения)
- Режимы «Бой насмерть» и «Нападение»
- Поддержка PC
Его можно использовать как ориентир и для обучения разработчиков среднего и высокого уровня с использованием выпусков Unity 2018.3 или Unity 2018.4 LTS. В коде используются экспериментальные технологии. Обратите внимание, что проект не имеет поддержки, и мы настоятельно рекомендуем обновить его до поддерживаемых пакетов, если вы хотите использовать элементы проекта в качестве отправной точки.
Смотрите наши официальные доклады на Unite и GDC
Начало работы с FPS Sample
Из записи доклада с GDC 2019 вы узнаете, как приступить к работе с FPS Sample. Евангелист Unity Энди Тач (Andy Touch) вкратце расскажет о проекте, в котором демонстрируются примеры качественной реализации функций Unity (включая графику и сетевые функции) в контексте многопользовательского игрового режима в реальном времени. Кроме того, на примере проекта вы узнаете о принципах работы сетевого кода для динамичного многопользовательского шутера.