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=13984)

Петродий 02.01.2011 15:16

Помогите найти ошибку
 
Вложений: 1
Здравствуйте уважаемые игроделы. Я начал делать стрелялку, с видом сверху. Дошёл до коллизией и появился странный баг. Для его проявления надо обстрелять куб(3ds сцена) со всех сторон. Сначала коллизии идут нормально, но потом пули начинают появляться не там где надо. Помогите пожалуйста разобраться.

pepel 02.01.2011 15:56

Ответ: Помогите найти ошибку
 
хм незнаю. помоему все норм с пулями

Петродий 02.01.2011 16:00

Ответ: Помогите найти ошибку
 
Попробуйте проехаться вокруг куба, стреляя по нему.

pepel 02.01.2011 16:30

Ответ: Помогите найти ошибку
 
ммм. ясно. походу коллизии глючат.т.к. без них такого бага нет. попробуй использовать b3d формат вместо 3ds , также для пуль можно сделать модель только кубов без нижнего плейна. если не поможет, то используй phyzx враппер для коллизий, там тоже самое можно реализовать

Leowey 02.01.2011 16:33

Ответ: Помогите найти ошибку
 
Кста... если выберешь физиксБ то вот ключик:

{

>j58ma6a[m5a\\08]m4eUl54Tm3ce\6a

}

Reizel 02.01.2011 18:53

Ответ: Помогите найти ошибку
 
Don't understand... what is it???? It's really key for physX??

ctrl+c...:-D

Петродий 02.01.2011 19:42

Ответ: Помогите найти ошибку
 
B3d не помог. Ну я не верю, что это блиц глючит, скорее я что-то не так сделал, проверьте пожалуйста. Не хотелось бы юзать отдельные проги типа PhysX.

Leowey 02.01.2011 20:04

Ответ: Помогите найти ошибку
 
Павел, да это ключ от физикса...

Use google!!!

RBK 02.01.2011 20:31

Ответ: Помогите найти ошибку
 
Смотри в коде:
Команда CopyEntity без указания родителя создает пулю в мировых координатах 0,0,0.
Далее PositionEntity перемещает пулю к роботу, но колизии с кубиками работаю постоянно, пуля огибает кубик и оказывается где попало.
Выхода здесь два:
1. CopyEntity указываем родителя(создается в позиции родителя), потом отсоединяем пулю.
2. Перед использованием PositionEntity ставим тип столкновений для пули 0, двигаем, ставим снова тип bullet_ef_coll

ANDREYman 02.01.2011 20:47

Ответ: Помогите найти ошибку
 
А зачем вы коллизии пулям делаете, не лучше-ли LinePick ?

Петродий 02.01.2011 20:58

Ответ: Помогите найти ошибку
 
Цитата:

Смотри в коде:
Команда CopyEntity без указания родителя создает пулю в мировых координатах 0,0,0.
Далее PositionEntity перемещает пулю к роботу, но колизии с кубиками работаю постоянно, пуля огибает кубик и оказывается где попало.
Выхода здесь два:
1. CopyEntity указываем родителя(создается в позиции родителя), потом отсоединяем пулю.
2. Перед использованием PositionEntity ставим тип столкновений для пули 0, двигаем, ставим снова тип bullet_ef_coll

Спасибо большое, теперь всё понятно. Кстати есть ещё 3 способ - родительский объект постоянно positionentity к роботу)

Цитата:

А зачем вы коллизии пулям делаете, не лучше-ли LinePick ?
О LinePick не знаю, нашёл в хелпе collision и сделал им)

Diffuse13 02.01.2011 21:19

Ответ: Помогите найти ошибку
 
Leowey, это надо скрыть сообщение)))))***
Цитата:

А зачем вы коллизии пулям делаете, не лучше-ли LinePick ?
Если не пуля будет, а, например, медленная ракета, то это хрень получится.

SBJoker 02.01.2011 21:26

Ответ: Помогите найти ошибку
 
Цитата:

Сообщение от Diffuse13 (Сообщение 174189)
Leowey, это надо скрыть сообщение)))))***

Если не пуля будет, а, например, медленная ракета, то это хрень получится.

Но у него в данном случае именно пуля, а для маленькой ракеты он сделает отдельно.

У автора проблема видимо в том что движутся оба предмета, тогда колллизии работать не будут.

Эта проблема решается вызовом CaptureWorld() после перемещения всех объектов одного типа например кубов (монстров), и только после ней перемещение всех объектов другого типа с которым проверяется коллизия объектов первого типа например пули.

RBK 02.01.2011 21:44

Ответ: Помогите найти ошибку
 
Цитата:

Сообщение от Петродий (Сообщение 174188)
Спасибо большое, теперь всё понятно. Кстати есть ещё 3 способ - родительский объект постоянно positionentity к роботу)

В первом варианте родитель это робот(obj_glav). Какой родительский обьект ты имеешь ввиду?

Кстати напомню под сообщением есть кнопка Полезно!(может оно еще кому-нибудь поможет)

Leowey 02.01.2011 21:48

Ответ: Помогите найти ошибку
 
Diffuse13, с ума сошёл? PhysX бесплатен!!!


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

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