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

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

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

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

Ответ
 
Опции темы
Старый 29.01.2010, 23:44   #1
Motorboy
Оператор ЭВМ
 
Регистрация: 07.01.2007
Сообщений: 22
Написано одно полезное сообщение
(для 2 участников)
Контакты в PhisX

Есть такой код...

Graphics3D 800,600,32,0
pxCreateWorld(1,"?")
pxSetGravity(0, -10 ,0)

camera=CreateCamera ()
PositionEntity camera,0,100,-400

li=CreateLight ()
PositionEntity li,0,300,0

player=CreateSphere ()
ScaleEntity player,30,30,30

cube=CreateCube ()
ScaleEntity cube,300,1,300
RotateEntity cube,-5,0,-5

pxcube=pxBodyCreateCube(300,1,300,0)
pxBodySetRotation(pxcube,-5,0,-5)

pxPlayer=pxBodyCreateSphere(30,20)
pxBodySetPosition(pxPlayer,0,200,0)

While Not KeyHit(1)

PositionEntity player,pxBodyGetPositionX(pxPlayer),pxBodyGetPosit iony(pxPlayer),pxBodyGetPositionz(pxPlayer)

UpdateWorld
pxRenderPhysic(5,0)
RenderWorld

Text 10,10,pxGetContacts(pxPlayer)

Flip
Wend
End


pxGetContacts(pxPlayer)- возвращает количество контактов 8 хотя должно быть 1.
Подскажите что у меня здесь неправильно.
В семпле который идет вместе с PhisX количество контактов при падении сферы на плосксть равно 1...у меня почему то 8.
(Offline)
 
Ответить с цитированием
Старый 29.01.2010, 23:52   #2
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Контакты в PhisX

у тебя не плоскость, у тебя куб.
(Offline)
 
Ответить с цитированием
Старый 29.01.2010, 23:54   #3
Motorboy
Оператор ЭВМ
 
Регистрация: 07.01.2007
Сообщений: 22
Написано одно полезное сообщение
(для 2 участников)
Ответ: Контакты в PhisX

А какая разница куб или плоскость?
все равно у сферы должна быть одна точка соприкосновения с обьектом...
(Offline)
 
Ответить с цитированием
Старый 30.01.2010, 02:07   #4
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,743
Написано 5,461 полезных сообщений
(для 15,676 пользователей)
Ответ: Контакты в PhisX

С контактами у физикса беда бывает да.
Визуализируй что ли контакты да посмотри где они находятся.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 30.01.2010, 13:14   #5
Motorboy
Оператор ЭВМ
 
Регистрация: 07.01.2007
Сообщений: 22
Написано одно полезное сообщение
(для 2 участников)
Ответ: Контакты в PhisX

Визуализировать не получается
когда я в цикле пытаюсь перебрать все контакты вылетает mav

такой код..

For i=0 To pxGetContacts(pxplayer)-1
kont#=pxContactGetPointY#(pxplayer,i)
Next

ругается как раз на переменную i. если поставить вместо i цифру например 1mav не вылетает...
pxGetContacts неправильно возвращает количество контактов...
наверное ошибка где то у меня в коде,так как в семпле GetContakt все работает...
никак не могу понять где я ошибся.
(Offline)
 
Ответить с цитированием
Старый 30.01.2010, 18:13   #6
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений
(для 2,828 пользователей)
Ответ: Контакты в PhisX

Я попробовал что то сделать, pxRenderPhysic(5,0) заменил на
pxRenderPhysic(30,0). Количество контактов стало 2 =) Поставил
pxRenderPhysic(60,0), количество контактов стало 1 =) Весело.

Но зато работает код
For i=0 To pxGetContacts(pxplayer)-1
kont#=pxContactGetPointY#(pxplayer,i)
Next
Балуйся =)

З.Ы. Забыл твой код проверить сразу целиком... На этом коде не выдаёт ошибку никак вобще у меня. Хоть при 5, хоть при 30, хоть при 60. У меня твой код работает полностью и безошибочно
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Старый 30.01.2010, 23:53   #7
Motorboy
Оператор ЭВМ
 
Регистрация: 07.01.2007
Сообщений: 22
Написано одно полезное сообщение
(для 2 участников)
Ответ: Контакты в PhisX

Да действительно при pxRenderPhysic(60,0) количество контактов определяется правильно.Только вот все обьекты двигаются очень медленно (при FPS=60)...не реалистично.
Не подскажите как синхронизировать FPS и физику что бы физика просчитывалась правдоподобно?
(Offline)
 
Ответить с цитированием
Старый 31.01.2010, 11:36   #8
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений
(для 2,828 пользователей)
Ответ: Контакты в PhisX

Ну я лично использую pxRenderPhysic(30,0), выглядит довольно реалистично.
На счёт синхронизации - посмотри в примере Castle (стандартно идёт с блитцем)
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Старый 31.01.2010, 13:16   #9
Motorboy
Оператор ЭВМ
 
Регистрация: 07.01.2007
Сообщений: 22
Написано одно полезное сообщение
(для 2 участников)
Ответ: Контакты в PhisX

Спасибо за помощь. Будем разбираться.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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