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

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

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

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

Ответ
 
Опции темы
Старый 20.07.2007, 02:25   #1
BlackDragon
Проектировщик
 
Аватар для BlackDragon
 
Регистрация: 25.03.2007
Сообщений: 536
Написано 252 полезных сообщений
(для 715 пользователей)
Проблема с MoveEntity

Сегодня отловил в своей проге странный баг: танк стреляет мешем,
при некоторых углах поворота башни танка в горизонтальной плоскости, меш странно изменяет траекторию полета. После рождения меша в недрах башни, командой EntityParent он обретает независимость от нее и далее летит по прямой (до этого дня я был уверен что по прямой).
Функция движения:
Function BULLETS()
For Tbullet.bullets =Each bullets
If Tbullet <>Null
If EntityCollided (Tbullet\obj,WALL) Or EntityCollided (Tbullet\obj,SCENE)
ex1#=EntityX#(Tbullet\obj);,True)
ey1#=EntityY#(Tbullet\obj);,True)
ez1#=EntityZ#(Tbullet\obj);,True)
InitionEXPL_1(ex1#,ey1#,ez1#,CollisionNX#(Tbullet\ obj,1), СоllisionNY#(Tbullet\obj,1),CollisionNZ#(Tbullet\o bj,1))
Tbullet\bullet_time=65
EndIf


If Tbullet\bullet_time>60
FreeEntity Tbullet\obj
Delete Tbullet
Else
MoveEntity Tbullet\obj,0,0,20 <======
Tbullet\bullet_time=Tbullet\bullet_time+1
EndIf

EndIf
Next
End Function
Примерный вид траектории представлен ниже. Закрашенная область - место изменения траектории (я думаю траект. изменяется скачкообразно). Интересно, что при изменении значения помеченного стрелочкой (см. выше) до 10, 5 , 2 ,скачек пропорционально меньше.
(Offline)
 
Ответить с цитированием
Старый 20.07.2007, 02:40   #2
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: Проблема с MoveEntity

Сложно сказать. Покажи код вызова Bullets, создания пули. Или покажи весь код, чтобы можно было отладить.
(Offline)
 
Ответить с цитированием
Старый 20.07.2007, 02:57   #3
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Re: Проблема с MoveEntity

Возможно, снаряд коллизится с корпусом танка, но так как к нему прикладывается команда MOVE, он "стекает" по броне и продолжает движение по новой, изменённой, траектории.
Перед установкой типа коллизии и команд MOVE, позиционируй снаряд чуть дальше конца "ствола" башни. (см. мой тутор по FPS)
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 20.07.2007, 13:28   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Проблема с MoveEntity

Хм, одна догадка есть, но не вижу комманд поворота. В них есть один прикол: Если крутить объект по Pitch и Yaw, коммандой RotateEntity, а Roll всегда ставить 0, то если Pitch меньше 0, и Roll 0, при комманде TurnEntity, будут неприятные дёрги, и объект не сможет наклониться по Pitch ниже 0, а Yaw будет крутиться на 180 градусов, туда-обратно.
Встречался с этим частенько.
(Offline)
 
Ответить с цитированием
Старый 20.07.2007, 15:12   #5
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
Re: Проблема с MoveEntity

С глюками по Pitch тоже знаком...
Но наверно всетаки коллизия обочто-то.
(Offline)
 
Ответить с цитированием
Старый 20.07.2007, 16:24   #6
BlackDragon
Проектировщик
 
Аватар для BlackDragon
 
Регистрация: 25.03.2007
Сообщений: 536
Написано 252 полезных сообщений
(для 715 пользователей)
Re: Проблема с MoveEntity

Про проблемы с RotateEntity не знал,надо посмотреть.Дело тут наверное не в коллизиях так как изменение траектории происходит несколько дальше от тела танка.Создание снаряда:
If p1t1fire=1 And p1t1fire1_t=0
p1t1fire1_t=1
Tbullet.bullets=New bullets
Tbullet\obj=CreateSphere(4,p1tank1piv3)
EntityParent Tbullet\obj,0
EntityType Tbullet\obj,BULLET
EntityRadius Tbullet\obj,1
Tbullet\bullet_time=1
(Offline)
 
Ответить с цитированием
Старый 20.07.2007, 16:40   #7
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Проблема с MoveEntity

Дело в коллизии, т.к. ты не двигаешь пулю, и уже задаёшь коллизию, вот она и коллизиться с танком.
Да и лучше так:
Tbullet\obj=CreateSphere(4)
PositionEntity Tbullet\obj,entityx(p1tank1piv3,1),entityy(p1tank1piv3,1),entityz(p1tank1piv3,1)
Rotateentity Tbullet\obj,entitypitch(p1tank1piv3,1),entityyaw(p1tank1piv3,1),,entityroll(p1tank1piv3,1)
(Offline)
 
Ответить с цитированием
Старый 20.07.2007, 17:35   #8
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Re: Проблема с MoveEntity

Дело в коллизии, т.к. ты не двигаешь пулю, и уже задаёшь коллизию, вот она и коллизиться с танком.
про что я и говорил
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 20.07.2007, 18:54   #9
BlackDragon
Проектировщик
 
Аватар для BlackDragon
 
Регистрация: 25.03.2007
Сообщений: 536
Написано 252 полезных сообщений
(для 715 пользователей)
Re: Проблема с MoveEntity

Всем большое спасибо за помощь. Теперь все работает как надо.Коллизия происходила не с телом танка, а с некоторыми деталями его обвеса, про которые я забыл.
(Offline)
 
Ответить с цитированием
Старый 20.07.2007, 18:57   #10
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Проблема с MoveEntity

PS
Кнопочки у каждого сообщения, внизу-справа есть "Thank", многие любят когда им в качестве такой кнопки благодарят
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с С++ HAMANN C++ 10 24.12.2009 09:31
Проблема rr333 3D Моделирование 10 07.06.2009 17:08
Проблема в MP Nautilus MidletPascal 4 26.10.2008 05:30
Проблема с MP3 и EAX Maxim1441 2D-программирование 3 29.07.2008 18:29
PositionEntity = MoveEntity stone_evil Blitz3D 6 10.04.2007 19:55


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


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