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

Dzirt 17.06.2009 17:33

Ответ: Камера...
 
Так и я очем! Физики-шмизики єто все потом....те самые эффекты и то не нужны для начала...Главное понять логику,выучить команды,решать простые(и не только) проблемы самому(ну или хотябы питатся),в конце-концов че-нить забацать,и только потом уже всякие фишки розучивать\прикручивать.Имхо.

ken park 17.06.2009 17:54

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

Sleepybear 17.06.2009 18:09

Ответ: Камера...
 
Цитата:

Сообщение от ken park (Сообщение 107956)
а блин, а можно мышкои сделать чтобы камера вокруг оси персонажа могла крутиться ?

Можно!

ken park 17.06.2009 18:10

Ответ: Камера...
 
спасиба..

ken park 17.06.2009 20:54

Ответ: Камера...
 
ХМММ!!... А, во! я очень постараюсь подумать... но... подскажите хотя бы, вообще с чего начать. Ну вот уже персонаж двигается вперед назад влево вправо... ХМ. так вот (: мне надо сделать что бы при нажатии влево или вправо, персонаж не двигался, а поворачивался стоя на месте, и как бе чтобы после того как его повернули, уже нажимать вперед и он будет идти в ту сторону. не знаю, может не понятно описал... но, прошу помощи

ken park 17.06.2009 20:55

Ответ: Камера...
 
RotateEntity ?

NitE 17.06.2009 21:12

Ответ: Камера...
 
описал понятно... да...

Dzirt 17.06.2009 21:12

Ответ: Камера...
 
Ок, если никто не опредит то выложу пример.Подожди минут 10.

ken park 17.06.2009 21:22

Ответ: Камера...
 
спасиба ^_^ жду хотя есть хелповскии` пример. я пытался внедрить в уже сделанное, не получается ( вот код
Код:

Graphics3D 1024,768,32,1

User=LoadMesh("D:\psychodrama\Shadow.3ds")
ScaleEntity user, 0.5, 0.5, 0.5
Pivot=CreatePivot(User)
PositionEntity pivot,0,170,250
Camera=CreateCamera()
light=CreateLight()

ground = CreatePlane()
PositionEntity ground, 0, -25, 10
grass = LoadTexture("D:\psychodrama\1.jpg")
ScaleTexture grass, 50, 50
EntityTexture ground, grass

While Not KeyDown(1)

        curX#=EntityX(Camera, True)
        curY#=EntityY(Camera, True)
        curZ#=EntityZ(Camera, True)
        destX#=EntityX(Pivot,True)
        destY#=EntityY(Pivot,True)
        destZ#=EntityZ(Pivot,True)
        CamX#=((destX#-curX#)/10)
        CamY#=((destY#-curY#)/10)
        CamZ#=((destZ#-curZ#)/10)
        TranslateEntity Camera,CamX,CamY,CamZ
        PointEntity camera,User
       
        If KeyDown(205) MoveEntity User,-.1,0,0
        If KeyDown(200) MoveEntity User,0,0,-.1
        If KeyDown( 203 )=True Then yaw#=yaw#-1
      If KeyDown(208) MoveEntity User,0,0,.1

RotateEntity User, yaw#

    RenderWorld
    UpdateWorld
       
Flip False :Wend:End


ken park 17.06.2009 21:23

Ответ: Камера...
 
Влево никак не поворачивает. Я понимаю, я тупои, но все же блин... не получается просто

newman 17.06.2009 21:27

Ответ: Камера...
 
Смотри в help'е функцию TurnEntity :)

If KeyDown( 208 ) MoveEntity User, 0,0,-1
If KeyDown( 200 ) MoveEntity User, 0,0,1

ken park 17.06.2009 21:32

Ответ: Камера...
 
чего он wend ругается о_О

Код:

yaw#=0
If KeyDown(205) MoveEntity User,-.1,0,0
If KeyDown(200) MoveEntity User,0,0,-.1
конецформыначалоформыIf KeyDown( 203 )=True Then yaw#=-1
If KeyDown(208) MoveEntity User,0,0,.1
TurnEntity User, yaw#

    RenderWorld
    UpdateWorld
       
Flip

Wend

End


newman 17.06.2009 21:36

Ответ: Камера...
 
Цитата:

Сообщение от ken park (Сообщение 108000)
чего он wend ругается о_О

Код:

yaw#=0
If KeyDown(205) MoveEntity User,-.1,0,0
If KeyDown(200) MoveEntity User,0,0,-.1
конецформыначалоформыIf KeyDown( 203 )=True Then yaw#=-1
If KeyDown(208) MoveEntity User,0,0,.1
TurnEntity User, yaw#

    RenderWorld
    UpdateWorld
       
Flip

Wend

End



потому что TurnEntity принимает 3 параметра, а ты один передаёшь :)

ken park 17.06.2009 21:38

Ответ: Камера...
 
не, все равно (

Dzirt 17.06.2009 21:40

Ответ: Камера...
 
Вообщем не нашел.....Держы для начала.:
Код:

Graphics3D 1024,768,32,2
SetBuffer BackBuffer()

;stuff
cam=CreateCamera()
PositionEntity cam,0,2,-10

cube=CreateCube()

light=CreateLight()

plane=CreateCube()
ScaleEntity plane,30,1,30
MoveEntity plane,0,-2,0
EntityColor plane,155,0,0

MoveMouse GraphicsWidth()/2,GraphicsHeight()/2

While Not KeyHit(1)

PointEntity cam,cube

x=MouseX()

If x>GraphicsWidth()-350
MoveEntity cam,0.1,0,0
ElseIf x<GraphicsWidth()-700
MoveEntity cam,-0.1,0,0

EndIf

UpdateWorld
RenderWorld()
Text 10,10,""+MouseX()
Text 10,20,""+MouseY()
Flip
Wend
End

Черезжопно.....но именно так я и делаю на быструю руку.А сейчас извени меня ждет проэкт ;)


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

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