forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Помогите приделать физику к автомобилю (http://forum.boolean.name/showthread.php?t=3624)

neoleg 14.06.2007 16:52

Помогите приделать физику к автомобилю
 
Здравствуйте - учитываю то что мой стаж всего 4 дня (а если посчитать в часах то часов 25) самостоятельно прикрутить физику к автомобилю я не могу поэтому прошу помощи! Я нашёл на одном из порталов по блитцу физику для автомобиля:

Код:

; Simple car physics by Jeppe Nielsen 2003
Const gravity#=-0.01 ;gravity constant
Graphics3D 640,480,16,2
Const car_col=1
Const world_col=2
Collisions car_col,world_col,2,2
light=CreateLight(1)
RotateEntity light,30,20,0
plane=CreatePlane()
EntityType plane,world_col
EntityColor plane,255,0,0
For n=1 To 100
If Rnd(10)<5
sphere=CreateSphere(16)
Else
sphere=CreateCube()
EndIf
EntityType sphere,world_col
PositionEntity sphere,Rnd(-40,40),Rnd(2),Rnd(-40,40)
EntityColor sphere,Rnd(255),Rnd(255),Rnd(255)
Next
sp=CreateSphere()
ScaleEntity sp,100,100,100
FlipMesh sp
camera=CreateCamera()
CameraClsColor camera,0,0,255
car.car=carnew(0,5,0)
Repeat
TFormPoint 0,3,-5,car\e,0
dx#=(TFormedX()-EntityX(camera))*.1
dy#=(TFormedY()-EntityY(camera))*.1
dz#=(TFormedZ()-EntityZ(camera))*.1
TranslateEntity camera,dx,dy,dz
PointEntity camera,car\e
carcontrol()
carupdate()
RenderWorld()
Flip
Until KeyDown(1)
End
Type car
Field e ;entity
Field x#,y#,z# ; position in 3d-space
Field vx#,vy#,vz# ; velocity
Field ax#,ay#,az# ; acceleration
End Type
Function carnew.car(x#,y#,z#)
        c.car=New car
        c\x#=x#
        c\y#=y#
        c\z#=z#
        c\e=CreateCube()
        cube=CreateCube()
        ScaleEntity cube,0.3,0.3,0.3
        PositionEntity cube,0,0,1
        EntityParent cube,c\e
        EntityType c\e,car_col
        EntityRadius c\e,1
        PositionEntity c\e,c\x,c\y,c\z
        Return c
End Function
Function carupdate()
        For c.car=Each car
                c\vy#=c\vy#+gravity#
                c\vx#=c\vx#+c\ax#
                c\vy#=c\vy#+c\ay#
                c\vz#=c\vz#+c\az#
                c\x#=EntityX(c\e)
                c\y#=EntityY(c\e)
                c\z#=EntityZ(c\e)
                TranslateEntity c\e,c\vx,c\vy,c\vz
        Next
        UpdateWorld()
        For c.car=Each car
                ;correct velocity if collided
                c\vx=(EntityX(c\e)-c\x)
                c\vy=(EntityY(c\e)-c\y)
                c\vz=(EntityZ(c\e)-c\z)
                ;slow down due to friction
                If EntityCollided(c\e,world_col)       
                        c\vx#=c\vx*0.98
                        c\vy#=c\vy*0.98
                        c\vz#=c\vz*0.98
                EndIf
                c\ax#=0
                c\ay#=0
                c\az#=0       
        Next
End Function
Function carcontrol()
        For c.car=Each car
                If KeyDown(200)
                        TFormVector 0,0,0.02,c\e,0
                        c\ax#=TFormedX()
                        c\ay#=TFormedY()
                        c\az#=TFormedZ()
                EndIf
                If KeyDown(208)
                        c\vx=c\vx*0.99
                        c\vy=c\vy*0.99
                        c\vz=c\vz*0.99
                EndIf
                If KeyDown(57)
                        TFormVector 0,0.05,0,c\e,0
                        c\ax#=c\ax+TFormedX()
                        c\ay#=c\ay+TFormedY()
                        c\az#=c\az+TFormedZ()                               
                EndIf
                If KeyDown(203)
                        TurnEntity c\e,0,2,0
                EndIf
                If KeyDown(205)
                        TurnEntity c\e,0,-2,0
                EndIf
        Next
End Function

Скачать полную игру (18 мег)
Скачать код игры (1 кб)



Пожалуйста помогите. Мне нужно очистить код физики от созданных для демо привью объектов и оъяснить как её прикрутить в краце. :SOS:

Надеюсь что есть добрые люди которые смогут помочь - заранее спасибо!

neoleg 14.06.2007 18:01

Re: Помогите приделать физику к автомобилю
 
3 раза уже скачали а не кто не помогает =(

ЛысыЙ_Чук-Иванчук 14.06.2007 18:46

Re: Помогите приделать физику к автомобилю
 
Прошело всего 20мин :)))))))))
Тут такое дело, чтобы писать гоночки тебе необходим не 25 часовой опыт, а гораздо больше.
Ктому же физику авто лутше мутить физическим двигом!

