ant0n
> тебе 40 строк прочитать сложно?
Да хоть две, если они написаны в стиле "всё в кучу", их да, читать сложно.
> давай я их раскидаю по разным классам, думаешь так будет понятней?
Почему по классам, я бы разделил по функциям. Например отделил Input от остального кода, фомрирование трансформаций можно вынести в отдельную функцию.
Сейчас у тебя весь код в одном месте, это не good practice.
ant0n
> но речь идет о конкретном примере.
Ок. Конкретный пример реализация конкретного человека, причём тут движок вообще?
> да ты задрал капитанить
Для тебя видимо это не очевидно, если ты предлагаешь в движке сделать универсальное средство.
Executor
> Почему по классам, я бы разделил по функциям. Например отделил Input от
> остального кода, фомрирование трансформаций можно вынести в отдельную функцию.
> Сейчас у тебя весь код в одном месте, это не good practice.
так, давай ты не будешь учить меня как правильно писать, не об этом сейчас речь идет. Даже если я разделю на несколько ф-ий этот код, он все равно будет меньше и функциональнее чем тот код на юнити
Executor
> Сам постэффект отдельный компонент, а управление им как не крути в контроллере
> персонажа.
Почему не использовать просто свойство public bool IsRunning {get; private set;} и не смотреть что в нем из контроллера для постэффекта уже? Причем это свойство еще много где можно использовать
Executor
> Ок. Конкретный пример реализация конкретного человека, причём тут движок
> вообще?
ты вообще вменяем? Прыгать, бегать и тд... какая конкретика может быть? тут элементарные вещи, для реализации которых на юнити нужно извращаться.
Executor
> Для тебя видимо это не очевидно, если ты предлагаешь в движке сделать
> универсальное средство.
где я предлагал?
ant0n
> так, давай ты не будешь учить меня как правильно писать, не об этом сейчас речь
> идет. Даже если я разделю на несколько ф-ий этот код, он все равно будет меньше
> и функциональнее чем тот код на юнити
Если тебе не нравится реализация, то причём тут Юнити?
Всё началось с твоей фразы: "ну и говнище же этот ваш юнити. Костыль на костыле"
На Юнити можно сделать плюс-минус тоже самое, что сделано у тебя. Для чего у автора статьи сделано по другому это уже не вопрос к Юнити.
Madware
> Почему не использовать просто свойство public bool IsRunning {get; private
> set;} и не смотреть что в нем из контроллера для постэффекта уже? Причем это
> свойство еще много где можно использовать
Потому что логика включения/выключения эффектов может быть сложнее просто булевой переменной.
В простом случае можно и так сделать.
ant0n
> тут элементарные вещи, для реализации которых на юнити нужно извращаться.
Почему ты так решил?
> где я предлагал?
"авторы не могут снизойти и сделать хорошо самые востребованные вещи"
востребованные вещи = контроллер персонажа в контексте данной темы.
Я тебе и говорю, что не будут они этого делать, по капитанским причинам, которые ты, как сказал, и так знаешь, но зачем тогда сказал эту фразу, если это очевидно - мне не ясно.
ant0n
> тоже интересно. Я у себя просто передвигаю камеру и получаю нужный мне режим
1. Камера от третьего лица должна огибать препятствия позади персонажа, чтобы они не выходили на передний план, загораживая его.
2. Такая камера далеко не всегда жесткий чайлд, она может двигаться за игроком плавно по lerp'у
3. Самих вариантов такой камеры может быть тоже несколько, например, камера может вращаться не одновременно с игроком, а вокруг него, при этом игрок реагирует на направление камеры, а не наоборот, а может быть жесткая привязка за затылком
Executor
> Почему ты так решил?
ну наверное для тех кто привык делать все на готовых ассетах, простейший контроллер это не элементарная вещь
Executor
> "авторы не могут снизойти и сделать хорошо самые востребованные вещи"
и какие ты из этого предложения сделал выводы?
Madware
> 1. Камера от третьего лица должна огибать препятствия позади персонажа, чтобы
> они не выходили на передний план, загораживая его.
> 2. Такая камера далеко не всегда жесткий чайлд, она может двигаться за игроком
> плавно по lerp'у
> 3. Самих вариантов такой камеры может быть тоже несколько, например, камера
> может вращаться не одновременно с игроком, а вокруг него, при этом игрок
> реагирует на направление камеры, а не наоборот, а может быть жесткая привязка
> за затылком
ну так создай несколько классов, как вы любите, и выбирай нужную
ant0n
> ну наверное для тех кто привык делать все на готовых ассетах, простейший
> контроллер это не элементарная вещь
Какое это имеет отношение к движку, костылям и т.д.?
Это выбор конкретно взятых разработчиков какие ассеты и как им использовать.
> и какие ты из этого предложения сделал выводы?
Что ты хочешь решение из коробки.
Executor
> Какое это имеет отношение к движку, костылям и т.д.?
> Это выбор конкретно взятых разработчиков какие ассеты и как им использовать.
прямое. Обколитесь этими вашими ассетами, а потом яб... вопросы не в тему задаете.
Executor
> Что ты хочешь решение из коробки.
Нет такой буквы, вращайте барабан!
Есть же в юнити решение из каропки, там почти на каждый пук есть решение, но почему-то лучше написать свой кривой костыль чем использовать эти решения?
ant0n
если честно, не очень понимаю что тебя не устраивает :) твой код по сути тоже говно, а чтобы написать нормально тебе тоже придется поднапрячься. Например, движущиеся платформы через силу трения как у тебя будут приводить к раздражающему едва заметному дребезжанию. По хорошему, ты должен при коллизии с такой платформой добавить нод персонажа к ней как дочерний, а при сходе убирать из детей. Про скольжение на лестнице я уже тоже сказал. Еще очень странное поведение в самом конце видео где ты встал на плиту и стал куда-то съезжать. Все эти вещи неизбежно будут решаться костылями, и не стоит врать что это не так
Madware
> эм? Там всякие штуки по огибанию препятствий камерой, у тебя в статье они были
> разве? Откуда им взяться в ферст персон камере?
>
Можно еще добавить инверсную кинематику. Но к самой физики персонажа это уже не имеет никакого отношения.
Madware
> твой код по сути тоже говно, а чтобы написать нормально тебе тоже придется
> поднапрячься
с аргументами пожалуйста.
Madware
> Например, движущиеся платформы через силу трения как у тебя будут приводить к
> раздражающему едва заметному дребезжанию
но его нет. никакого дребезжания нет!
Madware
> ты должен при коллизии с такой платформой добавить нод персонажа к ней как
> дочерний, а при сходе убирать из детей
даже если это и понадобится (на самом деле нет), то это делается элементарно одной строчкой
Madware
> Про скольжение на лестнице я уже тоже сказал
а я тебе уже ответил на это, так что зачем еще раз упомянул неизвестно.
Madware
> Еще очень странное поведение в самом конце видео где ты встал на плиту и стал
> куда-то съезжать
это плитка-эскалатор. в самом начале по нему едет платформа, на которую я вставал
Madware
> Все эти вещи неизбежно будут решаться костылями
все решено и без костылей
Тема в архиве.