Показать сообщение отдельно
Старый 13.08.2009, 11:58   #5
PalVitalia
AnyKey`щик
 
Аватар для PalVitalia
 
Регистрация: 06.07.2009
Сообщений: 14
Написано 4 полезных сообщений
(для 5 пользователей)
Лампочка Ответ: Помогите с pxCreateTerrain(PhysX)

Сообщение от Stimorol Посмотреть сообщение
есть функция pxCreateTerrain:
int pxCreateTerrain( int nSize, int bank*, float scale_x, float scale_y, float scale_z)

nSize - amount of segments - Это что? Как его найти не на блитзе?
bank* - bank of height - Это двумерный массив? Или обычный? Какая структура должна быть у этого массива? Как его заполнять?

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

terrain=LoadTerrain("55555.bmp")
TerrainDetail terrain,5000,True
ScaleEntity terrain,3,60,3


grass_tex=LoadTexture( "555.bmp" )
detail=LoadTexture( "6666666.jpg" )
EntityTexture terrain,detail,0,1
EntityTexture terrain,grass_tex,0,2
ScaleTexture grass_tex,256,256
ScaleTexture detail, 1,1

создали таррайн пока простой))))
пишем функцию

Function TerrainCreate#(terrain%, sx, sy, sz)
nSize% = TerrainSize (terrain)
bank = CreateBank((nSize)*(nSize)*4)
For z%=1 To nSize-1
For x% = 1 To nSize-1
Y# = TerrainHeight(terrain,x,z)
PokeFloat bank,(z*(nSize)+x)*4,y
Next
Next
body# = pxCreateTerrain(nSize,bank, sx, sy ,sz)
FreeBank(bank)
Return body
End Function

и еще одну строчку
ter# = TerrainCreate#(terrain, 3, 60, 3)
ставим после создания лондшафта
пример:

terrain=LoadTerrain("55555.bmp")
TerrainDetail terrain,5000,True
ScaleEntity terrain,3,60,3

grass_tex=LoadTexture( "555.bmp" )
detail=LoadTexture( "SAND3.jpg" )
EntityTexture terrain,detail,0,1
EntityTexture terrain,grass_tex,0,2
ScaleTexture grass_tex,256,256
ScaleTexture detail, 1,1

ter# = TerrainCreate#(terrain, 3, 60, 3)

все должно не проваливаться! у меня перестали такие глюки))))))
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо PalVitalia за это полезное сообщение:
St.AnGer (13.08.2009), viper86 (12.10.2009)