как СДЕЛАТЬ ШУТЕР в 3D под АНДРОИД | Часть 1 - Управление персонажем | Unity, C#

preview_player
Показать описание
Хэллоу, в данном видеоролике я расскажу, как сделать управление персонажем под андроид в Unity, приятного просмотра :D

#unity #юнити #шутер

---------------------------------------------------------------------------

---------------------------------------------------------------------------

0:00 - Интро
0:13 - Начало
0:35 - Создаем проект
0:46 - Настраиваем проект
0:55 - Создаем карту
1:55 - Создаем и настраиваем персонажа
2:20 - Создаем и настраиваем Canvas
4:10 - Создаю спрайт для кнопки
4:55 - Создаю скрипт для персонажа
13:12 - Настраиваю скрипт
14:40 - Проверка игры
14:53 - Конец :D

---------------------------------------------------------------------------

Мой Telegram-канал:

Мой ВК:

---------------------------------------------------------------------------

Автор трека в видео:
undezer - "JORDAN"
Рекомендации по теме
Комментарии
Автор

🔥Набираем на этом ролике 100 лайков и выходит 2 часть🔥

GoodMakerYT
Автор

GoodMaker ОГРОМНОЕ ТЕБЕ
ПРОСТО ОГРОМНОЕ ТЕБЕ СПАСИБО
Я С ЭТИМ ДЖОСТИКОМ НЕСКОЛЬКО МЕСЯЦЕВ ДОЛБИЛСЯ
А ТУТ ПОПАЛОСЬ ТВОЁ ВИДЕО!
ЕЩЁ РАЗ ОГРОМНОЕ СПАСИБО ( Я ОЧЕНЬ РАД ЧТО У МЕНЯ ПОЛУЧИЛОСЬ)!)

ДаникКарелин
Автор

Огроооомное спасибо, искал везде как сделать разделение экрана не нашел а у тебя есть ты

sahsa_
Автор

Пересмотрел миллиард каналов, единственный который помог

liongaming
Автор

То чувство когда ты новичёк, пишешь этот огромнейший скрипт, и в конце какая-то ошибка вылазит, а ты не знаешь как её решить

neon_slide
Автор

бро, ахуенчик) спасибо тебе) возвращайся на ютуб)

Kinesess
Автор

И что-то камера не поворачивается назад. Я изменил в скрипте для 2Д управления джойстиком. Там всего 2 строки. И все тоже только без прыжка.

СергейХвощев-дй
Автор

Помоги пожалуйста🙏 Что делать когда я джойстик тяну прямо я иду влево, а когда тяну влево иду назад, когда тяну назад я иду вправо, а когда тяну направо вперёд. Что делать?

DemonPLAY.official
Автор

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FPC : MonoBehaviour
{
public float speedMove;
public float jumpPower;

private float gravityForce;
private Vector3 moveVector;

private CharacterController ch_controller;

public Joystick joy;

public Transform cameraTransform;

public float cameraSensitivity;
public float moveInputDeadZone;

private int rightfingerId;
private float halfScreenWidth;


private Vector2 lookInput;
private float cameraPitch;

public Transform player;



void Start()
{
ch_controller =

rightfingerId = -1;

halfScreenWidth = Screen.width / 2;

moveInputDeadZone = Math.Pow(screen.height / moveInputDeadZone, 2);
}

private void FixedUpdate()
{
MovePlayer();
GamingGravity();

if(rightfingerId != -1)
{
LookAroud();
}
}

void Update()
{
GetTouchinput();
}

private void GetTouchinput()
{
for (int i -0; i < Input.touchCount; i++)
{
Touch t = Input.GetTouch(i);

switch(t.phase)
{
case TouchPhase.Began:
if(t.position.x > halfScreenWidth && rightfingerId == -1)
{
rightfingerId = t.fingorId;
}
break;
case TouchPhase.Ended:
case TouchPhase.Canceled:
if(t. fingerId == rightfingerId)
{
rightfingerId = -1;
}
break;
case TouchPhase.Moved:
if(t.fingerId == rightfingerId)
{
lookinput = t.deltaPosition * cameraSensitivity * Time.deltaTime;
}
break;
case TouchPhase.Stationary:
if(t.fingerId == rightfingerId)
{
lookInput = Vector2.zero;
}
break;
}
}
}

private void LookAroud()
{
cameraPitch = Mathf.Clamp(cameraPitch - lookInput.y, -90f, 90f);
cameraTransform.localRotation = Quaternion.Euler(cameraPitch, 0, 0);

transform.Rotate(transform.up, lookInput.x);
}

private void MovePlayer()
{
moveVector = Vector3.zero;
moveVector.x = joy.Horizontal;
moveVector.z = joy.Vertical;

moveVector.y = gravityForce;

moveVector = transform.right * moveVector.x + cameraTransform.forward * moveVector.z + transform.up * moveVector.y;

ch_controller.Move(moveVector * speedMove * Time.deltaTime);
}

private void GamingGravity()
{
if (!ch_controller.isGrounded)
{
gravityForce -= 10f * Time.deltaTime;
}
else
gravityForce = -1f;
}

public void OnClickJump()
{
if (ch_controller.isGrounded)
gravityForce = jumpPower;
}
}

Niki-ihmd
Автор

Лучшый урок для меня👍👍, я даже готов платить, если будет урлк о ParticleSystem и VisualEffect, а также использованием Photon

lazarussilva
Автор

Всё работает, у кого появляются ошибки пишите всё грамотно как у автора и проверти есть ли ошибки в словах, например: написал слово с большой буквы

Destructor
Автор

я пересмотрел 1 миллион каналов но этот единственый спасибо

retrostudio
Автор

вот это шутер🤯 ходить прыгать и крутить камерой, как динамично

Саммер_Стандофф
Автор

почему то у меня управление камеры занимает гораздо меньше места чем управление джойстиком, начинается где то с кнопки прыжка и до конца правой части экрана. как сделать что бы управление экраном занимало не 1\4 экрана, а половину?

LeaveOnest
Автор

у меня управление перепутано: тяну джойстик в сторону и персонаж идёт вперёд либо назад, а когда тяну джойстик вперёд или назад персонаж идёт вправо или влево

iblan
Автор

Привет, у меня вот проблема, третий день уже пытаюсь решить, короче я вот нажимаю в правую часть экрана, но когда она нажата и я двигаю пальцем вторым в левой части экрана, то экран двигается, тобишь как я понял rightFingerId != -1 и я могу двигать камерой из-за того, что палец находится в правой части экрана, но как игнорировать то, что слева тоже происходит действие?

Danyaanl
Автор

цены бы автору не было если бы он оставил скрипт в описании или в комах! а так топ, лайк!

crashofcars
Автор

что делать когда вешаешь скрипт на перса, заходишь в него а там нету выбора что использовать

chachalnik
Автор

почему у меня капсуль просто висит в воздухе

cdffdddjdh
Автор

Юнити выдаёт ошибку The name "lookInput" does not exist in the current context

momentX_