|
3D-программирование Вопросы, касающиеся программирования 3D мира |
15.12.2009, 20:29
|
#1
|
Оператор ЭВМ
Регистрация: 25.09.2009
Адрес: Россия, Пермский край, г.Березники
Сообщений: 20
Написано одно полезное сообщение
|
Капсульный игрок в PhysX Wrapper
Люди - программисты, помогите, пожалуйста. Срочно нужна ваша помощь. Нужен пример создания капсульного игрока сделанного с помощью PhysX Wrapper. Вроде бы игрока сделали, но не можем его сдвинуть с места, вернее физическую капсулу, в которой находиться игрок. Уважаемые люди знающие PhysX Wrapper помогите, пожалуйста, а то мозг совсем скоро вскипит
|
(Offline)
|
|
15.12.2009, 20:37
|
#2
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Капсульный игрок в PhysX Wrapper
в порыве страсти ты забыл сказать в чем проблема.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо NitE за это полезное сообщение:
|
|
15.12.2009, 20:42
|
#3
|
Оператор ЭВМ
Регистрация: 25.09.2009
Адрес: Россия, Пермский край, г.Березники
Сообщений: 20
Написано одно полезное сообщение
|
Ответ: Капсульный игрок в PhysX Wrapper
NitE, смеялся минут 5 над ответом Но там ведь написано что не могу сдвинуть капсулу с места вместе с игроком. Какая команда для этого служит. Может быть у тебя есть пример?
|
(Offline)
|
|
15.12.2009, 20:44
|
#4
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Капсульный игрок в PhysX Wrapper
http://forum.xors3d.com/download/file.php?id=66
вот волшебный файл, там ответы на все твой вопросы.
|
(Offline)
|
|
15.12.2009, 20:46
|
#5
|
Оператор ЭВМ
Регистрация: 25.09.2009
Адрес: Россия, Пермский край, г.Березники
Сообщений: 20
Написано одно полезное сообщение
|
Ответ: Капсульный игрок в PhysX Wrapper
Ну Help это хорошо, но все таки лучше когда есть пример, т.к. пример можно разобрать
|
(Offline)
|
|
15.12.2009, 20:55
|
#6
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: Капсульный игрок в PhysX Wrapper
а хелп разве нет ?
5 минут с переводчиком посидеть и не будет кипеть бошка от расстройства нервов.
|
(Offline)
|
|
15.12.2009, 20:58
|
#7
|
Оператор ЭВМ
Регистрация: 25.09.2009
Адрес: Россия, Пермский край, г.Березники
Сообщений: 20
Написано одно полезное сообщение
|
Ответ: Капсульный игрок в PhysX Wrapper
Ну Help это хорошо, но все таки лучше когда есть пример, т.к. пример можно разобрать. Когда есть пример все более-менее лучше усваиваться
|
(Offline)
|
|
15.12.2009, 21:28
|
#8
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: Капсульный игрок в PhysX Wrapper
я могу тебе кинуть код реализации, только ты ведь не поймешь чужой код, так как даже не знаешь за что отвечают команды.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.12.2009, 11:33
|
#9
|
Нуждающийся
Регистрация: 02.09.2007
Сообщений: 50
Написано 9 полезных сообщений (для 9 пользователей)
|
Ответ: Капсульный игрок в PhysX Wrapper
Двигай через pxBodyAddLocalForce и pxBodyGetLocalLinearSpeed по нужным осям. Чтобы получилась остановка, добавляй силу с обратной pxBodyGetLocalLinearSpeed тоже по осям движения.
вот примерно так:
If KeyDown(17)
pxBodyAddLocalForce(Body%,0,0,(3-pxBodyGetLocalLinearSpeedZ(Body%))*force#,0)
Else If KeyDown(31)
pxBodyAddLocalForce(Body%,0,0,-(3+pxBodyGetLocalLinearSpeedZ(Body%))*force#,0)
Else
pxBodyAddLocalForce(Body%,0,0,-pxBodyGetLocalLinearSpeedZ(Body%)*force#,0)
End If
If KeyDown(30)
pxBodyAddLocalForce(Body%,-(3+pxBodyGetLocalLinearSpeedX(Body%))*force#,0,0,0)
Else If KeyDown(32)
pxBodyAddLocalForce(Body%,(3-pxBodyGetLocalLinearSpeedX(Body%))*force#,0,0,0)
Else
pxBodyAddLocalForce(Body%,-pxBodyGetLocalLinearSpeedX(Body%)*force#,0,0,0)
End If
С переменной force побалуйся сам.
З.Ы. Тема обсуждалась не единожды......
|
(Offline)
|
|
17.12.2009, 16:45
|
#10
|
Оператор ЭВМ
Регистрация: 25.09.2009
Адрес: Россия, Пермский край, г.Березники
Сообщений: 20
Написано одно полезное сообщение
|
Ответ: Капсульный игрок в PhysX Wrapper
Graphics3D 800,640
SetBuffer BackBuffer()
;light
light=CreateLight(1)
PositionEntity light,0,50,20
;cam
cam=CreateCamera()
PositionEntity cam,0,5,-5
;plane
plane=CreatePlane()
tile1=LoadTexture("d:\bcm\models\88sad\O23SCV96.jp g")
ScaleTexture tile1,5,5
EntityTexture plane,tile1
;physX
pxCreateWorld(1, "key")
pxSetGravity(0,-30,0)
;create capsule
capsule2 = Create_Px_Capsule(Mesh_Capsule(2, 1), 2, 1)
pxBodySetPosition(capsule2, 0, 5, 0)
Repeat
If KeyDown(17)
pxBodyAddLocalForce(capsule2,0,5,5,0)
EndIf
pxRenderPhysic(60,0)
Update_Px_Cube()
UpdateWorld()
RenderWorld()
Flip
Until KeyHit(1)
End
Type Px_Cube
Field cube_body%
Field cube_mesh%
End Type
Function Create_Px_Capsule(mesh, height#, radius#)
ocu.Px_Cube = New Px_Cube
ocu\cube_mesh = CopyEntity (mesh)
ocu\cube_body = pxBodyCreateCapsule%(height, radius,2)
pxBodySetPosition(ocu\cube_body, 0, 0, 0)
Return ocu\cube_body
End Function
Function Update_Px_Cube()
For ocu.Px_Cube = Each Px_Cube
pxBodySetEntity(ocu\cube_mesh, ocu\cube_body)
Next
End Function
Function Mesh_Capsule(height#, radius#)
capsule=LoadMesh("d:\bcm\models\ivan\ivan.b3d")
HideEntity capsule
Return capsule
End Function
вот во общем код. В нем игрок стоит в физической капсуле. при нажатие на "W" он тупо падает вперед(((
|
(Offline)
|
|
17.12.2009, 20:50
|
#11
|
Оператор ЭВМ
Регистрация: 25.09.2009
Адрес: Россия, Пермский край, г.Березники
Сообщений: 20
Написано одно полезное сообщение
|
Ответ: Капсульный игрок в PhysX Wrapper
Ладно люди извините что побеспокоил, уже сами разобрались
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:39.
|