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

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

Вернуться   www.boolean.name > Программирование игр для компьютеров > Blitz3D > Библиотеки

Библиотеки Сторонние библиотеки для Blitz

Ответ
 
Опции темы
Старый 26.02.2010, 18:17   #1
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 618 полезных сообщений
(для 2,416 пользователей)
Печаль Проблема с хуломи и тримешами.

Всем привет!
У меня возникла проблема с хуломи и тримешами в PhysX Wrapper для Blitz3D. Они просто неработают! Когда я включаю игру, где они есть, блиц выдаёт ошибку:
Memory access violation
В чём проблема?
Функции загрузки хулов и тримешей я брал из примеров учебника.
Для хула:
Function BodyCreateHull%(mesh%, mass#)

    Local nsurf = CountSurfaces(mesh)
    Local nvert = 0
    For ns = 1 To nsurf
        Local surf = GetSurface(mesh,ns)
        nvert = nvert + CountVertices(surf)
    Next
         vbank = CreateBank(nvert*4*3)
    nv = 0
    For ns = 1 To nsurf
        surf = GetSurface(mesh,ns)
        nvv = CountVertices(surf)
        For nvc = 0 To nvv - 1
             PokeFloat vbank,nv*12+0,VertexX(surf,nvc)
             PokeFloat vbank,nv*12+4,VertexY(surf,nvc)
             PokeFloat vbank,nv*12+8,VertexZ(surf,nvc)
            nv = nv+1
        Next
    Next
    Local bbb%= pxBodyCreateHull(vbank, nvert, mass)
    FreeBank vbank
    Return bbb
End Function
Для тримеша:
Function BodyCreateMesh(mesh%)
	nsurf = CountSurfaces(mesh)
	nvert = 0
	nface=0
	For ns = 1 To nsurf
		Local surf = GetSurface(mesh,ns)
		nface = nface+CountTriangles(surf)
		nvert = nvert +CountVertices(surf)
	Next

	fbank = CreateBank(nface*4*3)
	nf = 0
	vbank = CreateBank(nvert*4*3)
	nv = 0
	For ns = 1 To nsurf
		surf = GetSurface(mesh,ns)
		nfv = CountTriangles(surf)
		For nfc = 0 To nfv -1
			PokeInt fbank,nf*12+0,TriangleVertex(surf,nfc,0)
			PokeInt fbank,nf*12+4,TriangleVertex(surf,nfc,1)
			PokeInt fbank,nf*12+8,TriangleVertex(surf,nfc,2)
			nf=nf+1
		Next

		nvv = CountVertices(surf)
		For nvc = 0 To nvv - 1
			PokeFloat vbank,nv*12+0,VertexX(surf,nvc)
			PokeFloat vbank,nv*12+4,VertexY(surf,nvc)
			PokeFloat vbank,nv*12+8,VertexZ(surf,nvc)
			nv = nv+1
		Next
	Next
	bbb%=pxCreateTriMesh(vbank, fbank, nvert, nface,0)
	FreeBank vbank
	FreeBank fbank
	Return bbb%
End Function
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
is.SarCasm (26.02.2010)
Старый 26.02.2010, 18:20   #2
Dzirt
Элита
 
Аватар для Dzirt
 
Регистрация: 16.01.2008
Адрес: Украина
Сообщений: 1,800
Написано 958 полезных сообщений
(для 3,832 пользователей)
Ответ: Проблема с хуломи и тримешами.

неплохо бы еще посмотреть как ты эти самые функции используешь в коде =\
(Offline)
 
Ответить с цитированием
Старый 26.02.2010, 19:01   #3
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 427 пользователей)
Ответ: Проблема с хуломи и тримешами.

Таже фигня. Ошибка вылетает на :
pxCreateTriMesh(vbank, fbank, nvert, nface,0)
или
pxBodyCreateHull(vbank, nvert, mass)
(Offline)
 
Ответить с цитированием
Старый 26.02.2010, 19:20   #4
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 618 полезных сообщений
(для 2,416 пользователей)
Ответ: Проблема с хуломи и тримешами.

Так что же делать?
Подскажите плиз!
З.Ы.: за правильность кода не переживайте, код я брал из примеров к учебнику товарища АВТОМАТа.
(Offline)
 
Ответить с цитированием
Старый 26.02.2010, 19:41   #5
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,464
Написано 5,284 полезных сообщений
(для 15,264 пользователей)
Ответ: Проблема с хуломи и тримешами.

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

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

(Offline)
 
Ответить с цитированием
Старый 26.02.2010, 20:26   #6
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 05.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,641 пользователей)
Ответ: Проблема с хуломи и тримешами.

Может ты вообще версию для Ксорса используешь?
__________________

(Offline)
 
Ответить с цитированием
Старый 27.02.2010, 07:35   #7
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: Планета Земля
Сообщений: 4,145
Написано 2,336 полезных сообщений
(для 6,494 пользователей)
Ответ: Проблема с хуломи и тримешами.

http://forum.boolean.name/showthread.php?t=12008
Да. Я ведь не зря это писал?
__________________
Retry, Abort, Ignore? █
AMD Ryzen 7 1700X x8 3.4Ghz; 16Gb ram; Nvidia Geforce 1070Ti Radeon RX 570
AMD Athlon II x4 2.6Ghz; 8Gb ram; Nvidia Geforce GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 27.02.2010, 17:29   #8
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 618 полезных сообщений
(для 2,416 пользователей)
Ответ: Проблема с хуломи и тримешами.

Значит, наверное, количество вершин не то.
Посмотри, загрузилась ли модель, из которой ты делал банки для хуллов/мешей и т.д.
По телефону зубы лечить очень сложно.
Пример я скачал из твоего учебника, следовательно и модели там тоже твои (свои модели тоже неработают)

Может ты вообще версию для Ксорса используешь?
Нет, я использую версию для блица.

http://forum.boolean.name/showthread.php?t=12008
Да. Я ведь не зря это писал?
не помогло, и ктомуже мне надо чтоб физикс работал на чистом блице.

З.Ы.: всё работает ( и магниты, и примитивы, и джоинты, и матерьялы, и компаноиды(из примитивов), и всевозможные лучи силы импульсы, но только не ХУЛЫ и ТРИМЕШЫ!!!

Последний раз редактировалось SubZer0, 27.02.2010 в 19:10.
(Offline)
 
Ответить с цитированием
Старый 27.02.2010, 17:32   #9
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,464
Написано 5,284 полезных сообщений
(для 15,264 пользователей)
Ответ: Проблема с хуломи и тримешами.

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

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

(Offline)
 
Ответить с цитированием
Старый 27.02.2010, 17:47   #10
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 618 полезных сообщений
(для 2,416 пользователей)
Ответ: Проблема с хуломи и тримешами.

Вот держи картинку!
Безымянный.rar
(Offline)
 
Ответить с цитированием
Старый 27.02.2010, 18:19   #11
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,464
Написано 5,284 полезных сообщений
(для 15,264 пользователей)
Ответ: Проблема с хуломи и тримешами.

Срава разверни плюсиком дерево и найди там PxB и в нём mesh и body и скажи чему они равны.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Старый 27.02.2010, 18:53   #12
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 618 полезных сообщений
(для 2,416 пользователей)
Ответ: Проблема с хуломи и тримешами.

mesh=12317992
body=0
Хммм, когда я немного упростил код, дебагер начал показывает ошибку в:

Function BodyCreateHull%(mesh%, mass#)

	Local nsurf = CountSurfaces(mesh)
	Local nvert = 0
	For ns = 1 To nsurf
		Local surf = GetSurface(mesh,ns)
		nvert = nvert + CountVertices(surf)
	Next
	     vbank = CreateBank(nvert*4*3)
	nv = 0
	For ns = 1 To nsurf
		surf = GetSurface(mesh,ns)
		nvv = CountVertices(surf)
		For nvc = 0 To nvv - 1
			 PokeFloat vbank,nv*12+0,VertexX(surf,nvc)
			 PokeFloat vbank,nv*12+4,VertexY(surf,nvc)
			 PokeFloat vbank,nv*12+8,VertexZ(surf,nvc)
			nv = nv+1
		Next
	Next
	Local bbb%= pxBodyCreateHull(vbank, nvert, mass)
	FreeBank vbank
	Return bbb
End Function
Для тримеша аналогично.
Именно здесь корень проблемы.
(Offline)
 
Ответить с цитированием
Старый 27.02.2010, 18:55   #13
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: Планета Земля
Сообщений: 4,145
Написано 2,336 полезных сообщений
(для 6,494 пользователей)
Ответ: Проблема с хуломи и тримешами.

Den, информация то где?
Не наезжай преждевременно на меня ок?
1) На какой строчке возникает мав
2) сколько треугольников у твоей модели
3) ты её загрузил как mesh или animmesh
4) Скринами не отделаешься, простейший пример демонстрирующий твою проблему в аттач.

upd. Спасибо, ты уловил суть.
Обнови враппер.
{
1) удали все DLL PhysX`а c компьютера
(Blitzpx.dll, NxCooking.dll, PhysXLoader.dll ищи их в папку Bin или Userlibs твоего Blitz3D)
2) Удали decls файл PhysX
3) Запихни по новой DLL в папку Bin блица и decls файл в Userlibs
4) Убедись в своей версии блица, она должна быть минимум 1.98 в остальных я не так уверен
5) если не поможет то только аттач.
}
__________________
Retry, Abort, Ignore? █
AMD Ryzen 7 1700X x8 3.4Ghz; 16Gb ram; Nvidia Geforce 1070Ti Radeon RX 570
AMD Athlon II x4 2.6Ghz; 8Gb ram; Nvidia Geforce GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 27.02.2010, 19:08   #14
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 618 полезных сообщений
(для 2,416 пользователей)
Ответ: Проблема с хуломи и тримешами.

Randomize,информация вот.
Так и быть , не буду на тебя наезжать.
1) на ту которую я выделел красным цветом.
pxCreateTriMesh(vbank, fbank, nvert, nface,0)
или
pxBodyCreateHull(vbank, nvert, mass)
2) штук 20
3) как mesh.
4) Повторяю, пример НЕ МОЙ!!! Я его скачал из примеров к учебнику товарища АВТОМАТАа . Просто скачай любой пример из серии:
Хулл, или как сделать физическую модель в 3D Studio max'е
или
Trimesh или физическая модель невыпуклых тел.
(Offline)
 
Ответить с цитированием
Старый 27.02.2010, 19:13   #15
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: Планета Земля
Сообщений: 4,145
Написано 2,336 полезных сообщений
(для 6,494 пользователей)
Ответ: Проблема с хуломи и тримешами.

Мой пост #13 обновлён.
Пожалуйста скажи размеры DLL :
Blitzpx.dll
NxCooking.dll
PhysXLoader.dll
Может проблема в версии.
На всякий случай толькочто потестил и прикладываю свои DLL + Decls.
Они точно работают
physx.7z
__________________
Retry, Abort, Ignore? █
AMD Ryzen 7 1700X x8 3.4Ghz; 16Gb ram; Nvidia Geforce 1070Ti Radeon RX 570
AMD Athlon II x4 2.6Ghz; 8Gb ram; Nvidia Geforce GTX 750 Ti
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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