Перейти к содержимому

Как сделать камеру от первого лица в unity

  • автор:

Шутер для ПК Unity 5 Урок 2 Камера от первого лица С#.avi

Иконка канала Сергей Хоббиток / IT - специалист C# / Unity3d

Шутер Unity Урок 2 Камера от первого лица С# Привет друзья! Сегодня в уроке я вам покажу гайд как: сделать камеру от первого лица ? #camera Научимся писать в скрипте C# Vector2 Input.GetAxis(«Mouse Y») Mathf.Clamp RotateAround Input.GetAxis(«Mouse X») Mathf.SmoothDamp . Как создать игру на юнити.Проект игры на юнити от а до я #игра #игры #game #games Virtual Shooting (Виртуальный тир); Шутер Удачный выстрел из 17 века #fps #shooter #шутер Позитив добавляем к коммент! Ставь лайк, если тебе понравилось видео и урок. Подписывайся на канал! — Уроки от #СергеяХоббиток Лучше закреплять материал быстрее начать делать свои игры на Unity. Новый сайт молодой Все о Unity https://allunity3d.ucoz.net Ваши вопросы по урокам можете задавать на форуме Где нас можно найти на Форуме https://allunity3d.ucoz.net/forum/ Дополнительные уроки из Каталогов статей можно найти на сайте: https://allunity3d.ucoz.net/publ/ Донат на новые уроки по юнити: ЯНДЕКС КОШЕЛЕК 41001822998564 https://yoomoney.ru/to/41001822998564 Подержи проект QIWI деньги https://qiwi.com/n/SERGEIHOBBITOK Используется unity 5 для примеров уроков. Вы можете использовать другие версии. #unity #unity3d #unityуроки #unityурокинарусском #unitytutorial Лучше закреплять материал быстрее начать делать свои игры на Unity. Action (Экшен); Arcade (Аркада); Strategy (Стратегия); Adventure (Адвенчура, приключенческая игра); Educational (Образовательные игры);Quest (Квест); Interactive Fiction — IF (Интерактивная литература, ИЛ) RPG — Role Playing Game (РПГ, Ролевая игра); Fighting (Файтинг); Racing (Гонка); Simulation (Симулятор); Sports (Спортивная игра); Puzzle — Logic (Паззл, Головоломка); Tabletop (Настольные и карточные игры); Other (Остальные игры — то что никак не подходит под другие жанры). Platform (Платформер); Wargame (Варгейм); Virtual Shooting (Виртуальный тир); 3D Action (Action + Перспектива:Вид от первого/третьего лица) jRPG (RPG + Аудио-/видео-стиль: Аниме) Survival horror Гонки на выживание (Racing + Элемент жанра: Беспредел на дорогах) Shoot ’em up (Arcade + Элемент жанра: Shoot ’em up) MMORPG Он-лайн игры Теперь вы можете создать свою собственную игру с помощью Unity! Уроки по Unity от Хоббиток помогут в этом! Unity с нуля — уроки для всех. #урокиюнити #урокиunity #урокunity #программирование #дляначинающих #урок2022 #2022 Всё про Unity3d Уроки Unity. Программирование С# Тэги: unity,c# unity уроки,c# уроки,unity программирование,c# уроки для начинающих,уроки unity,c# unity3d,unity5,camera,programming,game,easy,development,beginner,games,learn,unity camera,movement,создание игр unity,unity 2022,двигаем камеру за персонажем в юнити,создать игру,как скачать юнити,игра на unity,камера в юнити,smooth camera,unity3d шутер,3d шутер unity,как сделать шутер,создание 3d шутера,unity fps уроки,unity fps,от,первого,шутер,shooter,фпс,fps

Показать больше

Войдите , чтобы оставлять комментарии

Камера от первого лица?

Как реализовать поворот мышкой?
Всё вроде бы просто — крути камеру по 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.

Как сделать повороты игрока от первого лица для Android?

Здравствуйте! Можете, пожалуйста, сказать, как мне сделать повороты персонажа для игры от первого лица на Android? Я хочу сделать самые банальные повороты, но с настраиваемой чувствительностью и с зоной действия в определённой части экрана. Помогите пожалуйста.
Заранее спасибо!

  • Вопрос задан более трёх лет назад
  • 124 просмотра

Комментировать
Решения вопроса 0
Ответы на вопрос 1

zZaKko

Люблю стратегии и Unity.

Учись гуглить, гуглить и еще раз гуглить!

Ну а если по-простому, то кинь камеру на место головы игрока, а в коде камеры в FixedUpdate вращай Rotation камеры с помощью аксесов «Mouse X», «Mouse Y» по векторам x,y.

Юнити от первого лица

Делаю игру от первого лица Но есть проблема Когда я начинаю ходить возле какого-то объекта Например Квадрата и ходить вокруг него то мой персонаж возвращается и разные стороны Я понимаю что это физика но можно ли как-то это убрать, чтобы персонаж вертелся только когда мне нужно Код передвижения Персонажа:

using UnityEngine; public class Movement : MonoBehaviour < public float Speed = 5f; public Rigidbody rb; private bool _isGrounded; void FixedUpdate() < MovementLogic(); >private void MovementLogic() < float moveHorizontal = Input.GetAxis("Horizontal"); float moveVertical = Input.GetAxis("Vertical"); Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical); transform.Translate(movement * Speed * Time.fixedDeltaTime); >void OnCollisionEnter(Collision collision) < IsGroundedUpate(collision, true); >void OnCollisionExit(Collision collision) < IsGroundedUpate(collision, false); >private void IsGroundedUpate(Collision collision, bool value) < if (collision.gameObject.tag == ("Ground")) < _isGrounded = value; >> > 

Код вражения камеры:

using UnityEngine; public class CameraControl : MonoBehaviour < public Transform player; public float mouseSensitivity = 2f; float cameraVerticalRotation = 0f; //bool lockedCursor = true; // Start is called before the first frame update void Start() < Cursor.visible = false; Cursor.lockState = CursorLockMode.Locked; >// Update is called once per frame void Update() < MouseControl(); >void FixedUpdate() < >private void MouseControl() < float inputX = Input.GetAxis("Mouse X") * mouseSensitivity; float inputY = Input.GetAxis("Mouse Y") * mouseSensitivity; cameraVerticalRotation -= inputY; cameraVerticalRotation = Mathf.Clamp(cameraVerticalRotation , -90f , 90f); transform.localEulerAngles = Vector3.right * cameraVerticalRotation; player.Rotate(Vector3.up * inputX); 

Код слежения камеры за персонажем:

using UnityEngine; public class FollowPlayer : MonoBehaviour < public Transform player; public Vector3 offset; public float rotation; // Update is called once per frame void Update() < transform.position = player.position + offset; >> 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *