Интересный канала про создание игр, использование нейросетей для своего творчества. На этом канале я покажу вам как я создаю свою игру, как создаю игры с помощью нейросетей и творческого подхода. Как заработать на играх, создание игр за 1 минуту, создание инди хоррора и многое другое. Хорошего вам просмотра!
как сделать что бы дверь открывалась и закрывалась постоянно после того как игрок подобрал ключ, просто здесь можно только один раз открыть и один раз закрыть, а дальше дверь не откроется
Хах ничего по существу, unity никогда не добраться до той функциональности что есть в unreal engine, у анрила есть лучшие технологии, в то время как у юнити такого нет, поэтому большие корпорации по разработке игр выбирают анрил нежели unity, потому что на юнити сложнее сделать красивую графику, также работать с материалами та ещё задача, + структура у анрила хоть и сложна по началу, но она намного эффективнее чем у юнити, + эпики дают много плюшек что даёт большой плюс к изучению именно анрила, и также анрил не только для разработки игр используется так что юнити это только для говно игр на веб и тд, если вы хотите сказать что на юнити тоже можно сделать п.дец какую графонистую игру, да ну не смешите меня на анриле это проще сделать, чем на юнити
Тут нужно понимать, чего ты хочешь от приобретёных навыков и рассмотреть все плюсы и минусы. Кратко: Если хочешь делать трэш для Яндекс Игр, то Unity, если хочешь работать не обязательно в геймдеве с компьютерной графикой и анимациями, то UE5. И не нужно нести чушь, что ренедер Unity может так же как UE, нет, он может, но по другому, разные технологии. Unity - это платное ПО, бесплатная версия которого сильно урезана (нет нормального физического движка и открытого исходного кода). Платная версия дорогая для начинающих инди-разработчиков. Движок больше подходит для казуальных игр из-за технических ограничений. Плюсы: C#: Удобный язык программирования от Microsoft, заточен под ООП, обеспечивает высокую отказоустойчивость и выявление ошибок перед компиляцией. Все инструменты для работы с 2D и 3D анимациями, звуком и настройкой персонажей, но выглядят они все скудно и как будто не доделанные. Приходится писать что-то своё, либо покупать дополнительные аддоны в маркете. Та же Синемашина, с расплывчатым лицензионным соглашением, что до сих пор не понятно, сколько за неё нужно отчислять и при каком доходе. Поддержка игровых консолей, мобильных устройств, ПК и WebGL, что даёт возможность портировать игры к примеру в мусорку Yandex Игры. Префабы: Удобно создавать и множить объекты без нагрузки на ОЗУ. Минусы: C# медленнее C++, что требует оптимизации для крупных проектов и придётся покупать лицензию для доступа в исходный код, а это серьёзные знания в C++ и вложения. Привет багованный Escape from Tarkov кстати, пример как юнитисты решили сделать ААА многопользовательский шутер на юнити. URP и HDRP: Разные системы рендеринга, требующие разных подходов к программированию шейдеров и материалов. Отсутствие новых технологий и автоматизаций, таких как Auto LODs и готовые бесплатные пресеты. Разработчики Unity часто не понимают нужд игровых разработчиков, фокусируясь на монетизации и рекламе. Правила оплаты постоянно меняются не в пользу маленьких студий. Unreal Engine разрабатывается профессионалами игровой индустрии, которые прислушиваются к сообществу. Платная техническая поддержка, остальное доступно из коробки. Используется в играх, синематиках, VR презентациях, архитектурной визуализации и кино, что расширяет возможности трудоустройства. Плюсы: C++: Высокопроизводительный код, гибкость стиля не боится спагеттизированного кода, быстрая работа приложений исполненных на плюсах. Визуальное нодовое программирование для прототипирования интуитивно понятней и гибче, чем Bolt у Unity. Инструменты для постобработки, анимации, 3D звука, 3D материалов и освещения с графическим интерфейсом и ползунками, всё это и больше из коробки. Поддержка всех игровых платформ, простота настройки перед компиляцией. Блюпринты: Аналог префабов Unity, для удобной сборки игровых объектов в отдельный актор сущности. Современные технологии (Auto LODs, Auto Collision, Nanite, Lumen и многое другое, для создания в короткие сроки оптимизированной ААА качества картинки даже одним человеком). Много бесплатных высококачественных ассетов в встроенном маркете, у Unity бесплатно один мусор. Минусы: C++: Требует точности, внимательности и соблюдение правил правописания, возможны ошибки с памятью и вылеты при компиляции и перезапуск программы по новой, без указания ошибки в коде. Трудности в поиске багов. Нет аналога Intellisense. Нодовое программирование на больших проектах становится нечитабельным спагеттикодом в прямом смысле слова, сложно отслеживать изменения через Git. Нет поддержки WebGL, медленные и громоздкие билды для HTML5. Прощай Яндекс Игры. Очень не удобная разработка 2D игр, особенно работа с спрайтами анимации и картами 2D текстур. Интерфейс может быть неудобным для новичков, так как разрабатывался в конце 90х и не имел общей стандартизации, но UE5 улучшил ситуацию.
Код ---- using System.Collections; using System.Collections.Generic; using UnityEngine; public class DoorEvent : MonoBehaviour { [SerializeField] Animator DoorAnimator; [SerializeField] bool Closed; public void TryOpen() { if(!Closed) { if(DoorAnimator.GetBool("interact") == false) { DoorAnimator.SetBool("interact", true); } else { DoorAnimator.SetBool("interact", false); } } } public void Unlock() { Closed = false; } }using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerKey : MonoBehaviour { [SerializeField] KeyCode PickUp; // Update is called once per frame void Update() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray, out hit, 3)) { if(hit.collider.tag == "Key") { if (Input.GetKeyDown(PickUp)) { hit.collider.gameObject.GetComponent<KeyEvent>().UnlockDoor(); } } if (hit.collider.tag == "Door") { if (Input.GetKeyDown(PickUp)) { hit.collider.gameObject.GetComponent<DoorEvent>().TryOpen(); } } } } }using System.Collections; using System.Collections.Generic; using UnityEngine; public class KeyEvent : MonoBehaviour { [SerializeField] DoorEvent Door; public void UnlockDoor() { Door.Unlock(); Destroy(gameObject); } }
Так в чем юнити лучше анрила? Я разрабатывал игры и на юнити и на анриле и могу с уверенностью сказать, что все перечисленные плюсы юнити (кроме требовательности к железу) есть и у анрила, но многих плюсов аниила нету у юнити. Вот некоторые из этих плюсов: 1) В анриле не нужно каждый раз изобретать велосипед во время создания нового проекта, благодаря готовым шаблонам. Для новичка в геймдеве это очень важно 2) В анриле кроме классического кодирования есть блюпринты, которые намного понятнее и удобнее для новичка. Да, в юнити тоже есть похожая система, но все таки она намного хуже боюпринтов из анрила в плане гибкости и удобства 3) В юнити очень тяжело сделать высокотехнологичную графику для новичка, в отличии от анрила, в котором это делается по нажатию нескльких кнопок Возвращаясь к разговору о требовательности анрила, хочу сказать, что я однажды работал в анриле с компа, в котором стояла RX 470 на 4 гига, i5 2500 и 8 гигов оперативки DDR3, 5 версия анрила на этом компе шла абсолютно стабильно и поэтому не могу назвать анрил сверх требовательным движком, хоть юнити явно будет более лояльным к слабому железу. Как итог хочу сказать, что Unity это отличный движок для слабых пк, а Unreal Engine это лучший движок для создания игр, но более требовательный к железу
Крутая задумка, только игра выбрана не подходящая, как по мне. Оригинальный Майнкрафт имеет очень не стандартный код, поэтому нейронке сложно понять, что от неё хотят. Думаю было бы классно сделать гта от нейронки, с этим она должна лучше справиться. Хотел еще спросить, почему ты выбрал Unity для этого эксперемента? Unreal Engine сейчас во всем лучше Unity
Короче продолжай делать макет chat gpt прям чтобы много всего было и если сможешь доведи до ума типо оптимизацию и прочее. Можно сделать такую рубрику на много серий и с разными жанрами.
Зачем ты так сильно увеличиваешь? Без хейта. Просто реально все скрипты работают, но я не знаю куда указать Unlock. Ты куда-то нажал, и там void Unlock. Таких подобных ни в одном из файлов нет. Короче не надо так увеличивать Изменено: Я наконец-то нашел, куда тыкать public void Unlock. Его надо в DoorEvent
Недавно тоже делал систему инвентаря для своей игры. Потом попросил ChatGPT разбить мои классы по MV паттерну и добавить сохранение. В итоге почти сразу всё заработало