![]() |
Прибить гвоздями, либо приварить?
Здравствуйте уважаемые блитз девелоперы!
Передомной встала одна очень сильная проблема. Я незнаю как намертово скрепить несколько объектов между собой. Короче есть 2 сферы, вторая привязана к первой, у обоих коллизии с объектами. Допустим та, что сверху врезается во чтото а та, что снизу не во что не врезается. В итоге получается верхняя сфера стоит на месте, а нижняя уезжяет. Так вот как скрепить объекты таким образом, чтобы при застревании одного из них второй какбы тоже застревал. Ну, чтоб они работали как один меш целый. |
Re: Прибить гвоздями, либо приварить?
EntityParent entity, parent[, global]
Parameters entity - entity handle parent - parent entity handle global (optional) - true for the child entity to retain its global position and orientation. Defaults to true. Description Attaches an entity to a parent. Parent may be 0, in which case the entity will have no parent. |
Re: Прибить гвоздями, либо приварить?
EntityParent entity,parent[,global]
Параметры entity - указатель объекта parent - объект, к которому будет привязка (родительский) global (не обязательно) - true - чтобы сохранить глобальную позицию и ориентацию привязанного объекта (по умолчанию). Описание Привязывает один объект к другому. Если значение parent=0, то объект, наоборот, отвязывается от других объектов и становится самостоятельным. __________________________________________ AddMesh source_mesh,dest_mesh Параметры source_mesh - исходный объект dest_mesh - объект, к которому прикрепляем первый Описание Добавляет исходный объект(mesh) к другому объекту. AddMesh работает лучше всего с объектами, к которым были применены соответствующие команды для работы с mesh-ами. Так, если Вы хотите изменить объект перед добавлением его к другому объекту, удостоверьтесь, что Вы используете ScaleMesh, PositionMesh, PaintMesh и т.д, а не ScaleEntity, PositionEntity, EntityTexture и т.д. Однако, помните, что при использовании команд типа RotateMesh особенность состоит в том, что они работают в глобальных координатах с центром 0,0,0. Поэтому масштабируйте и вращайте mesh перед его позиционированием, иначе ваш объект может оказаться в неожиданных координатах. Кроме того, после использования AddMesh, координаты нового целостного объекта будут установлены в 0,0,0. После использования AddMesh, оригинал source_mesh будет все еще существовать, поэтому используйте FreeEntity, чтобы удалить его, если он больше не нужен. |
Re: Прибить гвоздями, либо приварить?
AddMesh
|
Re: Прибить гвоздями, либо приварить?
AddMesh
EntityRadius задавай оба. Будет очень быстрый фейк. |
Re: Прибить гвоздями, либо приварить?
Позиционируй в цикле объекты относительно того который сместился при коллизии.
|
Re: Прибить гвоздями, либо приварить?
tormoz, увы может не прокатить, потомучто объект может быть смещен в препятствие.
|
Re: Прибить гвоздями, либо приварить?
Открываю девятую банку пива, и смотрю на это всё.
Реально не всё понял. Мне можно пример написать? Ну какраз допустим пример по двум сферам. |
Re: Прибить гвоздями, либо приварить?
Ну примерно так:
car=createsphere() car2=createsphere() positionmesh car2,-0.5,0,0 positionmesh car,0.5,0,0 addmesh car2,car freeentity car2 entityradius car,1.5,1 |
Re: Прибить гвоздями, либо приварить?
Вопщем не работает нифига.
И ещё 1 глюк с коллизией. Если ставлю объекту коллизию с двумя разными объектами Collisions TypeTehnika,TypeEarth,2,3 Collisions TypeTehnika,TypeNebo,2,3 то почемуто TypeTehnika,TypeEarth,2,3 начинает работать как 2,1 а если оставляю коллизию с одни объектом Collisions TypeTehnika,TypeEarth,2,3 то так и коллизится как надо 2,3 чё за баг? |
Re: Прибить гвоздями, либо приварить?
Если никто не скажет мне в чём причины этих багов,
я брошу этот блитц к чёртовой матери. Как ни сяду прогить замечаю - Баг на баге! |
Re: Прибить гвоздями, либо приварить?
Цитата:
причина: Как ни сяду прогить... следствие: Баг на баге! надо что-то менять причину или следствие? это уже зависит от тебя. :tongue: |
Re: Прибить гвоздями, либо приварить?
Говоря баг на баге я говорю о коде без ошибок, в котором происходят баги.
Вопщем написано элементарно, верно и без ошибок, а портаки присутствуют. Восновном в блитце глюки с коллизией. Наверно надо прекручивать физикс... Вот был например простой код, при коллизии с одним объектом менять локацию в игре, при коллизии с другим останавливаться. Так вот при коллизии с первым действительно менялась локация, а при коллизии с вторыи объект останавливался, но! Иногда при коллизии с вторым тоже менялась локация, хотя у всех объектов разные типы, и смена локаций при коллизии со вторым в коде вообще нигде не прописана. Вот такие портаки. Щас вот происходит фантастический глюк описаный в 10 посте. |
Re: Прибить гвоздями, либо приварить?
Blitzerg, если код без ошибок это означает что у кодера руки не от "туда".
|
Re: Прибить гвоздями, либо приварить?
Вот тока мока ненадо меня криворуким обзывать ладно?
Код и сам перепроверял, и другие. Всё верно написано, но баги вылазят. Меня эта коллизия добивает... Вот ты сам мне скажи как функция может делать то, что в ней вообще не прописано? А хрен его знает как.. Вот это и есть баг. |
Часовой пояс GMT +4, время: 02:03. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot