Порталы в Unity 3D как в Portal2 [Tutorial] Часть 1/3 - внешний вид и портальный шейдер
Сделать порталы похожие на Portal2 в Unity - не такая простая задача. Но они могут добавить немало красоты и атмосфере вашей игре. В этой серии видео я пошагово покажу как сделать такие порталы в Unity 3D. Вы также можете скачать готовый проект, чтобы разобраться подробнее
Вторая часть: • Порталы в Unity 3D как...
Третья часть: • Порталы в Unity 3D как...
Проект-заготовка, и законченный проект с готовыми порталами: github.com/emeraldpowder/Portals
Портальный шейдер: github.com/emeraldpowder/Port...
На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео
Пікірлер: 107
Даже с крутым туториалом, понятным обьяснением, выполнением всего строчка в строску, я всё равно сделал так, что бы ничего не работало, как всегда
@gagaion_den5721
2 жыл бұрын
Тоже самое
@user-ut7yd8vb2c
Жыл бұрын
жиза
@Sasha2dx
Жыл бұрын
Хорош.
После таких видео, новичку главное не впасть в депрессию понимая насколько все сложно
Я так долго искал нормального ютюбера по C# в плане объеснений как все зделать вы и заготовку дали и научили круто
Круто! Лучший туториал по порталам!
Самый лучший вариант, который я нашел, автору респект
Отличное видео) Отличная озвучка:) Хороший поднос информации, есть чему поучиться:) Превьюшки прикольные) Продолжай в том же духе:)
@EmeraldPowder
5 жыл бұрын
Спасибо!
0:58 Если кому нужно (кому нужно, тот поймёт), то в этом моменте он нажал F
@lolichno
3 жыл бұрын
Спасибо : D
@user-ix3oh3ds8s
Жыл бұрын
Мне было нужно) Блендер я начал учить только вчера)
@Goshulka02
6 ай бұрын
Спасибо огромное!!!
Я сделал все точно также, но при использовании строчки ротации камеры у меня изображение в портале какое-то Перевернутое получается. Орудовал на версии 2020
Я крайне редко оставляю комментарии, но тут прям не мог пройти мимо. Продолжай снимать свои уроки, у тебя классно получается. Было бы круто увидеть плейлист по созданию определенных жанров игр, где постепенно допиливаешь какие-то фичи. И у тебя отличные игры, продолжай в том же духе!
@EmeraldPowder
5 жыл бұрын
Спасибо! Как раз вот начинаю снимать подробную серию про создание онлайн игры, там наверное немало серий получится, хоть и стараюсь в основном про онлайн рассказывать
@_Kater_
Жыл бұрын
@@EmeraldPowder 12:22 у меня камера улетает за карту после этой строчки
Супер годно
@MrFilming
5 жыл бұрын
Обычно смотрю видосы на английском, но сейчас решил рискнуть и не пожалел. Очень хорошо объяснил, заснял и все такое прочее
@MrFilming
5 жыл бұрын
оказывается я уже подписан на тебя
Мало что понял (почти нет опыта программирования), но выглядит офигенно! Сохраню на память. Есть такой паренек на ютубе - CodeParable, делает много крутых вещей, но жаловался, что в юнити сложно создать порталы без кодирования. Да, без еода не получится, но видимо, не так уж сложно. Супер!
Очень крутой канал по юнити, самое то для изучения движка и шарпа. Учил по Сакутину некоторое время, потом что-то посмотрел у itproger, сейчас знания на практике стараюсь применять с тобой, здорово делаешь 🔥
Все отлично, но почему-то Clipping улетает далеко у камеры в портале из-за чего в портале вообще ничего не видно кроме горизонта
Хотел сделать аналог портал в 2д но в 3д тоже сойдёт :)
на 12:33 видно как при прыжке нижняя часть портала перестаёт отображаться. У меня такое не только при прыжке но ещё и при повороте камеры хоть немного выше или ниже портала.
почему когда я двигаюсь, камера двигается не в противоположную сторону от портала, а в одну сторону с игроком по оси?
Сижу, смотрю несколько гайдов, пытаюсь сообразить, как сделать универсальный префаб-портал...
@GoustYTC
Ай бұрын
Скорее всего сделай 2 переменных для порталов, саму текстуру портала сделай белой и крась ее при установке
У меня проблема, из-за nearClipPlane под некоторым улом обрезается пол и некоторые объекты в портале, это как то можно исправить?
А что если сделать через stencil шейдеры? Хотя в этом случае придётся менять расположение другой сцены и соот-но могут быть проблемы со всякими static-объектами и запечёнными светом и тенями...
Я так и не понял, закон сохранения энергии работает?
А как сделать что бы порталы на полу ставились
у меня после изменения, шейдер сразу 2 ошибки выдает. на букву "w" в 48 строчке. и материал становится яркорозовый ! ппервая : Shader error in 'Unlit/portalshader': 'tex2D': no matching 2 parameter intrinsic function; Possible intrinsic functions are: tex2D(sampler2D, float2|half2|min10float2|min16float2) tex2D(sampler2D, float2|half2|min10float2|min16float2, float2|half2|min10float2|min16float2, float2|half2|min10float2|min16float2) at line 48 (on d3d11) вторая : Shader error in 'Unlit/portalshader': invalid subscript 'w' at line 48 (on d3d11) Compiling Vertex program Platform defines: UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_COLORSPACE_GAMMA UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR версия юнити 2019.1.7f1 и при развороте одного из них , камера в развернутом портале разворачивается вообще не понятно куда. а в нетронутом нормально. почему так ?
@HaZe_Vl
4 жыл бұрын
У меня так же
@landetti2253
4 жыл бұрын
@@HaZe_Vl you should use windows x86_64 build
@user-eh2cx7nq4z
3 жыл бұрын
У кого такая же проблема, вот решение: Первую строку в коде шейдера заменить на Shader "Unlit/NewUnlitShader"
@VinDust
3 жыл бұрын
У меня была такая проблема, но я её как то решил, забыл как
@user-hl2lg1mp1y
3 жыл бұрын
Не знаю как в других версиях, но в 2020.1.17f1 при создании шейдера на строке 30: float2 uv : TEXCOORD0; изменив на float4 uv : TEXCOORD0; проблема решается. Ну а вообще легче скачать шейдер с описания видосика.
Shader error in 'Unlit/Portal': invalid subscript 'w' at line 48 (on d3d11) помогите :(
@IIpoger404
Жыл бұрын
Не знаю как в других версиях, но в 2020.1.17f1 при создании шейдера на строке 30: float2 uv : TEXCOORD0; изменив на float4 uv : TEXCOORD0; проблема решается. Ну а вообще легче скачать шейдер с описания видосика. Один юзер ответил так, мне помогло
Привет тебе. Я скачал файл, который находится на GitHub, но я не могу видеть внитри портал. Мне кажется, что проблеман есть. Я использую Unity 2018.2 ++
@sonicstalkergames9279
3 жыл бұрын
надо через бледер експортировать файл в .obj тогда всё будет работать, как сделать чтоб портал в стенке не застревал
I hope you will understand this. i followed the tutorial but the camera doesn't move or rotate when the player walks or rotates. How to fix this problem?
@octobuter9872
4 жыл бұрын
Alex V did you attached camera to player’s capsule?
@alexv9607
4 жыл бұрын
@@octobuter9872 my player has a maincamera and the portals have there own camera's just what the tutorial says. Edit: I also get this error: NullReferenceException: Object reference not set to an instance of an object Portal.Update() (at Assets/Scripts 1/PortalScripts/Portal.cs:19
Все круто, но почему-то камера напрочь отказывается двигаться по оси Z, в чем может быть трабл?
@didi_music_russia
3 жыл бұрын
С Debug.Log выявил, что строка Vector3 LookPosition = Other.transform.worldToLocalMatrix.MultiplyPoint3x4(Camera.main.transform.position); всегда получает z = 0, почему так? Как быть?
У меня не работает Clipping. Что делать
@mymirwastaken
2 жыл бұрын
Да, что делать?
А как сделать оружие портал ган который ставит порталы
@EmeraldPowder
4 жыл бұрын
А про это в третей серии
это нереально
В портале на черные стены нельзя ставить порталы.В юнити получается это достаточно просто будет реализовать используя луч ми тэг?
@EmeraldPowder
4 жыл бұрын
Да, можно через теги или слои, у меня в 3 части собственно и реализовано через слои, на желтые кубы портал не ставится
@-._63
4 жыл бұрын
@@EmeraldPowder спасибо за ответ.
А как сделать чтобы когда у тебя нет пушки то ты не можешь стрелять порталами а если будут то может стрелять
@Siorinex
4 ай бұрын
Вопрос странный для программиста: "if (HavePortalGun)" в функции "выстрела" вместо просто запуска "снаряда" проверить наличие пушки и если есть - сделать то-же самое, как в примере...
Как исправить проникновение сквозь текстуры(Проблема скорее всего в скрипте) Помогите
@sonicstalkergames9279
3 жыл бұрын
Я понял как исправить Неправильно: Blue.transform.position = hit.point + Red.transform.forward * 0.6f; Правильно:Blue.transform.position = hit.point + hit.normal;. Тоже самое с красным
А что делать если в моменте 6:05 получилась розовая текстура?
@EmeraldPowder
Жыл бұрын
Розовая текстура - значит шейдер не загрузился, может быть в консоле есть ошибки с разьяснениями, или можно выделит ьшейдер и в инспекторе посмотреть
Отличная тема, но есть вопрос как вставить портал на рандомную дорогу?
@EmeraldPowder
2 жыл бұрын
Эти порталы можно в любое положение перемещать скриптом А вообще про использование рандома хочу сделать отдельный видос, возможно однажды выйдет
@emptyman3469
2 жыл бұрын
@@EmeraldPowder не ожидал быстрого ответа. Спасибо. Я не очень силён в коде. По времени конечно бы его поставить, потому что вычеслить расстояние похоже целое уравнение надо)
@emptyman3469
2 жыл бұрын
@@EmeraldPowder всё оказалось проще. Выставил монетки каждые 100 м. на плитки (чтобы считать удобно было))) через 60 сек. прошёл 800 м. ( 8 плиток). Вставил портал в спавнер( в инспекторе 800 м.) и через 50 сек выпустил * зверя * в аккурат перед игроком. Так для инфы, может сгодится такому же чайнику как я)
Что делать, если у моего игрока координата Y постоянно скачет от -1.00... до 2.00..., и камера, прикреплённая к нему, соответственно тоже меняет свои координаты? Выходит так, что камеры портала также скачут по оси Y, не знаю, что с этим делать, пытался всяко решить эту проблему. Очень жаль, потому что именно с этим видео у меня получилось реализовать отображение камер на текстурах портала (хотя я дошёл даже до иностранных видеороликов).
@pumpkinhead4048
Ай бұрын
Ок, я просто выключил на время компонент Character Controller у игрока и снова включил и... это сработало. Камеры не дёргаются. Но вот обрезание камеры я сделал по другому видео P.S. на самом деле надо просто включить Kinematic, если на игроке стоит RigidBody
Ага. А как можно ли реализовать всё это в старых версиях Unity? Если да, то как? Изменено: Я уже разобрался с этим, но у меня возникла одна проблема. Прикол в том, что при запуске камера ставится впереди портала(хотя я её ставил позади). И когда идёшь вперёд, то камера идёт назад к порталу. Короче говоря, у меня возникла инверсия камеры с вперёд/назад. Как сделать так, чтобы, отходя от портала, камера не приближалась, а отдалялась(как у тебя)?
@mymirwastaken
2 жыл бұрын
В в блоке position скрипта portal на последней строке: PortalView.transform.localPosition = (тут вот убери минус)lookerPosition; А выше вставь это: lookerPosition = new Vector3(-lookerPosition.x, lookerPosition.y, -lookerPosition.z); В общем если ничего не понятно, вот блок position: Vector3 lookerPosition = Other.transform.worldToLocalMatrix.MultiplyPoint3x4(Camera.main.transform.position); lookerPosition = new Vector3(-lookerPosition.x, lookerPosition.y, -lookerPosition.z); PortalView.transform.localPosition = lookerPosition;
@foxfire941
2 жыл бұрын
@@mymirwastaken благодарю за инфу
@mymirwastaken
2 жыл бұрын
@@foxfire941 Пожалуйста)
Так себе оно работает, если специально, или нечаянно хотя бы на сотую часть заскейлить хотя бы один портал, тогда будет дергать, будет портавать по разному, мне кажется stay и zPos не лучшим образом работают, мягко говоря.
@EmeraldPowder
5 жыл бұрын
Не пробовал скейлить, но возможно, телепортацию тут можно улучшить, это точно. И определение того что объект вошёл в портал, и с физикой плотнее поработать - скорость попытаться относительную сохранить. Ещё можно дубликат объекта засунуть в зеркальный портал.. в общем есть чем заняться, просто с этой серией видео уже закончил, хотя если дойдут руки и наберу таких улучшений думал сделать ещё видом
NullReferenceException: Object reference not set to an instance of an object Portal.Update () (at Assets/PortalGun/Portal.cs:17) у меня постоянно эта ошибка помогите пж
@verzon390
4 ай бұрын
в скрипт поставь обьект
Не работает, в шейдере ошибка с координатами Стоп, вроде у себя ошибку нашёл!
Помогите, ничего не работает, камеры просто улетают фиг пойми куда, а в самом портале ничего не видно😢 даже полное копирование кода точь-в-точь никак не помогло, что я делаю не так????????????
Клипинг не робит
@mymirwastaken
2 жыл бұрын
Соглы
КЛАССНООООО! ЛАЙК НЕ ГЛЯДЯ! СПАСИБО ЗА ТАКИЕ ВИДЕО!!!!
привет крутой видос телепорт работает огонь но почему то не вижу отображение одного портала в другом :( можешь подсказать в чем может быть проблема ?
@vrclubportal4347
4 жыл бұрын
все разобрался спасибо :) но проявился другой вопрос :)))) если делаю под виртуальную реальность как сделать изображение четким от я так понимаю оно раздваивается потому что на очках 2 камеры из разных глаза !
@EmeraldPowder
4 жыл бұрын
О, а это инетерсный вопрос. Я с VR не работал за неимением очков, но по идее нужно для портала так же создавать две камеры, одну по левому глазу позиционировать, вторую по правому. И как-то выводить для каждого глаза на портал свою текстуру, насчёт точно как всё это сделать из скриптов - надо побольше поизучать VR)
@vrclubportal4347
4 жыл бұрын
Emerald Powder да с Виртуальной реальностью интересно поработать :) сам только разбираюсь ! Если будет контент по этой теме будет круто
@mclaren8989
3 жыл бұрын
Чувак, получилось ли у тебя реализовать размещение камер для VR?
Я ещё не посмотрел видос, думаю пойму. Вопрос про Prey 1, там играешь индейцем. Так вот это первая игра с порталами которые после появились в Портал. Так вот модель персонажа могла стоять одновременно в двух порталах на половину. Так сказать одной ногой там, а другой здесь) Что там с атмосферой? Ещё интересно гравитация планет. Возможно ли использовать силу притяжения самой Unity3D. Давай дружить)
@EmeraldPowder
5 жыл бұрын
Да, в Portal вроде бы тоже можно было наполовину зайти в портал. Думаю получится так же, если создавать ещё один объект с моделькой персонажа и высовывать его из второго портала, возможно сделаю про это ещё одну часть видео А гравитация планет это интересная тема, с помощью физики Unity её можно сделать, но надо будет выключить встроенную гравитацию, и скриптом прикладывать силу к объектам. Спасибо за идею для видео)
так можно зерколо делать
У МЕНЯ ШЕЙДЕР ПОРТАЛ В ФИОЛЕТОВЫЙ ПРЕВРАТИЛ
игра сломалась
Зачем я это смотрю если я не работаю в Unity и даже не знаю C# 🗿
@EmeraldPowder
2 жыл бұрын
Если долго смотреть то как раз можно научиться, а если ещё пробовать самим что-то повторить - тогда точно научишься :)
пипец как все просто, вот только у тебя опыта лет 300...
@EmeraldPowder
3 жыл бұрын
2 года геймдева на юнити в тот момент когда делал видос, 4 года сейчас) В целом в программировании да, немало, но чтобы его заработать я как раз по похожим туториалам и повторял действия опытных чуваков
@user-ti9tx7ro2r
3 жыл бұрын
@@EmeraldPowder друг, очень хочу так же научиться, можешь названия каналов по которым ты учился скинуть? А ролик твой топовый, заранее спасибо)
А вы тоже пришли после splitgate?)
т ы пишиш на с#
@kilinar2239
4 жыл бұрын
А на чем еще? Это Unity.
@mymirwastaken
2 жыл бұрын
@@kilinar2239 Там ещё на javascript можно
@kilinar2239
2 жыл бұрын
@@mymirwastaken 1) Раньше можно было писать еще и на Boo (вроде как диалект Python). 2) Это был диалект JavaScript - UnityScript (вроде бы были некоторые отличия). 3) Поддержка Boo была убрана с выходом Unity 5 (2015 год), а JavaScript не поддерживается с версии 2017.1.(Где первая цифра - год выхода обновления) Короче, уже как почти пять лет, как стало невозможно использовать JavaScript в актуальных версиях Unity. Качать же настолько устаревшую версию движка ради JS... гораздо логичнее потратить пару недель на освоение базиса C# (если уже умеешь программировать, а если нет - то и, по большему счету, все равно с чего начинать - с JS или C#).
@mymirwastaken
2 жыл бұрын
@@kilinar2239 Не ожидал такого длинного ответа, но я на версии 2017)
@kilinar2239
2 жыл бұрын
@@mymirwastaken Окей, дело ваше. Я сейчас вообще на Unreal перехожу.