Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 02.01.2011, 15:16   #1
Петродий
AnyKey`щик
 
Регистрация: 02.01.2011
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Помогите найти ошибку

Здравствуйте уважаемые игроделы. Я начал делать стрелялку, с видом сверху. Дошёл до коллизией и появился странный баг. Для его проявления надо обстрелять куб(3ds сцена) со всех сторон. Сначала коллизии идут нормально, но потом пули начинают появляться не там где надо. Помогите пожалуйста разобраться.
Вложения
Тип файла: rar petrodiy_game.rar (70.5 Кб, 431 просмотров)
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 15:56   #2
pepel
Мастер
 
Аватар для pepel
 
Регистрация: 23.09.2009
Адрес: ленобласть
Сообщений: 1,189
Написано 447 полезных сообщений
(для 2,526 пользователей)
Ответ: Помогите найти ошибку

хм незнаю. помоему все норм с пулями
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 16:00   #3
Петродий
AnyKey`щик
 
Регистрация: 02.01.2011
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите найти ошибку

Попробуйте проехаться вокруг куба, стреляя по нему.
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 16:30   #4
pepel
Мастер
 
Аватар для pepel
 
Регистрация: 23.09.2009
Адрес: ленобласть
Сообщений: 1,189
Написано 447 полезных сообщений
(для 2,526 пользователей)
Ответ: Помогите найти ошибку

ммм. ясно. походу коллизии глючат.т.к. без них такого бага нет. попробуй использовать b3d формат вместо 3ds , также для пуль можно сделать модель только кубов без нижнего плейна. если не поможет, то используй phyzx враппер для коллизий, там тоже самое можно реализовать
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 16:33   #5
Leowey
Знающий
 
Аватар для Leowey
 
Регистрация: 08.11.2010
Адрес: Москва
Сообщений: 285
Написано 78 полезных сообщений
(для 182 пользователей)
Ответ: Помогите найти ошибку

Кста... если выберешь физиксБ то вот ключик:

{

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

}
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Leowey за это полезное сообщение:
Diffuse13 (02.01.2011), Reizel (03.01.2011)
Старый 02.01.2011, 18:53   #6
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Помогите найти ошибку

Don't understand... what is it???? It's really key for physX??

ctrl+c...
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 19:42   #7
Петродий
AnyKey`щик
 
Регистрация: 02.01.2011
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите найти ошибку

B3d не помог. Ну я не верю, что это блиц глючит, скорее я что-то не так сделал, проверьте пожалуйста. Не хотелось бы юзать отдельные проги типа PhysX.
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 20:04   #8
Leowey
Знающий
 
Аватар для Leowey
 
Регистрация: 08.11.2010
Адрес: Москва
Сообщений: 285
Написано 78 полезных сообщений
(для 182 пользователей)
Ответ: Помогите найти ошибку

Павел, да это ключ от физикса...

Use google!!!
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 20:31   #9
RBK
Знающий
 
Аватар для RBK
 
Регистрация: 06.12.2010
Адрес: Луганск
Сообщений: 252
Написано 112 полезных сообщений
(для 166 пользователей)
Ответ: Помогите найти ошибку

Смотри в коде:
Команда CopyEntity без указания родителя создает пулю в мировых координатах 0,0,0.
Далее PositionEntity перемещает пулю к роботу, но колизии с кубиками работаю постоянно, пуля огибает кубик и оказывается где попало.
Выхода здесь два:
1. CopyEntity указываем родителя(создается в позиции родителя), потом отсоединяем пулю.
2. Перед использованием PositionEntity ставим тип столкновений для пули 0, двигаем, ставим снова тип bullet_ef_coll
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 20:47   #10
ANDREYman
Нуждающийся
 
Аватар для ANDREYman
 
Регистрация: 17.12.2010
Адрес: Санкт-Петербург
Сообщений: 87
Написано 55 полезных сообщений
(для 214 пользователей)
Ответ: Помогите найти ошибку

А зачем вы коллизии пулям делаете, не лучше-ли LinePick ?
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 20:58   #11
Петродий
AnyKey`щик
 
Регистрация: 02.01.2011
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите найти ошибку

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

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

А зачем вы коллизии пулям делаете, не лучше-ли LinePick ?
О LinePick не знаю, нашёл в хелпе collision и сделал им)
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 21:19   #12
Diffuse13
Нуждающийся
 
Аватар для Diffuse13
 
Регистрация: 12.11.2010
Адрес: Нашли чо спросить
Сообщений: 51
Написано 3 полезных сообщений
(для 4 пользователей)
Ответ: Помогите найти ошибку

Leowey, это надо скрыть сообщение)))))***
А зачем вы коллизии пулям делаете, не лучше-ли LinePick ?
Если не пуля будет, а, например, медленная ракета, то это хрень получится.
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 21:26   #13
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Помогите найти ошибку

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

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

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

Эта проблема решается вызовом CaptureWorld() после перемещения всех объектов одного типа например кубов (монстров), и только после ней перемещение всех объектов другого типа с которым проверяется коллизия объектов первого типа например пули.
__________________
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 21:44   #14
RBK
Знающий
 
Аватар для RBK
 
Регистрация: 06.12.2010
Адрес: Луганск
Сообщений: 252
Написано 112 полезных сообщений
(для 166 пользователей)
Ответ: Помогите найти ошибку

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

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

Последний раз редактировалось RBK, 03.01.2011 в 10:53.
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 21:48   #15
Leowey
Знающий
 
Аватар для Leowey
 
Регистрация: 08.11.2010
Адрес: Москва
Сообщений: 285
Написано 78 полезных сообщений
(для 182 пользователей)
Ответ: Помогите найти ошибку

Diffuse13, с ума сошёл? PhysX бесплатен!!!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com