Узнай, Как Создать Уникальную Динамичную Камеру в Unity!

Поділитися
Вставка
  • Опубліковано 2 жов 2024
  • Хочешь сделать динамичную, плавную, а главное - эффектную камеру в своей игре? Тогда ты попал куда нужно! В этом ролике Я научу тебя делать крутую камеру, которая поднимет качество твоей игры на новый уровень! Приятного просмотра)
    Поддержать канал:
    www.donational...
    Скрипты из видео:
    / discord
    #геймдев #unity #туториал #камера #gamedev #ghoustly #игры #урок #программирование #camera #динамика #tutorial #юнити #разработка #cinemachine

КОМЕНТАРІ • 106

  • @melodas3095
    @melodas3095 Рік тому +5

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

  • @Tryicky
    @Tryicky 2 місяці тому

    Кому лень писать:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using Unity.VisualScripting;
    using System.Runtime.CompilerServices;
    using Cinemachine;
    using System;
    public class ActionCamere : MonoBehaviour
    {
    public static Action cameraShake;
    public static Action< float > changeCameraSizeEvent;
    public static Action changeFollowTargetEvent;
    [HideInInspector] public CinemachineFramingTransposer transposer;
    private CinemachineBasicMultiChannelPerlin channelPerlin;
    private CinemachineVirtualCamera virtualCamera;
    private float camSize;
    void OnEnable()
    {
    virtualCamera = GetComponent();
    transposer = virtualCamera.GetCinemachineComponent();
    channelPerlin = virtualCamera.GetCinemachineComponent();
    cameraShake += shake;
    changeCameraSizeEvent += changeCameraSize;
    changeFollowTargetEvent += changeFollowTargent;
    }
    public float leftOfset, rightOfset;
    private void OnDisable()
    {
    cameraShake -= shake;
    changeCameraSizeEvent -= changeCameraSize;
    changeFollowTargetEvent -= changeFollowTargent;
    }
    private void Update()
    {
    if (Input.GetKeyDown(KeyCode.A)) {
    transposer.m_ScreenX = leftOfset;
    }
    if (Input.GetKeyDown(KeyCode.D))
    {
    transposer.m_ScreenX = rightOfset;
    }
    }
    private void shake(float strength, float time, float fadeTime)
    {
    StartCoroutine(shakeCam(strength, time, fadeTime));
    }
    void changeCameraSize(float newSize)
    {
    StopCoroutine(changeSize(newSize));
    camSize = virtualCamera.m_Lens.OrthographicSize;
    StartCoroutine(changeSize(newSize));
    }
    void changeFollowTargent(Transform followObject)
    {
    if(followObject != null)
    {
    virtualCamera.m_Follow = followObject;
    }
    }
    private IEnumerator shakeCam(float strength, float time, float fadeTime)
    {
    float OriginStrength = strength;
    channelPerlin.m_AmplitudeGain = strength;
    yield return new WaitForSeconds(time);
    for(float i = 0; i < fadeTime; i+= Time.deltaTime)
    {
    strength -= Time.deltaTime * OriginStrength / fadeTime;
    channelPerlin.m_AmplitudeGain = strength;
    }
    channelPerlin.m_AmplitudeGain = 0;
    }
    private IEnumerator changeSize(float newSize)
    {
    if (virtualCamera.m_Lens.OrthographicSize == newSize) yield break;
    for (float i = 0; i < 1f; i += Time.deltaTime)
    {
    virtualCamera.m_Lens.OrthographicSize = Mathf.Lerp(camSize, newSize, EaseInOut(i));
    yield return null;
    }

    }
    float EaseInOut(float x)
    {
    return x < 0.5 ? x * x * 2 : (1 -(1 - x) * (1 -x) *2);
    }
    }

  • @Smaile401
    @Smaile401 Рік тому +3

    Наконец-то мои корявые руки дошли до юнити, и теперь буду смотреть твои туторы, так что дай боже тебе здоровья за столь познавательные видосы ',:)

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому +3

      Спасибо)
      Удачи в изучении)

  • @SanyaGrek22
    @SanyaGrek22 Рік тому +5

    Спасибо. Хорошее дополнение к обучению, которое я сейчас прохожу на скиллбоксе.
    Иногда я использую в практических заданиях фишки, которые подсмотрел у тебя

  • @arylk4
    @arylk4 8 місяців тому +1

    чувак, ты крут

  • @tomasgonsales483
    @tomasgonsales483 9 місяців тому

    Прикольно разжевал) Спасибо чувак

  • @ЖеняПоганев-у3и
    @ЖеняПоганев-у3и 11 місяців тому +1

    бл, спасибо что ты существуешь, ты лучший, продолжай так же пилить ролики по Unity 2d))

    • @Ghost_gamedev
      @Ghost_gamedev  11 місяців тому

      Спасибо за поддержку, продолжу)

  • @kamidereneko336
    @kamidereneko336 13 днів тому

    А где ты рисуешь это все?

  • @henymegical
    @henymegical Рік тому +1

    Слууушай, почти никогда не пишу комменты, но тут как бы чё бы и не написать такому старательному автору! Посмотрел несколько роликов, и очень зашла подача! Короче, продолжай в том же духе! Реально, интересно смотреть!
    Я понимаю инглиш более менее и имею возможность смотреть забугорные туторы и т.п, которых огромная куча на любой вкус, но твои туторы и видосы смотреть в разы приятнее!

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому +1

      Оу, спасибо большое, дружище, мне очень приятно это слышать)

  • @RomanovDmitriq
    @RomanovDmitriq Рік тому +1

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

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Со временем всё получится)

  • @zogi4890
    @zogi4890 Рік тому

    Yjdsqhjkbr))))
    Новый ролик)))

  • @EugeniiShernovitskiu
    @EugeniiShernovitskiu 2 місяці тому

    Игра напоминает то что можно сделать в редакторе geometry dash за пару дней :)

  • @НікВасилєв
    @НікВасилєв 22 дні тому

    чуть не уснул в начале

  • @user-he477hvhxhddyr
    @user-he477hvhxhddyr Рік тому

    Спасибо за данный способ, но что делать в случае если у меня прыжок стоит на точках которые проверяют наличие пола и при входе в триггер эта почка операеться на триггер и ломает все

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Сделай нормальную систему прыжков)

  • @zefir8299
    @zefir8299 Рік тому

    Жду видос день четвертый

  • @San_Dorado
    @San_Dorado Рік тому

    Броо тебе нужно делать свою компанию по гайдам!!)

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Да я и без этого их могу выпускать)

  • @glV12
    @glV12 Рік тому

    Сделай видео о том как научился программировать и делать игры

  • @Kubolandia_Studio
    @Kubolandia_Studio Рік тому

    привет бро, уже как неделя прошла 3 а Обзор игр от подписчиков всё нет и нет?

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Привет, держи)
      ua-cam.com/video/ZHEeYEJeHoQ/v-deo.html

  • @zefir8299
    @zefir8299 Рік тому

    Жду видос день шестой

  • @zefir8299
    @zefir8299 Рік тому

    Жду видос день третий

  • @zefir8299
    @zefir8299 Рік тому

    Жду видос день второй

  • @Smaile401
    @Smaile401 Рік тому

    А годится такая идея для ролика? Как сделать управление интерфейсом через клавиатуру, я пытался найти в интернете но не нашёл

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому +1

      Хорошая идея)

    • @Smaile401
      @Smaile401 Рік тому

      @@Ghost_gamedev Надеюсь, когда нибудь этот туториал выйдет)

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      @@Smaile401 возможно, скоро выйдет)

  • @pixelbro2001
    @pixelbro2001 Рік тому

    привет я первый

  • @SortOf-v5t
    @SortOf-v5t Рік тому

    Привет, хотелось бы попросить у тебя помощи! Три месяца я изучал java, хотел писать "бэкенд". Но недавно я резко передумал, и решил что посвящу свое время на разработку игр на движке unity. Погуглив, я узнал что код в этом движке пишется на языке C#, и выяснил что он очень похож на java. Тем не менее, я до сих пор не могу нормально познакомиться с синтаксисом данного ЯП, т.к не знаю где и как. Если тебе не сложно, не мог бы ты порекомендовать книгу, которая бы на легке познакомила меня с синтаксисом данного языка?

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Привет. Могу посоветовать книгу "Библия С# - Михаил Фленов". Также на ютубе есть хороший 10-часовой курс по изучению С# от Романа Сакутина, который раньше был платным

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      P.S: ещё у меня есть несколько книг по изучению С# с уклоном на разработку игр в Unity , и по изучению самого Unity. Если напишешь мне в телеграм, я тебе их скину:
      @Xx_Maximum_xX

    • @SortOf-v5t
      @SortOf-v5t Рік тому

      @@Ghost_gamedev Ну, почему бы и не почитать, времени у меня полно) Щас напишу, жди)

  • @thedarked_games
    @thedarked_games Рік тому

    Ты что наделал, адекватный код!? Хауди Хо забирает у Вас миску риса и 1 кошка-жену.
    Единственное что где-то у тебя есть private, а где-то нету, странно... И у тебя название каких-то полей сокращены, а каких-то нет.
    +100 social credit!

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Я всё ещё учусь, но в будущем код станет гораздо качественнее)

    • @thedarked_games
      @thedarked_games Рік тому

      @@Ghost_gamedev Что и не снился твоему отцу?)

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      @@thedarked_games конечно)

    • @thedarked_games
      @thedarked_games Рік тому

      @@Ghost_gamedev Воистину!

  • @Orarchik45
    @Orarchik45 Рік тому +1

    Zoʻr

  • @TinyGamesStudio
    @TinyGamesStudio Рік тому

    Спасибо тебе большое! Очень сильно помог!

  • @zefir8299
    @zefir8299 Рік тому

    Когда следующий видос ?

  • @zefir8299
    @zefir8299 Рік тому

    Жду видос день пятый

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Почему время так быстро летит? . _.

  • @inkfinitytime
    @inkfinitytime Рік тому

    Спасибо большое! Очень помог

  • @вережек
    @вережек Рік тому

    Чё за музон в конце?

  • @zefir8299
    @zefir8299 Рік тому

    Жду видос день первый

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Через несколько дней выйдет)

  • @zefir8299
    @zefir8299 Рік тому

    Жду видос день десятый

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Да сегодня выйдет хватит кибербуллить(

  • @ukiren
    @ukiren 6 місяців тому

    Как сделать то же самое но в 3D Unity?

    • @Ghost_gamedev
      @Ghost_gamedev  6 місяців тому +1

      Примерно также, там есть 3D камера

    • @ukiren
      @ukiren 6 місяців тому

      @@Ghost_gamedev Понял, благодарю!

    • @Ghost_gamedev
      @Ghost_gamedev  6 місяців тому +1

      @@ukiren рад помочь)

  • @animator6453
    @animator6453 Рік тому

    Вау у тебя классно получаеться надеюсь в будуйщем ты сможешь сделать очень крутую игру как ты и хотел

  • @meeto_qq
    @meeto_qq Рік тому

    Спасибо чел, то что нужно

  • @potato-427
    @potato-427 Рік тому

    спасибо))). Тутр зачётный!Успехов

  • @zefir8299
    @zefir8299 Рік тому

    Жду видос день седьмой

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Да блин хватит кибербуллить(

    • @vladisfaer
      @vladisfaer Рік тому

      Жду видос день девятый

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      @@vladisfaer Да выйдет сегодня, выйдет...или завтра...

  • @aleksejvasev8371
    @aleksejvasev8371 Рік тому

    Йоу, спасибо за крутой видос! Помним и смотрим🎉

  • @sTyL-1337
    @sTyL-1337 Рік тому

    Гайд как ходить

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Не поверишь, даже такой туториал у меня есть)

    • @sTyL-1337
      @sTyL-1337 Рік тому

      @@Ghost_gamedev красавчик

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      @@sTyL-1337 спасибо :3

  • @Aerx228
    @Aerx228 Рік тому

    Подскажи пожалуйста откуда берёшь инфу по юнити???

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Документация, сайты, Ютуб

    • @Aerx228
      @Aerx228 Рік тому

      @@Ghost_gamedev ну там более-менее конкретно можно узнать?

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому +1

      @@Aerx228 что конкретно? Просто гуглишь нужную информацию и изучаешь её. А если хочешь в целом Unity изучить, то смотри плейлист с туториалами на ютубе или читай книги по Unity. У меня есть пара книг и я могу их тебе скинуть в телеграме, если мне напишешь.
      Мой айди: @Xx_Maximum_xX

    • @Aerx228
      @Aerx228 Рік тому

      @@Ghost_gamedev спасибо

  • @Player_MV
    @Player_MV Рік тому

    А как можно сделать квадрат который будет двигаться за персонажем, если игрок находится в нем то камера не двигается а если он выйдет за его пределы камера начнет следовать за персонажем.

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      В настройках Cinemachine есть поле "dead zone". Увеличивая его, можно достичь нужного результата)

    • @Player_MV
      @Player_MV Рік тому

      @@Ghost_gamedev ок спасибо

  • @RNTStudio-bk9bt
    @RNTStudio-bk9bt Рік тому

    где старый Разработка игр?

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому

      Какой?

    • @RNTStudio-bk9bt
      @RNTStudio-bk9bt Рік тому

      @@Ghost_gamedev ты

    • @RNTStudio-bk9bt
      @RNTStudio-bk9bt Рік тому

      @@Ghost_gamedev покет код там и т.д, Эх настольгия, по тому Разработчику игр на приложении покет код и т.д

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому +1

      @@RNTStudio-bk9bt чего? Я никогда не делал игры на покет код, я лишь обозревал их

    • @RNTStudio-bk9bt
      @RNTStudio-bk9bt Рік тому

      @@Ghost_gamedev да но хочется видео по нему, например игры от подписчиков

  • @Aerx228
    @Aerx228 Рік тому

    Класс!!!🎉

  • @RetroVladOS
    @RetroVladOS Рік тому

    Четко

  • @Kai41k
    @Kai41k Рік тому

    Сори, но я за Godot

  • @special3694
    @special3694 Рік тому

    У тебя уже нет актива😢 но я не отпишусь

    • @Ghost_gamedev
      @Ghost_gamedev  Рік тому +1

      Он пропал из-за отсутствия роликов на канале. Скоро актив вернётся