Спасибо, полезное видео, приятная подача! Ну и чуток конструктива, по коду и его стилю: 1) По поводу камеры, можно использовать Camera.main . 2) Обнулить z проще кастом к Vector2. 3) Стоит все-таки придерживаться (C# || Unity) naming conventions, и использовать в именах полей camelCase а не PascalCase. 4) Объявление переменных через запятую считается плохим тоном. Откровенно говоря сам не знаю почему, но факт остается фактом...
1) По поводу камеры, можно использовать Camera.main. Только в Unity 2020 и дальше, там разработчики закешировали ее, в предыдущих версиях юзать это - плохая практика. 3, 4) Ну ролик 18 года, тогда действительно так писал, сейчас уже пишу нормально. Спасибо
Здорово! Но было бы неплохо в начале буквально на минутку показать конечный результат, чтобы было понятно во-первых, что серия уроков закончена, и я не останусь с недоделанным проектом, если начну заниматься по вашим видео, а во-вторых, чтобы перед началом уроков я мог бы понять, то ли это, что мне надо
У тебя ошибка: ты обнуляешь newPos.z и потом прибавляешь offset к newPos, в newPos.z == 0 и offset.z разнице по z, 0 + offset.z будет просто offset.z что буде смещать каждый кадр position.z. Посмотри на видео 4:28 . Не надо обнулять newPos.z.
Процесс обучения - это организованное взаимодействие учителя и учеников для достижения образовательных целей. Сущность процесса обучения состоит в стимулировании и организации активной учебно-познавательной деятельности учащихся по овладению ими знаниями, развитию способностей, выработке взглядов.
Не получилось сделать CardScr (не работает), в скрипте ошибок вроде нет, на карте скрипт висит. Вот скрипт: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; public class CardScr : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler {
[Уже исправил]Не знаю, как я это допустил, но действуя по вашему уроку, когда я добавил в скрипт обнуление по позиции z, и когда запустил тест, то столкнулся с тем, что карта отказывалась менять позицию. Она пролагивала между её начальным положением и положением моей мыши. Проблема оказалась в Canvas, где я поставил галочку на Pixel Perfect, когда её там быть не должно. Прошу, объясните, что этот PiPer делает, зачем он нужен, и почему его так штырило в игре.
Привет делал всё как в видео но у меня почему то временная карта очень быстро перемещается в руку и на поле (много раз) пока я перемещаю карту по полю игры. Если закоментирую: if (card && card.DefaultTempCardParent == transform) card.DefaultTempCardParent = card.DefaultParent; То такое мерцание проподает (Скинул видео у тебя в Дискорде)
Один вопрос: Все отлично работало, добавлял анимации, хорошо, всякое добавлял, работало. Но как только я перезашел в проект, он написал о сбоях, зайдя, всё вроде было в норме, но карты перестали перемещаться за мышью. Что делать, или в чем проблема? Причем и mouse pos, и offset работают отлично.
Ругается на эту строчку TempCardGO.transform.SetParent(GameObject.Find("Canvas").transform); При запуске, после того как карту отпускаем, TempCardGO не пропадает с экрана, а появляется слева от карты
Спасибо за урок! Подскажите пожалуйста, вы знаете способ заставить TextMeshPro адекватно отображать кастомные кириллические шрифты? Пытался генерировать Фонт Ассет Криейтором, но шрифт не отображается как надо.
Классные уроки, хорошо помагают) Хотел спросить, можно ли как то и как выставить карты веером(полудогой) и что бы они так же групировались как с компонентом Leyouy group?
быстро всё делает и таких умельцев много, но вот по чему то нормальных карточных игр нет , видимо недостаточно быть программистом но и иметь понимание какой должна быть игра
Просто все основные механики уже придуманы, а хитромудрые отталкивают новых игроков, поэтому даже если есть более-менее годная ККИ, то если компания не была популярной или просто игра не выстрелила сразу, то она имеет очень маленькие шансы стать популярной.
Такой вопрос, Координата Z в 2D Нужна для положения объекта(ближний, дальний план)? Если да, то почему, когда мы его получаем через mainCamera.ScreenToWorldPoint(eventData.position) он все время разный?
Такой трабл случился, у меня в игре спрайт не совсем квадратные, и нужно перемещать именно в указанные позиции исключительно по границам image, ты случаем не знаешь как сделать так, чтобы OnDrop не реагировал на прозрачные участки Image?
Подскажите кто - нибудь, пожалуйста, как сделать, чтобы при перемещении карты вдоль оси х карта наклонялась пропорционально отдалению карты. Вообще нужна просто зависимость от перемещения карты вдоль оси. (Урок прекрасен, спасибо!)
Добрый день а на заказ делаете? Мне чисто на коленке нужно, хотябы основу. я подробнее раскажу если можно заказать ( сам пытаюсь сделать но у меня руки немножко ниже ростут чем надо и одни ошибки выскакивают )
Когда 2 монитора, функция SacleWithScreenSize начинает нарушать соотношение сторон, и в итоге Image 1920 на 1080 даже в конструкторе не покрывает Сanvas 1920 на 1080 xD Проверил на пустом проекте, с ConstantPixelSize всё шикарно.
Наткнулся на проблему. Я вписал полность весь код для карты , но проверку сделать не могу так как Юнити говорит мне об ошибках , хоть в коде я не вижу никаких ошибок. Как исправить и что делать ?
@@def1NeX Ага. Понял , спасибо. И как понять что компоненты : EventSystem, IBaginDragHandler... Не найдены ? Это получается что библиотека не подключена ?
еще не досмотрел до конца, но уже спасибо, что это не такой тутор, где постоянно фыркают и плюются в микрофон, а видео приходится ускорять в два раза, чтобы не было так муторно. и сколько уроков планируется?
@@sga7367 Unity с каждым годом набирает обороты, поэтому если нравится, то занимайся. Есть уроки от самих Юнити, есть куча каналов на UA-cam, есть разные бесплатные онлайн-курсы.
Не понял, ты показывал или обучал, потому что если второе, то ты явно не понял значения слово "обучать" Такая подача никак не может чему то обучить, максимум для демонстрации твоих возможностей работодателю, который такой ВОУ, а челик шарит! Выключил сразу после того как Ты начал в скороговорке говорить о скриптах.. Дальше можно не смотреть. Вообщем смотри, что такое "обучение" в гугле.
Классный урок. Автор, а ты не планируешь сделать урок по созданию игры типо "Монополия"? Лично я бы с удовольствием посмотрел, да и подобных уроков на ютубе нет. ККИ есть, платформеров как говна за баней, а уроков написания игры типо монополия, вообще никто ещё не делал. Если сделаешь, буду благодарен очень. Думаю многим интересен такой урок будет.
Очень годно, без воды, все профессионально и грамотно, в то же время очень интересно! Лайк и подписка
Нифига не понятно, но это уже моя проблема
Спасибо, полезное видео, приятная подача!
Ну и чуток конструктива, по коду и его стилю:
1) По поводу камеры, можно использовать Camera.main .
2) Обнулить z проще кастом к Vector2.
3) Стоит все-таки придерживаться (C# || Unity) naming conventions, и использовать в именах полей camelCase а не PascalCase.
4) Объявление переменных через запятую считается плохим тоном. Откровенно говоря сам не знаю почему, но факт остается фактом...
1) По поводу камеры, можно использовать Camera.main.
Только в Unity 2020 и дальше, там разработчики закешировали ее, в предыдущих версиях юзать это - плохая практика.
3, 4) Ну ролик 18 года, тогда действительно так писал, сейчас уже пишу нормально.
Спасибо
Отлично, быстро и понятно. Для тех кто не понимает есть замедление в 0.50 и справка по юнити
Roses are red
Violets are blue
The title is in english
Why aren't you too
It is automatically translated caption by UA-cam...
Здорово! Но было бы неплохо в начале буквально на минутку показать конечный результат, чтобы было понятно во-первых, что серия уроков закончена, и я не останусь с недоделанным проектом, если начну заниматься по вашим видео, а во-вторых, чтобы перед началом уроков я мог бы понять, то ли это, что мне надо
Прекрасный урок, отличная подача. Спасибо. Ждем продолжения.
Спасибо, дальше - больше! :3
Клас👍👍
thx
просто гениально ! Спасибо за труд!!!
Блин! У меня не получилось ( 6:53 ) ! Карты в иерархии не выходят из объекта Hand и не крепится к объекту SellField! Помогите, пожалуйста!
Проверь названия и код, мне помогло.
пиздец помог конечно, ага...@@-chavo-5901
У тебя ошибка: ты обнуляешь newPos.z и потом прибавляешь offset к newPos, в newPos.z == 0 и offset.z разнице по z, 0 + offset.z будет просто offset.z что буде смещать каждый кадр position.z. Посмотри на видео 4:28 .
Не надо обнулять newPos.z.
Да, не заметил, спасибо.
Приговариваю тебя к пожизненным лайкам и подпискам!!! Очень долго не мог этого сделать, спасибо за подробное объяснение!!
Однажды я дождусь гайда по раннеру :D После 12 уроков по кки как раз 2020 год будет :D А вообще если серьёзно очень жду продолжение
:DD Как только я перестану лениться и прокрастинировать, так сразу :D
На самом деле ККИ интереснее, так что лучше это продолжить)
панимаю
Доходчиво объясняешь =) Мне, как человеку далёкому от программирования, было всё ясно и понятно.
Спасибо! ^_^
человеку, далекому от программирования, нихрена понятно не будет) во всяком случае с первого раза точно
Прекрасный урок, но не хватает объяснений... ну и скорость поменьше, приходится слушать в 0,75
Спасибо, за долгий перерыв разучился замедлять темп речи :D В следующих уроках пофикшу.
Тогда ждём очередных видеоуроков, Вы помогли
Процесс обучения - это организованное взаимодействие учителя и учеников для достижения образовательных целей. Сущность процесса обучения состоит в стимулировании и организации активной учебно-познавательной деятельности учащихся по овладению ими знаниями, развитию способностей, выработке взглядов.
ТОП! но поля только с 3 раза) Но я 0 в этом, так что я считаю, что очень хорошее видео, потому что в друге можно и с 10 не понять)
Не получилось сделать CardScr (не работает), в скрипте ошибок вроде нет, на карте скрипт висит. Вот скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class CardScr : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler {
Camera MainCamera;
Vector3 offset;
void Awake ()
{
MainCamera = Camera.allCameras[0];
}
public void OnBeginDrag (PointerEventData eventData)
{
offset = transform.position - MainCamera.ScreenToWorldPoint(eventData.position);
}
public void OnDrag (PointerEventData eventData)
{
Vector3 newPos = MainCamera.ScreenToWorldPoint(eventData.position);
newPos.z = 0;
transform.position = newPos + offset;
}
public void OnEndDrag (PointerEventData eventData)
{
}
}
у меня такое же было. убедитесь что вы создали Event System или она у вас не исчезла в Иерархии
Очень полезный урок, удачи в продвижении
Спасибо! :3
[Уже исправил]Не знаю, как я это допустил, но действуя по вашему уроку, когда я добавил в скрипт обнуление по позиции z, и когда запустил тест, то столкнулся с тем, что карта отказывалась менять позицию. Она пролагивала между её начальным положением и положением моей мыши. Проблема оказалась в Canvas, где я поставил галочку на Pixel Perfect, когда её там быть не должно. Прошу, объясните, что этот PiPer делает, зачем он нужен, и почему его так штырило в игре.
Привет делал всё как в видео но у меня почему то временная карта очень быстро перемещается в руку и на поле (много раз) пока я перемещаю карту по полю игры.
Если закоментирую:
if (card && card.DefaultTempCardParent == transform)
card.DefaultTempCardParent = card.DefaultParent;
То такое мерцание проподает
(Скинул видео у тебя в Дискорде)
Один вопрос: Все отлично работало, добавлял анимации, хорошо, всякое добавлял, работало.
Но как только я перезашел в проект, он написал о сбоях, зайдя, всё вроде было в норме, но карты перестали перемещаться за мышью. Что делать, или в чем проблема?
Причем и mouse pos, и offset работают отлично.
Ругается на эту строчку TempCardGO.transform.SetParent(GameObject.Find("Canvas").transform);
При запуске, после того как карту отпускаем, TempCardGO не пропадает с экрана, а появляется слева от карты
Мейби у тебя объект полотна имеет другое имя.
Верно, спасибо. Сам протупил, час сам искал в чём ошибка
О, мой любимый канал :D
yeah boy
Я конечно посмотрел, и очень всё интересно, но я не языков программирования 😁
Вроде все идентично, но карта на 3-4 минуте как у Вас не двигается совершенно. Хотя если убрать присваивание глубине = 0 , то она исчезает.
Че ток не перепробовал. Вообще нет идей. Может версия юнити влияет?
Хотя если убрать горизонтальый лэер с руки, то все двигается.
Наверное уже поздно, но...
Попробуй перекинуть камеру в канвас и увеличь её под развер канваса
Такая же проблема, вы ее решили?
Подобное можно реализовать с помощью java на libgdx?
Изучить
Постичь посредством учения, получить основательные познания в чем-нибудь.
Внимательно наблюдая, ознакомиться, понять.
Спасибо за урок! Подскажите пожалуйста, вы знаете способ заставить TextMeshPro адекватно отображать кастомные кириллические шрифты? Пытался генерировать Фонт Ассет Криейтором, но шрифт не отображается как надо.
Классные уроки, хорошо помагают) Хотел спросить, можно ли как то и как выставить карты веером(полудогой) и что бы они так же групировались как с компонентом Leyouy group?
Для этого нужно писать собственный Layout.
При передвижении карты они не притягиваются к родителю а остаются на месте где их отпустили
быстро всё делает и таких умельцев много, но вот по чему то нормальных карточных игр нет , видимо недостаточно быть программистом но и иметь понимание какой должна быть игра
Просто все основные механики уже придуманы, а хитромудрые отталкивают новых игроков, поэтому даже если есть более-менее годная ККИ, то если компания не была популярной или просто игра не выстрелила сразу, то она имеет очень маленькие шансы стать популярной.
Дядь, дядь, ты святой
Такой вопрос, Координата Z в 2D Нужна для положения объекта(ближний, дальний план)? Если да, то почему, когда мы его получаем через mainCamera.ScreenToWorldPoint(eventData.position) он все время разный?
В 2D Z не используется (точнее использовать можно, но зачем). Для задания глубины нужно использовать Sorting Layer.
Через Ui-image,не могу ввести во вкладке render-camera:main camera -выдает ошибку (
А почему карта не показывается как перемещается.. жму мышкой и нет этого, только как уже встала на место сразу.
установил версию 2020 и заработало)
Такой трабл случился, у меня в игре спрайт не совсем квадратные, и нужно перемещать именно в указанные позиции исключительно по границам image, ты случаем не знаешь как сделать так, чтобы OnDrop не реагировал на прозрачные участки Image?
Ну или проще, можно ли как то сделать так, чтобы OnDrop работал с Collider2D? Без Image компонента
@@moranyt8299 Raycast padding позволяет настроить границы активной части изображения (компонент Image)
А если это всё сделать на андроид будет работать, или нужно специально под телефон пилить код?
Будет, почему нет
как только ставлю newPos.z = 0; при попытке передвинуть карту, карта увеличиваеться на весь экран!
В следующих частях это пофикшено
@@def1NeX согласен, ошибка у меня была в камере, в графе Projection) все чики)
Что делать я с перфаба не могу удалить Нэйм и Лого в ТемпКардГО , удаляю так говорится Отркыть префаб и удалить то что нужно
нажми правой кнопкой по карте в иерархии, выбери prefab и нажми unpack
Я бы хотел такую функцию реализовать на WPF, для приложения "Магазина продуктов", чтобы можно было перетаскивать товары в корзину и обратно
Подскажите кто - нибудь, пожалуйста, как сделать, чтобы при перемещении карты вдоль оси х карта наклонялась пропорционально отдалению карты. Вообще нужна просто зависимость от перемещения карты вдоль оси. (Урок прекрасен, спасибо!)
Спасибо чувак! Мало 2d рыбалок в сети, не хочешь как-нибудь простенькую сделать?
Сорян за банальщину, но на андроид будет тоже как тип зпместь мыши палец??
Круть чувак)))
thx
Добрый день а на заказ делаете? Мне чисто на коленке нужно, хотябы основу. я подробнее раскажу если можно заказать ( сам пытаюсь сделать но у меня руки немножко ниже ростут чем надо и одни ошибки выскакивают )
Можете написать в лс в дискорде
Очень круто. Спасибо, но видимо придёться учиться программировать с нуля чтобы даже накидать такой шаблон.
спасибо брат
ждать продолжения?
на неделе
Еееее
Лучше поздно, чем никогда
Круть)
А что за програма для редакта
Visual Studio Code
Когда 2 монитора, функция SacleWithScreenSize начинает нарушать соотношение сторон, и в итоге Image 1920 на 1080 даже в конструкторе не покрывает Сanvas 1920 на 1080 xD Проверил на пустом проекте, с ConstantPixelSize всё шикарно.
Только что проверил и запустил esm с двумя включенными мониторами, никаких проблем с соотношением сторон не наблюдаю.
у меня ошибка: Assets\Scripts\Drag_Script.cs(23,3): error CS0118: 'Vector3' is a type but is used like a variable
помогите пожалуйста
Нужно делать так
Vector3 newVariable = new Vector3(0f,0f,0f);
а можешь создать игру где у карты есть урон и хп и способности написать код чтоб они сражалисьт друг с другом?
Аян Кайрлы ну так урон и хп у карт будет в этой игре. Просто подожди следующих частей.
ок спасибо буду ждать
Сделал.
Наткнулся на проблему. Я вписал полность весь код для карты , но проверку сделать не могу так как Юнити говорит мне об ошибках , хоть в коде я не вижу никаких ошибок.
Как исправить и что делать ?
Даблкликай на ошибки в консоли и у тебя в редакторе кода будут подсвечены строки с ошибкой.
@@def1NeX Оповещения об ошибке мне даёт самое Юнити. Перетянув скрипт, я пытался пару раз запустить но все равно говорит что какая-то ошибка в коде
Все ошибки отображаются в консоли юнити. Там ты можешь даблкликать на ошибку и получать доп. инфу
@@def1NeX Ага. Понял , спасибо.
И как понять что компоненты : EventSystem, IBaginDragHandler... Не найдены ? Это получается что библиотека не подключена ?
@@МикитаЛисенко-д6к да, нужно подключить библиотеку UnityEngine.EventSystem
сложновато на первый взляд, но разобраться можно
еще не досмотрел до конца, но уже спасибо, что это не такой тутор, где постоянно фыркают и плюются в микрофон, а видео приходится ускорять в два раза, чтобы не было так муторно. и сколько уроков планируется?
Пока точно не знаю, думаю около 10, может больше.
Лучше смотреть в x1.5)
Го слив скриптов коменты в описание?
Извиняюсь, я новичок, что за импорт плагина в начале?
Textmesh Pro - в версии Unity 2018 уже встроенный плагин - мощный инструмент при создании текстовых объектов.
@@def1NeX, ух ты спасибо за быстрый ответ)
На андроид можно портировать свою игру?
Да
Жаль , что ты не оставил коды в описании :(
В описании ссылка на проект на Гитхабе...
@@def1NeX а можно скачать твою версию ?
Ничего не понял на скорости х0.50 , поставил х2 сразу всё очевидно стало
Бро как ты все это выучил, что читал что смотрел сколько учишь unity уже???
Смотрел ютюб, читал стакОверфлоу. Пару лет.
@@def1NeX Стоит ли этим заняться мне сейчас 17 начал шарп учить какие бы порекомендовал ресурсы?
@@sga7367 Unity с каждым годом набирает обороты, поэтому если нравится, то занимайся. Есть уроки от самих Юнити, есть куча каналов на UA-cam, есть разные бесплатные онлайн-курсы.
@@def1NeX Спасибо)
Нихера не понял но очень интересно
Привет великий гейм, я прошу тебя ответить на мой коментарий, это очень срочно и важно)
За ранее спасибо тебе большое
На что именно ответить?
@@def1NeX я вам отправил заявку в друзья в ВК, там могу я вас спросить?
@@def1NeX дело в том, что бы вы ответили в ВК)
А там я хотел бы обсудить кое что
@@def1NeX
Блин, я из за дел запутался кто есть кто. У меня инстограмм не потдерживаеться, как я могу с вами связаться?
@@def1NeXя могу подробно объяснить что вообще происходит и что хотел бы обсудить могу лично, в ВК например
пиздец, нихуя не понял, хотя, всё-таки понял, понял, что разрабатывать даже карточную игру - это не моё...
слишком быстро
Норм!!!
Юнитизм это типа аутизм?
Если да то я перехожу на gamemaker
Юнитизм это тип Юнити + Атеизм (если богом считать гамак) ¯\_(ツ)_/¯
)
Не понял, ты показывал или обучал, потому что если второе, то ты явно не понял значения слово "обучать"
Такая подача никак не может чему то обучить, максимум для демонстрации твоих возможностей работодателю, который такой ВОУ, а челик шарит!
Выключил сразу после того как Ты начал в скороговорке говорить о скриптах.. Дальше можно не смотреть.
Вообщем смотри, что такое "обучение" в гугле.
он просто в туалет не сходил, поэтому все так быстро
ээээээээй
Все було би добре. Відео підписане Українською. А от автор розповідає російською. Я дещо не розумію.
Автоматичний переклад UA-cam мабуть постарався. Нові відео виходять українською.
@@def1NeX Дякую.
Классный урок. Автор, а ты не планируешь сделать урок по созданию игры типо "Монополия"? Лично я бы с удовольствием посмотрел, да и подобных уроков на ютубе нет. ККИ есть, платформеров как говна за баней, а уроков написания игры типо монополия, вообще никто ещё не делал.
Если сделаешь, буду благодарен очень. Думаю многим интересен такой урок будет.
Может быть в будущем сделаю какую-нибудь пошаговую стратегию, а вот прям клон монополии делать, скорее всего, не буду.
Круто)) Один минус - мне, как ламеру, ничего не ясно))
Я подумываю над тем, чтобы в будущем записать цикл уроков по обучению Unity с нуля.
velikiyGames было б не плохо дружище!