Коллизия в анимации
У меня проблема которую я не могу решить :wallbash: . Все варианты которые мне предложили не смог реализовать((( Код полностью рабочий, но анимация проходит на сквозь.
Помогите кто чем может! (исправьте код):SOS: Вот код: Graphics3D 1440,900,32,2 Const robotcol = 1 l = CreateLight() ; свет RotateEntity l, 0, 45, 45 ; поварачиваем свет fir = CreatePivot() ; хз зачем это ground = CreatePlane ( ) ; создаем землю PositionEntity ground,0,-8,0 ; задаем кординаты земли grass = LoadTexture ("D:\Проги\Bliz3D\1.jpg") ; загружаем текстуру земли ScaleTexture grass,50,50 ; увеличиваем текстуру земли EntityTexture ground, grass ; хз зачем это dom = LoadAnimMesh ("D:\Проги\Blitz3D\дом.3ds") ; загружаем дом с анимацией PositionEntity dom,0,-8.5 ,50 ; позиция дома ScaleEntity dom,0.3,0.3,0.3 ; размеры дома EntityType dom, 1 ; хз зачем это robot = LoadAnimMesh ("D:\Проги\Blitz3D\анимация1.3ds") ; загружаем перса cam = CreateCamera( robot) ; создаем и направляем камеру на перса PositionEntity cam, -10, 70, 130 ; позиция камеры LoadAnimSeq robot, "D:\Проги\Blitz3D\бег.3ds" ; перс шагает анимация LoadAnimSeq robot, "D:\Проги\Blitz3D\прыжок.3ds" ; перс прыгает анимация LoadAnimSeq robot, "D:\Проги\Blitz3D\присед.3ds" ; перс приседает анимация ScaleEntity robot, 0.2, 0.2, 0.2 ; размеры перса ; переменные rx# = 10 ry# = -8 rz# = 0 dy# = 0 ang = 90 PositionEntity robot, rx#, ry#, rz# ; позиция перса RotateEntity robot, 0, ang + 90, 0 ; хз зачем это EntityType robot, 2 ; хз зачем это PointEntity cam, robot ; камеру на перса ; хз зачем это Collisions 1, 2, 1,3 ; хз зачем это Repeat ; хз зачем это EntityCollided robot,2 ; хз зачем это PositionEntity robot, rx#, ry#, rz# ; хз зачем это RotateEntity robot, 0, ang + 90, 0 ; хз зачем это ; загружаем анимацию по приседанию If KeyDown(46) Then If AnimSeq (robot) = 0 Then Animate robot, 3, 0.5, 3, 10 ry# = ry# - 1 Else If AnimSeq (robot) = 3 Then Animate robot, 1, 1, 0, 10 End If ; прыжок анимация не подключена но прыжок есть (просто смещение по Y) If KeyDown (57) Then If ry# = -8 Then dy# = 2 End If ry# = ry# + dy# dy# = dy# - 0.1 If ry# < -8 Then ry# = -8: dy# = 0 ; анимация бега If KeyDown (200) If AnimSeq (robot) = 0 Then Animate robot, 1, 0.5, 1, 10 rx# = rx# + Cos (ang) *0.2 rz# = rz# + Sin (ang) * 0.2 Else If AnimSeq (robot) = 1 Then Animate robot, 2, 1, 0, 10 End If ; поворачивает влево и право If KeyDown(203) Then ang = ang + 0.7 If KeyDown (205) Then ang = ang - 0.7 ; выход из программы If KeyDown (1) Then Exit UpdateWorld ; хз зачем это RenderWorld ; хз зачем это Flip ; хз зачем это Forever ; хз зачем это UpdateWorld ; хз зачем это RenderWorld ; хз зачем это Flip ; хз зачем это WaitKey ; хз зачем это |
Ответ: Коллизия в анимации
стописят раз проблема описывалась на форуме.
ищи и будет счастье |
Часовой пояс GMT +4, время: 18:30. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot