Узнай, Как Создать Уникальную Динамичную Камеру в Unity!
Вставка
- Опубліковано 2 жов 2024
- Хочешь сделать динамичную, плавную, а главное - эффектную камеру в своей игре? Тогда ты попал куда нужно! В этом ролике Я научу тебя делать крутую камеру, которая поднимет качество твоей игры на новый уровень! Приятного просмотра)
Поддержать канал:
www.donational...
Скрипты из видео:
/ discord
#геймдев #unity #туториал #камера #gamedev #ghoustly #игры #урок #программирование #camera #динамика #tutorial #юнити #разработка #cinemachine
Чел, ты лучший.Я всегда хотел создавать игры, но не мог научится а туториалы не выполняли мои требования, а у тебя все человеческим языком и понятно, спасибо!
Очень рад, что помогаю)
Кому лень писать:
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);
}
}
Наконец-то мои корявые руки дошли до юнити, и теперь буду смотреть твои туторы, так что дай боже тебе здоровья за столь познавательные видосы ',:)
Спасибо)
Удачи в изучении)
Спасибо. Хорошее дополнение к обучению, которое я сейчас прохожу на скиллбоксе.
Иногда я использую в практических заданиях фишки, которые подсмотрел у тебя
Рад, что помогаю)
чувак, ты крут
Прикольно разжевал) Спасибо чувак
бл, спасибо что ты существуешь, ты лучший, продолжай так же пилить ролики по Unity 2d))
Спасибо за поддержку, продолжу)
А где ты рисуешь это все?
Слууушай, почти никогда не пишу комменты, но тут как бы чё бы и не написать такому старательному автору! Посмотрел несколько роликов, и очень зашла подача! Короче, продолжай в том же духе! Реально, интересно смотреть!
Я понимаю инглиш более менее и имею возможность смотреть забугорные туторы и т.п, которых огромная куча на любой вкус, но твои туторы и видосы смотреть в разы приятнее!
Оу, спасибо большое, дружище, мне очень приятно это слышать)
Делаю игру на диплом, и понимаю, что до подобных результатов не успею 😂
Со временем всё получится)
Yjdsqhjkbr))))
Новый ролик)))
Игра напоминает то что можно сделать в редакторе geometry dash за пару дней :)
Сделай)
чуть не уснул в начале
Спасибо за данный способ, но что делать в случае если у меня прыжок стоит на точках которые проверяют наличие пола и при входе в триггер эта почка операеться на триггер и ломает все
Сделай нормальную систему прыжков)
Жду видос день четвертый
Броо тебе нужно делать свою компанию по гайдам!!)
Да я и без этого их могу выпускать)
Сделай видео о том как научился программировать и делать игры
Постараюсь
привет бро, уже как неделя прошла 3 а Обзор игр от подписчиков всё нет и нет?
Привет, держи)
ua-cam.com/video/ZHEeYEJeHoQ/v-deo.html
Жду видос день шестой
Жду видос день третий
Жду видос день второй
А годится такая идея для ролика? Как сделать управление интерфейсом через клавиатуру, я пытался найти в интернете но не нашёл
Хорошая идея)
@@Ghost_gamedev Надеюсь, когда нибудь этот туториал выйдет)
@@Smaile401 возможно, скоро выйдет)
привет я первый
Привет, хотелось бы попросить у тебя помощи! Три месяца я изучал java, хотел писать "бэкенд". Но недавно я резко передумал, и решил что посвящу свое время на разработку игр на движке unity. Погуглив, я узнал что код в этом движке пишется на языке C#, и выяснил что он очень похож на java. Тем не менее, я до сих пор не могу нормально познакомиться с синтаксисом данного ЯП, т.к не знаю где и как. Если тебе не сложно, не мог бы ты порекомендовать книгу, которая бы на легке познакомила меня с синтаксисом данного языка?
Привет. Могу посоветовать книгу "Библия С# - Михаил Фленов". Также на ютубе есть хороший 10-часовой курс по изучению С# от Романа Сакутина, который раньше был платным
P.S: ещё у меня есть несколько книг по изучению С# с уклоном на разработку игр в Unity , и по изучению самого Unity. Если напишешь мне в телеграм, я тебе их скину:
@Xx_Maximum_xX
@@Ghost_gamedev Ну, почему бы и не почитать, времени у меня полно) Щас напишу, жди)
Ты что наделал, адекватный код!? Хауди Хо забирает у Вас миску риса и 1 кошка-жену.
Единственное что где-то у тебя есть private, а где-то нету, странно... И у тебя название каких-то полей сокращены, а каких-то нет.
+100 social credit!
Я всё ещё учусь, но в будущем код станет гораздо качественнее)
@@Ghost_gamedev Что и не снился твоему отцу?)
@@thedarked_games конечно)
@@Ghost_gamedev Воистину!
Zoʻr
Raxmat
@@Ghost_gamedev Kanalizga omad , ovoziz zoʻrakan 😀
@@Orarchik45 katta raxmat, do'stim)
Спасибо тебе большое! Очень сильно помог!
Когда следующий видос ?
Скоро)
Жду видос день пятый
Почему время так быстро летит? . _.
Спасибо большое! Очень помог
Чё за музон в конце?
NEFFEX - Not a Christmas song
Жду видос день первый
Через несколько дней выйдет)
Жду видос день десятый
Да сегодня выйдет хватит кибербуллить(
Как сделать то же самое но в 3D Unity?
Примерно также, там есть 3D камера
@@Ghost_gamedev Понял, благодарю!
@@ukiren рад помочь)
Вау у тебя классно получаеться надеюсь в будуйщем ты сможешь сделать очень крутую игру как ты и хотел
Благодарю)
Спасибо чел, то что нужно
спасибо))). Тутр зачётный!Успехов
Спасибо большое)
Жду видос день седьмой
Да блин хватит кибербуллить(
Жду видос день девятый
@@vladisfaer Да выйдет сегодня, выйдет...или завтра...
Йоу, спасибо за крутой видос! Помним и смотрим🎉
Спасибо за поддержку))
Гайд как ходить
Не поверишь, даже такой туториал у меня есть)
@@Ghost_gamedev красавчик
@@sTyL-1337 спасибо :3
Подскажи пожалуйста откуда берёшь инфу по юнити???
Документация, сайты, Ютуб
@@Ghost_gamedev ну там более-менее конкретно можно узнать?
@@Aerx228 что конкретно? Просто гуглишь нужную информацию и изучаешь её. А если хочешь в целом Unity изучить, то смотри плейлист с туториалами на ютубе или читай книги по Unity. У меня есть пара книг и я могу их тебе скинуть в телеграме, если мне напишешь.
Мой айди: @Xx_Maximum_xX
@@Ghost_gamedev спасибо
А как можно сделать квадрат который будет двигаться за персонажем, если игрок находится в нем то камера не двигается а если он выйдет за его пределы камера начнет следовать за персонажем.
В настройках Cinemachine есть поле "dead zone". Увеличивая его, можно достичь нужного результата)
@@Ghost_gamedev ок спасибо
где старый Разработка игр?
Какой?
@@Ghost_gamedev ты
@@Ghost_gamedev покет код там и т.д, Эх настольгия, по тому Разработчику игр на приложении покет код и т.д
@@RNTStudio-bk9bt чего? Я никогда не делал игры на покет код, я лишь обозревал их
@@Ghost_gamedev да но хочется видео по нему, например игры от подписчиков
Класс!!!🎉
Спасибо)
Четко
Спасибо)
Сори, но я за Godot
У тебя уже нет актива😢 но я не отпишусь
Он пропал из-за отсутствия роликов на канале. Скоро актив вернётся