Местоположение
Россия, Калининградская обл., Калининград (Кенигсберг)

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (11)
  • Классы в unity c#?

    SKyRo
    @SKyRo
    GameDev, Unity, C#, Blender
    Ответ на переформулированный вопрос из комментариев к ответу Dance Macabre:
    я хотел бы получить ответ про применение нескольких классов в одном скрипте.
    В Unity МОЖНО описывать сколько угодно классов в одном скрипте.
    НО класс наследующий класс MonoBehavior или наследующий класс в "роду" которого есть MonoBehavior, такой класс может быть только один, но вместе с ним в скрипте может быть кучка других классов не имеющих в роду MonoBehavior.

    А теперь кратко на Ваш вопрос:
    Как использовать классы? ...
    Давайте по простому, допустим Вам нужен инвентарь.
    Вы пишете класс Item у которого есть свойства Name, Type, Icon, SerialNumber и т.п - допустим свойства свойственные всем видам объектов нашего инвентаря.
    Вам, если что, не обязательно наследовать MonoBehavior, но это отдельная тема.
    Хотя в данном случае можете обратить внимание на наследование ScriptableObject.
    Потом Вы пишете класс Weapon, и наследуете класс Item. И в Weapon описываете свойства вроде WeaponType, Damage, Range... Хотя, я сейчас повторил по аналогии с любым учебником... Не знаю, как Вам лучше объяснить.
    Ответ написан
    1 комментарий
  • Проблема: закрыл проект, потом вновь его открываю, но некоторые меши сбились в положении и размере. Почему?

    SKyRo
    @SKyRo
    GameDev, Unity, C#, Blender
    Так, я нашёл проблему. У тебя на рабочем пространстве для анимации даже окна настроены как на моделировании, что это подтверждает, похоже ты как-то на это рабочее пространство один раз переключился, и на нём какое-то время работал :)

    То есть перемещение, поворот и масштабирование объектов воспринимались как анимация. А поскольку ключевой кадр с изменённой позицией ты не создавал, анимация не сохранилась. Только вот она тебе и не нужна была.
    На каждом объекте у тебя есть анимация с одним ключевым кадром, и если их перебрать, всё вообще в полнейший хаос превращается...
    5eb867d00be6a050276813.jpeg
    5eb867dc14577328201889.jpeg

    Чтобы это не повторилось, не моделируй в рабочем пространстве для анимации ;)
    А чтобы удалить все эти анимации с объектов:
    1. В окне Outliner выбери режим Blender File.
    5eb86f95c5723208255218.jpeg
    2. Раскрой список Actions, и выдели их все.
    5eb870861cf59152518939.jpeg
    3. Щёлки правой кнопкой мыши по любому из них, и выбери Delete.
    5eb871842179f192865777.jpeg


    А ещё, у стен нормали обратной стороной наружу.
    5eb86742c9386888773043.jpeg
    Тут я писал о том как это исправить.

    А ещё, лучше идентичные меши копируй через ALT-D, меньше весить проект будет, следственно и меньше видеопамяти "кушать". А чтобы сейчас связать выделенные объекты одной сеткой CTRL-L => Object Data.
    Ответ написан
    2 комментария
  • Что делать если исчезает половина модели при экспорте из Blender 2.8?

    SKyRo
    @SKyRo
    GameDev, Unity, C#, Blender
    Исчезает не половина модели, шейдером "отсекается" задняя сторона грани(полигона).
    У Вас все нормали перевернутые, чтобы убедиться включите эту опцию, красная - задняя сторона, синяя - передняя.
    5e90f6751069c302808006.jpegЧтобы перевернуть выделенные в режиме редактирования нормали Alt+N -> Flip.
    Ответ написан
    Комментировать
  • Как выгрузить готовый префаб на сцену?

    SKyRo
    @SKyRo
    GameDev, Unity, C#, Blender
    Пожалуйста, научитесь хотя бы ГУГЛИТЬ ;)
    Официальная документация
    И пользуйтесь документацией.
    Ответ написан
    Комментировать
  • Как отследить нажатие клавиш ВВЕРХ и ВНИЗ в поле TextInput (Text Mesh Pro)?

    SKyRo
    @SKyRo
    GameDev, Unity, C#, Blender
    Такого события у класса TextInput нет, через него никак.
    Можете запускать корутину по нажатию на это текстовое поле, и останавливать её в событии EndEdit.
    И в корутине через класс Input, проверять нажатие этих клавиш. Input.GetKeyDown(KeyCode.UpArrow)

    Чтобы запускать по нажатию, реализуйте интерфейс IPointerClickHandler.
    Полный список событий UI можете посмотреть тут.
    Ответ написан
    9 комментариев

Лучшие вопросы пользователя

Все вопросы (1)