forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Прибить гвоздями, либо приварить? (http://forum.boolean.name/showthread.php?t=4741)

Crystal 13.10.2007 17:09

Прибить гвоздями, либо приварить?
 
Здравствуйте уважаемые блитз девелоперы!
Передомной встала одна очень сильная проблема.
Я незнаю как намертово скрепить несколько объектов между собой.
Короче есть 2 сферы, вторая привязана к первой, у обоих коллизии с объектами. Допустим та, что сверху врезается во чтото а та, что снизу не во что не врезается. В итоге получается верхняя сфера стоит на месте, а нижняя уезжяет. Так вот как скрепить объекты таким образом, чтобы при застревании одного из них второй какбы тоже застревал. Ну, чтоб они работали как один меш целый.

alcoSHoLiK 13.10.2007 17:13

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.

Данил 13.10.2007 18:13

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, чтобы удалить его, если он больше не нужен.

Tadeus 13.10.2007 18:13

Re: Прибить гвоздями, либо приварить?
 
AddMesh

HolyDel 13.10.2007 18:25

Re: Прибить гвоздями, либо приварить?
 
AddMesh
EntityRadius задавай оба.
Будет очень быстрый фейк.

tormoz 13.10.2007 18:36

Re: Прибить гвоздями, либо приварить?
 
Позиционируй в цикле объекты относительно того который сместился при коллизии.

HolyDel 13.10.2007 18:43

Re: Прибить гвоздями, либо приварить?
 
tormoz, увы может не прокатить, потомучто объект может быть смещен в препятствие.

Crystal3 14.10.2007 06:28

Re: Прибить гвоздями, либо приварить?
 
Открываю девятую банку пива, и смотрю на это всё.
Реально не всё понял.
Мне можно пример написать?
Ну какраз допустим пример по двум сферам.

HolyDel 14.10.2007 14:01

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

Crystal 28.10.2007 22:55

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

чё за баг?

Crystal 29.10.2007 22:15

Re: Прибить гвоздями, либо приварить?
 
Если никто не скажет мне в чём причины этих багов,
я брошу этот блитц к чёртовой матери.
Как ни сяду прогить замечаю - Баг на баге!

dimanche13 29.10.2007 22:21

Re: Прибить гвоздями, либо приварить?
 
Цитата:

Сообщение от Blitzerg
Как ни сяду прогить замечаю - Баг на баге!

для того чтоб небыло Багов существует ДеБаг, это так для сведенья. А по теме, прослеживается оч.интересная причинно-следствееная связь.
причина: Как ни сяду прогить... следствие: Баг на баге! надо что-то менять причину или следствие? это уже зависит от тебя. :tongue:

Crystal 29.10.2007 22:38

Re: Прибить гвоздями, либо приварить?
 
Говоря баг на баге я говорю о коде без ошибок, в котором происходят баги.
Вопщем написано элементарно, верно и без ошибок, а портаки присутствуют.
Восновном в блитце глюки с коллизией.
Наверно надо прекручивать физикс...

Вот был например простой код, при коллизии с одним объектом менять локацию в игре, при коллизии с другим останавливаться.
Так вот при коллизии с первым действительно менялась локация, а при коллизии с вторыи объект останавливался, но!
Иногда при коллизии с вторым тоже менялась локация, хотя у всех объектов разные типы, и смена локаций при коллизии со вторым в коде вообще нигде не прописана.

Вот такие портаки.


Щас вот происходит фантастический глюк описаный в 10 посте.

moka 29.10.2007 22:50

Re: Прибить гвоздями, либо приварить?
 
Blitzerg, если код без ошибок это означает что у кодера руки не от "туда".

Crystal 29.10.2007 23:07

Re: Прибить гвоздями, либо приварить?
 
Вот тока мока ненадо меня криворуким обзывать ладно?
Код и сам перепроверял, и другие.
Всё верно написано, но баги вылазят.
Меня эта коллизия добивает...

Вот ты сам мне скажи как функция может делать то, что в ней вообще не прописано?
А хрен его знает как.. Вот это и есть баг.


Часовой пояс GMT +4, время: 02:03.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot