[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 1 из 1
  • 1
Модератор форума: Spidy, turBO, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » ПОМОГИТЕ (Вопрос по BLiTz)
ПОМОГИТЕ
Edison4Дата: Воскресенье, 16.10.2011, 13:16 | Сообщение # 1
ламер
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 2
Статус: Offline
Как мне сделать чтобы карта которую я сделал стала физ плоскостью?
Я знаю как делать чтобы физ плоскостью Plane по урокам
Я сделал карту в формате b3d загрузил в blitz3d но как сделать ее физ плоскостью
есть пример как сделать Terrain плоскостью
Code
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
 
РабочийКлассДата: Воскресенье, 16.10.2011, 15:47 | Сообщение # 2
ламер
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Что ты подразумеваешь под физ плоскостью? Насколько я понимаю,вопрос заключается в том как применять данный террейн для взаимодействия с другими объектами?
 
Edison4Дата: Воскресенье, 16.10.2011, 17:10 | Сообщение # 3
ламер
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 2
Статус: Offline
Да мне нужно чтобы происходило взаимодействие с другими обьектами только у меня есть функция как сделать чтобы террайн.bmp реализовать ! А как сделать чтобы моя карта которая формата b3d или x была ка бе терррайном ?ТОисть если шарик падает он катался по моей карте?А не проваливался

ФОРМАТА b3d !!!КАРТА!

Добавлено (16.10.2011, 17:10)
---------------------------------------------
И еще вопрос этот шарик управляется как сделать ограничение скорости?
и почему то когда вперед нажимаю он едет норм затем разгоняясь я нажымаю назад а он только сильней еще вперед прет

Сообщение отредактировал Edison4 - Воскресенье, 16.10.2011, 16:39
 
РабочийКлассДата: Воскресенье, 16.10.2011, 18:49 | Сообщение # 4
ламер
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Для того что бы твой террейн мог взаимодействовать присвой ему тип например:

Const playertype=1,terraintype=2 --> (перед основным кодом программы, или в пригружаемой к коду функции)
в куске кода где описываешь свой террейн

EntityType terrain,terraintype

в куске кода отвечающего за создания персонажа

EntityType player,playertype
Collisions playertype,poltype,2,3

элементарный пример того чтоб персонаж не проваливался под землю а взаимодействовал с ней тоесть стоял на ней


Сообщение отредактировал РабочийКласс - Воскресенье, 16.10.2011, 18:50
 
Edison4Дата: Воскресенье, 16.10.2011, 19:33 | Сообщение # 5
ламер
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 2
Статус: Offline
Вы наверно не заметили у меня стоит физикс и нужно чтобы мой террайн стал физ!
У меня есть функция которая делает террайн формата .bmp физ
Code
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


Точнее мне нужно сделать террайн из .x или .b3d обьекта
как? wink


Сообщение отредактировал Edison4 - Воскресенье, 16.10.2011, 20:52
 
ParisHiltonДата: Вторник, 18.10.2011, 09:44 | Сообщение # 6
прогер
Группа: Пользователи
Сообщений: 197
Награды: 2
Репутация: 5
Статус: Offline
В примерах к физиксу должны быть столкновения с объектами.
Посмотри на их оффициальном сайте, там было много примеров


Мы ищем предмет цели для того чтобы найти результаты его следствия
 
Edison4Дата: Вторник, 18.10.2011, 17:52 | Сообщение # 7
ламер
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 2
Статус: Offline
А можно ссыль на оф сайт?

Добавлено (18.10.2011, 17:52)
---------------------------------------------
Все разобрался!
Теперь другой вопрос как мне сделать ограничение скорости?При таком коде
Code
If KeyDown(200)
       
     x1force#=X1force-.1
     pxBodyAddForce(Body,X1force#,0,0,1)
     
    ElseIf KeyDown(208)
     x2force#=x2force+.1
     pxBodyAddForce(Body,x2force#,0,0,1)
    EndIf

If KeyDown(205)
     pxBodyAddForce(Body,0,0,z1force#,1)
     z1force#=z1force+.1
     
    ElseIf KeyDown(203)
     pxBodyAddForce(Body,0,0,z2force#,1)
     z2force#=z2force-.1
    EndIf

И как сделать прыжок?
И как правильно повернуть камеру а то я пробовал она у меня поварачивается не так как надо а мне нужно чтобы сзади на персонажа смотрела как сделать?
У меня в коде
Code
cam = CreateCamera(pv)
PositionEntity cam,10,60,0
RotateEntity cam,90,0,90,True
Вперед назад ни как немогу повернуть как нужно сделать помогите гуру!!
wacko
wacko


Сообщение отредактировал Edison4 - Вторник, 18.10.2011, 17:54
 
turBOДата: Вторник, 18.10.2011, 20:01 | Сообщение # 8
Полковник
Группа: Администраторы
Сообщений: 297
Награды: 5
Репутация: 12
Статус: Offline
Quote (Edison4)
как мне сделать ограничение скорости

Ограничение скорости для движение в одном из направлений:

Code
max_speed=.6
If KeyDown(208) AND x1force <max_speed
        x1force#=X1force+.1    
        pxBodyAddForce(Body,X1force#,0,0,1)    
endif


Quote (Edison4)
И как правильно повернуть камеру

Ты уже повернул камеру, теперь тебе необходимо сместить её по отношению к объекту pv.

Code
MoveEntity cam,-2,0,0 ;Подбери направление и величину смещения


или используй Pivot:
смотри в примере. тут и прыжок персонажа есть


If 2+2<>4 Then Restart
 
Edison4Дата: Пятница, 21.10.2011, 18:19 | Сообщение # 9
ламер
Группа: Пользователи
Сообщений: 17
Награды: 0
Репутация: 2
Статус: Offline
Там показано как сделать средствами блитза но на физ тела эти функции не действуют а как при помощи физикса организовать прыжок?

Добавлено (21.10.2011, 18:19)
---------------------------------------------
Нашел код прыжка

Code
If xKeyHit(key_jump) Then
   If pxGetContacts(body)>0 Then  
    For i=0 To pxGetContacts(body)-1
     x# = pxContactGetPointX(body,i)
     y# = pxContactGetPointY(body,i)
     z# = pxContactGetPointZ(body,i)  
    Next
    If  x#>pxBodyGetPositionX(body)-.5 And x#<pxBodyGetPositionX(body)+.5 And y#>pxBodyGetPositionY(body)-2.6 And y#<pxBodyGetPositionY(body)-0 And z#>pxBodyGetPositionZ(body)-.4 And z#<pxBodyGetPositionZ(body)+.4 Then
     pxBodyAddLocalForce body,0,pxBodyGetMass(body)/13,0,2
    End If
   End If
  End If

Кто нить скажите почему неработает?Или только у меня неработает?
 
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » ПОМОГИТЕ (Вопрос по BLiTz)
  • Страница 1 из 1
  • 1
Поиск: