потому что кости принадлежат:
1. одному объекту
2. одной модели
Тут нарушение целостности, когда несколько объектов пытаются контролировать одну модель. Такого быть просто не должно.
Дядя Миша писал: потому что кости принадлежат:
1. одному объекту
2. одной модели
Тут нарушение целостности, когда несколько объектов пытаются контролировать одну модель. Такого быть просто не должно.
Другими словами иерархия объектов. Ладно надеюсь мне удалось донести какие возможности хотелось использовать для работы с костями , а реализация конечно может быть и другая.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
дело в том, что прописывать аттачменты в коде - это такой возврат к первому квейку, где все смещения были жестко захардкодены.
И наоборот - халфа с её аттачментами в модельках воспринималась как глотк свежего воздуха. Ну хорошо, возьми этот s&3box и изучи вопрос - как там сделано. И напиши отличия от юнити - удобно\неудобно.
Дядя Миша писал: дело в том, что прописывать аттачменты в коде - это такой возврат к первому квейку, где все смещения были жестко захардкодены.
Я не говорил прописывать аттачменты в коде. Это просто дочерний объект в иерархии кости внутри префаба.
Вот у тебя есть объект АК-47. Ты хочешь прикрепить его к руке, и просто переводишь этот объект мышкой из родителя ворлдспавна в родитель кость руки прямо на сцене или префабе. Всё просто без кода, перекомпиляции модели и прочего говна.
Не ну если эти аттачменты можно будет редактировать внутри редактора сцены, и сохранять в модель, почему бы и нет? Тоже вариант. Однако всеравно редактируя общую модель ты ломаешь совместимость с другими проектами где она была настроена под старые аттачменты. Хз по мне это не очень хорошая идея хранить их в модели.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
nemyax писал: FiEctro
Ты редактор скелетов просишь?
Это не отдельный редактор. Юнити вставляет скелет как префаб где каждая кость как отдельная энтития. Логично что такой скелет можно сконфигурировать в каждом префабе под свои нужды не затрагивая саму модель и не ломая совместимость с другими сценами.
В Анриле так же:
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
nemyax
Констрейнты юзеры могут и сами писать. Главное это доступ ко скелету и возможность управлять его костями не затрагивая саму модель.
Вот тут например посмотрите как это работает.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Юнити вставляет скелет как префаб где каждая кость как отдельная энтития
Вот это-то мне и непонятно. В моём представлении каждый объект либо имеет одну модель, либо не имеет её вовсе. А тут получается куча энтить контролирует одну модельку. Скорее всего это какой-то слой абстракции, т.е. объект реально один, а внутри него - подъобъекты, которые и контролируют кости. Я ведь делал нечто подобное ещё на старом ксаше - там были веровки где каждая кость такой веровки контролировалась отдельным контроллером, но все эти контроллеры были частью одной энтити. Такое сделать без проблем можно. Но это будет такой специфичный класс, рассчитаный на модели со скелетами, что очевидно.
Цитата:
FiEctro писал: Вот у тебя есть объект АК-47. Ты хочешь прикрепить его к руке, и просто переводишь этот объект мышкой из родителя ворлдспавна в родитель кость руки прямо на сцене или префабе
Видишь ли какое дело. Прикрепить автомат простым перетягиванием в какую-то иерархию не получится. Это годится только для простых объектов, типа спышки выстрела, где тебе надо просто обозначить позицию. А для оружия, тебе надо как минимум, чтобы оно "срослось" с основной анимацией, значит там будет кусочек скелета от родителя, и вот эти два скелета ты и будешь мержить. Такое было ещё в первой халфе, игроки так свои пушки держали. Но глупо надеяться, что ты просто пристикнешь автомат к какой-то кости и он у тебя всегда будет правильно развернут во всех анимациях.
Дядя Миша писал: Видишь ли какое дело. Прикрепить автомат простым перетягиванием в какую-то иерархию не получится. Это годится только для простых объектов, типа спышки выстрела, где тебе надо просто обозначить позицию. А для оружия, тебе надо как минимум, чтобы оно "срослось" с основной анимацией, значит там будет кусочек скелета от родителя, и вот эти два скелета ты и будешь мержить. Такое было ещё в первой халфе, игроки так свои пушки держали. Но глупо надеяться, что ты просто пристикнешь автомат к какой-то кости и он у тебя всегда будет правильно развернут во всех анимациях.
Почему же? Твой автомат с анимацией будет просто копировать перемещение родительской кости, а значит анимация будет работать корректно. А вот если у пушки есть рутовая кость которая мешает это сделать, вот тут как раз в помощь и приходит возможность удалять лишние кости в префабе.
Цитата:
Дядя Миша писал: Вот это-то мне и непонятно. В моём представлении каждый объект либо имеет одну модель, либо не имеет её вовсе. А тут получается куча энтить контролирует одну модельку. Скорее всего это какой-то слой абстракции, т.е. объект реально один, а внутри него - подъобъекты, которые и контролируют кости. Я ведь делал нечто подобное ещё на старом ксаше - там были веровки где каждая кость такой веровки контролировалась отдельным контроллером, но все эти контроллеры были частью одной энтити. Такое сделать без проблем можно. Но это будет такой специфичный класс, рассчитаный на модели со скелетами, что очевидно.
Вот представь хаммер или кварк. Представь кучу лампочек не в плане что они светятся, а как любой другой точечной энтити на сцене. Всё это объединено в префаб и каждая лампочка имеет название своей кости.
Есть env_model который загружает модель как статичную, а вот внутри неё ты можешь указать рутовую лампочку, он ищет похожие имена и позволяет привязать веса модели к твоим лампочкам которые ты можешь двигать в кварке при условии что они имеют такие же имена что и оригинальные кости, а так же являются дочерними.
Потом опять же в рутовом объекте подгружатся класс Аниматор которому указывается путь к анимации и он уже двигает твои лампочки как надо. При этом ничего тебе не мешает подгрузить на этот же скелет уже второй аниматор и например плавно смешивать 2 анимации.
При этом лампочка это всё тот же точечный игровой объект, с которым можно делать всё что угодно: создавать/удалять/редактировать/делать префабы/делать его физическим и.д.
Посмотри видео что я скинул, хотя бы перемоткой, сразу поймешь о чём я.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша
Это понятно, вот только поменяешь модельку и всё сломается. Я просто доношу общую идею. Может придумаешь и более удачную реализацию. То что префабы дают большую гибкость и совместимость чем вшитые в модель аттачменты.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: Слушай, ну в халфе модельку меняли, разве что-то ломалось? Наоборот получался новый монстр.
Ну если они условно идентичные наверное это будет работать. Но как часто такое встретишь? Вот ты идёшь качаешь модельку с инета, а у неё только голый скелет и всё. Что ты с ней дальше будешь делать?
Цитата:
Дядя Миша писал: А ты представь, что модель со вшитыми аттачментами - это и есть префаб.
Да не вопрос. Главное чтобы к костям был доступ со сцены и можно было делать свои префабы не создавая дубликатов этой модели. Вот например твоя реализация тоже очень близко к этой концепции:
Цитата:
Дядя Миша писал:
Я ведь делал нечто подобное ещё на старом ксаше - там были веровки где каждая кость такой веровки контролировалась отдельным контроллером, но все эти контроллеры были частью одной энтити. Такое сделать без проблем можно. Но это будет такой специфичный класс, рассчитаный на модели со скелетами, что очевидно.
Я же не навязываю тебе конкретную реализацию, просто объясняю функционал.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Вот ты идёшь качаешь модельку с инета, а у неё только голый скелет и всё
Если всё с инета качать, это не игра получится, а чёрт знает что такое.
Я такие игры не понимаю. Это ладно, ещё текстуры можно отовсюду надёргать и использовать готовый движок. Но чтобы модели из интернетов качать? И не меблю-диваны там всякие, а персонажей!
Ведь игра это и есть персонажы, а ты предлагаешь их из интернета накачать?