466
Общие вопросы / Re: Помощь с float в CLEO
« : Март 06, 2016, 02:19:14 am »
Что-то не пойму, в чем прикол с числом 0.01300000027... Почему именно оно?
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
если во время спавна лужи убить кого-то, то то кровь будет заменена на лужу
Здесь имеется ввиду замена адреса текстуры по порядку следования кода, не в своем параллельном потоке, а там где это происходит в игре, т.е. изменил адрес, нарисовал и вернул обратно, параллельно в это время ничего не будет выполняться и никак не повлияет на остальное. Вот как раз вчера сделал тоже, о чем говорилось выше в примере, здесь не дополнительная возможность, а сама игра создает разных копов в том месте, где создавала одинаковых, при этом в остальных местах все как и было.Ну, я делал параллельно: просто делал скрипт, в котором кажое мгновение менялся id модели копа по адресу 4ED762, и копы то и дело спавнились в разных местах с разными скинами.
Но лучше все-таки найти функцию, которая делает лужи, и вызывать ее с нужной текстурой и при нужных условиях уже независимо от тектуры крови.Это всегда лучше, но кто и как это будет делать?
Разбивается точно также. Я разбивал даже не окно, а тестировал на воротах, dff сложный, col простой.Ого - значит, судя по скрину, как бы "разбивается" кол, а не dff!?
Думаю это дело поправимое.
Спасибо, последние замечание дало положительный результат, надо было сразу начинать со стекла из generic, и скорее всего действительно дело в простоте кола (сама модель у меня многополигональная).Я и кол и модель не делал больше 1 полика. Можешь когда-нить заскринить/заснять, как многополигональная модель разбивается(всегда интересно было)?
А вот загадка на скрине остается загадкой, почему-то стекло из байкшопа теряет физические свойства при отдалении от места на большое расстояние, ну да не важно.В вайсе иногда такие хреновины встречаются, что я диву даюсь: вот, вроде бы - все очевидно, ан нет: работает через жопу!
P.S. Когда-то давно я построил стеклянную многоэтажку, используя модель wglasssmash, думал получу град осколков, однако эффект от разбивания был всего на паре первых разбиваемых окон, остальные просто исчезали, очередной лимит на этот раз на осколки.Лимиты на партиклы меня часто просто вымораживают. Много идей похерилось из-за этого.
По большому счету, такие фишки можно делать системой частиц, которые имеют коллизию. Ну например вроде бы мы разбили объект, сам объект исчез, затем проигрывается звук на координатах, дальше частички стекл падают вниз и при столкновении с землей, еще проигрывается звук будто бы осколки упали. Тут есть разные варианты в реализации.Тут, опять - та же проблема: лимиты партиклов - только немного другие. Пример: по-дефолту, при взрыве башки педа, создается дофигища капель крови, а при создании вручную(скриптом например) кучи капель - отображается лишь пара. При создании цикла генерации капель, где каждое мгновение создается капля - отображается лишь 1-2 капли одновременно, и новые создаются лишь когда исчезают старые.
Создание новой модели с новой иерархией скелета для КАТСЦЕНЫ:
1) Создать новую иерархию костей любым способом(либо изменить любую готовую, либо сделать с нуля новую).
Лимит костей - 64?
Примечание:
В случае, если берется за основу готовый скелет, то его лучше отделить от меши, чтобы не отвлекаться.
2) Проверяем(если требуется - исправляем!), чтобы типы костей были правильными: по-очереди выбираем кости/ПКМ/Object Properties/User Defined/ "BoneType" должен равняться:
1 или 3 - для костей, не имеющих дочерних костей,
0 или 2 - для костей, имеющих дочерние кости.
Примечание:
Если под родительской костью несколько дочерних - то все дочерние должны быть 2 или 3, за исключением последней: она должна быть 0 или 1. Если дочерняя кость одна - она должна быть 0 или 1.
3) Там же - проверяем, чтобы BoneIndex у костей был по-порядку, а именно - по порядку их расположения в списке объектов скелета, т.е. у Root должно быть BoneIndex = 0, у Pelvis = 1, Spine = 2 и т.д.
Примечание:
В отличии от BoneIndex, BoneID у кости может быть любой. Однако, именно к BoneID прикрепляются объекты в катсценах(к катсценовой модели) и оружие во время игры(к игровой модели).
4) Добавить к меши модификатор Skin, в нем - добавить все кости. Закостить. Желательно, как в оригинале - не костить на кость Root.
Примечание:
Все вертексы должны быть прикреплены как минимум к одной кости! Т.е. не должно остаться ни одного вертекса, не прикрепленного к какой-либо кости.
5) Готово! Теперь можно анимировать и использовать ваше чудище с тентаклями в катсценах!
Создание новой модели с новой иерархией скелета для ИГРЫ:
0) В игровых моделях добавление новых костей не работает, зато работает создание новой иерархии с кол-вом костей, не превышающим стандартное(24), а также - удаление части из них(в отличии от катсцен, в игровых моделях желательно этого не делать - лучше просто не использовать ненужные кости).
1) Создав новую иерархию, необходимо расставить BoneType и BoneIndex(как в случае с катсценами). Однако на этот раз следует внимательно отнестись к BoneID:
2) BoneID должны быть проставлены именно в этом порядке:
0-5,31-35,21-25,41-43,2000,51-53, 2001: т.е., как в оригинале расставлено у костей в порядке их следования в списке.
3) После этого - костим модель.
Примечание:
Из-за того, что мы проделали, для новой модели придется создавать совершенно новые анимации - старые будут некорректно воспроизводиться, т.к. стандартная иерархия нарушена.
Тем не менее, это подойдет для создания отдельных объектов с костями и зацикленной анимацией - таких, как: ткани(флаг, белье на сушке, парус, шторы), необычные NPC(правда, для них придется писать отдельный скрипт, воспроизводящий анимации, специально созданные для него), жидкости и прочая лабудень.
Camera.OnPed($PLAYER_ACTOR, 0, 2)
в цикле поможет... Или сразуCamera.OnPed($PLAYER_ACTOR, 0, 2)
Camera.SetBehindPlayer