Ded_Nikola Posted August 10 Share #1 Posted August 10 Какой из параметров Object Builder отвечает за положение предмета в руке от первого лица и от третьего? Link to comment Share on other sites More sharing options...
kottok Posted August 11 Share #2 Posted August 11 23 часа назад, Ded_Nikola сказал: Какой из параметров Object Builder отвечает за положение предмета в руке от первого лица и от третьего? В Object Builder нет отдельного параметра «позиция в 1 лице» и «в 3 лице». Слот Hands → кость RightHand (CfgSlots::Slot_Hands). Поза в руках задаётся профилем IK при регистрации предмета: Please Log in or Register to see this: Code В P3D точка invview — вид в инвентаре, не хват в руках. 1PP/3PP берутся из анимаций игрока + этот IK, а не из двух полей OB. Ориентация самой модели в OB влияет только как «база» относительно IK. Берите workspace+IK у похожего ванильного предмета (мы для мелкого «ягодного» брали player_main_1h_fruit.asi + berries.anm / poisonousberries.anm). 1 DayZ — скрипт-моды, фикс/порт, настройка сервера Link to comment Share on other sites More sharing options...
Ded_Nikola Posted August 11 Author Share #3 Posted August 11 @kottok впринципе, всё вышеупомянутое обнаружил по папкам, но остался один нерешённый вопрос. Куда эту конструкцию вставлять и каким образом? Link to comment Share on other sites More sharing options...
kottok Posted August 11 Share #4 Posted August 11 3 часа назад, Ded_Nikola сказал: @kottok впринципе, всё вышеупомянутое обнаружил по папкам, но остался один нерешённый вопрос. Куда эту конструкцию вставлять и каким образом? Не в Object Builder и не в config.cpp. В ваниле регистрация идёт через DayZPlayerTypeRegisterItems / day_z_player_cfg_base.c. В моде — через callback: Please Log in or Register to see this: Code Куда класть файл: scripts/4_World/ у client-мода (тот, что в -mod=). Какой override брать: — одноручный / мелкий лут → RegisterOneHanded — двуручный → RegisterTwoHanded — ствол → RegisterFirearms (или как у похожего ванильного) ws/ik — скопируй у ближайшего ванильного предмета того же типа (пути ты уже нашёл по папкам). ClassName — точный classname из config.cpp. Если кинете classname предмета и тип (1h/2h/оружие) — скажу точнее, какой Register* и какой ванильный эталон взять. 1 DayZ — скрипт-моды, фикс/порт, настройка сервера Link to comment Share on other sites More sharing options...
Ded_Nikola Posted August 11 Author Share #5 Posted August 11 @kottok Это пачка сигарет, так что одноручка, как эталон идеально подходит пачка спичек/пачка патронов 5.45, это уже скорее себя проверить. В целом, за ответ благодарю, теперь буду копаться с этим делом уже целенаправленно. Link to comment Share on other sites More sharing options...
Ded_Nikola Posted August 21 Author Share #6 Posted August 21 @kottok Тут вдруг ещё прикол по этой теме нарисовался. Всё в норме, перс держит пачку прямо как надо, но на земле она стоит, хотя должна лежать. При повороте модельки в OB, в игре она ложится, но зато в руке она уже лежит криво как на скрине (хотя, положение самой руки очевидно правильное). Из схожих предметов есть пачки патронов, которые и на земле лежат как надо, и в руках ведут себя нормально. Что в данном случае стоит покрутить? Please Log in or Register to see this: Spoiler Link to comment Share on other sites More sharing options...
kottok Posted August 22 Share #7 Posted August 22 В 22.08.2026 в 00:36, Ded_Nikola сказал: @kottok Тут вдруг ещё прикол по этой теме нарисовался. Всё в норме, перс держит пачку прямо как надо, но на земле она стоит, хотя должна лежать. При повороте модельки в OB, в игре она ложится, но зато в руке она уже лежит криво как на скрине (хотя, положение самой руки очевидно правильное). Из схожих предметов есть пачки патронов, которые и на земле лежат как надо, и в руках ведут себя нормально. Что в данном случае стоит покрутить? Please Log in or Register to see this: Spoiler Да, это два разных состояния: InventoryLocationType.GROUND и HANDS. В руке — AddItemInHandsProfileIK в ModItemRegisterCallbacks. На земле — ось модели в p3d + физика, IK тут не участвует. Если крутишь всю модель в OB под землю — в руке поедет, это нормально. Берёшь ванильную cigarette_pack.p3d / 545x39_20RoundBox.p3d как эталон осей, IK от них же. При необходимости в EEItemLocationChanged можно реагировать на newLoc.GetType(), но ориентацию на земле проще решить правильной осью модели, а не одним поворотом на всё. 1 DayZ — скрипт-моды, фикс/порт, настройка сервера Link to comment Share on other sites More sharing options...
Ded_Nikola Posted August 22 Author Share #8 Posted August 22 @kottok В целом оно так и сделано, за исключением того, что workspace и на 545x39_20RoundBox, и на cigarette_pack как таковой отсутствует. Однако пачка упорно корёжится в руке, если её подгонять по пачке патронов. Пар у скринов в пример Please Log in or Register to see this: Spoiler Link to comment Share on other sites More sharing options...
kottok Posted August 22 Share #9 Posted August 22 42 минуты назад, Ded_Nikola сказал: @kottok В целом оно так и сделано, за исключением того, что workspace и на 545x39_20RoundBox, и на cigarette_pack как таковой отсутствует. Однако пачка упорно корёжится в руке, если её подгонять по пачке патронов. Пар у скринов в пример Please Log in or Register to see this: Attachment Please Log in or Register to see this: Attachment Да, workspace на `cigarette_pack` и `545x39_20RoundBox` отдельно **не существует** — это нормально. У обоих в ваниле один и тот же: `player_main/player_main_1h.asi` Разница только в **IK (.anm)**: - сигареты → `dz/anims/anm/player/ik/gear/banana.anm` - патроны 5.45 → `dz/anims/anm/player/ik/ammunition/545x39_20RoundBox.anm` Поэтому если подогнать **модель** под патроны, а в руке держать IK от патронов — на своей пачке будет корёжить. Это не баг, просто меш и IK должны быть от **одной** пары. **Как проще:** 1. Ось модели в OB — по ванильной `cigarette_pack.p3d` (чтобы на земле лежала). 2. В `ModItemRegisterCallbacks` — IK от сигарет (`banana.anm`), **не** от 5.45. 3. Патроны смотри только как пример «как лежит на земле», не копируй их IK. Если `banana.anm` всё равно криво — попробуй таблетки: `player_main_1h_tablets.asi` + `painkillers2.anm` или `charcoal_tablets.anm`. Короче: **земля = ось p3d, рука = IK**. Не крути всю модель под землю и не мешай патронный IK с пачкой сигарет. 1 DayZ — скрипт-моды, фикс/порт, настройка сервера Link to comment Share on other sites More sharing options...
Ded_Nikola Posted August 22 Author Share #10 Posted August 22 @kottok Благодарю, буду пробовать 1 Link to comment Share on other sites More sharing options...
Ded_Nikola Posted August 22 Author Share #11 Posted August 22 @kottok Таблетки, походу дела, маленько не подходят... Please Log in or Register to see this: Spoiler Link to comment Share on other sites More sharing options...
kottok Posted August 22 Share #12 Posted August 22 @Ded_Nikola Перепроверил по YADZ/KGB, чтобы не советовать наугад. В ванильной регистрации рук (`DayZPlayerTypeRegisterItems`) по этим предметам так: Please Log in or Register to see this: Code Ключевой момент: у `CigarettePack_ColorBase` в ванили прямо пометка **`Not configured`**. То есть нормального готового IK именно под пачку сигарет, похоже, нет. Поэтому если `banana.anm` или таблетки корёжит — это не обязательно твой косяк. Что я бы делал дальше без угадывания: 1. Не крутить модель туда-сюда под каждый IK. 2. Проверить строго две ванильные пары: - сигареты: `player_main_1h.asi` + `banana.anm` - спички: `player_main_1h_matchbox.asi` + `Matchbox.anm` 3. Если обе криво — значит готового ванильного IK под твою форму нет. Тогда либо подгонять саму модель под выбранный ванильный эталон, либо делать свой IK/анимацию. Одной настройкой в `config.cpp` это нормально не лечится. То есть таблетки можно отбросить. Из проверенных похожих вариантов остаются сигареты и спички, а у сигарет ваниль сама помечена как недонастроенная. DayZ — скрипт-моды, фикс/порт, настройка сервера Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now