ЗЫ\ Нужен нихилый опыт пока ты поймеш как сделать нормальную физику!
ЗЫ2\Начни просто с изучения блица!

neoleg 14.06.2007 18:51

Re: Помогите приделать физику к автомобилю
 
А что очень сложно объяснить? Мне объяснят я зпомню и в следущий рас буду делать уже сам...

Raiter 14.06.2007 19:54

Re: Помогите приделать физику к автомобилю
 
а как это у тя игра 18 метров весит, а исходник 1 кб ? :4to:

neoleg 14.06.2007 20:02

Re: Помогите приделать физику к автомобилю
 
Игра вместе с файлами 3d а исходник это тока код

Raiter 14.06.2007 20:05

Re: Помогите приделать физику к автомобилю
 
та я вродь не совсем тупой! что такое исходник догадываюсь... мне интересно чего ж ты напихал туды на 18 мб? а весь код , наверное, это и есть загрузка всякой фигни...

или ты просто ооочень тяжолые модели заюзал

neoleg 14.06.2007 20:33

Re: Помогите приделать физику к автомобилю
 
Тяжёлые модели просто! Ну так давайте не будем писать офф топ а поможем не ок? =)

Raiter 14.06.2007 20:48

Re: Помогите приделать физику к автомобилю
 
игык :4to:

а те знакомо такое слово как "производительность" ? :)

neoleg 15.06.2007 01:02

Re: Помогите приделать физику к автомобилю
 
Судя по всему никто помогать и не собирается... =(

Render 15.06.2007 01:48

Re: Помогите приделать физику к автомобилю
 
Здесь все физику машины делают на физ движках!

Raiter 15.06.2007 08:47

Re: Помогите приделать физику к автомобилю
 
А физ двиг тебе рано ешо :) Так что займись пока чем-то попроще чем сразу писать супер-мега игры... ;)

johnk 15.06.2007 08:49

Re: Помогите приделать физику к автомобилю
 
Человек хочет проЭкт, имеет право.

Raiter 15.06.2007 08:53

Re: Помогите приделать физику к автомобилю
 
Челавэг хочид адгаваридь имеед права!ь :-)

Я просто даю ему дружеский совет... Конечно скорее всего он не послушает... Но ведь у него не выйдет и он тогда подумает: "а ведь мне говорили..." и возмется уже не за очередной такой проЭкт, а за что-то более реальное ;)

johnk 15.06.2007 08:57

Re: Помогите приделать физику к автомобилю
 
Главное чтоб он сам это понял, так что от нас это не зависит.
Я тоже советую быть скромнее: хотя бы жалкое подобие физики для начала написать, а потом уже за физ. двиг браться.
Кстати:
Цитата:

Но ведь у него не выйдет
Не факт. :)


Часовой пояс GMT +4, время: 02:43.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot