Задать вопрос
Ответы пользователя по тегу Unity
  • (Пример из Unity3d) Проблема с понимаем типов в C#, как оно работает?

    ArXen42
    @ArXen42
    Если очень грубо, moveObject это указатель. Где-то там, в глубине, это IntPtr, обычно являющийся 64 или 32 битным числом. И изначально это число будет равно null (т.е. все нули или какое-нибудь другое условное обозначение "ничего").
    Перед тем как "отдать" этот объект вам (т.е. начать вызывать Start, Update и прочие методы), Unity, как было указано выше, "скрытно и незаметно" присвоит этому полю значение, указывающее на объект, который вы поставили в инспекторе.
    Ответ написан
    Комментировать
  • Как готовить координаты в Unity 2D?

    ArXen42
    @ArXen42
    Если нужна привязка спрайтов к краям экрана, то, возможно, стоит воспользоваться системой UI. Ну там добавить Canvas, на него закинуть UI спрайт, у спрайта можно выбрать привязку к краям экрана, pivot и т.д. и т.п.

    Если UI вот совсем не то, что нужно, тогда, видимо, стоит копать в связь экранных координат (пикселей тобишь) с мировыми. Какой-нибудь cameraToWorldMatrix может быть.

    С другой стороны, не так давно на структурно похожем Urho3D без особых проблем сделал что-то похожее без всяких матриц. Там OrthographicSize являлся вертикальным размером камеры в игровых координатах (здесь, наверное, тоже). Из AspectRatio получал соответственно и ширину. Ну а зная координаты и размеры камеры расположить все как надо уже несложно.
    Там я еще использовал тот факт, что измерения 2D спрайта в игровом пространстве были ровно в 100 раз меньше пиксельных, в Unity3d не приходилось вникать, но вроде как reference pixels per unit как раз про это.

    Но это все для очень специфичных случаев.
    Ответ написан
    Комментировать
  • Как сделать несколько спрайтов для одного префаба?

    ArXen42
    @ArXen42
    SpriteRenderer.sprite в помощь. Более продвинутый вариант - через анимацию. Сам не изучал вопрос, но оно определенно умеет в состояния, переходы и т.д.
    Ответ написан
    6 комментариев
  • Как реализуется совместная разработка в Unity3D?

    ArXen42
    @ArXen42
    Как мне кажется, в unity3d, как и везде, удобнее использовать обычную VCS (с git вполне работает), чем пытаться в google-docs-style. Одновременное редактирование файла сцены вряд ли возможно, т.к. на любое изменение извне unity предлагает сделать reload scene. Но возможно я просто не знаю нужных хаков.
    Ответ написан
    Комментировать
  • Как можно райкастом узнать колличество полигонов у объекта?

    ArXen42
    @ArXen42
    Данные можно получить все, т.к. имеется RaycastHit.collider.gameObject. Для получения полигонов, вершин и прочего, емнип, нужно получить компонент Mesh, в нем содержится информация о вершинах и гранях.
    Ответ написан
    2 комментария
  • Как сделать объект неподвижным в Unity?

    ArXen42
    @ArXen42
    Если дочерний объект нужно делать неподвижным в мировых координатах, возможно стоит подумать о том, что он не должен быть дочерним)
    Но вообще, ЕМНИП, transform.position - это координаты в мировых координатах (в локальных transform.localPosition). Значит их можно просто запомнить и в период неподвижности объекта каждый кадр присваивать их transform.position заново.
    Ответ написан
    Комментировать
  • Какие на данный момент есть различия между Unity3D под Windows и Linux системы?

    ArXen42
    @ArXen42
    Функциональность редактора идентична. Сборка под win/lin точно работает, под остальной зоопарк вроде тоже. Есть мелкие глюки, на работу особо не влияют (в моем случае, по крайней мере).
    Ответ написан
  • Как соединить модели с помощью мышки в Unity3d?

    ArXen42
    @ArXen42
    Может оказаться полезным посмотреть устройство редактора крафтов в Kerbal Space Program. Там он толково сделан (по крайней мере процесс соединения деталей). Там и радиальное крепление, и по определенным точкам (на "ноды").
    Ответ написан
    Комментировать
  • Где можно найти хорошие уроки Unity3d?

    ArXen42
    @ArXen42
    1. Изучать C#, ООП, КОП и т.д. Можно хабр почитать, или книжки какие. Я, например, сейчас для упорядочивания знаний читаю "Паттерны проектирования на платформе .NET" Сергея Теплякова, но главное - практика, без нее книги не имеют смысла. А потому см. следующий пункт.
    2. Пилить что-нибудь. Собирать грабли. Превозмогать.
    Ответ написан
    Комментировать
  • Как написать игру только с использованием скриптов в Unity?

    ArXen42
    @ArXen42
    Возможно вам поможет описание моей игры - тоже новичок, но делаю уже более полугода, общая архитектура более менее устаканилась. Суть игры вдохновлена Космическими Рейнджерами - вселенная, состоящая из звезд, основное место действия - звездные системы, игра протекает внутри них. Соответственно до старта игры ни одного объекта практически и нет - только пустышки и скрипты на них, ну и UI. При старте игры из сохранения (либо случайно генерируется) вселенная - массив звезд, которые в свою очередь содержат планеты, пояса и т.д. Эти данные никак не связаны с MonoBehaviour, просто статический массив (List на самом деле, но не суть). При старте игры опять же из сохранения берется местоположение игрока, информация о его корабле и в соответствии с этим
    1)Спаунится текущая система: солнце, планеты (есть префаб планеты, при спауне висящий на нем скрипт накладывает случайно генерируемую текстуру, а другой скрипт размещает в пространстве в соответствии с заданными параметрами орбиты) и т.д.
    2)Спаунится игрок (а в будущем и другие игроки)
    Таким образом сцена содержит только пустышку игрока с повешенными на него скриптами и объекты UI. Все остальное создается по ходу игры.
    Ответ написан
    Комментировать
  • Как работать совместно на Unity3D?

    ArXen42
    @ArXen42
    Пользуюсь git + bitbacket.org, клиент консольный. Проблем не знаю, разве что небольшое добавление - нужно в .gitignore прописать:
    #Нахрен все
    /Папка с проектом юнити/*
    
    #Только ассеты и настройки
    !Assets
    !ProjectSettings

    Тогда не будет проблем с метадатой в Library, она у каждого будет генерироваться своя.
    Ответ написан
    Комментировать
  • Unity учебник по программированию?

    ArXen42
    @ArXen42
    Некропост, но все же. Книг по юнити практически нет, есть одна "Unity Game Essentials", но полезной информации там не очень много. Самое первое, что стоит изучить перед юнити - C# и главное, его ООП. Потому что вся система скриптов юнити построена на ООП и безе него лично мне сейчас приходится туго. А дальше начинаешь что-нибудь делать и по ходу изучаешь классы юнити.
    Ответ написан
    Комментировать