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=12387)

ARA 20.04.2010 15:38

Ответ: Клубы дыма и тени для чайника
 
Цитата:

Сообщение от pitonms (Сообщение 145122)
Помогите советом,кодом , как делается простая гравитация ???

МовеЭнтити обжект, внизззззз :-)
Или что-то вроде этого.

pitonms 20.04.2010 16:22

Ответ: Клубы дыма и тени для чайника
 
О_о H@non показывал мне лучше, не через пень колоду, а хотя и так сойдет, спасибо

FireOwl 20.04.2010 17:31

Ответ: Клубы дыма и тени для чайника
 
Пень-колода - у вас в коде! (не в обиду)
Мув это основной способ, если не юзается физ. движок.

EvilChaotic 20.04.2010 19:07

Ответ: Клубы дыма и тени для чайника
 
Цитата:

Сообщение от FireOwl (Сообщение 145137)
Пень-колода - у вас в коде! (не в обиду)
Мув это основной способ, если не юзается физ. движок.

Не мув а TranslateEntity.

Hurrit 20.04.2010 20:49

Ответ: Клубы дыма и тени для чайника
 
Да, MoveEntity двигает вниз относительно объекта, а TranslateEntity будет двигать вниз относительно мира

pitonms 20.04.2010 22:25

Ответ: Клубы дыма и тени для чайника
 
Цитата:

Сообщение от Hurrit (Сообщение 145145)
Да, MoveEntity двигает вниз относительно объекта, а TranslateEntity будет двигать вниз относительно мира

Всем спасибо за помошь

Reks888 20.04.2010 22:26

Ответ: Клубы дыма и тени для чайника
 
А я почему-то думал что TranslateEntity просто добавит движение к текущему движению объекта. Или мы оба правы?

Hurrit 20.04.2010 23:17

Ответ: Клубы дыма и тени для чайника
 
ну если использовать одновременно с MoveEntity то должна добавить ещё одно движение

pitonms 22.04.2010 11:49

Ответ: Клубы дыма и тени для чайника
 
делать было нечего днем сделал маленький платформер типо Gnome - как можно сделать ПЛАВНЫЕ прыжки ???

FireOwl 22.04.2010 17:56

Ответ: Клубы дыма и тени для чайника
 
Можно рассчитать движение по синусоиде.

pitonms 23.04.2010 17:52

Ответ: Клубы дыма и тени для чайника
 
Как можно сделать чтобы камера не проникала в модель а как в Gnome сталкивалась

Сделал Collisions - у меня камера стоит на месте а игрок уходит

FireOwl 24.04.2010 01:19

Ответ: Клубы дыма и тени для чайника
 
Если Физикс привинчен, то пускать из камеры Ray назад и проверять дистанцию.

pitonms 24.04.2010 22:58

Ответ: Клубы дыма и тени для чайника
 
Почему у меня "тормозит" игры, как можно подсчитать FPS ???
А то я уже синхранизацию делал уровня и моделей

RegIon 11.06.2010 08:27

Ответ: Клубы дыма и тени для чайника
 
Прикольный дым в хелпе ньютона 0.95 построен на спрайте, который чем выще прозрачней и больше,оптекает физические поверхности( прям настоящий)

RegIon 11.06.2010 08:33

Ответ: Клубы дыма и тени для чайника
 
Цитата:

делать было нечего днем сделал маленький платформер типо Gnome - как можно сделать ПЛАВНЫЕ прыжки ???
держи, если преспичело прыжки плавныее:
Код:

; Jumping with Smooth 3rd person Camera Example

; ----------------

camdistance=10

Graphics3D 800,600,3 ;rem setup the Graphics mode

light=CreateLight() ;rem create a light for our scene

Global barney=CreateCube() ;rem create a cube and call it barney
PositionEntity barney,0,1,0
Global obpiv=CreatePivot(barney) ; attach a pivot to barney
MoveEntity obpiv,0,0,-camdistance ; move the pivot back a little adjust this for effect

Global cam=CreateCamera() ;rem create a camera and make barney the cube it's parent entity

plane= CreatePlane()
planetex=CreateTexture(64,64)

mirror=CreateMirror()
EntityTexture plane,planetex
EntityAlpha plane,.5
SetBuffer TextureBuffer(planetex)
Color 200,0,0
Rect 10,10,50,50
SetBuffer BackBuffer()


gravity#=.01
jumpvel#=.3
; main loop
While Not KeyDown( 1 )

If KeyDown (203) Then TurnEntity barney,0,1,0
If KeyDown(205) Then TurnEntity barney,0,-1,0
If KeyDown(200) Then speed#=speed#+.03
If KeyDown(208) Then speed#=speed#-.03
; only jump if the JUMPING flag is set to zero
If jumping=0
        If KeyDown(57) Then yvel#=jumpvel# jumping=1
EndIf
If jumping=1
        yvel#=yvel#-gravity#
        by#=by#+yvel#
EndIf

If by#<1 Then by#=1  yvel#=0 jumping=0


speed#=speed#*.99
MoveEntity barney,0,yvel#,speed#

smoothcam(obpiv,barney,20)


UpdateWorld
RenderWorld ;rem render the world
Flip ; flip from the back buffer to the front buffer

Wend

End

Function smoothcam(pivot,target,camspeed)


curx#=EntityX(cam)
curz#=EntityZ(cam)
destx#=EntityX(pivot,True)
destz#=EntityZ(pivot,True)

curx#=curx#+((destx#-curx#)/camspeed)
curz#=curz#+((destz#-curz#)/camspeed)
cury#=EntityY(target) + 5

PositionEntity cam,curx#,cury#,curz#

PointEntity cam,target


End Function


; про спасибо не забудь:) :)



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

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