Jump to content

Владимир Шека

Administrators
  • Content Count

    1252
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Владимир Шека

  1. Простой скрипт, чтобы заставить NPC (моба или монстра) ходить в Unity по вейпоинтам в случайном порядке. Идеально подходит для новичков, так как делается быстро и требует минимум знаний. Скачать скрипт передвижения NPC для Unity3d: ObjectsNavigation.cs или https://yadi.sk/i/kColXBvj3XqdxA В прошлом уроке "Unity ходьба NPC (скрипт передвижения)" мы пользовались этим скриптом, тут посмотрим, как он работает изнутри.
  2. Стоит знать, что в новой версии Юнити из стандартных ассетов убрали post processing, и теперь его нужно качать отдельно с ассет стор. Для версии 5.5 и выше https://assetstore.unity.com/packages/essentials/post-processing-stack-83912. + Видеоурок Для более старой версии https://assetstore.unity.com/packages/essentials/legacy-image-effects-83913 (хотя работает и на Unity 2018)
  3. Эффекты для камеры в Unity. Просто вешаете на любую камеру один из скриптов, и наслаждаетесь эффектом. Скачать Camera Filter Pack: https://yadi.sk/d/CyxaZotl3Wsgaw или Camera Filter Pack v12.unitypackage Несколько примеров. Некоторые эффекты камеры для Unity3d с анимацией, некоторые статичны. Скрины (80 шт) https://yadi.sk/d/3o4WH39V3WsnAQ
  4. Версия скрипта с крафтом Скачать InventoryStream.unitypackage или https://yadi.sk/d/yTDKPHpz3WrsGL
  5. Для начала посмотрите видеоуроки от Stream: https://www.youtube.com/watch?v=Y-OpWcRhgJ0 - полностью https://www.youtube.com/watch?v=wgl69JPczG0 - до 28 минуты (дальше не делал, и мой скрипт дальше не развивался, там идет про то, как брать предметы в руку) Теперь, если хотите лучше понять, как это работает, то посмотрите мое видео: Новичку без просмотра видео по Unity-инвентарю от Steam'а будет почти невозможно разобраться. Мое видео в качестве бонуса детальней разжевывает, как работает алгоритм, плюс в моих скриптах добавлены комментарии.
  6. Вы можете посмотреть урок по делегатам в c#, но если там недостаточно хорошо разжевано, то вот более понятное описание. Возможно, это не полное описание, и не до конца точное, но мы тут не диссертацию пишем, а пытаемся понять суть явления, пусть и с некоторыми огрехами, поэтому поехали. Что такое делегаты в c#? Если простыми словами, то представьте, что вы написали код программы (класса), где в случае каких-либо действий на консоль выводятся сообщения. Действий и ситуаций, которые приводят к выводу много, соответственно, везде вы прописали например: "Debug.Log ("текст" + к
  7. Как на C# в Unity получить доступ к переменным другого скрипта? Если в видео вам не понятно, то разжую на пальцах. Для примера у вас на GameObject (так называют любой объект на сцене) висит 2 скрипта, вам нужно, чтобы один скрипт у другого мог вызывать его функции или менять переменные. Получить доступ к скрипту на том же объекте Синтаксис получения. Сначала вам в первом скрипте необходимо создать переменную, которая будет ссылаться на второй скрипт вашего GameObject. Потом положить в эту переменную ссылку на второй скрипт, далее использовать переменную дл
  8. Скрипт, который является базовым классом, от которого вы можете наследовать другие классы (скрипты). Смысл в том, что создавая скрипт, и вешая его на GameObject (например, NPC или моба, а может и игрока), вы можете унаследовать его от этого, и тогда получите функции, описанные в самом скрипте в комментариях в начале. Это может понадобиться, если у вас много видом мобов или NPC, и у них планируются свои разновидности (еще дочерние классы), и вы хотите всем задать одни и те же особенности. Например, у всех должно быть хп, максимум хп, и здоровье должно восстанавливаться. Если вы их б
  9. Прибавляет к переменной примерно +1 в секунду CurrHP += Time.deltaTime;
  10. Как узнать скорость во время движения объекта? https://toster.ru/q/280308 Движение объекта. Ограничение по скорости и остановка. https://gcup.ru/forum/59-34062-1
  11. Когда только начинаете разбираться с таким инструментом, как Animator, то можно попасть в тупик - анимация проигрывается только один раз, и непонятно где искать настройку, чтобы зациклить анимацию в Unity. Чтобы анимация повторялась надо взять сам кусок анимации (как правило он в префабе объекта), и в инспекторе выбрать Edit на вкладке Animation. Далее нажать Loop Time, и применить изменения (Apply в самом низу инспектора) Можно посмотреть, как настроить повторение анимации, по скрину.
  12. Полезные кусочки кода скриптов Небольшие фрагменты, которые можно использовать, как заготовки Перемещение по нажатию на кнопку По нажатию на Q создает ГеймОбжект с именем Object4Mouving и приписывает туда ссылку на объект из иерархии с названием TireNearLike. Название ставьте свое, выбирайте имя того объекта, которое необходимо найти на сцене. Далее объект переносится в указанные координаты. //изменение позиции объекта(тест поиска объекта для изменения его позиции по его имени) if (Input.GetKeyUp(KeyCode.Q)) //будет срабатывать по нажатию Q
  13. Перемещение объектов Вместо Object4Mouving подставляйте имя переменной, которая в вашем скрипте ссылает на нужный объект: Object4Mouving.transform.position = new Vector3(1, 2, 3);//перемещение объекта Object4Mouving в указанные координаты по X,Y,Z
  14. Тут придется напрячься. Так как это скорее напоминалка для тех, кто разбирается в Unity и скриптах, а не урок для новичков. Ибо новичку трудно будет вникнуть, что тут происходит по причинам описанным в самом скрипте. Сделано по уроку: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public class Spider : MonoBehaviour { //сделано по уроку https://www.youtube.com/watch?v=ANuDASeE-Oc (https://www.youtube.com/watch?v=dgEfHvsi6Zo) //Этот мануал по скриту будет довольно трудно понять нович
  15. Кроме того, что Unity может создавать игры под самые популярные платформы (Windows, Android, Xbox, PS) и для этого не требуется ничего особого, достаточно просто скомпилировать игру в нужный формат. Еще изучая этот движок для создания игр вы научитесь: делать игры, это сейчас самый популярный движок делать приложения для Android, например, не составит труда написать интерфейсную программу, если вы знаете хорошо Unity выучите язык программирования C#, который пригодится не только для написания скриптов для игры, но еще и для программирования в целом научитесь 3D моделир
  16. Изначально текстуры в Unity привязываются к размеру объекта, на который наложены. В итоге мы получаем либо слишком размытую текстуру (при большом объекте), либо слишком мелкую, если объект маленький. Инструкция, как поставить нормальный размер текстур в Unity: Добавляем шейдер в проект, выбираем в шейдере Rain GS, и теперь текстуры будут без привязки к размеру объекта (всегда нормальный масштаб, без увеличения или уменьшения). В настройках шейдера в инспекторе есть параметр Tiling, отвечающий за масштаб текстуры. Можно скачать с поста uvfreecheck(shader4Unity).rar, либо
  17. Не забудьте назвать файл скрипта таким же именем, либо переименовать класс в тексте скрипта using System.Collections; using System.Collections.Generic; using UnityEngine; public class SphereGenerator : MonoBehaviour { //скрипт генерирует объекты и выпуливает их в случаных направлениях в заданом радиусе public GameObject sphere; //сюда передаем префаб private GameObject sphereJump; private float genTime, genTimer = 0.5f; //задаем частоту генерации в секундах // Use this for initialization void Start () { } // Update is called once per frame void Update () {
  18. Полезные для новичков скрипты c# для Unity. Тут как отдельные "команды" (что-то вроде записной книжки, чтобы не заучивать синтаксис), так и небольшие кусочки кода, которые помогут лучше понять принципы работы. Как из скрипта включить/выключить другой скрипт Указываете вместо ActivateScript имя своего метода, а вместо NameScript имя скрипта, который прикреплен к объекту. Оставляете gameObject, если этот код будет отключать другой скрипт, который прикреплен на этом же объекте. Если нужно, чтобы этот код был на одном объекте, а выключал он скрипт у другого объекта, тогда н
  19. Вот пример кода, когда при инициализации скрипта создается коллайдер в масштабе х2, добавляет галочка Is Trigger. При желании можно раскоментировать код про дестрой объекта, тогда он сразу же удалится: void Start () { gameObject.AddComponent<BoxCollider>().size = new Vector3(2, 2, 2); gameObject.GetComponent<BoxCollider>().isTrigger = true; //Destroy(gameObject.GetComponent<BoxCollider>()); }
  20. Как создать BoxCollider или SphereCollider на объекте через скрипт C# в Unity? Может пригодится, если у вас объекты создаются не в редакторе игрового движка, а генерируются из скриптов. Добавление коллайдера Как добавить коллайдер к объекту через скрипт? В скрипте, который прикреплен к GameObject в методе Start пишете gameObject.AddComponent<BoxCollider>(); Это добавит во время старта игры BoxCollier через скрипт любому объекту, к которому будет прикреплен скрипт. Включение галочки Is Trigger Если нужно добавить объекту галочку Is Trigger, то после предыдущей стр
  21. Если в консоли Юнити появилась ошибка "TerrainData is missing splat texture 5(***), make sure it is marked for read/write in the importer.", то ее можно исправить найдя нужную текстуру (в скобочках указана в вашем сообщении), и установив там режим для чтения и записи. У меня это возникло после перестановки Unity и распаковки архива с проектом.
  22. Для начала объявляем переменную, которая будет хранить в себе создаваемый объект, например: [Tooltip("создаем объект переменную для генерации объекта с помощью клавиши Y")] public GameObject GenerateObjectAtKeyY; Создаем скрипт с любыми именем, перетаскиваем его на любой активный объект на сцене, в скрипте в методе Update пишем: if (Input.GetKeyUp(KeyCode.Y)) { Debug.Log("Сработала генерация"); GameObject MyGenObject = Instantiate(GenerateObjectAtKeyY, transform.position, transform.rotation); //MyGenObject.GetComponent<R
  23. Лучшие бесплатные ассеты с Unity asset store и не только: Наиболее качественные (легкие и красивые) модели: Medieval Town Exteriors Desert Sandbox LITE Polylised - Medieval Desert City Buff Loop FX Cartoon FX Pack 4 1.0 ARTERIA3D - MIDDLE EAST PACK ARTERIA3D - VIKING PACK FOR UNITY набор префабов без карты ZOMBIE TOWN Morgue Room PBR Смена дня и ночи TIME OF DAY - DYNAMIC SKY DOME 3.0.0" Новые ассеты, которые я добавил в избранное для своих проектов в 2019 году:
  24. Ресурсы для Unity Модели, исходники, скрипты .3ds файлы для Unity http://www.3ds-models.org/tag/3ds/ Еще модели https://p3dm.ru Исходники игр http://u3d.at.ua/load/iskhodniki_igr/3-1 Исходники игр и модели http://unity3ddd.ru/ 105 Гигабайт текстур (torrent-файл): CGTextures_Big_Collection_2018_torrent.torrent (достаточно качественные и каталогизированные текстуры для юнити, но нет карты нормалей и т.п.) Все для Юнити https://unitassets.wordpress.com/ Форум по Unity 884,500 vector icons grouped in 17,299 packs http://audionautix.com/ Б
  25. При наведении курсора на объект (как из 3D мира, так и в UI-интерфейсе) появляется всплывающая подсказка, похожая на обычную из интерфейса Windows. Пример работы всплывающей подсказки на игровом движке Unity Есть 3 скрипта. Один необходимо повесить на Canvas, и два других на объекты, с которых хотите получать всплывающие подсказки. Если это обычный 3D объект, то вешаем на него TooltipText, если это UI-объект, то TooltipTextUI. После чего в инспекторе конкретного объекта в компоненте скрипта указываем текст подсказки. Как установить всплывающие подсказки

Powered by Invision Community
Поддержка Invision Community в России

×
  • Create New...